org.jruby.compiler
Interface MethodCompiler

All Known Implementing Classes:
StandardASMCompiler.AbstractMethodCompiler, StandardASMCompiler.AbstractMethodCompiler.ASMMethodContinuationCompiler, StandardASMCompiler.ASMClosureCompiler, StandardASMCompiler.ASMMethodCompiler

public interface MethodCompiler

Author:
headius

Method Summary
 void aliasGlobal(java.lang.String newName, java.lang.String oldName)
           
 void appendToArray()
           
 void appendToObjectArray()
           
 void aprintln()
          For logging, println the object reference currently atop the stack
 void aryToAry()
           
 void assignClassVariable(java.lang.String name)
           
 void assignClassVariable(java.lang.String name, CompilerCallback value)
           
 void assignConstantInCurrent(java.lang.String name)
           
 void assignConstantInModule(java.lang.String name)
           
 void assignConstantInObject(java.lang.String name)
           
 void assignGlobalVariable(java.lang.String name)
          Assign the top of the stack to the global variable with the specified name.
 void assignGlobalVariable(java.lang.String name, CompilerCallback value)
          Assign the top of the stack to the global variable with the specified name.
 void assignInstanceVariable(java.lang.String name)
          Assign the value on top of the stack to the instance variable with the specified name on the current "self".
 void assignInstanceVariable(java.lang.String name, CompilerCallback value)
          Assign the value on top of the stack to the instance variable with the specified name on the current "self".
 void asString()
           
 void attached()
           
 void backref()
          Push the current back reference
 void backrefMethod(java.lang.String methodName)
          Call a static helper method on RubyRegexp with the current backref
 void branchIfModule(CompilerCallback receiverCallback, BranchCallback moduleCallback, BranchCallback notModuleCallback)
           
 void callZSuper(CompilerCallback closure)
           
 MethodCompiler chainToMethod(java.lang.String name, ASTInspector inspector)
           
 void checkIsExceptionHandled()
           
 void checkWhenWithSplat()
           
 void concatArrays()
           
 void consumeCurrentValue()
          As code executes, values are assumed to be "generated", often by being pushed on to some execution stack.
 void convertToJavaArray()
           
 void createEmptyArray()
          Create an empty Ruby array
 void createEmptyHash()
          Create an empty Ruby Hash object and put a reference on top of the stack.
 void createNewArray(boolean lightweight)
          Given an aggregated set of objects (likely created through a call to createObjectArray) create a Ruby array object.
 void createNewArray(java.lang.Object[] sourceArray, ArrayCallback callback, boolean lightweight)
          Given an aggregated set of objects (likely created through a call to createObjectArray) create a Ruby array object.
 void createNewBignum(java.math.BigInteger value)
          Generate a new "Bignum" value.
 void createNewClosure(int line, StaticScope scope, int arity, CompilerCallback body, CompilerCallback args, boolean hasMultipleArgsHead, NodeType argsNodeId, ASTInspector inspector)
          Create a new closure (block) using the given lexical scope information, call arity, and body generated by the body callback.
 void createNewEndBlock(CompilerCallback body)
           
 void createNewFixnum(long value)
          Generate a new "Fixnum" value.
 void createNewFloat(double value)
          Generate a new "Float" value.
 void createNewForLoop(int arity, CompilerCallback body, CompilerCallback args, boolean hasMultipleArgsHead, NodeType argsNodeId)
          Create a new closure (block) for a for loop with the given call arity and body generated by the body callback.
 void createNewHash(java.lang.Object elements, ArrayCallback callback, int keyCount)
          Create a new hash by calling back to the specified ArrayCallback.
 void createNewRange(boolean isExclusive)
          Create a new range.
 void createNewRegexp(ByteList value, int options)
           
 void createNewString(ArrayCallback callback, int count)
          Generate a new dynamic "String" value.
 void createNewString(ByteList value)
          Generate a new "String" value.
 void createNewSymbol(ArrayCallback callback, int count)
           
 void createNewSymbol(java.lang.String name)
          Generate a new "Symbol" value (or fetch the existing one).
 void createObjectArray(int elementCount)
          Combine the top
 void createObjectArray(java.lang.Object[] elementArray, ArrayCallback callback)
           
 void declareClassVariable(java.lang.String name)
           
 void declareClassVariable(java.lang.String name, CompilerCallback value)
           
 void defineAlias(java.lang.String newName, java.lang.String oldName)
          Define an alias for a new name to an existing oldName'd method.
 void defineClass(java.lang.String name, StaticScope staticScope, CompilerCallback superCallback, CompilerCallback pathCallback, CompilerCallback bodyCallback, CompilerCallback receiverCallback)
           
 void defineModule(java.lang.String name, StaticScope staticScope, CompilerCallback pathCallback, CompilerCallback bodyCallback)
           
 void defineNewMethod(java.lang.String name, int methodArity, StaticScope scope, CompilerCallback body, CompilerCallback args, CompilerCallback receiver, ASTInspector inspector, boolean root)
          Define a new method with the given name, arity, local variable count, and body callback.
 void duplicateCurrentValue()
          Push a copy the topmost value on the stack.
 void endMethod()
          End compilation for the method associated with the specified token.
 void ensureMultipleAssignableRubyArray(boolean masgnHasHead)
          Ensures that the present value is an IRubyObject[] by wrapping it with one or coercing it if it is not.
 void ensureRubyArray()
          Ensures that the present value is an IRubyObject[] by wrapping it with one if it is not.
 void forEachInValueArray(int count, int start, java.lang.Object source, ArrayCallback callback, ArrayCallback nilCallback, CompilerCallback argsCallback)
          Given an IRubyObject[] on the stack (or otherwise available as the present object) call back to the provided ArrayCallback 'callback' for 'count' elements, starting with 'start'.
 void getFrameKlazz()
           
 void getFrameName()
           
 void getInstanceVariable(java.lang.String name)
           
 InvocationCompiler getInvocationCompiler()
           
 java.lang.Object getNewEnding()
           
 VariableCompiler getVariableCompiler()
           
 void getVisibilityFor(java.lang.String name)
           
 void go(java.lang.Object gotoToken)
           
 void hasBlock(BranchCallback trueBranch, BranchCallback falseBranch)
           
 void ifNotNull(java.lang.Object gotoToken)
           
 void ifNotSuperMethodBound(java.lang.Object token)
           
 void ifNull(java.lang.Object gotoToken)
           
 void ifSingleton(java.lang.Object gotoToken)
           
 void inDefined()
           
 void isCaptured(int number, BranchCallback trueBranch, BranchCallback falseBranch)
           
 void isClassVarDefined(java.lang.String name, BranchCallback trueBranch, BranchCallback falseBranch)
           
 void isConstantBranch(BranchCallback setup, BranchCallback isConstant, BranchCallback isMethod, BranchCallback none, java.lang.String name)
           
 void isConstantDefined(java.lang.String name, BranchCallback trueBranch, BranchCallback falseBranch)
           
 void isGlobalDefined(java.lang.String name, BranchCallback trueBranch, BranchCallback falseBranch)
           
 void isInstanceOf(java.lang.Class clazz, BranchCallback trueBranch, BranchCallback falseBranch)
           
 void isInstanceVariableDefined(java.lang.String name, BranchCallback trueBranch, BranchCallback falseBranch)
           
 void isMethodBound(java.lang.String name, BranchCallback trueBranch, BranchCallback falseBranch)
           
 void isNil(BranchCallback trueBranch, BranchCallback falseBranch)
           
 void isNotProtected(java.lang.Object gotoToken, int toConsume)
           
 void isNull(BranchCallback trueBranch, BranchCallback falseBranch)
           
 void isPrivate(java.lang.Object gotoToken, int toConsume)
           
 void issueBreakEvent(CompilerCallback value)
           
 void issueNextEvent(CompilerCallback value)
           
 void issueRedoEvent()
           
 void issueRetryEvent()
           
 void lineNumber(ISourcePosition position)
          This method provides a way to specify a line number for the current piece of code being compiled.
 void loadClass(java.lang.String name)
           
 void loadCurrentModule()
           
 void loadException()
           
 void loadFalse()
          Load a Ruby "false" value on top of the stack.
 void loadNil()
          Load a Ruby "nil" value on top of the stack.
 void loadNull()
           
 void loadObject()
          Load the Object class
 void loadSelf()
           
 void loadSymbol(java.lang.String symbol)
          Load the given string as a symbol on to the top of the stack.
 void loadTrue()
          Load a Ruby "true" value on top of the stack.
 void match()
           
 void match2()
           
 void match3()
           
 void metaclass()
           
 void negateCurrentValue()
          Perform a logical Ruby "not" operation on the value on top of the stack, leaving the negated result.
 void notIsModuleAndClassVarDefined(java.lang.String name, java.lang.Object gotoToken)
           
 void nthRef(int match)
           
 void nullToNil()
           
 void outDefined()
           
 void performBackref(char type)
           
 void performBooleanBranch(BranchCallback trueBranch, BranchCallback falseBranch)
          Perform a boolean branch operation based on the Ruby "true" value of the top value on the stack.
 void performBooleanLoop(BranchCallback condition, BranchCallback body, boolean checkFirst)
          Perform a boolean loop using the given condition-calculating branch and body branch.
 void performBooleanLoopLight(BranchCallback condition, BranchCallback body, boolean checkFirst)
          Perform a boolean loop using the given condition-calculating branch and body branch.
 void performBooleanLoopSafe(BranchCallback condition, BranchCallback body, boolean checkFirst)
          Perform a boolean loop using the given condition-calculating branch and body branch.
 void performLogicalAnd(BranchCallback longBranch)
          Perform a logical short-circuited Ruby "and" operation, using Ruby notions of true and false.
 void performLogicalOr(BranchCallback longBranch)
          Perform a logical short-circuited Ruby "or" operation, using Ruby notions of true and false.
 void performReturn()
          Return the current value on the top of the stack, taking into consideration surrounding blocks.
 void pollThreadEvents()
           
 void protect(BranchCallback regularCode, BranchCallback protectedCode, java.lang.Class ret)
          Makes sure that the code in protectedCode will always run after regularCode.
 void pushNull()
           
 void pushString(java.lang.String strVal)
           
 void rescue(BranchCallback regularCode, java.lang.Class exception, BranchCallback protectedCode, java.lang.Class ret)
           
 void rethrowException()
           
 void rethrowIfSystemExit()
           
 void retrieveClassVariable(java.lang.String name)
           
 void retrieveConstant(java.lang.String name)
          Retrieve the constant with the specified name available at the current point in the program's execution.
 void retrieveConstantFromModule(java.lang.String name)
          Retreive a named constant from the RubyModule/RubyClass that's just been pushed.
 void retrieveGlobalVariable(java.lang.String name)
          Retrieve the global variable with the specified name to the top of the stack.
 void retrieveInstanceVariable(java.lang.String name)
          Retrieve the instance variable with the given name, based on the current "self".
 void retrieveSelf()
          Retrieve the current "self" and put a reference on top of the stack.
 void retrieveSelfClass()
          Retrieve the current "self" object's metaclass and put a reference on top of the stack
 void runBeginBlock(StaticScope scope, CompilerCallback body)
           
 void selfIsKindOf(java.lang.Object gotoToken)
           
 void setEnding(java.lang.Object endingToken)
           
 void setFilePosition(ISourcePosition position)
           
 void setLinePosition(ISourcePosition position)
           
 void singlifySplattedValue()
          Given a splatted value, extract a single value.
 void splatCurrentValue()
          Convert the current value into a "splatted value" suitable for passing as method arguments or disassembling into multiple variables.
 void stringOrNil()
           
 void superClass()
           
 void swapValues()
          Swap the top and second values on the stack.
 void toJavaString()
           
 void undefMethod(java.lang.String name)
           
 void unwrapPassedBlock()
           
 void unwrapRaiseException()
           
 

