org.jruby.compiler.impl
Class ChildScopedBodyCompiler

java.lang.Object
  extended by org.jruby.compiler.impl.BaseBodyCompiler
      extended by org.jruby.compiler.impl.ChildScopedBodyCompiler
All Implemented Interfaces:
BodyCompiler
Direct Known Subclasses:
ChainedChildBodyCompiler, ChildScopedBodyCompiler19

public class ChildScopedBodyCompiler
extends BaseBodyCompiler


Field Summary
 
Fields inherited from class org.jruby.compiler.impl.BaseBodyCompiler
argParamCount, currentLoopLabels, inNestedMethod, inspector, invocationCompiler, method, methodName, redoJump, scope, scopeEnd, scopeStart, script, variableCompiler
 
Constructor Summary
ChildScopedBodyCompiler(StandardASMCompiler scriptCompiler, java.lang.String closureMethodName, ASTInspector inspector, StaticScope scope)
           
 
Method Summary
 void beginClass(CompilerCallback bodyPrep, StaticScope scope)
           
 void beginMethod(CompilerCallback args, StaticScope scope)
           
protected  void createVariableCompiler()
           
 void endBody()
          End compilation for the method associated with the specified token.
protected  java.lang.String getSignature()
           
 void issueBreakEvent(CompilerCallback value)
           
 void issueNextEvent(CompilerCallback value)
           
 void issueRedoEvent()
           
 void loadBlock()
           
 ChainedChildBodyCompiler outline(java.lang.String methodName)
           
 void performReturn()
          Return the current value on the top of the stack, taking into consideration surrounding blocks.
 
Methods inherited from class org.jruby.compiler.impl.BaseBodyCompiler
aliasGlobal, appendToArray, appendToObjectArray, aprintln, aryToAry, assignClassVariable, assignClassVariable, assignConstantInCurrent, assignConstantInModule, assignConstantInObject, assignGlobalVariable, assignGlobalVariable, assignInstanceVariable, assignInstanceVariable, asString, attached, backref, backrefMethod, beginChainedMethod, callZSuper, chainToMethod, checkIsExceptionHandled, checkWhenWithSplat, clearErrorInfo, compileSequencedConditional, concatArrays, concatObjectArrays, consumeCurrentValue, convertToJavaArray, createEmptyArray, createEmptyHash, createNewArray, createNewArray, createNewBignum, createNewClosure, createNewClosure19, createNewEndBlock, createNewFixnum, createNewFloat, createNewForLoop, createNewHash, createNewHash19, createNewLambda, createNewRange, createNewRegexp, createNewRegexp, createNewString, createNewString, createNewSymbol, createNewSymbol, createObjectArray, createObjectArray, declareClassVariable, declareClassVariable, defineAlias, defineClass, defineModule, defineNewMethod, duplicateCurrentValue, ensureMultipleAssignableRubyArray, ensureRubyArray, forEachInValueArray, forEachInValueArray, getClosureIndex, getCompiledClass, getDynamicScopeIndex, getExceptionIndex, getFirstTempIndex, getFrameKlazz, getFrameName, getInstanceVariable, getInvocationCompiler, getNewEnding, getNewEnsureName, getNewRescueName, getNilIndex, getPreviousExceptionIndex, getRuntimeIndex, getScriptCompiler, getVariableCompiler, getVarsArrayIndex, getVisibilityFor, go, hasBlock, ifNotNull, ifNotSuperMethodBound, ifNull, ifSingleton, inDefined, invokeIRubyObject, invokeRuby, invokeThreadContext, invokeUtilityMethod, isCaptured, isClassVarDefined, isConstantBranch, isConstantDefined, isGlobalDefined, isInstanceOf, isInstanceVariableDefined, isMethodBound, isNil, isNotProtected, isNull, isPrivate, issueLoopBreak, issueLoopNext, issueLoopRedo, issueRetryEvent, lineNumber, literalSwitch, loadClass, loadCurrentModule, loadException, loadFalse, loadFilename, loadNil, loadNull, loadObject, loadRuntime, loadSelf, loadStandardError, loadThis, loadThreadContext, loadTrue, match, match2, match3, metaclass, negateCurrentValue, notIsModuleAndClassVarDefined, nthRef, nullToNil, outDefined, performBackref, performBooleanBranch, performBooleanLoop, performBooleanLoopLight, performBooleanLoopSafe, performEnsure, performLogicalAnd, performLogicalOr, performRescue, performRescueLight, pollThreadEvents, println, protect, pushNull, pushString, raiseTypeError, rescue, rethrowException, rethrowIfSystemExit, retrieveClassVariable, retrieveConstant, retrieveConstantFromModule, retrieveConstantFromObject, retrieveGlobalVariable, retrieveInstanceVariable, retrieveSelf, retrieveSelfClass, reverseValues, runBeginBlock, selfIsKindOf, setEnding, setFilePosition, setLinePosition, shouldUseBoxedArgs, singlifySplattedValue, splatCurrentValue, storeExceptionInErrorInfo, stringOrNil, superClass, swapValues, toJavaString, typeCheckBranch, undefMethod, unwrapPassedBlock, unwrapRaiseException, wrapJavaException, wrapJavaObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChildScopedBodyCompiler

public ChildScopedBodyCompiler(StandardASMCompiler scriptCompiler,
                               java.lang.String closureMethodName,
                               ASTInspector inspector,
                               StaticScope scope)
Method Detail

getSignature

protected java.lang.String getSignature()
Specified by:
getSignature in class BaseBodyCompiler

createVariableCompiler

protected void createVariableCompiler()
Specified by:
createVariableCompiler in class BaseBodyCompiler

beginMethod

public void beginMethod(CompilerCallback args,
                        StaticScope scope)
Specified by:
beginMethod in class BaseBodyCompiler

beginClass

public void beginClass(CompilerCallback bodyPrep,
                       StaticScope scope)

outline

public ChainedChildBodyCompiler outline(java.lang.String methodName)
Specified by:
outline in interface BodyCompiler
Specified by:
outline in class BaseBodyCompiler

endBody

public void endBody()
Description copied from interface: BodyCompiler
End compilation for the method associated with the specified token. This should close out all structures created for compilation of the method.

Specified by:
endBody in interface BodyCompiler
Specified by:
endBody in class BaseBodyCompiler

loadBlock

public void loadBlock()
Overrides:
loadBlock in class BaseBodyCompiler

performReturn

public void performReturn()
Description copied from interface: BodyCompiler
Return the current value on the top of the stack, taking into consideration surrounding blocks.


issueBreakEvent

public void issueBreakEvent(CompilerCallback value)

issueNextEvent

public void issueNextEvent(CompilerCallback value)

issueRedoEvent

public void issueRedoEvent()


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