public class InlineFunctionLexicalScope extends LexicalScope
LexicalScope.NestingState, LexicalScope.TempManager, LexicalScope.VariableMutability| Modifier and Type | Field and Description |
|---|---|
static int |
MAX_EXPR_IN_BODY
The maximum number of exressions that can be contained
in a function body to inline.
|
anyType, DEBUG_LINE_UNKNOWN, methodBodySemanticChecker, noInitializer| Modifier | Constructor and Description |
|---|---|
protected |
InlineFunctionLexicalScope(LexicalScope enclosingFrame,
IASScope containingScope,
boolean storeClassBinding,
FunctionNode functionNode) |
| Modifier and Type | Method and Description |
|---|---|
void |
assignActualsToFormals(FunctionDefinition functionDef,
InstructionList result) |
InstructionList |
findProperty(Name name,
IDefinition def,
boolean useStrict)
Get the property for the specified name.
|
Label |
getInlinedFunctionCallSiteLabel()
Returns the label to jump back to when returning
out of an inlined function
|
Collection<ICompilerProblem> |
getProblems() |
InstructionList |
getPropertyValue(Name name,
IDefinition def)
Get the property value for the specified name.
|
protected Binding |
getThisBinding(IdentifierNode id)
Fetch the Binding that represents "this."
|
boolean |
insideInlineFunction()
Test whether we are currently inside the scope of a function being inlined.
|
void |
mergeIntoContainingScope(InstructionList result) |
Instruction |
setContainingClass() |
addDefaultValue, addHasNexts, addInlinedBindings, addProblem, addProblems, allocateTemp, allocateTemp, declareVariableName, emitFile, emitLine, findProperty, finishClassStaticInitializer, generateBindableGetter, generateBindableSetter, getBinding, getBinding, getDebugFile, getEnclosingFrame, getFlowManager, getGenerator, getGlobalScope, getHasNexts, getInInvisibleCompilationUnit, getInitInstructions, getLocalASScope, getLocalBindings, getMethodBodySemanticChecker, getMethodInfo, getNestingState, getParamTypes, getProject, getPropertyValue, initializeTempRegisters, isGlobalScope, isLocalDefinition, makeBindableVariable, makeNamespace, makeParameter, makeVariable, makeVariable, makeVariable, makeVariable, mergeTemps, needsActivation, needsArguments, needsHoistedInitInsns, needsThis, popFrame, processMetadata, pushFrame, pushInlineFunctionFrame, releaseTemp, resetDebugInfo, resetMethodInfo, resolveName, setDebugFile, setDebugLine, setLocalASScope, setMethodInfo, setNeedsActivation, setNeedsArguments, setNeedsRest, setSetsDxns, transferInitializerDatapublic static final int MAX_EXPR_IN_BODY
protected InlineFunctionLexicalScope(LexicalScope enclosingFrame, IASScope containingScope, boolean storeClassBinding, FunctionNode functionNode)
public void assignActualsToFormals(FunctionDefinition functionDef, InstructionList result)
public void mergeIntoContainingScope(InstructionList result)
public boolean insideInlineFunction()
LexicalScopeinsideInlineFunction in class LexicalScopeprotected Binding getThisBinding(IdentifierNode id)
LexicalScopegetThisBinding in class LexicalScopepublic InstructionList findProperty(Name name, IDefinition def, boolean useStrict)
LexicalScopefindProperty in class LexicalScopename - Name of the property to finddef - Definition of the property to finduseStrict - Use OP_findpropstrictpublic InstructionList getPropertyValue(Name name, IDefinition def)
LexicalScopegetPropertyValue in class LexicalScopename - Name of the property to finddef - Definition of the property to findpublic Collection<ICompilerProblem> getProblems()
getProblems in class LexicalScopepublic Instruction setContainingClass()
public Label getInlinedFunctionCallSiteLabel()
Copyright © 2016 The Apache Software Foundation. All rights reserved.