Method Detail

endMethod

void endMethod()
End compilation for the method associated with the specified token. This should close out all structures created for compilation of the method.

Parameters:
token - A token identifying the method to be terminated.

consumeCurrentValue

void consumeCurrentValue()
As code executes, values are assumed to be "generated", often by being pushed on to some execution stack. Generally, these values are consumed by other methods on the context, but occasionally a value must be "thrown out". This method provides a way to discard the previous value generated by some other call(s).


duplicateCurrentValue

void duplicateCurrentValue()
Push a copy the topmost value on the stack.


aprintln

void aprintln()
For logging, println the object reference currently atop the stack


swapValues

void swapValues()
Swap the top and second values on the stack.


lineNumber

void lineNumber(ISourcePosition position)
This method provides a way to specify a line number for the current piece of code being compiled. The compiler may use this information to create debugging information in a bytecode-format-dependent way.

Parameters:
position - The ISourcePosition information to use.

getVariableCompiler

VariableCompiler getVariableCompiler()

getInvocationCompiler

InvocationCompiler getInvocationCompiler()

retrieveSelf

void retrieveSelf()
Retrieve the current "self" and put a reference on top of the stack.


retrieveSelfClass

void retrieveSelfClass()
Retrieve the current "self" object's metaclass and put a reference on top of the stack


