Package gnu.kawa.reflect
Class CompileReflect
java.lang.Object
gnu.kawa.reflect.CompileReflect
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic 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)
-
Constructor Details
-
CompileReflect
public CompileReflect()
-
-
Method Details
-
checkKnownClass
Check if class exists.- Returns:
- 1 if class actually exists; -1 is class should exist, but doesn't; and 0 otherwise.
-
inlineClassName
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
-
validateThrow
public static Expression validateThrow(ApplyExp exp, InlineCalls visitor, Type required, Procedure proc)
-