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 invokeBinaryFixnumRHS(java.lang.String name, CompilerCallback receiverCallback, long fixnum)
           
 void invokeBinaryFloatRHS(java.lang.String name, CompilerCallback receiverCallback, double flote)
           
 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 invokeFixnumLong(java.lang.String rubyName, int moduleGeneration, CompilerCallback receiverCallback, java.lang.String methodName, long fixnum)
           
 void invokeFloatDouble(java.lang.String rubyName, int moduleGeneration, CompilerCallback receiverCallback, java.lang.String methodName, double flote)
           
 void invokeNative(java.lang.String name, DynamicMethod.NativeCall nativeCall, int generation, CompilerCallback receiver, ArgumentsCallback args, CompilerCallback closure, CallType callType, boolean iterator)
           
 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 invokeRecursive(java.lang.String name, int moduleGeneration, ArgumentsCallback argsCallback, CompilerCallback closure, CallType callType, boolean iterator)
           
 void invokeTrivial(java.lang.String name, int generation, CompilerCallback body)
           
 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.
 void yieldSpecific(ArgumentsCallback argsCallback)
          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)

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.


yieldSpecific

void yieldSpecific(ArgumentsCallback argsCallback)
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. Use specific-arity call paths if possible.


invokeEqq

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


invokeBinaryFixnumRHS

void invokeBinaryFixnumRHS(java.lang.String name,
                           CompilerCallback receiverCallback,
                           long fixnum)

invokeBinaryFloatRHS

void invokeBinaryFloatRHS(java.lang.String name,
                          CompilerCallback receiverCallback,
                          double flote)

invokeFixnumLong

void invokeFixnumLong(java.lang.String rubyName,
                      int moduleGeneration,
                      CompilerCallback receiverCallback,
                      java.lang.String methodName,
                      long fixnum)

invokeFloatDouble

void invokeFloatDouble(java.lang.String rubyName,
                       int moduleGeneration,
                       CompilerCallback receiverCallback,
                       java.lang.String methodName,
                       double flote)

invokeRecursive

void invokeRecursive(java.lang.String name,
                     int moduleGeneration,
                     ArgumentsCallback argsCallback,
                     CompilerCallback closure,
                     CallType callType,
                     boolean iterator)

invokeNative

void invokeNative(java.lang.String name,
                  DynamicMethod.NativeCall nativeCall,
                  int generation,
                  CompilerCallback receiver,
                  ArgumentsCallback args,
                  CompilerCallback closure,
                  CallType callType,
                  boolean iterator)

invokeTrivial

void invokeTrivial(java.lang.String name,
                   int generation,
                   CompilerCallback body)


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