public class StandardInvocationCompiler extends Object implements InvocationCompiler
| Modifier and Type | Field and Description |
|---|---|
protected SkinnyMethodAdapter |
method |
protected BaseBodyCompiler |
methodCompiler |
| Constructor and Description |
|---|
StandardInvocationCompiler(BaseBodyCompiler methodCompiler,
SkinnyMethodAdapter method) |
| Modifier and Type | Method and Description |
|---|---|
SkinnyMethodAdapter |
getMethodAdapter() |
void |
invokeAttrAssign(String name,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback,
boolean isSelf,
boolean expr) |
void |
invokeAttrAssignMasgn(String name,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback,
boolean selfCall)
The masgn version has the value to be assigned already on the stack,
and so uses a different path to perform the assignment.
|
void |
invokeBinaryBooleanFixnumRHS(String name,
CompilerCallback receiverCallback,
long fixnum) |
void |
invokeBinaryFixnumRHS(String name,
CompilerCallback receiverCallback,
long fixnum) |
void |
invokeBinaryFloatRHS(String name,
CompilerCallback receiverCallback,
double flote) |
void |
invokeDynamic(String name,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback,
CallType callType,
CompilerCallback closureArg,
boolean iterator)
Invoke the named method as a "function", i.e.
|
void |
invokeDynamicVarargs(String name,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback,
CallType callType,
CompilerCallback closureArg,
boolean iterator)
Same as invokeDynamic, but uses incoming IRubyObject[] arg count to dispatch
to the proper-arity path.
|
void |
invokeEqq(ArgumentsCallback receivers,
CompilerCallback argument)
Used for when nodes with a case; assumes stack is ..., case_value, when_cond_array
|
void |
invokeOpAsgnWithAnd(String attrName,
String attrAsgnName,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback) |
void |
invokeOpAsgnWithMethod(String operatorName,
String attrName,
String attrAsgnName,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback) |
void |
invokeOpAsgnWithOr(String attrName,
String attrAsgnName,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback) |
void |
opElementAsgnWithAnd(CompilerCallback receiver,
ArgumentsCallback args,
CompilerCallback valueCallback) |
void |
opElementAsgnWithMethod(CompilerCallback receiver,
ArgumentsCallback args,
CompilerCallback valueCallback,
String operator) |
void |
opElementAsgnWithOr(CompilerCallback receiver,
ArgumentsCallback args,
CompilerCallback valueCallback) |
void |
setMethodAdapter(SkinnyMethodAdapter sma) |
void |
yield(CompilerCallback argsCallback,
boolean unwrap)
Invoke the block passed into this method, or throw an error if no block is present.
|
void |
yield19(CompilerCallback argsCallback,
boolean unsplat)
Invoke the block passed into this method, or throw an error if no block is present.
|
void |
yieldSpecific(ArgumentsCallback argsCallback)
Invoke the block passed into this method, or throw an error if no block is present.
|
protected BaseBodyCompiler methodCompiler
protected SkinnyMethodAdapter method
public StandardInvocationCompiler(BaseBodyCompiler methodCompiler, SkinnyMethodAdapter method)
public SkinnyMethodAdapter getMethodAdapter()
getMethodAdapter in interface InvocationCompilerpublic void setMethodAdapter(SkinnyMethodAdapter sma)
setMethodAdapter in interface InvocationCompilerpublic void invokeAttrAssignMasgn(String name, CompilerCallback receiverCallback, ArgumentsCallback argsCallback, boolean selfCall)
InvocationCompilerinvokeAttrAssignMasgn in interface InvocationCompilerpublic void invokeAttrAssign(String name, CompilerCallback receiverCallback, ArgumentsCallback argsCallback, boolean isSelf, boolean expr)
invokeAttrAssign in interface InvocationCompilerpublic void opElementAsgnWithOr(CompilerCallback receiver, ArgumentsCallback args, CompilerCallback valueCallback)
opElementAsgnWithOr in interface InvocationCompilerpublic void opElementAsgnWithAnd(CompilerCallback receiver, ArgumentsCallback args, CompilerCallback valueCallback)
opElementAsgnWithAnd in interface InvocationCompilerpublic void opElementAsgnWithMethod(CompilerCallback receiver, ArgumentsCallback args, CompilerCallback valueCallback, String operator)
opElementAsgnWithMethod in interface InvocationCompilerpublic void invokeBinaryFixnumRHS(String name, CompilerCallback receiverCallback, long fixnum)
invokeBinaryFixnumRHS in interface InvocationCompilerpublic void invokeBinaryBooleanFixnumRHS(String name, CompilerCallback receiverCallback, long fixnum)
invokeBinaryBooleanFixnumRHS in interface InvocationCompilerpublic void invokeBinaryFloatRHS(String name, CompilerCallback receiverCallback, double flote)
invokeBinaryFloatRHS in interface InvocationCompilerpublic void invokeDynamic(String name, CompilerCallback receiverCallback, ArgumentsCallback argsCallback, CallType callType, CompilerCallback closureArg, boolean iterator)
InvocationCompilerinvokeDynamic in interface InvocationCompilerpublic void invokeDynamicVarargs(String name, CompilerCallback receiverCallback, ArgumentsCallback argsCallback, CallType callType, CompilerCallback closureArg, boolean iterator)
InvocationCompilerinvokeDynamicVarargs in interface InvocationCompilerpublic void invokeOpAsgnWithOr(String attrName, String attrAsgnName, CompilerCallback receiverCallback, ArgumentsCallback argsCallback)
invokeOpAsgnWithOr in interface InvocationCompilerpublic void invokeOpAsgnWithAnd(String attrName, String attrAsgnName, CompilerCallback receiverCallback, ArgumentsCallback argsCallback)
invokeOpAsgnWithAnd in interface InvocationCompilerpublic void invokeOpAsgnWithMethod(String operatorName, String attrName, String attrAsgnName, CompilerCallback receiverCallback, ArgumentsCallback argsCallback)
invokeOpAsgnWithMethod in interface InvocationCompilerpublic void yield(CompilerCallback argsCallback, boolean unwrap)
InvocationCompileryield in interface InvocationCompilerpublic void yield19(CompilerCallback argsCallback, boolean unsplat)
InvocationCompileryield19 in interface InvocationCompilerpublic void yieldSpecific(ArgumentsCallback argsCallback)
InvocationCompileryieldSpecific in interface InvocationCompilerpublic void invokeEqq(ArgumentsCallback receivers, CompilerCallback argument)
InvocationCompilerinvokeEqq in interface InvocationCompilerCopyright © 2001-2013 JRuby. All Rights Reserved.