retrieveClassVariable

void retrieveClassVariable(java.lang.String name)

assignClassVariable

void assignClassVariable(java.lang.String name)

assignClassVariable

void assignClassVariable(java.lang.String name,
                         CompilerCallback value)

declareClassVariable

void declareClassVariable(java.lang.String name)

declareClassVariable

void declareClassVariable(java.lang.String name,
                          CompilerCallback value)

createNewFixnum

void createNewFixnum(long value)
Generate a new "Fixnum" value.


createNewFloat

void createNewFloat(double value)
Generate a new "Float" value.


createNewBignum

void createNewBignum(java.math.BigInteger value)
Generate a new "Bignum" value.


createNewString

void createNewString(ByteList value)
Generate a new "String" value.


createNewString

void createNewString(ArrayCallback callback,
                     int count)
Generate a new dynamic "String" value.


createNewSymbol

void createNewSymbol(ArrayCallback callback,
                     int count)

createNewSymbol

void createNewSymbol(java.lang.String name)
Generate a new "Symbol" value (or fetch the existing one).


createObjectArray

void createObjectArray(java.lang.Object[] elementArray,
                       ArrayCallback callback)

createObjectArray

void createObjectArray(int elementCount)
Combine the top
elementCount
elements into a single element, generally an array or similar construct. The specified number of elements are consumed and an aggregate element remains.

