Package javassist.compiler
Class MemberResolver
- java.lang.Object
-
- javassist.compiler.MemberResolver
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MemberResolver.Method
-
Field Summary
Fields Modifier and Type Field Description private ClassPool
classPool
private static java.lang.String
INVALID
private java.util.Map<java.lang.String,java.lang.String>
invalidNames
private static java.util.Map<ClassPool,java.lang.ref.Reference<java.util.Map<java.lang.String,java.lang.String>>>
invalidNamesMap
private static int
NO
private static int
YES
-
Fields inherited from interface javassist.compiler.TokenId
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 Summary
Constructors Constructor Description MemberResolver(ClassPool cp)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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.Map<java.lang.String,java.lang.String>
getInvalidNames()
static int
getModifiers(ASTList mods)
static CtClass
getSuperclass(CtClass c)
static CtClass
getSuperInterface(CtClass c, java.lang.String interfaceName)
(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(int type, int dim, java.lang.String classname)
CtClass
lookupClass(java.lang.String name, boolean notCheckInner)
CtClass
lookupClass(Declarator decl)
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.private MemberResolver.Method
lookupMethod(CtClass clazz, java.lang.String methodName, int[] argTypes, int[] argDims, java.lang.String[] argClassNames, boolean onlyExact)
MemberResolver.Method
lookupMethod(CtClass clazz, CtClass currentClass, MethodInfo current, java.lang.String methodName, int[] argTypes, int[] argDims, java.lang.String[] argClassNames)
java.lang.String
resolveClassName(ASTList name)
java.lang.String
resolveJvmClassName(java.lang.String jvmName)
private CtClass
searchImports(java.lang.String orgName)
-
-
-
Field Detail
-
classPool
private ClassPool classPool
-
YES
private static final int YES
- See Also:
- Constant Field Values
-
NO
private static final int NO
- See Also:
- Constant Field Values
-
INVALID
private static final java.lang.String INVALID
- See Also:
- Constant Field Values
-
invalidNamesMap
private static java.util.Map<ClassPool,java.lang.ref.Reference<java.util.Map<java.lang.String,java.lang.String>>> invalidNamesMap
-
invalidNames
private java.util.Map<java.lang.String,java.lang.String> invalidNames
-
-
Constructor Detail
-
MemberResolver
public MemberResolver(ClassPool cp)
-
-
Method Detail
-
getClassPool
public ClassPool getClassPool()
-
fatal
private static void fatal() throws CompileError
- Throws:
CompileError
-
lookupMethod
public MemberResolver.Method lookupMethod(CtClass clazz, CtClass currentClass, MethodInfo current, java.lang.String methodName, int[] argTypes, int[] argDims, java.lang.String[] argClassNames) throws CompileError
- Throws:
CompileError
-
lookupMethod
private MemberResolver.Method lookupMethod(CtClass clazz, java.lang.String methodName, int[] argTypes, int[] argDims, java.lang.String[] argClassNames, boolean onlyExact) throws CompileError
- Throws:
CompileError
-
compareSignature
private int compareSignature(java.lang.String desc, int[] argTypes, int[] argDims, java.lang.String[] argClassNames) throws CompileError
- Throws:
CompileError
-
lookupFieldByJvmName2
public CtField lookupFieldByJvmName2(java.lang.String jvmClassName, Symbol fieldSym, ASTree expr) throws NoFieldException
Only used by fieldAccess() in MemberCodeGen and TypeChecker.- Parameters:
jvmClassName
- a JVM class name. e.g. java/lang/String- Throws:
NoFieldException
- See Also:
lookupClass(String, boolean)
-
lookupFieldByJvmName
public CtField lookupFieldByJvmName(java.lang.String jvmClassName, Symbol fieldName) throws CompileError
- Parameters:
jvmClassName
- a JVM class name. e.g. java/lang/String- Throws:
CompileError
-
lookupField
public CtField lookupField(java.lang.String className, Symbol fieldName) throws CompileError
- Parameters:
className
- a qualified class name. e.g. java.lang.String- Throws:
CompileError
-
lookupClassByName
public CtClass lookupClassByName(ASTList name) throws CompileError
- Throws:
CompileError
-
lookupClassByJvmName
public CtClass lookupClassByJvmName(java.lang.String jvmName) throws CompileError
- Throws:
CompileError
-
lookupClass
public CtClass lookupClass(Declarator decl) throws CompileError
- Throws:
CompileError
-
lookupClass
public CtClass lookupClass(int type, int dim, java.lang.String classname) throws CompileError
- Parameters:
classname
- jvm class name.- Throws:
CompileError
-
getTypeName
static java.lang.String getTypeName(int type) throws CompileError
- Throws:
CompileError
-
lookupClass
public CtClass lookupClass(java.lang.String name, boolean notCheckInner) throws CompileError
- Parameters:
name
- a qualified class name. e.g. java.lang.String- Throws:
CompileError
-
getInvalidMapSize
public static int getInvalidMapSize()
-
getInvalidNames
private java.util.Map<java.lang.String,java.lang.String> getInvalidNames()
-
searchImports
private CtClass searchImports(java.lang.String orgName) throws CompileError
- Throws:
CompileError
-
lookupClass0
private CtClass lookupClass0(java.lang.String classname, boolean notCheckInner) throws NotFoundException
- Throws:
NotFoundException
-
resolveClassName
public java.lang.String resolveClassName(ASTList name) throws CompileError
- Throws:
CompileError
-
resolveJvmClassName
public java.lang.String resolveJvmClassName(java.lang.String jvmName) throws CompileError
- Throws:
CompileError
-
getSuperclass
public static CtClass getSuperclass(CtClass c) throws CompileError
- Throws:
CompileError
-
getSuperInterface
public static CtClass getSuperInterface(CtClass c, java.lang.String interfaceName) throws CompileError
- Throws:
CompileError
-
javaToJvmName
public static java.lang.String javaToJvmName(java.lang.String classname)
-
jvmToJavaName
public static java.lang.String jvmToJavaName(java.lang.String classname)
-
descToType
public static int descToType(char c) throws CompileError
- Throws:
CompileError
-
getModifiers
public static int getModifiers(ASTList mods)
-
-