public class MethodBodyCompiler extends RootScopedBodyCompiler
Modifier and Type | Field and Description |
---|---|
protected boolean |
specificArity |
argParamCount, currentLoopLabels, inNestedMethod, inRescue, inspector, invocationCompiler, method, methodName, redoJump, rubyName, scope, scopeEnd, scopeIndex, scopeStart, script, variableCompiler
Constructor and Description |
---|
MethodBodyCompiler(StandardASMCompiler scriptCompiler,
String rubyName,
String javaName,
ASTInspector inspector,
StaticScope scope,
int scopeIndex) |
Modifier and Type | Method and Description |
---|---|
void |
beginMethod(CompilerCallback args,
StaticScope scope) |
protected void |
createVariableCompiler() |
void |
endBody()
End compilation for the method associated with the specified token.
|
String |
getSignature() |
boolean |
isSimpleRoot()
Return true if this method compiled is a "simple" root compiler, i.e.
|
boolean |
isSpecificArity() |
void |
issueBreakEvent(CompilerCallback value) |
void |
issueNextEvent(CompilerCallback value) |
void |
issueRedoEvent() |
void |
performReturn()
Return the current value on the top of the stack, taking into consideration surrounding blocks.
|
outline
aliasGlobal, appendByteList, appendObject, appendToArray, appendToObjectArray, aprintln, argsCat, argsCatToArguments, argsCatToArguments19, argsPush, aryToAry, assignClassVariable, assignClassVariable, assignConstantInCurrent, assignConstantInModule, assignConstantInObject, assignGlobalVariable, assignGlobalVariable, assignInstanceVariable, assignInstanceVariable, asString, attached, backref, backrefMethod, beginChainedMethod, buildNewString, callZSuper, chainToMethod, checkIsExceptionHandled, checkWhenWithSplat, clearErrorInfo, compileSequencedConditional, concatArrays, concatObjectArrays, consumeCurrentValue, convertToJavaArray, createDRegexp19, createEmptyArray, createEmptyHash, createNewArray, createNewArray, createNewBignum, createNewClosure, createNewClosure19, createNewEndBlock, createNewFixnum, createNewFloat, createNewForLoop, createNewHash, createNewHash19, createNewLambda, createNewLiteralArray, createNewLiteralHash, createNewRange, createNewRegexp, createNewRegexp, createNewString, createNewString, createNewSymbol, createNewSymbol, createObjectArray, declareClassVariable, declareClassVariable, defineAlias, defineClass, definedCall, definedNot, defineModule, defineNewMethod, duplicateCurrentValue, ensureMultipleAssignableRubyArray, ensureRubyArray, forEachInValueArray, forEachInValueArray, getActualArgsCount, getClosureIndex, getCompiledClass, getDynamicScopeIndex, getExceptionIndex, getFirstTempIndex, getFrameKlazz, getFrameName, getInstanceVariable, getInvocationCompiler, getLastLine, getNativeMethodName, getNewEnding, getNewEnsureName, getNewRescueName, getPreviousExceptionIndex, getRubyName, getScopeIndex, getScriptCompiler, getVariableCompiler, getVarsArrayIndex, getVisibilityFor, go, hasBlock, ifNotNull, ifNotSuperMethodBound, ifNull, ifSingleton, invokeIRubyObject, invokeRuby, invokeThreadContext, invokeUtilityMethod, isCaptured, isClassVarDefined, isConstantBranch, isConstantDefined, isGlobalDefined, isInstanceOf, isInstanceVariableDefined, isMethodBound, isNil, isNotProtected, isNull, isPrivate, issueLoopBreak, issueLoopNext, issueLoopRedo, issueRetryEvent, isTrue, lineNumber, literal, literalSwitch, loadBlock, loadClass, loadCurrentModule, loadEncoding, loadException, loadFalse, loadFilename, loadNil, loadNull, loadObject, loadRuntime, loadSelf, loadStandardError, loadStaticScope, loadThis, loadThreadContext, loadTrue, mAssignConstantInCurrent, mAssignConstantInModule, mAssignConstantInObject, match, match2, match2Capture, match3, metaclass, negateCurrentValue, notIsModuleAndClassVarDefined, nthRef, nullToNil, performBackref, performBooleanBranch, performBooleanBranch2, performBooleanConstantBranch, performBooleanGlobalBranch, performBooleanLoop, performBooleanLoopLight, performBooleanLoopSafe, performEnsure, performLogicalAnd, performLogicalOr, performRescue, performRescueInternal, performRescueLight, pollThreadEvents, preMultiAssign, println, protect, pushByteList, pushDefinedMessage, pushNull, pushString, raiseTypeError, rescue, rethrowException, rethrowIfSystemExit, retrieveClassVariable, retrieveConstant, retrieveConstantFromModule, retrieveConstantFromObject, retrieveGlobalVariable, retrieveInstanceVariable, retrieveSelf, retrieveSelfClass, reverseValues, runBeginBlock, selfIsKindOf, setEnding, setLinePosition, shortcutAppend, shouldUseBoxedArgs, singlifySplattedValue, singlifySplattedValue19, splatCurrentValue, splatToArguments, splatToArguments19, storeExceptionInErrorInfo, storeNativeExceptionInErrorInfo, stringOrNil, stringToSymbol, superClass, swapValues, toJavaString, traceClass, traceEnd, traceLine, typeCheckBranch, undefMethod, unwrapPassedBlock, unwrapRaiseException, wrapJavaException, wrapJavaObject
public MethodBodyCompiler(StandardASMCompiler scriptCompiler, String rubyName, String javaName, ASTInspector inspector, StaticScope scope, int scopeIndex)
public boolean isSpecificArity()
public String getSignature()
getSignature
in class RootScopedBodyCompiler
protected void createVariableCompiler()
createVariableCompiler
in class RootScopedBodyCompiler
public void beginMethod(CompilerCallback args, StaticScope scope)
beginMethod
in class RootScopedBodyCompiler
public void endBody()
BodyCompiler
endBody
in interface BodyCompiler
endBody
in class RootScopedBodyCompiler
public void performReturn()
BodyCompiler
performReturn
in interface BodyCompiler
performReturn
in class RootScopedBodyCompiler
public void issueBreakEvent(CompilerCallback value)
issueBreakEvent
in interface BodyCompiler
issueBreakEvent
in class RootScopedBodyCompiler
public void issueNextEvent(CompilerCallback value)
issueNextEvent
in interface BodyCompiler
issueNextEvent
in class RootScopedBodyCompiler
public void issueRedoEvent()
issueRedoEvent
in interface BodyCompiler
issueRedoEvent
in class RootScopedBodyCompiler
public boolean isSimpleRoot()
BodyCompiler
Copyright © 2001-2014 JRuby. All Rights Reserved.