Parameters:
elementCount - The number of elements to consume

createNewArray

void createNewArray(boolean lightweight)
Given an aggregated set of objects (likely created through a call to createObjectArray) create a Ruby array object.


createNewArray

void createNewArray(java.lang.Object[] sourceArray,
                    ArrayCallback callback,
                    boolean lightweight)
Given an aggregated set of objects (likely created through a call to createObjectArray) create a Ruby array object. This version accepts an array of objects to feed to an ArrayCallback to construct the elements of the array.


createEmptyArray

void createEmptyArray()
Create an empty Ruby array


createEmptyHash

void createEmptyHash()
Create an empty Ruby Hash object and put a reference on top of the stack.


createNewHash

void createNewHash(java.lang.Object elements,
                   ArrayCallback callback,
                   int keyCount)
Create a new hash by calling back to the specified ArrayCallback. It is expected that the keyCount will be the actual count of key/value pairs, and the caller will handle passing an appropriate elements collection in and dealing with the sequential indices passed to the callback.

Parameters:
elements - An object holding the elements from which to create the Hash.
callback - An ArrayCallback implementation to which the elements array and iteration counts are passed in sequence.
keyCount - the total count of key-value pairs to be constructed from the elements collection.

createNewRange

void createNewRange(boolean isExclusive)
Create a new range. It is expected that the stack will contain the end and begin values for the range as its topmost and second topmost elements.

Parameters:
isExclusive - Whether the range is exclusive or not (inclusive)

performBooleanBranch

void performBooleanBranch(BranchCallback trueBranch,
                          BranchCallback falseBranch)
Perform a boolean branch operation based on the Ruby "true" value of the top value on the stack. If Ruby "true", invoke the true branch callback. Otherwise, invoke the false branch callback.

Parameters:
trueBranch - The callback for generating code for the "true" condition
falseBranch - The callback for generating code for the "false" condition

performLogicalAnd

void performLogicalAnd(BranchCallback longBranch)
Perform a logical short-circuited Ruby "and" operation, using Ruby notions of true and false. If the value on top of the stack is false, it remains and the branch is not executed. If it is true, the top of the stack is replaced with the result of the branch.

Parameters:
longBranch - The branch to execute if the "and" operation does not short-circuit.

performLogicalOr

void performLogicalOr(BranchCallback longBranch)
Perform a logical short-circuited Ruby "or" operation, using Ruby notions of true and false. If the value on top of the stack is true, it remains and the branch is not executed. If it is false, the top of the stack is replaced with the result of the branch.

