webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | Protected Attributes | List of all members
JSC::ScopeNode Class Reference

#include <Nodes.h>

Inheritance diagram for JSC::ScopeNode:
JSC::StatementNode JSC::ParserArenaRoot JSC::VariableEnvironmentNode JSC::Node JSC::ParserArenaDeletable JSC::ParserArenaFreeable JSC::EvalNode JSC::FunctionNode JSC::ModuleProgramNode JSC::ProgramNode

Public Member Functions

 ScopeNode (ParserArena &, const JSTokenLocation &start, const JSTokenLocation &end, bool inStrictContext)
 
 ScopeNode (ParserArena &, const JSTokenLocation &start, const JSTokenLocation &end, const SourceCode &, SourceElements *, VariableEnvironment &, FunctionStack &&, VariableEnvironment &, UniquedStringImplPtrSet &&, CodeFeatures, InnerArrowFunctionCodeFeatures, int numConstants)
 
const SourceCodesource () const
 
const StringsourceURL () const
 
intptr_t sourceID () const
 
int startLine () const
 
int startStartOffset () const
 
int startLineStartOffset () const
 
void setFeatures (CodeFeatures features)
 
CodeFeatures features ()
 
InnerArrowFunctionCodeFeatures innerArrowFunctionCodeFeatures ()
 
bool doAnyInnerArrowFunctionsUseAnyFeature ()
 
bool doAnyInnerArrowFunctionsUseArguments ()
 
bool doAnyInnerArrowFunctionsUseSuperCall ()
 
bool doAnyInnerArrowFunctionsUseSuperProperty ()
 
bool doAnyInnerArrowFunctionsUseEval ()
 
bool doAnyInnerArrowFunctionsUseThis ()
 
bool doAnyInnerArrowFunctionsUseNewTarget ()
 
bool usesEval () const
 
bool usesArguments () const
 
bool usesArrowFunction () const
 
bool isStrictMode () const
 
void setUsesArguments ()
 
bool usesThis () const
 
bool usesSuperCall () const
 
bool usesSuperProperty () const
 
bool usesNewTarget () const
 
bool needsActivation () const
 
bool hasCapturedVariables () const
 
bool captures (UniquedStringImpl *uid)
 
bool captures (const Identifier &ident)
 
bool hasSloppyModeHoistedFunction (UniquedStringImpl *uid) const
 
VariableEnvironmentvarDeclarations ()
 
int neededConstants ()
 
StatementNodesingleStatement () const
 
void emitStatementsBytecode (BytecodeGenerator &, RegisterID *destination)
 
void analyzeModule (ModuleAnalyzer &)
 
- Public Member Functions inherited from JSC::StatementNode
virtual void emitBytecode (BytecodeGenerator &, RegisterID *destination=0)=0
 
void setLoc (unsigned firstLine, unsigned lastLine, int startOffset, int lineStartOffset)
 
unsigned lastLine () const
 
StatementNodenext ()
 
void setNext (StatementNode *next)
 
virtual bool isEmptyStatement () const
 
virtual bool isDebuggerStatement () const
 
virtual bool isFunctionNode () const
 
virtual bool isReturnNode () const
 
virtual bool isExprStatement () const
 
virtual bool isBreak () const
 
virtual bool isContinue () const
 
virtual bool isLabel () const
 
virtual bool isBlock () const
 
virtual bool isFuncDeclNode () const
 
virtual bool isModuleDeclarationNode () const
 
virtual bool isForOfNode () const
 
- Public Member Functions inherited from JSC::Node
virtual ~Node ()
 
int firstLine () const
 
int startOffset () const
 
int endOffset () const
 
int lineStartOffset () const
 
const JSTextPositionposition () const
 
void setEndOffset (int offset)
 
void setStartOffset (int offset)
 
bool needsDebugHook () const
 
void setNeedsDebugHook ()
 
- Public Member Functions inherited from JSC::ParserArenaFreeable
voidoperator new (size_t, ParserArena &)
 
- Public Member Functions inherited from JSC::ParserArenaRoot
ParserArenaparserArena ()
 
virtual ~ParserArenaRoot ()
 
- Public Member Functions inherited from JSC::VariableEnvironmentNode
 VariableEnvironmentNode ()
 
 VariableEnvironmentNode (VariableEnvironment &lexicalDeclaredVariables)
 
 VariableEnvironmentNode (VariableEnvironment &lexicalDeclaredVariables, FunctionStack &&)
 
VariableEnvironmentlexicalVariables ()
 
FunctionStackfunctionStack ()
 
- Public Member Functions inherited from JSC::ParserArenaDeletable
virtual ~ParserArenaDeletable ()
 
voidoperator new (size_t, ParserArena &)
 

Protected Attributes

int m_startLineNumber
 
unsigned m_startStartOffset
 
unsigned m_startLineStartOffset
 
- Protected Attributes inherited from JSC::StatementNode
StatementNodem_next
 
int m_lastLine
 
- Protected Attributes inherited from JSC::Node
JSTextPosition m_position
 
int m_endOffset
 
bool m_needsDebugHook { false }
 
- Protected Attributes inherited from JSC::ParserArenaRoot
ParserArena m_arena
 
- Protected Attributes inherited from JSC::VariableEnvironmentNode
VariableEnvironment m_lexicalVariables
 
FunctionStack m_functionStack
 

Additional Inherited Members

- Public Types inherited from JSC::VariableEnvironmentNode
typedef DeclarationStacks::FunctionStack FunctionStack
 
