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, transferInitializerData
public 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()
LexicalScope
insideInlineFunction
in class LexicalScope
protected Binding getThisBinding(IdentifierNode id)
LexicalScope
getThisBinding
in class LexicalScope
public InstructionList findProperty(Name name, IDefinition def, boolean useStrict)
LexicalScope
findProperty
in class LexicalScope
name
- Name of the property to finddef
- Definition of the property to finduseStrict
- Use OP_findpropstrictpublic InstructionList getPropertyValue(Name name, IDefinition def)
LexicalScope
getPropertyValue
in class LexicalScope
name
- Name of the property to finddef
- Definition of the property to findpublic Collection<ICompilerProblem> getProblems()
getProblems
in class LexicalScope
public Instruction setContainingClass()
public Label getInlinedFunctionCallSiteLabel()
Copyright © 2016 The Apache Software Foundation. All rights reserved.