org.jruby.compiler.impl
Class ClassBodyCompiler

java.lang.Object
  extended by org.jruby.compiler.impl.BaseBodyCompiler
      extended by org.jruby.compiler.impl.RootScopedBodyCompiler
          extended by org.jruby.compiler.impl.ClassBodyCompiler
All Implemented Interfaces:
BodyCompiler

public class ClassBodyCompiler
extends RootScopedBodyCompiler


Field Summary
 
Fields inherited from class org.jruby.compiler.impl.BaseBodyCompiler
argParamCount, currentLoopLabels, inNestedMethod, inspector, invocationCompiler, method, methodName, redoJump, rubyName, scope, scopeEnd, scopeStart, script, variableCompiler
 
Constructor Summary
ClassBodyCompiler(StandardASMCompiler scriptCompiler, java.lang.String friendlyName, java.lang.String rubyName, ASTInspector inspector, StaticScope scope)
           
 
Method Summary
 void beginMethod(CompilerCallback bodyPrep, StaticScope scope)
           
 boolean isSimpleRoot()
          Return true if this method compiled is a "simple" root compiler, i.e.
 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.RootScopedBodyCompiler
createVariableCompiler, endBody, getSignature, issueBreakEvent, issueNextEvent, issueRedoEvent, outline
 
Methods inherited from class org.jruby.compiler.impl.BaseBodyCompiler
aliasGlobal, appendToArray, appendToObjectArray, aprintln, argsCat, argsPush, 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, createNewLiteralArray, createNewLiteralHash, createNewRange, createNewRegexp, createNewRegexp, createNewString, createNewString, createNewSymbol, createNewSymbol, createObjectArray, createObjectArray, declareClassVariable, declareClassVariable, defineAlias, defineClass, definedCall, definedNot, defineModule, defineNewMethod, duplicateCurrentValue, ensureMultipleAssignableRubyArray, ensureRubyArray, forEachInValueArray, forEachInValueArray, getActualArgsCount, getClosureIndex, getCompiledClass, getDynamicScopeIndex, getExceptionIndex, getFirstTempIndex, getFrameKlazz, getFrameName, getInstanceVariable, getInvocationCompiler, getNativeMethodName, getNewEnding, getNewEnsureName, getNewRescueName, getPreviousExceptionIndex, getRubyName, 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, literal, literalSwitch, loadBlock, loadClass, loadCurrentModule, loadEncoding, loadException, loadFalse, loadFilename, loadNil, loadNull, loadObject, loadRuntime, loadSelf, loadStandardError, loadThis, loadThreadContext, loadTrue, match, match2, match2Capture, match3, metaclass, negateCurrentValue, notIsModuleAndClassVarDefined, nthRef, nullToNil, outDefined, performBackref, performBooleanBranch, performBooleanLoop, performBooleanLoopLight, performBooleanLoopSafe, performEnsure, performLogicalAnd, performLogicalOr, performRescue, performRescueLight, pollThreadEvents, preMultiAssign, println, protect, pushByteList, pushNull, pushString, raiseTypeError, rescue, rethrowException, rethrowIfSystemExit, retrieveClassVariable, retrieveConstant, retrieveConstantFromModule, retrieveConstantFromObject, retrieveGlobalVariable, retrieveInstanceVariable, retrieveSelf, retrieveSelfClass, reverseValues, runBeginBlock, selfIsKindOf, setEnding, setFilePosition, setLinePosition, shouldUseBoxedArgs, singlifySplattedValue, singlifySplattedValue19, splatCurrentValue, storeExceptionInErrorInfo, stringOrNil, superClass, swapValues, toJavaString, traceClass, traceEnd, traceLine, 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

ClassBodyCompiler

public ClassBodyCompiler(StandardASMCompiler scriptCompiler,
                         java.lang.String friendlyName,
                         java.lang.String rubyName,
                         ASTInspector inspector,
                         StaticScope scope)
Method Detail

beginMethod

public void beginMethod(CompilerCallback bodyPrep,
                        StaticScope scope)
Overrides:
beginMethod in class RootScopedBodyCompiler

performReturn

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

Specified by:
performReturn in interface BodyCompiler
Overrides:
performReturn in class RootScopedBodyCompiler

isSimpleRoot

public boolean isSimpleRoot()
Description copied from interface: BodyCompiler
Return true if this method compiled is a "simple" root compiler, i.e. not chained and not a block/closure.

Returns:


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