|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jruby.compiler.impl.StandardASMCompiler.AbstractMethodCompiler
public abstract class StandardASMCompiler.AbstractMethodCompiler
| Nested Class Summary | |
|---|---|
class |
StandardASMCompiler.AbstractMethodCompiler.ASMMethodContinuationCompiler
|
| Field Summary | |
|---|---|
protected int |
argParamCount
|
protected Label[] |
currentLoopLabels
|
protected ASTInspector |
inspector
|
protected InvocationCompiler |
invocationCompiler
|
protected SkinnyMethodAdapter |
method
|
protected java.lang.String |
methodName
|
protected Label |
redoJump
|
protected StaticScope |
scope
|
protected Label |
scopeEnd
|
protected Label |
scopeStart
|
protected VariableCompiler |
variableCompiler
|
protected boolean |
withinProtection
|
| Constructor Summary | |
|---|---|
StandardASMCompiler.AbstractMethodCompiler(StaticScope scope,
ASTInspector inspector,
java.lang.String methodName)
|
|
| 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 |
abstract void |
beginMethod(CompilerCallback args,
StaticScope scope)
|
void |
branchIfModule(CompilerCallback receiverCallback,
BranchCallback moduleCallback,
BranchCallback notModuleCallback)
|
void |
callZSuper(CompilerCallback closure)
|
MethodCompiler |
chainToMethod(java.lang.String methodName,
ASTInspector inspector)
|
void |
checkIsExceptionHandled()
|
void |
checkWhenWithSplat()
|
void |
concatArrays()
|
void |
concatObjectArrays()
|
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[] sourceArray,
ArrayCallback callback)
|
protected abstract void |
createVariableCompiler()
|
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. |
abstract 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 start,
int count,
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'. |
protected int |
getClosureIndex()
|
void |
getCompiledClass()
|
protected int |
getDynamicScopeIndex()
|
protected int |
getExceptionIndex()
|
protected int |
getFirstTempIndex()
|
void |
getFrameKlazz()
|
void |
getFrameName()
|
void |
getInstanceVariable(java.lang.String name)
|
InvocationCompiler |
getInvocationCompiler()
|
java.lang.Object |
getNewEnding()
|
protected java.lang.String |
getNewEnsureName()
|
protected java.lang.String |
getNewRescueName()
|
protected int |
getNilIndex()
|
protected int |
getPreviousExceptionIndex()
|
protected int |
getRuntimeIndex()
|
StandardASMCompiler |
getScriptCompiler()
|
protected abstract java.lang.String |
getSignature()
|
VariableCompiler |
getVariableCompiler()
|
protected int |
getVarsArrayIndex()
|
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 |
invokeIRuby(java.lang.String methodName,
java.lang.String signature)
|
void |
invokeIRubyObject(java.lang.String methodName,
java.lang.String signature)
|
void |
invokeThreadContext(java.lang.String methodName,
java.lang.String signature)
|
void |
invokeUtilityMethod(java.lang.String methodName,
java.lang.String signature)
This is for utility methods used by the compiler, to reduce the amount of code generation necessary. |
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 |
issueLoopBreak()
|
void |
issueLoopNext()
|
void |
issueLoopRedo()
|
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 |
loadBlock()
|
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 |
loadRuntime()
|
void |
loadSelf()
|
void |
loadSymbol(java.lang.String symbol)
Load the given string as a symbol on to the top of the stack. |
void |
loadThis()
|
void |
loadThreadContext()
|
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()
|
MethodCompiler |
outline(java.lang.String methodName,
ASTInspector inspector)
|
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 |
pollThreadEvents()
|
void |
println()
|
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 str)
|
void |
rescue(BranchCallback regularCode,
java.lang.Class exception,
BranchCallback catchCode,
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()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.jruby.compiler.MethodCompiler |
|---|
issueBreakEvent, issueNextEvent, issueRedoEvent, performReturn |
| Field Detail |
|---|
protected SkinnyMethodAdapter method
protected VariableCompiler variableCompiler
protected InvocationCompiler invocationCompiler
protected int argParamCount
protected Label[] currentLoopLabels
protected Label scopeStart
protected Label scopeEnd
protected Label redoJump
protected boolean withinProtection
protected StaticScope scope
protected ASTInspector inspector
protected java.lang.String methodName
| Constructor Detail |
|---|
public StandardASMCompiler.AbstractMethodCompiler(StaticScope scope,
ASTInspector inspector,
java.lang.String methodName)
| Method Detail |
|---|
protected abstract java.lang.String getSignature()
protected abstract void createVariableCompiler()
public abstract void beginMethod(CompilerCallback args,
StaticScope scope)
public abstract void endMethod()
MethodCompiler
endMethod in interface MethodCompiler
public MethodCompiler chainToMethod(java.lang.String methodName,
ASTInspector inspector)
chainToMethod in interface MethodCompiler
public MethodCompiler outline(java.lang.String methodName,
ASTInspector inspector)
public StandardASMCompiler getScriptCompiler()
public void lineNumber(ISourcePosition position)
MethodCompiler
lineNumber in interface MethodCompilerposition - The ISourcePosition information to use.public void loadThreadContext()
public void loadSelf()
loadSelf in interface MethodCompilerprotected int getClosureIndex()
protected int getRuntimeIndex()
protected int getNilIndex()
protected int getPreviousExceptionIndex()
protected int getDynamicScopeIndex()
protected int getVarsArrayIndex()
protected int getFirstTempIndex()
protected int getExceptionIndex()
public void loadThis()
public void loadRuntime()
public void loadBlock()
public void loadNil()
MethodCompiler
loadNil in interface MethodCompilerpublic void loadNull()
loadNull in interface MethodCompilerpublic void loadSymbol(java.lang.String symbol)
MethodCompiler
loadSymbol in interface MethodCompilersymbol - The symbol to load.public void loadObject()
MethodCompiler
loadObject in interface MethodCompiler
public void invokeUtilityMethod(java.lang.String methodName,
java.lang.String signature)
public void invokeThreadContext(java.lang.String methodName,
java.lang.String signature)
public void invokeIRuby(java.lang.String methodName,
java.lang.String signature)
public void invokeIRubyObject(java.lang.String methodName,
java.lang.String signature)
public void consumeCurrentValue()
MethodCompiler
consumeCurrentValue in interface MethodCompilerpublic void duplicateCurrentValue()
MethodCompiler
duplicateCurrentValue in interface MethodCompilerpublic void swapValues()
MethodCompiler
swapValues in interface MethodCompilerpublic void retrieveSelf()
MethodCompiler
retrieveSelf in interface MethodCompilerpublic void retrieveSelfClass()
MethodCompiler
retrieveSelfClass in interface MethodCompilerpublic VariableCompiler getVariableCompiler()
getVariableCompiler in interface MethodCompilerpublic InvocationCompiler getInvocationCompiler()
getInvocationCompiler in interface MethodCompilerpublic void assignConstantInCurrent(java.lang.String name)
assignConstantInCurrent in interface MethodCompilerpublic void assignConstantInModule(java.lang.String name)
assignConstantInModule in interface MethodCompilerpublic void assignConstantInObject(java.lang.String name)
assignConstantInObject in interface MethodCompilerpublic void retrieveConstant(java.lang.String name)
MethodCompiler
retrieveConstant in interface MethodCompilername - The name of the constantpublic void retrieveConstantFromModule(java.lang.String name)
MethodCompiler
retrieveConstantFromModule in interface MethodCompilername - The name of the constantpublic void retrieveClassVariable(java.lang.String name)
retrieveClassVariable in interface MethodCompilerpublic void assignClassVariable(java.lang.String name)
assignClassVariable in interface MethodCompiler
public void assignClassVariable(java.lang.String name,
CompilerCallback value)
assignClassVariable in interface MethodCompilerpublic void declareClassVariable(java.lang.String name)
declareClassVariable in interface MethodCompiler
public void declareClassVariable(java.lang.String name,
CompilerCallback value)
declareClassVariable in interface MethodCompilerpublic void createNewFloat(double value)
MethodCompiler
createNewFloat in interface MethodCompilerpublic void createNewFixnum(long value)
MethodCompiler
createNewFixnum in interface MethodCompilerpublic void createNewBignum(java.math.BigInteger value)
MethodCompiler
createNewBignum in interface MethodCompiler
public void createNewString(ArrayCallback callback,
int count)
MethodCompiler
createNewString in interface MethodCompiler
public void createNewSymbol(ArrayCallback callback,
int count)
createNewSymbol in interface MethodCompilerpublic void createNewString(ByteList value)
MethodCompiler
createNewString in interface MethodCompilerpublic void createNewSymbol(java.lang.String name)
MethodCompiler
createNewSymbol in interface MethodCompilerpublic void createNewArray(boolean lightweight)
MethodCompiler
createNewArray in interface MethodCompiler
public void createNewArray(java.lang.Object[] sourceArray,
ArrayCallback callback,
boolean lightweight)
MethodCompiler
createNewArray in interface MethodCompilerpublic void createEmptyArray()
MethodCompiler
createEmptyArray in interface MethodCompiler
public void createObjectArray(java.lang.Object[] sourceArray,
ArrayCallback callback)
createObjectArray in interface MethodCompilerpublic void createObjectArray(int elementCount)
MethodCompilerelementCountelements into a single element, generally an array or similar construct. The specified number of elements are consumed and an aggregate element remains.
createObjectArray in interface MethodCompilerelementCount - The number of elements to consumepublic void createEmptyHash()
MethodCompiler
createEmptyHash in interface MethodCompiler
public void createNewHash(java.lang.Object elements,
ArrayCallback callback,
int keyCount)
MethodCompiler
createNewHash in interface MethodCompilerelements - 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.public void createNewRange(boolean isExclusive)
MethodCompiler
createNewRange in interface MethodCompilerisExclusive - Whether the range is exclusive or not (inclusive)
public void performBooleanBranch(BranchCallback trueBranch,
BranchCallback falseBranch)
MethodCompiler
performBooleanBranch in interface MethodCompilertrueBranch - The callback for generating code for the "true" conditionfalseBranch - The callback for generating code for the "false" conditionpublic void performLogicalAnd(BranchCallback longBranch)
MethodCompiler
performLogicalAnd in interface MethodCompilerlongBranch - The branch to execute if the "and" operation does not short-circuit.public void performLogicalOr(BranchCallback longBranch)
MethodCompiler
performLogicalOr in interface MethodCompilerlongBranch - The branch to execute if the "or" operation does not short-circuit.
public void performBooleanLoopSafe(BranchCallback condition,
BranchCallback body,
boolean checkFirst)
MethodCompiler
performBooleanLoopSafe in interface MethodCompilercondition - 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.
public void performBooleanLoop(BranchCallback condition,
BranchCallback body,
boolean checkFirst)
MethodCompiler
performBooleanLoop in interface MethodCompilercondition - 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.
public void performBooleanLoopLight(BranchCallback condition,
BranchCallback body,
boolean checkFirst)
MethodCompiler
performBooleanLoopLight in interface MethodCompilercondition - 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.
public void createNewClosure(int line,
StaticScope scope,
int arity,
CompilerCallback body,
CompilerCallback args,
boolean hasMultipleArgsHead,
NodeType argsNodeId,
ASTInspector inspector)
MethodCompiler
createNewClosure in interface MethodCompilerscope - The static scoping informationarity - The arity of the block's argument listbody - The callback which will generate the closure's body
public void runBeginBlock(StaticScope scope,
CompilerCallback body)
runBeginBlock in interface MethodCompiler
public void createNewForLoop(int arity,
CompilerCallback body,
CompilerCallback args,
boolean hasMultipleArgsHead,
NodeType argsNodeId)
MethodCompiler
createNewForLoop in interface MethodCompilerarity - The arity of the block's argument listbody - The callback which will generate the closure's bodypublic void createNewEndBlock(CompilerCallback body)
createNewEndBlock in interface MethodCompilerpublic void getCompiledClass()
public void println()
public void defineAlias(java.lang.String newName,
java.lang.String oldName)
MethodCompiler
defineAlias in interface MethodCompilernewName - The new alias to createoldName - The name of the existing method or aliaspublic void loadFalse()
MethodCompiler
loadFalse in interface MethodCompilerpublic void loadTrue()
MethodCompiler
loadTrue in interface MethodCompilerpublic void loadCurrentModule()
loadCurrentModule in interface MethodCompilerpublic void retrieveInstanceVariable(java.lang.String name)
MethodCompiler
retrieveInstanceVariable in interface MethodCompilername - The name of the instance variable to retrieve.public void assignInstanceVariable(java.lang.String name)
MethodCompiler
assignInstanceVariable in interface MethodCompilername - The name of the value to assign.
public void assignInstanceVariable(java.lang.String name,
CompilerCallback value)
MethodCompiler
assignInstanceVariable in interface MethodCompilername - The name of the value to assign.value - A callback for compiling the value to assignpublic void retrieveGlobalVariable(java.lang.String name)
MethodCompiler
retrieveGlobalVariable in interface MethodCompilername - The name of the global variable.public void assignGlobalVariable(java.lang.String name)
MethodCompiler
assignGlobalVariable in interface MethodCompilername - The name of the global variable.
public void assignGlobalVariable(java.lang.String name,
CompilerCallback value)
MethodCompiler
assignGlobalVariable in interface MethodCompilername - The name of the global variable.value - The callback to compile the value to assignpublic void negateCurrentValue()
MethodCompiler
negateCurrentValue in interface MethodCompilerpublic void splatCurrentValue()
MethodCompiler
splatCurrentValue in interface MethodCompilerpublic void singlifySplattedValue()
MethodCompiler
singlifySplattedValue in interface MethodCompilerpublic void aryToAry()
aryToAry in interface MethodCompilerpublic void ensureRubyArray()
MethodCompiler
ensureRubyArray in interface MethodCompilerpublic void ensureMultipleAssignableRubyArray(boolean masgnHasHead)
MethodCompiler
ensureMultipleAssignableRubyArray in interface MethodCompiler
public void forEachInValueArray(int start,
int count,
java.lang.Object source,
ArrayCallback callback,
ArrayCallback nilCallback,
CompilerCallback argsCallback)
MethodCompiler
forEachInValueArray in interface MethodCompilerpublic void asString()
asString in interface MethodCompilerpublic void toJavaString()
toJavaString in interface MethodCompilerpublic void nthRef(int match)
nthRef in interface MethodCompilerpublic void match()
match in interface MethodCompilerpublic void match2()
match2 in interface MethodCompilerpublic void match3()
match3 in interface MethodCompiler
public void createNewRegexp(ByteList value,
int options)
createNewRegexp in interface MethodCompilerpublic void pollThreadEvents()
pollThreadEvents in interface MethodCompilerpublic void nullToNil()
nullToNil in interface MethodCompiler
public void isInstanceOf(java.lang.Class clazz,
BranchCallback trueBranch,
BranchCallback falseBranch)
isInstanceOf in interface MethodCompiler
public void isCaptured(int number,
BranchCallback trueBranch,
BranchCallback falseBranch)
isCaptured in interface MethodCompiler
public void branchIfModule(CompilerCallback receiverCallback,
BranchCallback moduleCallback,
BranchCallback notModuleCallback)
branchIfModule in interface MethodCompilerpublic void backref()
MethodCompiler
backref in interface MethodCompilerpublic void backrefMethod(java.lang.String methodName)
MethodCompiler
backrefMethod in interface MethodCompilerpublic void issueLoopBreak()
public void issueLoopNext()
public void issueLoopRedo()
protected java.lang.String getNewEnsureName()
public void protect(BranchCallback regularCode,
BranchCallback protectedCode,
java.lang.Class ret)
MethodCompiler
protect in interface MethodCompilerprotected java.lang.String getNewRescueName()
public void rescue(BranchCallback regularCode,
java.lang.Class exception,
BranchCallback catchCode,
java.lang.Class ret)
rescue in interface MethodCompilerpublic void inDefined()
inDefined in interface MethodCompilerpublic void outDefined()
outDefined in interface MethodCompilerpublic void stringOrNil()
stringOrNil in interface MethodCompilerpublic void pushNull()
pushNull in interface MethodCompilerpublic void pushString(java.lang.String str)
pushString in interface MethodCompiler
public void isMethodBound(java.lang.String name,
BranchCallback trueBranch,
BranchCallback falseBranch)
isMethodBound in interface MethodCompiler
public void hasBlock(BranchCallback trueBranch,
BranchCallback falseBranch)
hasBlock in interface MethodCompiler
public void isGlobalDefined(java.lang.String name,
BranchCallback trueBranch,
BranchCallback falseBranch)
isGlobalDefined in interface MethodCompiler
public void isConstantDefined(java.lang.String name,
BranchCallback trueBranch,
BranchCallback falseBranch)
isConstantDefined in interface MethodCompiler
public void isInstanceVariableDefined(java.lang.String name,
BranchCallback trueBranch,
BranchCallback falseBranch)
isInstanceVariableDefined in interface MethodCompiler
public void isClassVarDefined(java.lang.String name,
BranchCallback trueBranch,
BranchCallback falseBranch)
isClassVarDefined in interface MethodCompilerpublic java.lang.Object getNewEnding()
getNewEnding in interface MethodCompiler
public void isNil(BranchCallback trueBranch,
BranchCallback falseBranch)
isNil in interface MethodCompiler
public void isNull(BranchCallback trueBranch,
BranchCallback falseBranch)
isNull in interface MethodCompilerpublic void ifNull(java.lang.Object gotoToken)
ifNull in interface MethodCompilerpublic void ifNotNull(java.lang.Object gotoToken)
ifNotNull in interface MethodCompilerpublic void setEnding(java.lang.Object endingToken)
setEnding in interface MethodCompilerpublic void go(java.lang.Object gotoToken)
go in interface MethodCompiler
public void isConstantBranch(BranchCallback setup,
BranchCallback isConstant,
BranchCallback isMethod,
BranchCallback none,
java.lang.String name)
isConstantBranch in interface MethodCompilerpublic void metaclass()
metaclass in interface MethodCompilerpublic void aprintln()
MethodCompiler
aprintln in interface MethodCompilerpublic void getVisibilityFor(java.lang.String name)
getVisibilityFor in interface MethodCompiler
public void isPrivate(java.lang.Object gotoToken,
int toConsume)
isPrivate in interface MethodCompiler
public void isNotProtected(java.lang.Object gotoToken,
int toConsume)
isNotProtected in interface MethodCompilerpublic void selfIsKindOf(java.lang.Object gotoToken)
selfIsKindOf in interface MethodCompiler
public void notIsModuleAndClassVarDefined(java.lang.String name,
java.lang.Object gotoToken)
notIsModuleAndClassVarDefined in interface MethodCompilerpublic void ifSingleton(java.lang.Object gotoToken)
ifSingleton in interface MethodCompilerpublic void getInstanceVariable(java.lang.String name)
getInstanceVariable in interface MethodCompilerpublic void getFrameName()
getFrameName in interface MethodCompilerpublic void getFrameKlazz()
getFrameKlazz in interface MethodCompilerpublic void superClass()
superClass in interface MethodCompilerpublic void attached()
attached in interface MethodCompilerpublic void ifNotSuperMethodBound(java.lang.Object token)
ifNotSuperMethodBound in interface MethodCompilerpublic void concatArrays()
concatArrays in interface MethodCompilerpublic void concatObjectArrays()
public void appendToArray()
appendToArray in interface MethodCompilerpublic void appendToObjectArray()
appendToObjectArray in interface MethodCompilerpublic void convertToJavaArray()
convertToJavaArray in interface MethodCompiler
public void aliasGlobal(java.lang.String newName,
java.lang.String oldName)
aliasGlobal in interface MethodCompilerpublic void undefMethod(java.lang.String name)
undefMethod in interface MethodCompiler
public void defineClass(java.lang.String name,
StaticScope staticScope,
CompilerCallback superCallback,
CompilerCallback pathCallback,
CompilerCallback bodyCallback,
CompilerCallback receiverCallback)
defineClass in interface MethodCompiler
public void defineModule(java.lang.String name,
StaticScope staticScope,
CompilerCallback pathCallback,
CompilerCallback bodyCallback)
defineModule in interface MethodCompilerpublic void unwrapPassedBlock()
unwrapPassedBlock in interface MethodCompilerpublic void performBackref(char type)
performBackref in interface MethodCompilerpublic void callZSuper(CompilerCallback closure)
callZSuper in interface MethodCompilerpublic void checkIsExceptionHandled()
checkIsExceptionHandled in interface MethodCompilerpublic void rethrowException()
rethrowException in interface MethodCompilerpublic void loadClass(java.lang.String name)
loadClass in interface MethodCompilerpublic void unwrapRaiseException()
unwrapRaiseException in interface MethodCompilerpublic void loadException()
loadException in interface MethodCompilerpublic void setFilePosition(ISourcePosition position)
setFilePosition in interface MethodCompilerpublic void setLinePosition(ISourcePosition position)
setLinePosition in interface MethodCompilerpublic void checkWhenWithSplat()
checkWhenWithSplat in interface MethodCompilerpublic void issueRetryEvent()
issueRetryEvent in interface MethodCompiler
public void defineNewMethod(java.lang.String name,
int methodArity,
StaticScope scope,
CompilerCallback body,
CompilerCallback args,
CompilerCallback receiver,
ASTInspector inspector,
boolean root)
MethodCompiler
defineNewMethod in interface MethodCompilername - The name to which to bind the resulting method.body - The callback which will generate the method's body.public void rethrowIfSystemExit()
rethrowIfSystemExit in interface MethodCompiler
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||