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 InvocationCompiler
public void setMethodAdapter(SkinnyMethodAdapter sma)
setMethodAdapter
in interface InvocationCompiler
public void invokeAttrAssignMasgn(String name, CompilerCallback receiverCallback, ArgumentsCallback argsCallback, boolean selfCall)
InvocationCompiler
invokeAttrAssignMasgn
in interface InvocationCompiler
public void invokeAttrAssign(String name, CompilerCallback receiverCallback, ArgumentsCallback argsCallback, boolean isSelf, boolean expr)
invokeAttrAssign
in interface InvocationCompiler
public void opElementAsgnWithOr(CompilerCallback receiver, ArgumentsCallback args, CompilerCallback valueCallback)
opElementAsgnWithOr
in interface InvocationCompiler
public void opElementAsgnWithAnd(CompilerCallback receiver, ArgumentsCallback args, CompilerCallback valueCallback)
opElementAsgnWithAnd
in interface InvocationCompiler
public void opElementAsgnWithMethod(CompilerCallback receiver, ArgumentsCallback args, CompilerCallback valueCallback, String operator)
opElementAsgnWithMethod
in interface InvocationCompiler
public void invokeBinaryFixnumRHS(String name, CompilerCallback receiverCallback, long fixnum)
invokeBinaryFixnumRHS
in interface InvocationCompiler
public void invokeBinaryBooleanFixnumRHS(String name, CompilerCallback receiverCallback, long fixnum)
invokeBinaryBooleanFixnumRHS
in interface InvocationCompiler
public void invokeBinaryFloatRHS(String name, CompilerCallback receiverCallback, double flote)
invokeBinaryFloatRHS
in interface InvocationCompiler
public void invokeDynamic(String name, CompilerCallback receiverCallback, ArgumentsCallback argsCallback, CallType callType, CompilerCallback closureArg, boolean iterator)
InvocationCompiler
invokeDynamic
in interface InvocationCompiler
public void invokeDynamicVarargs(String name, CompilerCallback receiverCallback, ArgumentsCallback argsCallback, CallType callType, CompilerCallback closureArg, boolean iterator)
InvocationCompiler
invokeDynamicVarargs
in interface InvocationCompiler
public void invokeOpAsgnWithOr(String attrName, String attrAsgnName, CompilerCallback receiverCallback, ArgumentsCallback argsCallback)
invokeOpAsgnWithOr
in interface InvocationCompiler
public void invokeOpAsgnWithAnd(String attrName, String attrAsgnName, CompilerCallback receiverCallback, ArgumentsCallback argsCallback)
invokeOpAsgnWithAnd
in interface InvocationCompiler
public void invokeOpAsgnWithMethod(String operatorName, String attrName, String attrAsgnName, CompilerCallback receiverCallback, ArgumentsCallback argsCallback)
invokeOpAsgnWithMethod
in interface InvocationCompiler
public void yield(CompilerCallback argsCallback, boolean unwrap)
InvocationCompiler
yield
in interface InvocationCompiler
public void yield19(CompilerCallback argsCallback, boolean unsplat)
InvocationCompiler
yield19
in interface InvocationCompiler
public void yieldSpecific(ArgumentsCallback argsCallback)
InvocationCompiler
yieldSpecific
in interface InvocationCompiler
public void invokeEqq(ArgumentsCallback receivers, CompilerCallback argument)
InvocationCompiler
invokeEqq
in interface InvocationCompiler
Copyright © 2001-2013 JRuby. All Rights Reserved.