Parameters:
longBranch - The branch to execute if the "or" operation does not short-circuit.

performBooleanLoopSafe

void performBooleanLoopSafe(BranchCallback condition,
                            BranchCallback body,
                            boolean checkFirst)
Perform a boolean loop using the given condition-calculating branch and body branch. For while loops, pass true for checkFirst. For statement-modifier while loops, pass false. For unless loops, reverse the result of the condition after calculating it. This version ensures the stack is maintained so while results can be used in any context.

Parameters:
condition - The code to execute for calculating the loop condition. A Ruby true result will cause the body to be executed again.
body - The body to executed for the loop.
checkFirst - whether to check the condition the first time through or not.

performBooleanLoop

void performBooleanLoop(BranchCallback condition,
                        BranchCallback body,
                        boolean checkFirst)
Perform a boolean loop using the given condition-calculating branch and body branch. For while loops, pass true for checkFirst. For statement-modifier while loops, pass false. For unless loops, reverse the result of the condition after calculating it.

Parameters:
condition - The code to execute for calculating the loop condition. A Ruby true result will cause the body to be executed again.
body - The body to executed for the loop.
checkFirst - whether to check the condition the first time through or not.

performBooleanLoopLight

void performBooleanLoopLight(BranchCallback condition,
                             BranchCallback body,
                             boolean checkFirst)
Perform a boolean loop using the given condition-calculating branch and body branch. For while loops, pass true for checkFirst. For statement-modifier while loops, pass false. For unless loops, reverse the result of the condition after calculating it. This version does not handle non-local flow control which can bubble out of eval or closures, and only expects normal flow control to be used within its body.

Parameters:
condition - The code to execute for calculating the loop condition. A Ruby true result will cause the body to be executed again.
body - The body to executed for the loop.
checkFirst - whether to check the condition the first time through or not.

performReturn

void performReturn()
Return the current value on the top of the stack, taking into consideration surrounding blocks.


createNewClosure

void createNewClosure(int line,
                      StaticScope scope,
                      int arity,
                      CompilerCallback body,
                      CompilerCallback args,
                      boolean hasMultipleArgsHead,
                      NodeType argsNodeId,
                      ASTInspector inspector)
Create a new closure (block) using the given lexical scope information, call arity, and body generated by the body callback. The closure will capture containing scopes and related information.

Parameters:
scope - The static scoping information
arity - The arity of the block's argument list
body - The callback which will generate the closure's body

createNewForLoop

void createNewForLoop(int arity,
                      CompilerCallback body,
                      CompilerCallback args,
                      boolean hasMultipleArgsHead,
                      NodeType argsNodeId)
Create a new closure (block) for a for loop with the given call arity and body generated by the body callback.

Parameters:
scope - The static scoping information
arity - The arity of the block's argument list
body - The callback which will generate the closure's body

defineNewMethod

void defineNewMethod(java.lang.String name,
                     int methodArity,
                     StaticScope scope,
                     CompilerCallback body,
                     CompilerCallback args,
                     CompilerCallback receiver,
                     ASTInspector inspector,
                     boolean root)
Define a new method with the given name, arity, local variable count, and body callback. This will create a new compiled method and bind it to the given name at this point in the program's execution.

Parameters:
name - The name to which to bind the resulting method.
arity - The arity of the method's argument list
localVarCount - The number of local variables within the method
body - The callback which will generate the method's body.

defineAlias

void defineAlias(java.lang.String newName,
                 java.lang.String oldName)
Define an alias for a new name to an existing oldName'd method.

Parameters:
newName - The new alias to create
oldName - The name of the existing method or alias

assignConstantInCurrent

void assignConstantInCurrent(java.lang.String name)

assignConstantInModule

void assignConstantInModule(java.lang.String name)

assignConstantInObject

void assignConstantInObject(java.lang.String name)

retrieveConstant

void retrieveConstant(java.lang.String name)
Retrieve the constant with the specified name available at the current point in the program's execution.

Parameters:
name - The name of the constant

retrieveConstantFromModule

void retrieveConstantFromModule(java.lang.String name)
Retreive a named constant from the RubyModule/RubyClass that's just been pushed.

Parameters:
name - The name of the constant

loadFalse

void loadFalse()
Load a Ruby "false" value on top of the stack.


loadTrue

void loadTrue()
Load a Ruby "true" value on top of the stack.


loadNil

