1*795d594fSAndroid Build Coastguard Worker /* 2*795d594fSAndroid Build Coastguard Worker * Copyright (C) 2008 The Android Open Source Project 3*795d594fSAndroid Build Coastguard Worker * 4*795d594fSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*795d594fSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*795d594fSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*795d594fSAndroid Build Coastguard Worker * 8*795d594fSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*795d594fSAndroid Build Coastguard Worker * 10*795d594fSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*795d594fSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*795d594fSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*795d594fSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*795d594fSAndroid Build Coastguard Worker * limitations under the License. 15*795d594fSAndroid Build Coastguard Worker */ 16*795d594fSAndroid Build Coastguard Worker 17*795d594fSAndroid Build Coastguard Worker /** 18*795d594fSAndroid Build Coastguard Worker * Try different kinds of method calls. 19*795d594fSAndroid Build Coastguard Worker */ 20*795d594fSAndroid Build Coastguard Worker public class MethodCall extends MethodCallBase { MethodCall()21*795d594fSAndroid Build Coastguard Worker MethodCall() { 22*795d594fSAndroid Build Coastguard Worker super(); 23*795d594fSAndroid Build Coastguard Worker System.out.println(" MethodCall ctor"); 24*795d594fSAndroid Build Coastguard Worker } 25*795d594fSAndroid Build Coastguard Worker 26*795d594fSAndroid Build Coastguard Worker /* overridden method */ tryThing()27*795d594fSAndroid Build Coastguard Worker int tryThing() { 28*795d594fSAndroid Build Coastguard Worker int val = super.tryThing(); 29*795d594fSAndroid Build Coastguard Worker Main.assertTrue(val == 7); 30*795d594fSAndroid Build Coastguard Worker return val; 31*795d594fSAndroid Build Coastguard Worker } 32*795d594fSAndroid Build Coastguard Worker 33*795d594fSAndroid Build Coastguard Worker /* do-nothing private instance method */ directly()34*795d594fSAndroid Build Coastguard Worker private void directly() {} 35*795d594fSAndroid Build Coastguard Worker 36*795d594fSAndroid Build Coastguard Worker /* 37*795d594fSAndroid Build Coastguard Worker * Function with many arguments. 38*795d594fSAndroid Build Coastguard Worker */ manyArgs(int a0, long a1, int a2, long a3, int a4, long a5, int a6, int a7, double a8, float a9, double a10, short a11, int a12, char a13, int a14, int a15, byte a16, boolean a17, int a18, int a19, long a20, long a21, int a22, int a23, int a24, int a25, int a26, String[][] a27, String[] a28, String a29)39*795d594fSAndroid Build Coastguard Worker static void manyArgs(int a0, long a1, int a2, long a3, int a4, long a5, 40*795d594fSAndroid Build Coastguard Worker int a6, int a7, double a8, float a9, double a10, short a11, int a12, 41*795d594fSAndroid Build Coastguard Worker char a13, int a14, int a15, byte a16, boolean a17, int a18, int a19, 42*795d594fSAndroid Build Coastguard Worker long a20, long a21, int a22, int a23, int a24, int a25, int a26, 43*795d594fSAndroid Build Coastguard Worker String[][] a27, String[] a28, String a29) 44*795d594fSAndroid Build Coastguard Worker { 45*795d594fSAndroid Build Coastguard Worker System.out.println("MethodCalls.manyArgs"); 46*795d594fSAndroid Build Coastguard Worker Main.assertTrue(a0 == 0); 47*795d594fSAndroid Build Coastguard Worker Main.assertTrue(a9 > 8.99 && a9 < 9.01); 48*795d594fSAndroid Build Coastguard Worker Main.assertTrue(a16 == -16); 49*795d594fSAndroid Build Coastguard Worker Main.assertTrue(a25 == 25); 50*795d594fSAndroid Build Coastguard Worker Main.assertTrue(a29.equals("twenty nine")); 51*795d594fSAndroid Build Coastguard Worker } 52*795d594fSAndroid Build Coastguard Worker run()53*795d594fSAndroid Build Coastguard Worker public static void run() { 54*795d594fSAndroid Build Coastguard Worker MethodCall inst = new MethodCall(); 55*795d594fSAndroid Build Coastguard Worker 56*795d594fSAndroid Build Coastguard Worker MethodCallBase base = inst; 57*795d594fSAndroid Build Coastguard Worker base.tryThing(); 58*795d594fSAndroid Build Coastguard Worker inst.tryThing(); 59*795d594fSAndroid Build Coastguard Worker 60*795d594fSAndroid Build Coastguard Worker inst = null; 61*795d594fSAndroid Build Coastguard Worker try { 62*795d594fSAndroid Build Coastguard Worker inst.directly(); 63*795d594fSAndroid Build Coastguard Worker Main.assertTrue(false); 64*795d594fSAndroid Build Coastguard Worker } catch (NullPointerException npe) { 65*795d594fSAndroid Build Coastguard Worker // good 66*795d594fSAndroid Build Coastguard Worker } 67*795d594fSAndroid Build Coastguard Worker 68*795d594fSAndroid Build Coastguard Worker manyArgs(0, 1L, 2, 3L, 4, 5L, 6, 7, 8.0, 9.0f, 10.0, (short)11, 12, 69*795d594fSAndroid Build Coastguard Worker (char)13, 14, 15, (byte)-16, true, 18, 19, 20L, 21L, 22, 23, 24, 70*795d594fSAndroid Build Coastguard Worker 25, 26, null, null, "twenty nine"); 71*795d594fSAndroid Build Coastguard Worker } 72*795d594fSAndroid Build Coastguard Worker } 73*795d594fSAndroid Build Coastguard Worker 74*795d594fSAndroid Build Coastguard Worker class MethodCallBase { MethodCallBase()75*795d594fSAndroid Build Coastguard Worker MethodCallBase() { 76*795d594fSAndroid Build Coastguard Worker System.out.println(" MethodCallBase ctor"); 77*795d594fSAndroid Build Coastguard Worker } 78*795d594fSAndroid Build Coastguard Worker tryThing()79*795d594fSAndroid Build Coastguard Worker int tryThing() { 80*795d594fSAndroid Build Coastguard Worker return 7; 81*795d594fSAndroid Build Coastguard Worker } 82*795d594fSAndroid Build Coastguard Worker } 83