| java.lang.Object gnu.mapping.PropertySet gnu.mapping.Procedure gnu.mapping.ProcedureN gnu.kawa.reflect.Invoke
Field Summary | |
final public static Invoke | invoke | final public static Invoke | invokeSpecial | final public static Invoke | invokeStatic | char | kind The kind on invoke operation.
'N' - make (new).
'S' - invoke-static (static or non-static):
The first operand is a Class or Type, the second is the name,
and if the is non-static the 3rd is the receiver.
's' - Like 'S' but only allow static methods. | Language | language | final public static Invoke | make |
Method Summary | |
public void | apply(CallContext ctx) | public Object | applyN(Object[] args) | static Object[] | checkKeywords(Type type, Expression[] args, int start, ClassType caller) Return an array if args (starting with start) is a set of
(keyword, value)-value pairs. | public static int | checkKnownClass(Type type, Compilation comp) Check if class exists. | protected PrimProcedure[] | getMethods(ObjectType ctype, String mname, ClassType caller) | public static synchronized PrimProcedure | getStaticMethod(ClassType type, String name, Expression[] args) | public Expression | inline(ApplyExp exp, ExpWalker walker) | 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. | public static Object | invoke$V(Object[] args) | public static Object | invokeStatic$V(Object[] args) | protected MethodProc | lookupMethods(ObjectType dtype, Object name) | public static Object | make$V(Object[] args) | public static synchronized ApplyExp | makeInvokeStatic(ClassType type, String name, Expression[] args) Return an ApplyExp that will call a method with given arguments. | public int | numArgs() |
kind | char kind(Code) | | The kind on invoke operation.
'N' - make (new).
'S' - invoke-static (static or non-static):
The first operand is a Class or Type, the second is the name,
and if the is non-static the 3rd is the receiver.
's' - Like 'S' but only allow static methods. [not used]
'V' - non-static invoke, only allow non-static methods. [not used]
'*' - non-static invoke, can match static methods also.
This is Java's 'Primary.MethodName(args)' - if the selected method
is static, we only use Primary's type for method select,
but ignore its value.
|
checkKeywords | static Object[] checkKeywords(Type type, Expression[] args, int start, ClassType caller)(Code) | | Return an array if args (starting with start) is a set of
(keyword, value)-value pairs.
|
checkKnownClass | public static int checkKnownClass(Type type, Compilation comp)(Code) | | Check if class exists.
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)(Code) | | Resolve class specifier to ClassType at inline time.
This is an optimization to avoid having a module-level binding
created for the class name.
|
makeInvokeStatic | public static synchronized ApplyExp makeInvokeStatic(ClassType type, String name, Expression[] args)(Code) | | Return an ApplyExp that will call a method with given arguments.
Parameters: type - the class containing the method we want to call. Parameters: name - the name of the method we want to call Parameters: args - the arguments to the call an ApplyExp representing the call |
numArgs | public int numArgs()(Code) | | |
Methods inherited from gnu.mapping.Procedure | public void apply(CallContext ctx) throws Throwable(Code)(Java Doc) public static void apply(Procedure proc, CallContext ctx) throws Throwable(Code)(Java Doc) abstract public Object apply0() throws Throwable(Code)(Java Doc) abstract public Object apply1(Object arg1) throws Throwable(Code)(Java Doc) abstract public Object apply2(Object arg1, Object arg2) throws Throwable(Code)(Java Doc) abstract public Object apply3(Object arg1, Object arg2, Object arg3) throws Throwable(Code)(Java Doc) abstract public Object apply4(Object arg1, Object arg2, Object arg3, Object arg4) throws Throwable(Code)(Java Doc) abstract public Object applyN(Object[] args) throws Throwable(Code)(Java Doc) public void check0(CallContext ctx)(Code)(Java Doc) public void check1(Object arg1, CallContext ctx)(Code)(Java Doc) public void check2(Object arg1, Object arg2, CallContext ctx)(Code)(Java Doc) public void check3(Object arg1, Object arg2, Object arg3, CallContext ctx)(Code)(Java Doc) public void check4(Object arg1, Object arg2, Object arg3, Object arg4, CallContext ctx)(Code)(Java Doc) public static void checkArgCount(Procedure proc, int argCount)(Code)(Java Doc) public void checkN(Object[] args, CallContext ctx)(Code)(Java Doc) public Procedure getSetter()(Code)(Java Doc) public String getSourceLocation()(Code)(Java Doc) public int match0(CallContext ctx)(Code)(Java Doc) public int match1(Object arg1, CallContext ctx)(Code)(Java Doc) public int match2(Object arg1, Object arg2, CallContext ctx)(Code)(Java Doc) public int match3(Object arg1, Object arg2, Object arg3, CallContext ctx)(Code)(Java Doc) public int match4(Object arg1, Object arg2, Object arg3, Object arg4, CallContext ctx)(Code)(Java Doc) public int matchN(Object[] args, CallContext ctx)(Code)(Java Doc) final public int maxArgs()(Code)(Java Doc) final public int minArgs()(Code)(Java Doc) public int numArgs()(Code)(Java Doc) public void set0(Object result) throws Throwable(Code)(Java Doc) public void set1(Object arg1, Object value) throws Throwable(Code)(Java Doc) public void setN(Object[] args) throws Throwable(Code)(Java Doc) public void setSetter(Procedure setter)(Code)(Java Doc) public void setSourceLocation(String file, int line)(Code)(Java Doc) public String toString()(Code)(Java Doc)
|
|
|