org.jruby.compiler
Interface InvocationCompiler

All Known Implementing Classes:
StandardInvocationCompiler

public interface InvocationCompiler

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()
          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 opName, 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 invokeSuper(CompilerCallback argsCallback, CompilerCallback closureCallback)
           
 void opElementAsgnWithAnd(CompilerCallback receiverCallback, ArgumentsCallback argsCallback, CompilerCallback valueCallback)
           
 void opElementAsgnWithMethod(CompilerCallback receiverCallback, ArgumentsCallback argsCallback, CompilerCallback valueCallback, java.lang.String operator)
           
 void opElementAsgnWithOr(CompilerCallback receiverCallback, ArgumentsCallback argsCallback, 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.
 

Method Detail

getMethodAdapter

SkinnyMethodAdapter getMethodAdapter()

setMethodAdapter

void setMethodAdapter(SkinnyMethodAdapter sma)

invokeDynamic

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. 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.


invokeOpAsgnWithOr

void invokeOpAsgnWithOr(java.lang.String attrName,
                        java.lang.String attrAsgnName,
                        CompilerCallback receiverCallback,
                        ArgumentsCallback argsCallback)

invokeOpAsgnWithAnd

void invokeOpAsgnWithAnd(java.lang.String attrName,
                         java.lang.String attrAsgnName,
                         CompilerCallback receiverCallback,
                         ArgumentsCallback argsCallback)

invokeOpAsgnWithMethod

void invokeOpAsgnWithMethod(java.lang.String opName,
                            java.lang.String attrName,
                            java.lang.String attrAsgnName,
                            CompilerCallback receiverCallback,
                            ArgumentsCallback argsCallback)

invokeSuper

void invokeSuper(CompilerCallback argsCallback,
                 CompilerCallback closureCallback)

invokeAttrAssignMasgn

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.

Parameters:
name -
receiverCallback -
argsCallback -

invokeAttrAssign

void invokeAttrAssign(java.lang.String name,
                      CompilerCallback receiverCallback,
                      ArgumentsCallback argsCallback)

opElementAsgnWithOr

void opElementAsgnWithOr(CompilerCallback receiverCallback,
                         ArgumentsCallback argsCallback,
                         CompilerCallback valueCallback)

opElementAsgnWithAnd

void opElementAsgnWithAnd(CompilerCallback receiverCallback,
                          ArgumentsCallback argsCallback,
                          CompilerCallback valueCallback)

opElementAsgnWithMethod

void opElementAsgnWithMethod(CompilerCallback receiverCallback,
                             ArgumentsCallback argsCallback,
                             CompilerCallback valueCallback,
                             java.lang.String operator)

yield

void yield(CompilerCallback argsCallback,
           boolean unwrap)
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.


invokeEqq

void invokeEqq()
Used for when nodes with a case; assumes stack is ..., case_value, when_cond_array



Copyright © 2002-2007 JRuby Team. All Rights Reserved.