org.jruby.compiler.impl
Class StandardASMCompiler.ASMClosureCompiler

java.lang.Object
  extended by org.jruby.compiler.impl.StandardASMCompiler.AbstractMethodCompiler
      extended by org.jruby.compiler.impl.StandardASMCompiler.ASMClosureCompiler
All Implemented Interfaces:
MethodCompiler
Enclosing class:
StandardASMCompiler

public class StandardASMCompiler.ASMClosureCompiler
extends StandardASMCompiler.AbstractMethodCompiler


Field Summary
 
Fields inherited from class org.jruby.compiler.impl.StandardASMCompiler.AbstractMethodCompiler
currentLoopLabels, invocationCompiler, method, redoJump, scopeEnd, scopeStart, variableCompiler, withinProtection
 
Constructor Summary
StandardASMCompiler.ASMClosureCompiler(java.lang.String closureMethodName, ASTInspector inspector)
           
 
Method Summary
 void assignOptionalArgs(java.lang.Object object, int expectedArgsCount, int size, ArrayCallback optEval)
           
 void beginClass(CompilerCallback bodyPrep, StaticScope scope)
           
 void beginMethod(CompilerCallback args, StaticScope scope)
           
 void endMethod()
          End compilation for the method associated with the specified token.
 void issueBreakEvent(CompilerCallback value)
           
 void issueNextEvent(CompilerCallback value)
           
 void issueRedoEvent()
           
 void loadBlock()
           
 void performReturn()
          Return the current value on the top of the stack, taking into consideration surrounding blocks.
 void processBlockArgument(int index)
           
 void processRequiredArgs(Arity arity, int requiredArgs, int optArgs, int restArg)
           
 void processRestArg(int startIndex, int restArg)
           
 
Methods inherited from class org.jruby.compiler.impl.StandardASMCompiler.AbstractMethodCompiler
aliasGlobal, appendToArray, appendToObjectArray, aryToAry, assignClassVariable, assignConstantInCurrent, assignConstantInModule, assignConstantInObject, assignGlobalVariable, assignInstanceVariable, asString, attached, backref, backrefMethod, branchIfModule, callZSuper, chainToMethod, checkIsExceptionHandled, checkWhenWithSplat, concatArrays, concatObjectArrays, consumeCurrentValue, convertToJavaArray, createEmptyArray, createEmptyHash, createNewArray, createNewBignum, createNewClosure, createNewEndBlock, createNewFixnum, createNewFloat, createNewForLoop, createNewHash, createNewRange, createNewRegexp, createNewRegexp, createNewString, createNewString, createNewSymbol, createNewSymbol, createObjectArray, createObjectArray, declareClassVariable, defineAlias, defineClass, defineModule, defineNewMethod, duplicateCurrentValue, ensureMultipleAssignableRubyArray, ensureRubyArray, forEachInValueArray, getCompiledClass, getFrameKlazz, getFrameName, getInstanceVariable, getInvocationCompiler, getNewEnding, getNewEnsureName, getNewRescueName, getScriptCompiler, getVariableCompiler, getVisibilityFor, go, hasBlock, ifNotNull, ifNotSuperMethodBound, ifNull, ifSingleton, inDefined, invokeIRuby, invokeIRubyObject, invokeThreadContext, invokeUtilityMethod, isCaptured, isClassVarDefined, isConstantBranch, isConstantDefined, isGlobalDefined, isInstanceOf, isInstanceVariableDefined, isMethodBound, isNil, isNotProtected, isNull, isPrivate, issueLoopBreak, issueLoopNext, issueLoopRedo, issueRetryEvent, lineNumber, loadClass, loadCurrentModule, loadException, loadFalse, loadNil, loadNull, loadObject, loadRuntime, loadSelf, loadSymbol, loadThreadContext, loadTrue, match, match2, match3, metaclass, negateCurrentValue, notIsModuleAndClassVarDefined, nthRef, nullToNil, outDefined, performBackref, performBooleanBranch, performBooleanLoop, performLogicalAnd, performLogicalOr, pollThreadEvents, println, protect, pushNull, pushString, rescue, rethrowException, rethrowIfSystemExit, retrieveClassVariable, retrieveConstant, retrieveConstantFromModule, retrieveGlobalVariable, retrieveInstanceVariable, retrieveSelf, retrieveSelfClass, runBeginBlock, selfIsKindOf, setEnding, setFilePosition, setLinePosition, singlifySplattedValue, splatCurrentValue, stringOrNil, superClass, swapValues, toJavaString, undefMethod, unwrapPassedBlock, unwrapRaiseException
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StandardASMCompiler.ASMClosureCompiler

public StandardASMCompiler.ASMClosureCompiler(java.lang.String closureMethodName,
                                              ASTInspector inspector)
Method Detail

beginMethod

public void beginMethod(CompilerCallback args,
                        StaticScope scope)
Specified by:
beginMethod in class StandardASMCompiler.AbstractMethodCompiler

beginClass

public void beginClass(CompilerCallback bodyPrep,
                       StaticScope scope)

endMethod

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

Specified by:
endMethod in interface MethodCompiler
Specified by:
endMethod in class StandardASMCompiler.AbstractMethodCompiler

loadBlock

public void loadBlock()
Overrides:
loadBlock in class StandardASMCompiler.AbstractMethodCompiler

performReturn

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


processRequiredArgs

public void processRequiredArgs(Arity arity,
                                int requiredArgs,
                                int optArgs,
                                int restArg)

assignOptionalArgs

public void assignOptionalArgs(java.lang.Object object,
                               int expectedArgsCount,
                               int size,
                               ArrayCallback optEval)

processRestArg

public void processRestArg(int startIndex,
                           int restArg)

processBlockArgument

public void processBlockArgument(int index)

issueBreakEvent

public void issueBreakEvent(CompilerCallback value)

issueNextEvent

public void issueNextEvent(CompilerCallback value)

issueRedoEvent

public void issueRedoEvent()


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