- Protected Member Functions inherited from JSC::StatementNode
 StatementNode (const JSTokenLocation &)
 
- Protected Member Functions inherited from JSC::Node
 Node (const JSTokenLocation &)
 
- Protected Member Functions inherited from JSC::ParserArenaRoot
 ParserArenaRoot (ParserArena &)
 

Constructor & Destructor Documentation

◆ ScopeNode() [1/2]

JSC::ScopeNode::ScopeNode ( ParserArena parserArena,
const JSTokenLocation start,
const JSTokenLocation end,
bool  inStrictContext 
)

◆ ScopeNode() [2/2]

JSC::ScopeNode::ScopeNode ( ParserArena ,
const JSTokenLocation start,
const JSTokenLocation end,
const SourceCode ,
SourceElements ,
VariableEnvironment ,
FunctionStack &&  ,
VariableEnvironment ,
UniquedStringImplPtrSet &&  ,
CodeFeatures  ,
InnerArrowFunctionCodeFeatures  ,
int  numConstants 
)

Member Function Documentation

◆ analyzeModule()

void JSC::ScopeNode::analyzeModule ( ModuleAnalyzer analyzer)

◆ captures() [1/2]

bool JSC::ScopeNode::captures ( UniquedStringImpl *  uid)
inline

◆ captures() [2/2]

bool JSC::ScopeNode::captures ( const Identifier ident)
inline

◆ doAnyInnerArrowFunctionsUseAnyFeature()

bool JSC::ScopeNode::doAnyInnerArrowFunctionsUseAnyFeature ( )
inline

◆ doAnyInnerArrowFunctionsUseArguments()

bool JSC::ScopeNode::doAnyInnerArrowFunctionsUseArguments ( )
inline

◆ doAnyInnerArrowFunctionsUseEval()

bool JSC::ScopeNode::doAnyInnerArrowFunctionsUseEval ( )
inline

◆ doAnyInnerArrowFunctionsUseNewTarget()

bool JSC::ScopeNode::doAnyInnerArrowFunctionsUseNewTarget ( )
inline

◆ doAnyInnerArrowFunctionsUseSuperCall()

bool JSC::ScopeNode::doAnyInnerArrowFunctionsUseSuperCall ( )
inline

◆ doAnyInnerArrowFunctionsUseSuperProperty()

bool JSC::ScopeNode::doAnyInnerArrowFunctionsUseSuperProperty ( )
inline

◆ doAnyInnerArrowFunctionsUseThis()

bool JSC::ScopeNode::doAnyInnerArrowFunctionsUseThis ( )
inline

◆ emitStatementsBytecode()

void JSC::ScopeNode::emitStatementsBytecode ( BytecodeGenerator generator,
RegisterID destination 
)
inline

◆ features()

CodeFeatures JSC::ScopeNode::features ( )
inline

◆ hasCapturedVariables()

bool JSC::ScopeNode::hasCapturedVariables ( ) const
inline

◆ hasSloppyModeHoistedFunction()

bool JSC::ScopeNode::hasSloppyModeHoistedFunction ( UniquedStringImpl *  uid) const
inline

◆ innerArrowFunctionCodeFeatures()

InnerArrowFunctionCodeFeatures JSC::ScopeNode::innerArrowFunctionCodeFeatures ( )
inline

◆ isStrictMode()

bool JSC::ScopeNode::isStrictMode ( ) const
inline

◆ neededConstants()

int JSC::ScopeNode::neededConstants ( )
inline

◆ needsActivation()

bool JSC::ScopeNode::needsActivation ( ) const
inline

◆ setFeatures()

void JSC::ScopeNode::setFeatures ( CodeFeatures  features)
inline

◆ setUsesArguments()

void JSC::ScopeNode::setUsesArguments ( )
inline

◆ singleStatement()

StatementNode * JSC::ScopeNode::singleStatement ( ) const

◆ source()

const SourceCode& JSC::ScopeNode::source ( ) const
inline

◆ sourceID()

intptr_t JSC::ScopeNode::sourceID ( ) const
inline

◆ sourceURL()

const String& JSC::ScopeNode::sourceURL ( ) const
inline

◆ startLine()

int JSC::ScopeNode::startLine ( ) const
inline

◆ startLineStartOffset()

int JSC::ScopeNode::startLineStartOffset ( ) const
inline

◆ startStartOffset()

int JSC::ScopeNode::startStartOffset ( ) const
inline

◆ usesArguments()

bool JSC::ScopeNode::usesArguments ( ) const
inline

◆ usesArrowFunction()

bool JSC::ScopeNode::usesArrowFunction ( ) const
inline

◆ usesEval()

bool JSC::ScopeNode::usesEval ( ) const
inline

◆ usesNewTarget()

bool JSC::ScopeNode::usesNewTarget ( ) const
inline

◆ usesSuperCall()

bool JSC::ScopeNode::usesSuperCall ( ) const
inline

◆ usesSuperProperty()

bool JSC::ScopeNode::usesSuperProperty ( ) const
inline

◆ usesThis()

bool JSC::ScopeNode::usesThis ( ) const
inline

◆ varDeclarations()

VariableEnvironment& JSC::ScopeNode::varDeclarations ( )
inline

Member Data Documentation

◆ m_startLineNumber

int JSC::ScopeNode::m_startLineNumber
protected

◆ m_startLineStartOffset

unsigned JSC::ScopeNode::m_startLineStartOffset
protected

◆ m_startStartOffset

unsigned JSC::ScopeNode::m_startStartOffset
protected

The documentation for this class was generated from the following files: