01: // Copyright (c) 2003-2007, Jodd Team (jodd.sf.net). All Rights Reserved.
02:
03: package jodd.proxetta;
04:
05: import java.util.List;
06:
07: public interface MethodSignature {
08:
09: // types
10: public static final int TYPE_BYTE = 'B';
11: public static final int TYPE_CHAR = 'C';
12: public static final int TYPE_DOUBLE = 'D';
13: public static final int TYPE_FLOAT = 'F';
14: public static final int TYPE_INT = 'I';
15: public static final int TYPE_LONG = 'J';
16: public static final int TYPE_REFERENCE = 'L';
17: public static final int TYPE_SHORT = 'S';
18: public static final int TYPE_BOOLEAN = 'Z';
19: public static final int TYPE_VOID = 'V';
20: public static final int TYPE_ARRAY = '[';
21: public static final int TYPE_STRING = 's';
22: public static final int TYPE_ENUM = 'e';
23: public static final int TYPE_CLASS = 'c';
24: public static final int TYPE_ANNOTATION = '@';
25:
26: // access flags
27: public static final int ACC_PUBLIC = 0x0001; // class, field, method
28: public static final int ACC_PRIVATE = 0x0002; // class, field, method
29: public static final int ACC_PROTECTED = 0x0004; // class, field, method
30: public static final int ACC_STATIC = 0x0008; // field, method
31: public static final int ACC_FINAL = 0x0010; // class, field, method
32: public static final int ACC_SUPER = 0x0020; // class
33: public static final int ACC_SYNCHRONIZED = 0x0020; // method
34: public static final int ACC_VOLATILE = 0x0040; // field
35: public static final int ACC_BRIDGE = 0x0040; // method
36: public static final int ACC_VARARGS = 0x0080; // method
37: public static final int ACC_TRANSIENT = 0x0080; // field
38: public static final int ACC_NATIVE = 0x0100; // method
39: public static final int ACC_INTERFACE = 0x0200; // class
40: public static final int ACC_ABSTRACT = 0x0400; // class, method
41: public static final int ACC_STRICT = 0x0800; // method
42: public static final int ACC_SYNTHETIC = 0x1000; // class, field, method
43: public static final int ACC_ANNOTATION = 0x2000; // class
44: public static final int ACC_ENUM = 0x4000; // class(?) field inner
45:
46: String getDeclaration();
47:
48: String getReturnType();
49:
50: String getExceptions();
51:
52: String getSignature();
53:
54: String getMethodName();
55:
56: int getParamCount();
57:
58: int getParamOpcodeType(int i);
59:
60: int getReturnOpcodeType();
61:
62: int getAccessFlags();
63:
64: String getClassname();
65:
66: String getDescription();
67:
68: List<AnnotationData> getAnnotations();
69: }
|