gnu.expr
public class PrimProcedure extends MethodProc implements Inlineable
Constructor Summary | |
---|---|
PrimProcedure(String className, String methodName, int numArgs) | |
PrimProcedure(Method method, Language language) | |
PrimProcedure(Method method) | |
PrimProcedure(Method method, Language language) | |
PrimProcedure(Method method, char mode, Language language) | |
PrimProcedure(Method method, LambdaExp source) | |
PrimProcedure(int opcode, Type retType, Type[] argTypes) | |
PrimProcedure(int op_code, ClassType classtype, String name, Type retType, Type[] argTypes) |
Method Summary | |
---|---|
void | apply(CallContext ctx) |
void | compile(ApplyExp exp, Compilation comp, Target target) |
static void | compileInvoke(Compilation comp, Method method, Target target, boolean isTailCall, int op_code, Type stackType) Emit the actual invoke operation, after arguments have been pushed.
|
Method | getMethod() |
static PrimProcedure | getMethodFor(Procedure pproc, Expression[] args) |
static PrimProcedure | getMethodFor(Procedure pproc, Declaration decl, Expression[] args, Language language) Search for a matching static method in a procedure's class. |
static PrimProcedure | getMethodFor(Procedure pproc, Declaration decl, Type[] atypes, Language language) |
static PrimProcedure | getMethodFor(Class procClass, String name, Declaration decl, Expression[] args, Language language) Get PrimProcedure for matching method in given class. |
static PrimProcedure | getMethodFor(ClassType procClass, String name, Declaration decl, Expression[] args, Language language) |
static PrimProcedure | getMethodFor(ClassType procClass, String name, Declaration decl, Type[] atypes, Language language) |
String | getName() |
Type | getParameterType(int index) |
Type[] | getParameterTypes() |
static Class | getProcedureClass(Object pproc) |
Type | getReturnType() |
Type | getReturnType(Expression[] args) |
boolean | getStaticFlag() True if there is no 'this' parameter. |
String | getVerboseName() |
boolean | isConstructor() |
boolean | isSpecial() |
static PrimProcedure | makeBuiltinBinary(int opcode, Type type) |
static PrimProcedure | makeBuiltinUnary(int opcode, Type type) |
int | match0(CallContext ctx) |
int | match1(Object arg1, CallContext ctx) |
int | match2(Object arg1, Object arg2, CallContext ctx) |
int | match3(Object arg1, Object arg2, Object arg3, CallContext ctx) |
int | match4(Object arg1, Object arg2, Object arg3, Object arg4, CallContext ctx) |
int | matchN(Object[] args, CallContext ctx) |
int | numArgs() The (minimum, number) of arguments.
|
int | opcode() |
void | print(PrintWriter ps) |
void | setReturnType(Type retType) |
boolean | takesContext() |
static boolean | takesContext(Method method) |
boolean | takesTarget() Whether we are passed an argument for the 'target' / 'receiver' / 'this'.
|
boolean | takesVarArgs() Return true iff the last parameter is a "rest" argument. |
String | toString() |
Returns: a PrimProcedure that is suitable, or null.