gnu.kawa.reflect
Class Invoke
java.lang.Object
gnu.mapping.PropertySet
gnu.mapping.Procedure
gnu.mapping.ProcedureN
gnu.kawa.reflect.Invoke
- All Implemented Interfaces:
- Named
public class Invoke
- extends ProcedureN
Constructor Summary |
Invoke(java.lang.String name,
char kind)
|
Invoke(java.lang.String name,
char kind,
Language language)
|
Methods inherited from class gnu.mapping.Procedure |
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getReturnType, getSetter, getSourceLocation, isSideEffectFree, match0, match1, match2, match3, match4, matchN, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
invoke
public static final Invoke invoke
invokeStatic
public static final Invoke invokeStatic
invokeSpecial
public static final Invoke invokeSpecial
make
public static final Invoke make
Invoke
public Invoke(java.lang.String name,
char kind)
Invoke
public Invoke(java.lang.String name,
char kind,
Language language)
invoke$V
public static java.lang.Object invoke$V(java.lang.Object[] args)
throws java.lang.Throwable
- Throws:
java.lang.Throwable
invokeStatic$V
public static java.lang.Object invokeStatic$V(java.lang.Object[] args)
throws java.lang.Throwable
- Throws:
java.lang.Throwable
make$V
public static java.lang.Object make$V(java.lang.Object[] args)
throws java.lang.Throwable
- Throws:
java.lang.Throwable
apply
public void apply(CallContext ctx)
throws java.lang.Throwable
- Description copied from class:
Procedure
- Call this Procedure using the explicit-CallContext-convention.
The input arguments are (by default) in stack.args;
the result is written to ctx.consumer.
- Overrides:
apply
in class Procedure
- Throws:
java.lang.Throwable
applyN
public java.lang.Object applyN(java.lang.Object[] args)
throws java.lang.Throwable
- Specified by:
applyN
in class ProcedureN
- Throws:
java.lang.Throwable
numArgs
public int numArgs()
- Description copied from class:
Procedure
- Return
minArgs()|(maxArgs<<12)
.
We use a single virtual function to reduce the number of methods
in the system, as well as the number of virtual method table entries.
We shift by 12 so the number can normally be represented using a
sipush instruction, without requiring a constant pool entry.
- Overrides:
numArgs
in class Procedure
lookupMethods
protected MethodProc lookupMethods(ObjectType dtype,
java.lang.Object name)
makeInvokeStatic
public static ApplyExp makeInvokeStatic(ClassType type,
java.lang.String name,
Expression[] args)
- Return an ApplyExp that will call a method with given arguments.
- Parameters:
type
- the class containing the method we want to call.name
- the name of the method we want to callargs
- the arguments to the call
- Returns:
- an ApplyExp representing the call
getStaticMethod
public static PrimProcedure getStaticMethod(ClassType type,
java.lang.String name,
Expression[] args)
- Deprecated.