1 /****************************************************************************************************
2 * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved. *
3 * http://aspectwerkz.codehaus.org *
4 * ---------------------------------------------------------------------------------- * The software
5 * in this package is published under the terms of the LGPL license * a copy of which has been
6 * included with this distribution in the license.txt file. *
7 **************************************************************************************************/
8 package test.reflection;
9
10 import java.lang.reflect.Method;
11
12 public class Child extends Super {
13 public int incr(int value) {
14 int res = super.incr(value);
15 return (res >= 0) ? (res + 1) : (res - 1);
16 }
17
18 public static int incrStatic(int value) {
19 int res = Super.incrStatic(value);
20 return (res >= 0) ? (res + 1) : (res - 1);
21 }
22
23 public int do$2(int i) {
24 return i;
25 }
26
27 public int do$1(int i) {
28 return i;
29 }
30
31 public int reflectionCallIncr(int value) {
32 try {
33 Method m = this.getClass().getMethod(
34 "incr", new Class[]{
35 int.class
36 }
37 );
38 Integer res = (Integer) m.invoke(
39 this, new Object[]{
40 new Integer(value)
41 }
42 );
43 return res.intValue();
44 } catch (Throwable t) {
45 return -1000;
46 }
47 }
48 }