public interface BodyCompiler
Modifier and Type | Method and Description |
---|---|
void |
aliasGlobal(String newName,
String oldName) |
void |
appendByteList(org.jruby.util.ByteList value,
int codeRange,
boolean is19)
Append the given bytelist + coderange to the string currently on the stack.
|
void |
appendObject(boolean is19)
Append the object on stack to the string below it.
|
void |
appendToArray() |
void |
appendToObjectArray() |
void |
aprintln()
For logging, println the object reference currently atop the stack
|
void |
argsCat()
Pass two stack elements, converting the first to an array, to the "argsCat" utility method.
|
void |
argsCatToArguments() |
void |
argsCatToArguments19() |
void |
argsPush()
Pass two stack elements, the first an array, to the "argsPush" utility method.
|
void |
aryToAry() |
void |
assignClassVariable(String name) |
void |
assignClassVariable(String name,
CompilerCallback value) |
void |
assignConstantInCurrent(String name,
CompilerCallback value)
Assign a constant on the class or module currently in scope.
|
void |
assignConstantInModule(String name,
CompilerCallback moduleAndValue)
Assign a constant on a specific class or module.
|
void |
assignConstantInObject(String name,
CompilerCallback value)
Assign a constant on the Object class.
|
void |
assignGlobalVariable(String name)
Assign the top of the stack to the global variable with the specified name.
|
void |
assignGlobalVariable(String name,
CompilerCallback value)
Assign the top of the stack to the global variable with the specified name.
|
void |
assignInstanceVariable(String name)
Assign the value on top of the stack to the instance variable with the specified name
on the current "self".
|
void |
assignInstanceVariable(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(String methodName)
Call a static helper method on RubyRegexp with the current backref
|
void |
buildNewString(ArrayCallback callback,
int count,
org.jcodings.Encoding encoding)
Build a string using the given callback.
|
void |
callZSuper(CompilerCallback closure) |
BodyCompiler |
chainToMethod(String name) |
void |
checkIsExceptionHandled(ArgumentsCallback rescueArgs) |
void |
checkWhenWithSplat() |
void |
clearErrorInfo() |
void |
compileSequencedConditional(CompilerCallback inputValue,
FastSwitchType fastSwitchType,
Map<CompilerCallback,int[]> switchCases,
List<ArgumentsCallback> conditionals,
List<CompilerCallback> bodies,
CompilerCallback fallback,
boolean outline)
Compile a "sequenced conditional", known as a case/when in Ruby or a switch in Java.
|
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 |
createDRegexp19(ArrayCallback arrayCallback,
Object[] sourceArray,
int options) |
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(Object[] sourceArray,
ArrayCallback callback,
boolean lightweight)
Construct a Ruby array given an array of objects to feed to an ArrayCallback
to construct the elements of the array.
|
void |
createNewBignum(BigInteger value)
Generate a new "Bignum" value.
|
void |
createNewClosure(String file,
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 |
createNewClosure19(String file,
int line,
StaticScope scope,
int arity,
CompilerCallback body,
CompilerCallback args,
boolean hasMultipleArgsHead,
NodeType argsNodeId,
String parameterList,
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,
ASTInspector inspector)
Create a new closure (block) for a for loop with the given call arity and
body generated by the body callback.
|
void |
createNewHash(Object elements,
ArrayCallback callback,
int keyCount)
Create a new hash by calling back to the specified ArrayCallback.
|
void |
createNewHash19(Object elements,
ArrayCallback callback,
int keyCount)
Create new hash running in ruby 1.9 compat version.
|
void |
createNewLambda(CompilerCallback closure)
Create a new literal lambda.
|
void |
createNewLiteralArray(Object[] sourceArray,
ArrayCallback callback,
boolean lightweight)
Construct a Ruby array given an array of objects to feed to an ArrayCallback
to construct the elements of the array.
|
void |
createNewLiteralHash(Object elements,
ArrayCallback callback,
int keyCount)
Create a new hash by calling back to the specified ArrayCallback.
|
void |
createNewRange(CompilerCallback beginEndCalback,
boolean isExclusive)
Create a new range.
|
void |
createNewRegexp(org.jruby.util.ByteList value,
int options) |
void |
createNewRegexp(CompilerCallback createStringCallback,
int options) |
void |
createNewString(ArrayCallback callback,
int count,
org.jcodings.Encoding encoding)
Generate a new dynamic "String" value.
|
void |
createNewString(org.jruby.util.ByteList value,
int codeRange)
Generate a new "String" value.
|
void |
createNewSymbol(ArrayCallback callback,
int count,
org.jcodings.Encoding encoding) |
void |
createNewSymbol(String name,
org.jcodings.Encoding encoding)
Generate a new "Symbol" value (or fetch the existing one).
|
void |
createObjectArray(Object[] elementArray,
ArrayCallback callback) |
void |
declareClassVariable(String name) |
void |
declareClassVariable(String name,
CompilerCallback value) |
void |
defineAlias(CompilerCallback args)
Define an alias for a new name to an existing oldName'd method.
|
void |
defineClass(String name,
StaticScope staticScope,
CompilerCallback superCallback,
CompilerCallback pathCallback,
CompilerCallback bodyCallback,
CompilerCallback receiverCallback,
ASTInspector inspector,
ISourcePosition startPosition) |
void |
definedCall(String name)
Check defined?() for a Call
|
void |
definedNot()
Check defined?() for a Not.
|
void |
defineModule(String name,
StaticScope staticScope,
CompilerCallback pathCallback,
CompilerCallback bodyCallback,
ASTInspector inspector,
ISourcePosition startPosition) |
void |
defineNewMethod(String name,
int methodArity,
StaticScope scope,
CompilerCallback body,
CompilerCallback args,
CompilerCallback receiver,
ASTInspector inspector,
boolean root,
String filename,
int line,
String parameterDesc)
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 |
endBody()
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,
Object source,
ArrayCallback callback,
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 |
forEachInValueArray(int count,
int preSize,
Object preSource,
int postSize,
Object postSource,
ArrayCallback callback,
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(String name) |
InvocationCompiler |
getInvocationCompiler() |
String |
getNativeMethodName() |
Object |
getNewEnding() |
VariableCompiler |
getVariableCompiler() |
void |
getVisibilityFor(String name) |
void |
go(Object gotoToken) |
void |
hasBlock(BranchCallback trueBranch,
BranchCallback falseBranch) |
void |
ifNotNull(Object gotoToken) |
void |
ifNotSuperMethodBound(Object token) |
void |
ifNull(Object gotoToken) |
void |
ifSingleton(Object gotoToken) |
void |
isCaptured(int number,
BranchCallback trueBranch,
BranchCallback falseBranch) |
void |
isClassVarDefined(String name,
BranchCallback trueBranch,
BranchCallback falseBranch) |
void |
isConstantBranch(BranchCallback setup,
String name) |
void |
isConstantDefined(String name) |
void |
isGlobalDefined(String name,
BranchCallback trueBranch,
BranchCallback falseBranch) |
void |
isInstanceOf(Class clazz,
BranchCallback trueBranch,
BranchCallback falseBranch) |
void |
isInstanceVariableDefined(String name) |
void |
isMethodBound(String name,
BranchCallback trueBranch,
BranchCallback falseBranch) |
void |
isNil(BranchCallback trueBranch,
BranchCallback falseBranch) |
void |
isNotProtected(Object gotoToken,
int toConsume) |
void |
isNull(BranchCallback trueBranch,
BranchCallback falseBranch) |
void |
isPrivate(Object gotoToken,
int toConsume) |
boolean |
isSimpleRoot()
Return true if this method compiled is a "simple" root compiler, i.e.
|
void |
issueBreakEvent(CompilerCallback value) |
void |
issueNextEvent(CompilerCallback value) |
void |
issueRedoEvent() |
void |
issueRetryEvent() |
void |
isTrue()
Convert the top IRubyObject value on the stack to a primitive boolean
using IRubyObject.isTrue();
|
void |
lineNumber(ISourcePosition position)
This method provides a way to specify a line number for the current piece of code
being compiled.
|
void |
literal(String value) |
void |
literalSwitch(int[] caseInts,
Object[] caseBodies,
ArrayCallback casesCallback,
CompilerCallback defaultCallback) |
void |
loadClass(String name) |
void |
loadCurrentModule() |
void |
loadEncoding(org.jcodings.Encoding encoding)
Load the specified encoding.
|
void |
loadException() |
void |
loadFalse()
Load a Ruby "false" value on top of the stack.
|
void |
loadFilename() |
void |
loadNil()
Load a Ruby "nil" value on top of the stack.
|
void |
loadNull() |
void |
loadObject()
Load the Object class
|
void |
loadSelf() |
void |
loadStandardError() |
void |
loadTrue()
Load a Ruby "true" value on top of the stack.
|
void |
mAssignConstantInCurrent(String name)
Assign a constant on the class or module currently in scope.
|
void |
mAssignConstantInModule(String name)
Assign a constant on a specific class or module.
|
void |
mAssignConstantInObject(String name)
Assign a constant on the Object class.
|
void |
match(boolean is19) |
void |
match2(CompilerCallback value,
boolean is19) |
void |
match2Capture(CompilerCallback value,
int[] scopeOffsets,
boolean is19) |
void |
match3(boolean is19) |
void |
metaclass() |
void |
negateCurrentValue()
Perform a logical Ruby "not" operation on the value on top of the stack, leaving the
negated result.
|
void |
notIsModuleAndClassVarDefined(String name,
Object gotoToken) |
void |
nthRef(int match) |
void |
nullToNil() |
BodyCompiler |
outline(String methodName) |
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 |
performBooleanBranch2(BranchCallback trueBranch,
BranchCallback falseBranch)
Perform a boolean branch operation based on the boolean top value
on the stack.
|
void |
performBooleanConstantBranch(String globalName,
BranchCallback trueBranch,
BranchCallback falseBranch)
Perform a boolean branch operation based on the boolean constant value
on the stack.
|
void |
performBooleanGlobalBranch(String globalName,
BranchCallback trueBranch,
BranchCallback falseBranch)
Perform a boolean branch operation based on the boolean global 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 |
performEnsure(BranchCallback regularCode,
BranchCallback ensuredCode) |
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 |
performRescue(BranchCallback regularCode,
BranchCallback rubyCatchCode,
BranchCallback rubyElseCode,
boolean needsRetry) |
void |
performRescueLight(BranchCallback regularCode,
BranchCallback rubyCatchCode,
BranchCallback rubyElseCode,
boolean needsRetry) |
void |
performReturn()
Return the current value on the top of the stack, taking into consideration surrounding blocks.
|
void |
pollThreadEvents() |
void |
preMultiAssign(int head,
boolean args) |
void |
protect(BranchCallback regularCode,
BranchCallback protectedCode,
Class ret)
Makes sure that the code in protectedCode will always run after regularCode.
|
void |
pushByteList(org.jruby.util.ByteList bl) |
void |
pushDefinedMessage(DefinedMessage definedMessage) |
void |
pushNull() |
void |
pushString(String strVal) |
void |
raiseTypeError(String string) |
void |
rescue(BranchCallback regularCode,
Class exception,
BranchCallback protectedCode,
Class ret) |
void |
rethrowException() |
void |
rethrowIfSystemExit() |
void |
retrieveClassVariable(String name) |
void |
retrieveConstant(String name)
Retrieve the constant with the specified name available at the current point in the
program's execution.
|
void |
retrieveConstantFromModule(String name)
Retreive a named constant from the RubyModule/RubyClass that's just been pushed.
|
void |
retrieveConstantFromObject(String name)
Retreive a named constant from the RubyModule/RubyClass that's just been pushed.
|
void |
retrieveGlobalVariable(String name)
Retrieve the global variable with the specified name to the top of the stack.
|
void |
retrieveInstanceVariable(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 |
reverseValues(int n)
Reverse the top n values on the stack.
|
void |
runBeginBlock(StaticScope scope,
CompilerCallback body) |
void |
selfIsKindOf(Object gotoToken) |
void |
setEnding(Object endingToken) |
void |
setLinePosition(ISourcePosition position) |
void |
shortcutAppend(boolean is19)
A "shortcut" append that skips conversions to String where possible.
|
void |
singlifySplattedValue()
Given a splatted value, extract a single value.
|
void |
singlifySplattedValue19()
1.9 version of singlifySplattedValue.
|
void |
splatCurrentValue(String methodName)
Convert the current value into a "splatted value" suitable for passing as
method arguments or disassembling into multiple variables.
|
void |
splatToArguments() |
void |
splatToArguments19() |
void |
storeExceptionInErrorInfo()
Store the current live exception object in the $! thread-global.
|
void |
storeNativeExceptionInErrorInfo()
Store the current exception in $!, wrapping in NativeException if necessary.
|
void |
stringOrNil() |
void |
stringToSymbol(boolean is19)
Convert a String on stack to a Symbol
|
void |
superClass() |
void |
swapValues()
Swap the top and second values on the stack.
|
void |
toJavaString() |
void |
traceClass(ISourcePosition position) |
void |
traceEnd(int line) |
void |
traceLine(ISourcePosition position) |
void |
typeCheckBranch(Class type,
BranchCallback trueCallback,
BranchCallback falseCallback) |
void |
undefMethod(CompilerCallback nameArg) |
void |
unwrapPassedBlock() |
void |
unwrapRaiseException() |
void |
wrapJavaException() |
void endBody()
token
- A token identifying the method to be terminated.void consumeCurrentValue()
void duplicateCurrentValue()
void aprintln()
void swapValues()
void reverseValues(int n)
n
- The number of values to reverse.void lineNumber(ISourcePosition position)
position
- The ISourcePosition information to use.VariableCompiler getVariableCompiler()
InvocationCompiler getInvocationCompiler()
void retrieveSelf()
void retrieveSelfClass()
void retrieveClassVariable(String name)
void assignClassVariable(String name)
void assignClassVariable(String name, CompilerCallback value)
void declareClassVariable(String name)
void declareClassVariable(String name, CompilerCallback value)
void createNewFixnum(long value)
void createNewFloat(double value)
void createNewBignum(BigInteger value)
void createNewString(org.jruby.util.ByteList value, int codeRange)
void createNewString(ArrayCallback callback, int count, org.jcodings.Encoding encoding)
void createNewSymbol(ArrayCallback callback, int count, org.jcodings.Encoding encoding)
void buildNewString(ArrayCallback callback, int count, org.jcodings.Encoding encoding)
void appendByteList(org.jruby.util.ByteList value, int codeRange, boolean is19)
void appendObject(boolean is19)
void shortcutAppend(boolean is19)
void stringToSymbol(boolean is19)
void createNewSymbol(String name, org.jcodings.Encoding encoding)
void createObjectArray(Object[] elementArray, ArrayCallback callback)
void createNewArray(boolean lightweight)
void createNewArray(Object[] sourceArray, ArrayCallback callback, boolean lightweight)
sourceArray
- The objects that will be used to construct elementscallback
- The callback to which to pass the objectslightweight
- Whether the array should be lightweightvoid createNewLiteralArray(Object[] sourceArray, ArrayCallback callback, boolean lightweight)
sourceArray
- The objects that will be used to construct elementscallback
- The callback to which to pass the objectslightweight
- Whether the array should be lightweightvoid createEmptyArray()
void createEmptyHash()
void createNewHash(Object elements, ArrayCallback callback, int keyCount)
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.void createNewLiteralHash(Object elements, ArrayCallback callback, int keyCount)
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.void createNewHash19(Object elements, ArrayCallback callback, int keyCount)
void createNewRange(CompilerCallback beginEndCalback, boolean isExclusive)
isExclusive
- Whether the range is exclusive or not (inclusive)void createNewLambda(CompilerCallback closure)
void performBooleanBranch(BranchCallback trueBranch, BranchCallback falseBranch)
trueBranch
- The callback for generating code for the "true" conditionfalseBranch
- The callback for generating code for the "false" conditionvoid performBooleanBranch2(BranchCallback trueBranch, BranchCallback falseBranch)
trueBranch
- The callback for generating code for the "true" conditionfalseBranch
- The callback for generating code for the "false" conditionvoid performBooleanGlobalBranch(String globalName, BranchCallback trueBranch, BranchCallback falseBranch)
trueBranch
- The callback for generating code for the "true" conditionfalseBranch
- The callback for generating code for the "false" conditionvoid performBooleanConstantBranch(String globalName, BranchCallback trueBranch, BranchCallback falseBranch)
trueBranch
- The callback for generating code for the "true" conditionfalseBranch
- The callback for generating code for the "false" conditionvoid performLogicalAnd(BranchCallback longBranch)
longBranch
- The branch to execute if the "and" operation does not short-circuit.void performLogicalOr(BranchCallback longBranch)
longBranch
- The branch to execute if the "or" operation does not short-circuit.void performBooleanLoopSafe(BranchCallback condition, BranchCallback body, boolean checkFirst)
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.void performBooleanLoop(BranchCallback condition, BranchCallback body, boolean checkFirst)
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.void performBooleanLoopLight(BranchCallback condition, BranchCallback body, boolean checkFirst)
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.void performReturn()
void createNewClosure(String file, int line, StaticScope scope, int arity, CompilerCallback body, CompilerCallback args, boolean hasMultipleArgsHead, NodeType argsNodeId, ASTInspector inspector)
void createNewClosure19(String file, int line, StaticScope scope, int arity, CompilerCallback body, CompilerCallback args, boolean hasMultipleArgsHead, NodeType argsNodeId, String parameterList, ASTInspector inspector)
void createNewForLoop(int arity, CompilerCallback body, CompilerCallback args, boolean hasMultipleArgsHead, NodeType argsNodeId, ASTInspector inspector)
void defineNewMethod(String name, int methodArity, StaticScope scope, CompilerCallback body, CompilerCallback args, CompilerCallback receiver, ASTInspector inspector, boolean root, String filename, int line, String parameterDesc)
void defineAlias(CompilerCallback args)
void assignConstantInCurrent(String name, CompilerCallback value)
name
- name of the constantvalue
- callback to load the valuevoid assignConstantInModule(String name, CompilerCallback moduleAndValue)
name
- name of the constantmoduleAndValue
- callback to load the class/module and valuevoid assignConstantInObject(String name, CompilerCallback value)
name
- name of the constantvalue
- callback to load the valuevoid mAssignConstantInCurrent(String name)
name
- name of the constantvoid mAssignConstantInModule(String name)
name
- name of the constantvoid mAssignConstantInObject(String name)
name
- name of the constantvoid retrieveConstant(String name)
name
- The name of the constantvoid retrieveConstantFromModule(String name)
name
- The name of the constantvoid retrieveConstantFromObject(String name)
name
- The name of the constantvoid loadFalse()
void loadTrue()
void loadNil()
void loadNull()
void loadObject()
void retrieveInstanceVariable(String name)
name
- The name of the instance variable to retrieve.void assignInstanceVariable(String name)
name
- The name of the value to assign.void assignInstanceVariable(String name, CompilerCallback value)
name
- The name of the value to assign.value
- A callback for compiling the value to assignvoid assignGlobalVariable(String name)
name
- The name of the global variable.void assignGlobalVariable(String name, CompilerCallback value)
name
- The name of the global variable.value
- The callback to compile the value to assignvoid retrieveGlobalVariable(String name)
name
- The name of the global variable.void negateCurrentValue()
void splatCurrentValue(String methodName)
void singlifySplattedValue()
void singlifySplattedValue19()
void forEachInValueArray(int count, int start, Object source, ArrayCallback callback, CompilerCallback argsCallback)
void forEachInValueArray(int count, int preSize, Object preSource, int postSize, Object postSource, ArrayCallback callback, CompilerCallback argsCallback)
void ensureRubyArray()
void ensureMultipleAssignableRubyArray(boolean masgnHasHead)
void issueBreakEvent(CompilerCallback value)
void issueNextEvent(CompilerCallback value)
void issueRedoEvent()
void issueRetryEvent()
void asString()
void nthRef(int match)
void match(boolean is19)
void match2(CompilerCallback value, boolean is19)
void match2Capture(CompilerCallback value, int[] scopeOffsets, boolean is19)
void match3(boolean is19)
void createNewRegexp(org.jruby.util.ByteList value, int options)
void createNewRegexp(CompilerCallback createStringCallback, int options)
void createDRegexp19(ArrayCallback arrayCallback, Object[] sourceArray, int options)
void pollThreadEvents()
void literal(String value)
void backref()
void backrefMethod(String methodName)
void nullToNil()
void protect(BranchCallback regularCode, BranchCallback protectedCode, Class ret)
void rescue(BranchCallback regularCode, Class exception, BranchCallback protectedCode, Class ret)
void performRescue(BranchCallback regularCode, BranchCallback rubyCatchCode, BranchCallback rubyElseCode, boolean needsRetry)
void performRescueLight(BranchCallback regularCode, BranchCallback rubyCatchCode, BranchCallback rubyElseCode, boolean needsRetry)
void performEnsure(BranchCallback regularCode, BranchCallback ensuredCode)
void stringOrNil()
void pushNull()
void pushString(String strVal)
void pushByteList(org.jruby.util.ByteList bl)
void pushDefinedMessage(DefinedMessage definedMessage)
void isMethodBound(String name, BranchCallback trueBranch, BranchCallback falseBranch)
void hasBlock(BranchCallback trueBranch, BranchCallback falseBranch)
void isGlobalDefined(String name, BranchCallback trueBranch, BranchCallback falseBranch)
void isConstantDefined(String name)
void isInstanceVariableDefined(String name)
void isClassVarDefined(String name, BranchCallback trueBranch, BranchCallback falseBranch)
Object getNewEnding()
void ifNull(Object gotoToken)
void isNil(BranchCallback trueBranch, BranchCallback falseBranch)
void isNull(BranchCallback trueBranch, BranchCallback falseBranch)
void ifNotNull(Object gotoToken)
void setEnding(Object endingToken)
void go(Object gotoToken)
void isConstantBranch(BranchCallback setup, String name)
void metaclass()
void getVisibilityFor(String name)
void isPrivate(Object gotoToken, int toConsume)
void isNotProtected(Object gotoToken, int toConsume)
void selfIsKindOf(Object gotoToken)
void loadCurrentModule()
void loadSelf()
void ifSingleton(Object gotoToken)
void getInstanceVariable(String name)
void getFrameName()
void getFrameKlazz()
void superClass()
void attached()
void ifNotSuperMethodBound(Object token)
void isInstanceOf(Class clazz, BranchCallback trueBranch, BranchCallback falseBranch)
void isCaptured(int number, BranchCallback trueBranch, BranchCallback falseBranch)
void concatArrays()
void appendToArray()
void argsCatToArguments()
void argsCatToArguments19()
void splatToArguments()
void splatToArguments19()
void convertToJavaArray()
void aryToAry()
void toJavaString()
void undefMethod(CompilerCallback nameArg)
void defineClass(String name, StaticScope staticScope, CompilerCallback superCallback, CompilerCallback pathCallback, CompilerCallback bodyCallback, CompilerCallback receiverCallback, ASTInspector inspector, ISourcePosition startPosition)
void defineModule(String name, StaticScope staticScope, CompilerCallback pathCallback, CompilerCallback bodyCallback, ASTInspector inspector, ISourcePosition startPosition)
void unwrapPassedBlock()
void performBackref(char type)
void callZSuper(CompilerCallback closure)
void appendToObjectArray()
void checkIsExceptionHandled(ArgumentsCallback rescueArgs)
void rethrowException()
void loadClass(String name)
void loadStandardError()
void unwrapRaiseException()
void loadException()
void setLinePosition(ISourcePosition position)
void checkWhenWithSplat()
void createNewEndBlock(CompilerCallback body)
void runBeginBlock(StaticScope scope, CompilerCallback body)
void rethrowIfSystemExit()
BodyCompiler chainToMethod(String name)
BodyCompiler outline(String methodName)
void wrapJavaException()
void literalSwitch(int[] caseInts, Object[] caseBodies, ArrayCallback casesCallback, CompilerCallback defaultCallback)
void typeCheckBranch(Class type, BranchCallback trueCallback, BranchCallback falseCallback)
void loadFilename()
void storeExceptionInErrorInfo()
void storeNativeExceptionInErrorInfo()
void clearErrorInfo()
void compileSequencedConditional(CompilerCallback inputValue, FastSwitchType fastSwitchType, Map<CompilerCallback,int[]> switchCases, List<ArgumentsCallback> conditionals, List<CompilerCallback> bodies, CompilerCallback fallback, boolean outline)
inputValue
- callback to create the case/switch valuefastSwitchType
- type of fast-switching to use, if anyswitchCases
- callbacks and array of Java case values for fast switchingconditionals
- callbacks for eqq switchingbodies
- case bodiesfallback
- else bodyoutline
- whether the case bodies should be generated into their own JVM methodsvoid raiseTypeError(String string)
void traceLine(ISourcePosition position)
void traceClass(ISourcePosition position)
void traceEnd(int line)
String getNativeMethodName()
void preMultiAssign(int head, boolean args)
boolean isSimpleRoot()
void argsPush()
void argsCat()
void loadEncoding(org.jcodings.Encoding encoding)
void definedCall(String name)
void definedNot()
void isTrue()
Copyright © 2001-2016 JRuby. All Rights Reserved.