org.jruby.compiler.impl
Class InvokeDynamicInvocationCompiler
java.lang.Object
org.jruby.compiler.impl.StandardInvocationCompiler
org.jruby.compiler.impl.InvokeDynamicInvocationCompiler
- All Implemented Interfaces:
- InvocationCompiler
public class InvokeDynamicInvocationCompiler
- extends StandardInvocationCompiler
- Author:
- headius
Method Summary |
SkinnyMethodAdapter |
getMethodAdapter()
|
void |
invokeAttrAssign(java.lang.String name,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback)
|
void |
invokeAttrAssignMasgn(java.lang.String name,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback)
The masgn version has the value to be assigned already on the stack,
and so uses a different path to perform the assignment. |
void |
invokeDynamic(java.lang.String name,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback,
CallType callType,
CompilerCallback closureArg,
boolean iterator)
Invoke the named method as a "function", i.e. |
void |
invokeEqq(ArgumentsCallback receivers,
CompilerCallback argument)
Used for when nodes with a case; assumes stack is ..., case_value, when_cond_array |
void |
invokeOpAsgnWithAnd(java.lang.String attrName,
java.lang.String attrAsgnName,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback)
|
void |
invokeOpAsgnWithMethod(java.lang.String operatorName,
java.lang.String attrName,
java.lang.String attrAsgnName,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback)
|
void |
invokeOpAsgnWithOr(java.lang.String attrName,
java.lang.String attrAsgnName,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback)
|
void |
invokeOpElementAsgnWithMethod(java.lang.String operatorName,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback)
|
void |
invokeSuper(CompilerCallback argsCallback,
CompilerCallback closureArg)
|
void |
opElementAsgnWithAnd(CompilerCallback receiver,
ArgumentsCallback args,
CompilerCallback valueCallback)
|
void |
opElementAsgnWithMethod(CompilerCallback receiver,
ArgumentsCallback args,
CompilerCallback valueCallback,
java.lang.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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
InvokeDynamicInvocationCompiler
public InvokeDynamicInvocationCompiler(BaseBodyCompiler methodCompiler,
SkinnyMethodAdapter method)
getMethodAdapter
public SkinnyMethodAdapter getMethodAdapter()
- Specified by:
getMethodAdapter
in interface InvocationCompiler
- Overrides:
getMethodAdapter
in class StandardInvocationCompiler
setMethodAdapter
public void setMethodAdapter(SkinnyMethodAdapter sma)
- Specified by:
setMethodAdapter
in interface InvocationCompiler
- Overrides:
setMethodAdapter
in class StandardInvocationCompiler
invokeAttrAssignMasgn
public void invokeAttrAssignMasgn(java.lang.String name,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback)
- Description copied from interface:
InvocationCompiler
- The masgn version has the value to be assigned already on the stack,
and so uses a different path to perform the assignment.
- Specified by:
invokeAttrAssignMasgn
in interface InvocationCompiler
- Overrides:
invokeAttrAssignMasgn
in class StandardInvocationCompiler
invokeAttrAssign
public void invokeAttrAssign(java.lang.String name,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback)
- Specified by:
invokeAttrAssign
in interface InvocationCompiler
- Overrides:
invokeAttrAssign
in class StandardInvocationCompiler
opElementAsgnWithOr
public void opElementAsgnWithOr(CompilerCallback receiver,
ArgumentsCallback args,
CompilerCallback valueCallback)
- Specified by:
opElementAsgnWithOr
in interface InvocationCompiler
- Overrides:
opElementAsgnWithOr
in class StandardInvocationCompiler
opElementAsgnWithAnd
public void opElementAsgnWithAnd(CompilerCallback receiver,
ArgumentsCallback args,
CompilerCallback valueCallback)
- Specified by:
opElementAsgnWithAnd
in interface InvocationCompiler
- Overrides:
opElementAsgnWithAnd
in class StandardInvocationCompiler
opElementAsgnWithMethod
public void opElementAsgnWithMethod(CompilerCallback receiver,
ArgumentsCallback args,
CompilerCallback valueCallback,
java.lang.String operator)
- Specified by:
opElementAsgnWithMethod
in interface InvocationCompiler
- Overrides:
opElementAsgnWithMethod
in class StandardInvocationCompiler
invokeSuper
public void invokeSuper(CompilerCallback argsCallback,
CompilerCallback closureArg)
invokeDynamic
public void invokeDynamic(java.lang.String name,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback,
CallType callType,
CompilerCallback closureArg,
boolean iterator)
- Description copied from interface:
InvocationCompiler
- Invoke the named method as a "function", i.e. as a method on the current "self"
object, using the specified argument count. It is expected that previous calls
to the compiler has prepared the exact number of argument values necessary for this
call. Those values will be consumed, and the result of the call will be generated.
- Specified by:
invokeDynamic
in interface InvocationCompiler
- Overrides:
invokeDynamic
in class StandardInvocationCompiler
invokeOpAsgnWithOr
public void invokeOpAsgnWithOr(java.lang.String attrName,
java.lang.String attrAsgnName,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback)
- Specified by:
invokeOpAsgnWithOr
in interface InvocationCompiler
- Overrides:
invokeOpAsgnWithOr
in class StandardInvocationCompiler
invokeOpAsgnWithAnd
public void invokeOpAsgnWithAnd(java.lang.String attrName,
java.lang.String attrAsgnName,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback)
- Specified by:
invokeOpAsgnWithAnd
in interface InvocationCompiler
- Overrides:
invokeOpAsgnWithAnd
in class StandardInvocationCompiler
invokeOpAsgnWithMethod
public void invokeOpAsgnWithMethod(java.lang.String operatorName,
java.lang.String attrName,
java.lang.String attrAsgnName,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback)
- Specified by:
invokeOpAsgnWithMethod
in interface InvocationCompiler
- Overrides:
invokeOpAsgnWithMethod
in class StandardInvocationCompiler
invokeOpElementAsgnWithMethod
public void invokeOpElementAsgnWithMethod(java.lang.String operatorName,
CompilerCallback receiverCallback,
ArgumentsCallback argsCallback)
- Overrides:
invokeOpElementAsgnWithMethod
in class StandardInvocationCompiler
yield
public void yield(CompilerCallback argsCallback,
boolean unwrap)
- Description copied from interface:
InvocationCompiler
- Invoke the block passed into this method, or throw an error if no block is present.
If arguments have been prepared for the block, specify true. Otherwise the default
empty args will be used.
- Specified by:
yield
in interface InvocationCompiler
- Overrides:
yield
in class StandardInvocationCompiler
invokeEqq
public void invokeEqq(ArgumentsCallback receivers,
CompilerCallback argument)
- Description copied from interface:
InvocationCompiler
- Used for when nodes with a case; assumes stack is ..., case_value, when_cond_array
- Specified by:
invokeEqq
in interface InvocationCompiler
- Overrides:
invokeEqq
in class StandardInvocationCompiler
Copyright © 2002-2007 JRuby Team. All Rights Reserved.