void loadNil()
Load a Ruby "nil" value on top of the stack.


loadNull

void loadNull()

loadSymbol

void loadSymbol(java.lang.String symbol)
Load the given string as a symbol on to the top of the stack.

Parameters:
symbol - The symbol to load.

loadObject

void loadObject()
Load the Object class


retrieveInstanceVariable

void retrieveInstanceVariable(java.lang.String name)
Retrieve the instance variable with the given name, based on the current "self".

Parameters:
name - The name of the instance variable to retrieve.

assignInstanceVariable

void assignInstanceVariable(java.lang.String name)
Assign the value on top of the stack to the instance variable with the specified name on the current "self". The value is consumed.

Parameters:
name - The name of the value to assign.

assignInstanceVariable

void assignInstanceVariable(java.lang.String name,
                            CompilerCallback value)
Assign the value on top of the stack to the instance variable with the specified name on the current "self". The value is consumed.

Parameters:
name - The name of the value to assign.
value - A callback for compiling the value to assign

assignGlobalVariable

void assignGlobalVariable(java.lang.String name)
Assign the top of the stack to the global variable with the specified name.

Parameters:
name - The name of the global variable.

assignGlobalVariable

void assignGlobalVariable(java.lang.String name,
                          CompilerCallback value)
Assign the top of the stack to the global variable with the specified name.

Parameters:
name - The name of the global variable.
value - The callback to compile the value to assign

retrieveGlobalVariable

void retrieveGlobalVariable(java.lang.String name)
Retrieve the global variable with the specified name to the top of the stack.

Parameters:
name - The name of the global variable.

negateCurrentValue

void negateCurrentValue()
Perform a logical Ruby "not" operation on the value on top of the stack, leaving the negated result.


splatCurrentValue

void splatCurrentValue()
Convert the current value into a "splatted value" suitable for passing as method arguments or disassembling into multiple variables.


singlifySplattedValue

void singlifySplattedValue()
Given a splatted value, extract a single value. If no splat or length is zero, use nil


forEachInValueArray

void forEachInValueArray(int count,
                         int start,
                         java.lang.Object source,
                         ArrayCallback callback,
                         ArrayCallback nilCallback,
                         CompilerCallback argsCallback)
Given an IRubyObject[] on the stack (or otherwise available as the present object) call back to the provided ArrayCallback 'callback' for 'count' elements, starting with 'start'. Each call to callback will have a value from the input array on the stack; once the items are exhausted, the code in nilCallback will be invoked *with no value on the stack*.


ensureRubyArray

void ensureRubyArray()
Ensures that the present value is an IRubyObject[] by wrapping it with one if it is not.


ensureMultipleAssignableRubyArray

void ensureMultipleAssignableRubyArray(boolean masgnHasHead)
Ensures that the present value is an IRubyObject[] by wrapping it with one or coercing it if it is not.


issueBreakEvent

void issueBreakEvent(CompilerCallback value)

issueNextEvent

void issueNextEvent(CompilerCallback value)

issueRedoEvent

void issueRedoEvent()

issueRetryEvent

void issueRetryEvent()

asString

void asString()

nthRef

void nthRef(int match)

match

void match()

match2

void match2()

match3

void match3()

createNewRegexp

void createNewRegexp(ByteList value,
                     int options)

pollThreadEvents

void pollThreadEvents()

branchIfModule

void branchIfModule(CompilerCallback receiverCallback,
                    BranchCallback moduleCallback,
                    BranchCallback notModuleCallback)

backref

void backref()
Push the current back reference


backrefMethod

void backrefMethod(java.lang.String methodName)
Call a static helper method on RubyRegexp with the current backref


nullToNil

void nullToNil()

protect

void protect(BranchCallback regularCode,
             BranchCallback protectedCode,
             java.lang.Class ret)
Makes sure that the code in protectedCode will always run after regularCode.


rescue

void rescue(BranchCallback regularCode,
            java.lang.Class exception,
            BranchCallback protectedCode,
            java.lang.Class ret)

inDefined

void inDefined()

outDefined

void outDefined()

stringOrNil

void stringOrNil()

pushNull

void pushNull()

pushString

void pushString(java.lang.String strVal)

isMethodBound

void isMethodBound(java.lang.String name,
                   BranchCallback trueBranch,
                   BranchCallback falseBranch)

