Modifier and Type | Class and Description |
---|---|
static class |
MemberResolver.Method |
Modifier and Type | Field and Description |
---|---|
private ClassPool |
classPool |
private static java.lang.String |
INVALID |
private java.util.Hashtable |
invalidNames |
private static java.util.WeakHashMap |
invalidNamesMap |
private static int |
NO |
private static int |
YES |
ABSTRACT, AND_E, ANDAND, ARRAY, ARSHIFT, ARSHIFT_E, assignOps, BadToken, BLOCK, BOOLEAN, BREAK, BYTE, CALL, CASE, CATCH, CHAR, CharConstant, CLASS, CONST, CONTINUE, DECL, DEFAULT, DIV_E, DO, DOUBLE, DoubleConstant, ELSE, EQ, EXOR_E, EXPR, EXTENDS, FALSE, FINAL, FINALLY, FLOAT, FloatConstant, FOR, GE, GOTO, Identifier, IF, IMPLEMENTS, IMPORT, INSTANCEOF, INT, IntConstant, INTERFACE, LABEL, LE, LONG, LongConstant, LSHIFT, LSHIFT_E, MEMBER, MINUS_E, MINUSMINUS, MOD_E, MUL_E, NATIVE, NEQ, NEW, NULL, opNames, OR_E, OROR, PACKAGE, PLUS_E, PLUSPLUS, PRIVATE, PROTECTED, PUBLIC, RETURN, RSHIFT, RSHIFT_E, SHORT, STATIC, STRICT, StringL, SUPER, SWITCH, SYNCHRONIZED, THIS, THROW, THROWS, TRANSIENT, TRUE, TRY, VOID, VOLATILE, WHILE
Constructor and Description |
---|
MemberResolver(ClassPool cp) |
Modifier and Type | Method and Description |
---|---|
private int |
compareSignature(java.lang.String desc,
int[] argTypes,
int[] argDims,
java.lang.String[] argClassNames) |
static int |
descToType(char c) |
private static void |
fatal() |
ClassPool |
getClassPool() |
static int |
getInvalidMapSize() |
private java.util.Hashtable |
getInvalidNames() |
static int |
getModifiers(ASTList mods) |
static CtClass |
getSuperclass(CtClass c) |
(package private) static java.lang.String |
getTypeName(int type) |
static java.lang.String |
javaToJvmName(java.lang.String classname) |
static java.lang.String |
jvmToJavaName(java.lang.String classname) |
CtClass |
lookupClass(Declarator decl) |
CtClass |
lookupClass(int type,
int dim,
java.lang.String classname) |
CtClass |
lookupClass(java.lang.String name,
boolean notCheckInner) |
private CtClass |
lookupClass0(java.lang.String classname,
boolean notCheckInner) |
CtClass |
lookupClassByJvmName(java.lang.String jvmName) |
CtClass |
lookupClassByName(ASTList name) |
CtField |
lookupField(java.lang.String className,
Symbol fieldName) |
CtField |
lookupFieldByJvmName(java.lang.String jvmClassName,
Symbol fieldName) |
CtField |
lookupFieldByJvmName2(java.lang.String jvmClassName,
Symbol fieldSym,
ASTree expr)
Only used by fieldAccess() in MemberCodeGen and TypeChecker.
|
MemberResolver.Method |
lookupMethod(CtClass clazz,
CtClass currentClass,
MethodInfo current,
java.lang.String methodName,
int[] argTypes,
int[] argDims,
java.lang.String[] argClassNames) |
private MemberResolver.Method |
lookupMethod(CtClass clazz,
java.lang.String methodName,
int[] argTypes,
int[] argDims,
java.lang.String[] argClassNames,
boolean onlyExact) |
java.lang.String |
resolveClassName(ASTList name) |
java.lang.String |
resolveJvmClassName(java.lang.String jvmName) |
private CtClass |
searchImports(java.lang.String orgName) |
private ClassPool classPool
private static final int YES
private static final int NO
private static final java.lang.String INVALID
private static java.util.WeakHashMap invalidNamesMap
private java.util.Hashtable invalidNames
public MemberResolver(ClassPool cp)
public ClassPool getClassPool()
private static void fatal() throws CompileError
CompileError
public MemberResolver.Method lookupMethod(CtClass clazz, CtClass currentClass, MethodInfo current, java.lang.String methodName, int[] argTypes, int[] argDims, java.lang.String[] argClassNames) throws CompileError
CompileError
private MemberResolver.Method lookupMethod(CtClass clazz, java.lang.String methodName, int[] argTypes, int[] argDims, java.lang.String[] argClassNames, boolean onlyExact) throws CompileError
CompileError
private int compareSignature(java.lang.String desc, int[] argTypes, int[] argDims, java.lang.String[] argClassNames) throws CompileError
CompileError
public CtField lookupFieldByJvmName2(java.lang.String jvmClassName, Symbol fieldSym, ASTree expr) throws NoFieldException
jvmClassName
- a JVM class name. e.g. java/lang/StringNoFieldException
lookupClass(String, boolean)
public CtField lookupFieldByJvmName(java.lang.String jvmClassName, Symbol fieldName) throws CompileError
jvmClassName
- a JVM class name. e.g. java/lang/StringCompileError
public CtField lookupField(java.lang.String className, Symbol fieldName) throws CompileError
name
- a qualified class name. e.g. java.lang.StringCompileError
public CtClass lookupClassByName(ASTList name) throws CompileError
CompileError
public CtClass lookupClassByJvmName(java.lang.String jvmName) throws CompileError
CompileError
public CtClass lookupClass(Declarator decl) throws CompileError
CompileError
public CtClass lookupClass(int type, int dim, java.lang.String classname) throws CompileError
CompileError
static java.lang.String getTypeName(int type) throws CompileError
CompileError
public CtClass lookupClass(java.lang.String name, boolean notCheckInner) throws CompileError
name
- a qualified class name. e.g. java.lang.StringCompileError
public static int getInvalidMapSize()
private java.util.Hashtable getInvalidNames()
private CtClass searchImports(java.lang.String orgName) throws CompileError
CompileError
private CtClass lookupClass0(java.lang.String classname, boolean notCheckInner) throws NotFoundException
NotFoundException
public java.lang.String resolveClassName(ASTList name) throws CompileError
CompileError
public java.lang.String resolveJvmClassName(java.lang.String jvmName) throws CompileError
CompileError
public static CtClass getSuperclass(CtClass c) throws CompileError
CompileError
public static java.lang.String javaToJvmName(java.lang.String classname)
public static java.lang.String jvmToJavaName(java.lang.String classname)
public static int descToType(char c) throws CompileError
CompileError
public static int getModifiers(ASTList mods)