gnu.kawa.reflect
Class CompileReflect
java.lang.Object
gnu.kawa.reflect.CompileReflect
public class CompileReflect
- extends java.lang.Object
Method Summary |
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 |
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)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CompileReflect
public CompileReflect()
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)