hasBlock

void hasBlock(BranchCallback trueBranch,
              BranchCallback falseBranch)

isGlobalDefined

void isGlobalDefined(java.lang.String name,
                     BranchCallback trueBranch,
                     BranchCallback falseBranch)

isConstantDefined

void isConstantDefined(java.lang.String name,
                       BranchCallback trueBranch,
                       BranchCallback falseBranch)

isInstanceVariableDefined

void isInstanceVariableDefined(java.lang.String name,
                               BranchCallback trueBranch,
                               BranchCallback falseBranch)

isClassVarDefined

void isClassVarDefined(java.lang.String name,
                       BranchCallback trueBranch,
                       BranchCallback falseBranch)

getNewEnding

java.lang.Object getNewEnding()

ifNull

void ifNull(java.lang.Object gotoToken)

isNil

void isNil(BranchCallback trueBranch,
           BranchCallback falseBranch)

isNull

void isNull(BranchCallback trueBranch,
            BranchCallback falseBranch)

ifNotNull

void ifNotNull(java.lang.Object gotoToken)

setEnding

void setEnding(java.lang.Object endingToken)

go

void go(java.lang.Object gotoToken)

isConstantBranch

void isConstantBranch(BranchCallback setup,
                      BranchCallback isConstant,
                      BranchCallback isMethod,
                      BranchCallback none,
                      java.lang.String name)

metaclass

void metaclass()

getVisibilityFor

void getVisibilityFor(java.lang.String name)

isPrivate

void isPrivate(java.lang.Object gotoToken,
               int toConsume)

isNotProtected

void isNotProtected(java.lang.Object gotoToken,
                    int toConsume)

selfIsKindOf

void selfIsKindOf(java.lang.Object gotoToken)

loadCurrentModule

void loadCurrentModule()

notIsModuleAndClassVarDefined

void notIsModuleAndClassVarDefined(java.lang.String name,
                                   java.lang.Object gotoToken)

loadSelf

void loadSelf()

ifSingleton

void ifSingleton(java.lang.Object gotoToken)

getInstanceVariable

void getInstanceVariable(java.lang.String name)

getFrameName

void getFrameName()

getFrameKlazz

void getFrameKlazz()

superClass

void superClass()

attached

void attached()

ifNotSuperMethodBound

void ifNotSuperMethodBound(java.lang.Object token)

isInstanceOf

void isInstanceOf(java.lang.Class clazz,
                  BranchCallback trueBranch,
                  BranchCallback falseBranch)

isCaptured

void isCaptured(int number,
                BranchCallback trueBranch,
                BranchCallback falseBranch)

concatArrays

void concatArrays()

appendToArray

void appendToArray()

convertToJavaArray

void convertToJavaArray()

aryToAry

void aryToAry()

toJavaString

void toJavaString()

aliasGlobal

void aliasGlobal(java.lang.String newName,
                 java.lang.String oldName)

undefMethod

void undefMethod(java.lang.String name)

defineClass

void defineClass(java.lang.String name,
                 StaticScope staticScope,
                 CompilerCallback superCallback,
                 CompilerCallback pathCallback,
                 CompilerCallback bodyCallback,
                 CompilerCallback receiverCallback)

defineModule

void defineModule(java.lang.String name,
                  StaticScope staticScope,
                  CompilerCallback pathCallback,
                  CompilerCallback bodyCallback)

unwrapPassedBlock

void unwrapPassedBlock()

performBackref

void performBackref(char type)

callZSuper

void callZSuper(CompilerCallback closure)

appendToObjectArray

void appendToObjectArray()

checkIsExceptionHandled

void checkIsExceptionHandled()

rethrowException

void rethrowException()

loadClass

void loadClass(java.lang.String name)

unwrapRaiseException

void unwrapRaiseException()

loadException

void loadException()

setFilePosition

void setFilePosition(ISourcePosition position)

setLinePosition

void setLinePosition(ISourcePosition position)

checkWhenWithSplat

void checkWhenWithSplat()

createNewEndBlock

void createNewEndBlock(CompilerCallback body)

runBeginBlock

void runBeginBlock(StaticScope scope,
                   CompilerCallback body)

rethrowIfSystemExit

void rethrowIfSystemExit()

chainToMethod

MethodCompiler chainToMethod(java.lang.String name,
                             ASTInspector inspector)


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