Package gnu.kawa.reflect
Class CompileReflect
- java.lang.Object
-
- gnu.kawa.reflect.CompileReflect
-
public class CompileReflect extends Object
-
-
Constructor Summary
Constructors Constructor Description CompileReflect()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int
checkKnownClass(Type type, Compilation comp)
Check if class exists.static ApplyExp
inlineClassName(ApplyExp exp, int carg, InlineCalls walker)
Resolve class specifier to ClassType at inline time.static Expression
makeSetterCall(Expression receiver, Object slot, Expression newValue)
static Expression
validateApplyInstanceOf(ApplyExp exp, InlineCalls visitor, Type required, Procedure proc)
static Expression
validateApplySlotGet(ApplyExp exp, InlineCalls visitor, Type required, Procedure proc)
static Expression
validateApplySlotSet(ApplyExp exp, InlineCalls visitor, Type required, Procedure proc)
static Expression
validateApplyTypeSwitch(ApplyExp exp, InlineCalls visitor, Type required, Procedure proc)
static Expression
validateThrow(ApplyExp exp, InlineCalls visitor, Type required, Procedure proc)
-
-
-
Method Detail
-
checkKnownClass
public static int checkKnownClass(Type type, Compilation comp)
Check if class exists.- Returns:
- 1 if class actually exists; -1 is class should exist, but doesn't; and 0 otherwise.
-
inlineClassName
public static ApplyExp inlineClassName(ApplyExp exp, int carg, InlineCalls walker)
Resolve class specifier to ClassType at inline time. This is an optimization to avoid having a module-level binding created for the class name.
-
validateApplyInstanceOf
public static Expression validateApplyInstanceOf(ApplyExp exp, InlineCalls visitor, Type required, Procedure proc)
-
validateApplySlotGet
public static Expression validateApplySlotGet(ApplyExp exp, InlineCalls visitor, Type required, Procedure proc)
-
validateApplySlotSet
public static Expression validateApplySlotSet(ApplyExp exp, InlineCalls visitor, Type required, Procedure proc)
-
validateApplyTypeSwitch
public static Expression validateApplyTypeSwitch(ApplyExp exp, InlineCalls visitor, Type required, Procedure proc)
-
makeSetterCall
public static Expression makeSetterCall(Expression receiver, Object slot, Expression newValue)
-
validateThrow
public static Expression validateThrow(ApplyExp exp, InlineCalls visitor, Type required, Procedure proc)
-
-