org.mozilla.javascript

Class FunctionNode


public class FunctionNode
extends ScriptOrFnNode

Nested Class Summary

Nested classes/interfaces inherited from class org.mozilla.javascript.Node

Node.Jump

Field Summary

static int
FUNCTION_EXPRESSION
static int
FUNCTION_EXPRESSION_STATEMENT
static int
FUNCTION_STATEMENT
There are three types of functions that can be defined.

Fields inherited from class org.mozilla.javascript.Node.Scope

symbolTable

Fields inherited from class org.mozilla.javascript.Node.Jump

target

Fields inherited from class org.mozilla.javascript.Node

ATTRIBUTE_FLAG, BOTH, CASEARRAY_PROP, CATCH_SCOPE_PROP, CONTROL_BLOCK_PROP, DECR_FLAG, DESCENDANTS_FLAG, DESTRUCTURING_ARRAY_LENGTH, DESTRUCTURING_NAMES, DIRECTCALL_PROP, FUNCTION_PROP, GENERATOR_END_PROP, INCRDECR_PROP, ISNUMBER_PROP, LABEL_ID_PROP, LAST_PROP, LEFT, LOCAL_BLOCK_PROP, LOCAL_PROP, MEMBER_TYPE_PROP, NAME_PROP, NON_SPECIALCALL, OBJECT_IDS_PROP, PARENTHESIZED_PROP, POST_FLAG, PROPERTY_FLAG, REGEXP_PROP, RIGHT, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, VARIABLE_PROP, lineno

Constructor Summary

FunctionNode(String name)

Method Summary

HashMap
> getLiveLocals()
void
addLiveLocals(Node node, int[] locals)
void
addResumptionPoint(Node target)
String
getFunctionName()
int
getFunctionType()
boolean
getIgnoreDynamicScope()
ArrayList
getResumptionPoints()
boolean
isGenerator()
boolean
requiresActivation()

Methods inherited from class org.mozilla.javascript.ScriptOrFnNode

addFunction, addRegexp, getBaseLineno, getCompilerData, getEncodedSourceEnd, getEncodedSourceStart, getEndLineno, getFunctionCount, getFunctionNode, getIndexForNameNode, getNextTempName, getParamAndVarConst, getParamAndVarCount, getParamAndVarNames, getParamCount, getParamOrVarName, getRegexpCount, getRegexpFlags, getRegexpString, getSourceName, setBaseLineno, setCompilerData, setEncodedSourceBounds, setEndLineno, setSourceName

Methods inherited from class org.mozilla.javascript.Node.Scope

getDefiningScope, getParentScope, getSymbol, getSymbolTable, joinScopes, putSymbol, setParent, splitScope

Methods inherited from class org.mozilla.javascript.Node.Jump

getContinue, getDefault, getFinally, getJumpStatement, getLoop, setContinue, setDefault, setFinally, setJumpStatement, setLoop

Methods inherited from class org.mozilla.javascript.Node

String toString, addChildAfter, addChildBefore, addChildToBack, addChildToFront, addChildrenToBack, addChildrenToFront, getChildBefore, getDouble, getExistingIntProp, getFirstChild, getIntProp, getLastChild, getLastSibling, getLineno, getNext, getProp, getScope, getString, getType, hasChildren, hasConsistentReturnUsage, hasSideEffects, labelId, labelId, newNumber, newString, newString, newTarget, putIntProp, putProp, removeChild, removeProp, replaceChild, replaceChildAfter, setDouble, setScope, setString, setType, toStringTree

Field Details

FUNCTION_EXPRESSION

public static final int FUNCTION_EXPRESSION
Field Value:
2

FUNCTION_EXPRESSION_STATEMENT

public static final int FUNCTION_EXPRESSION_STATEMENT
Field Value:
3

FUNCTION_STATEMENT

public static final int FUNCTION_STATEMENT
There are three types of functions that can be defined. The first is a function statement. This is a function appearing as a top-level statement (i.e., not nested inside some other statement) in either a script or a function. The second is a function expression, which is a function appearing in an expression except for the third type, which is... The third type is a function expression where the expression is the top-level expression in an expression statement. The three types of functions have different treatment and must be distinguished.
Field Value:
1

Constructor Details

FunctionNode

public FunctionNode(String name)

Method Details

> getLiveLocals

public HashMap getLiveLocals()

addLiveLocals

public void addLiveLocals(Node node,
                          int[] locals)

addResumptionPoint

public void addResumptionPoint(Node target)

getFunctionName

public String getFunctionName()

getFunctionType

public int getFunctionType()

getIgnoreDynamicScope

public boolean getIgnoreDynamicScope()

getResumptionPoints

public ArrayList getResumptionPoints()

isGenerator

public boolean isGenerator()

requiresActivation

public boolean requiresActivation()