v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::VariableDeclarationParsingScope< Types > Class Template Reference

#include <expression-scope.h>

Inheritance diagram for v8::internal::VariableDeclarationParsingScope< Types >:
Collaboration diagram for v8::internal::VariableDeclarationParsingScope< Types >:

Public Types

using ParserT = typename Types::Impl
 
using ExpressionScopeT = ExpressionScope<Types>
 
using ScopeType = typename ExpressionScopeT::ScopeType
 
- Public Types inherited from v8::internal::ExpressionScope< Types >
using ParserT = typename Types::Impl
 
using ExpressionT = typename Types::Expression
 

Public Member Functions

 VariableDeclarationParsingScope (ParserT *parser, VariableMode mode, ZonePtrList< const AstRawString > *names)
 
 VariableDeclarationParsingScope (const VariableDeclarationParsingScope &)=delete
 
VariableDeclarationParsingScopeoperator= (const VariableDeclarationParsingScope &)=delete
 
VariableDeclare (const AstRawString *name, int pos)
 
- Public Member Functions inherited from v8::internal::ExpressionScope< Types >
 ExpressionScope (const ExpressionScope &)=delete
 
ExpressionScopeoperator= (const ExpressionScope &)=delete
 
VariableProxyNewVariable (const AstRawString *name, int pos=kNoSourcePosition)
 
void MergeVariableList (ScopedList< std::pair< VariableProxy *, int > > *variable_list)
 
VariableDeclare (const AstRawString *name, int pos=kNoSourcePosition)
 
void MarkIdentifierAsAssigned ()
 
void ValidateAsPattern (ExpressionT expression, int begin, int end)
 
void ValidateAsExpression ()
 
void RecordAsyncArrowParametersError (const Scanner::Location &loc, MessageTemplate message)
 
void RecordParameterInitializerError (const Scanner::Location &loc, MessageTemplate message)
 
void RecordThisUse ()
 
void RecordPatternError (const Scanner::Location &loc, MessageTemplate message)
 
void RecordStrictModeParameterError (const Scanner::Location &loc, MessageTemplate message)
 
void RecordDeclarationError (const Scanner::Location &loc, MessageTemplate message)
 
void RecordExpressionError (const Scanner::Location &loc, MessageTemplate message)
 
void RecordNonSimpleParameter ()
 
bool IsCertainlyDeclaration () const
 
int SetInitializers (int variable_index, int peek_position)
 
bool has_possible_arrow_parameter_in_scope_chain () const
 

Private Attributes

VariableMode mode_
 
ZonePtrList< const AstRawString > * names_
 

Static Private Attributes

static const int kMaxNumFunctionLocals = (1 << 23) - 1
 

Additional Inherited Members

- Protected Types inherited from v8::internal::ExpressionScope< Types >
enum  ScopeType : uint8_t {
  kExpression , kMaybeArrowParameterDeclaration , kMaybeAsyncArrowParameterDeclaration , kParameterDeclaration ,
  kVarDeclaration , kLexicalDeclaration
}
 
- Protected Member Functions inherited from v8::internal::ExpressionScope< Types >
ParserTparser () const
 
ExpressionScopeparent () const
 
void Report (const Scanner::Location &loc, MessageTemplate message) const
 
 ExpressionScope (ParserT *parser, ScopeType type)
 
 ~ExpressionScope ()
 
ExpressionParsingScope< Types > * AsExpressionParsingScope ()
 
bool CanBeExpression () const
 
bool CanBeDeclaration () const
 
bool IsVariableDeclaration () const
 
bool IsLexicalDeclaration () const
 
bool IsAsyncArrowHeadParsingScope () const
 
bool IsVarDeclaration () const
 

Detailed Description

template<typename Types>
class v8::internal::VariableDeclarationParsingScope< Types >

Definition at line 352 of file expression-scope.h.

Member Typedef Documentation

◆ ExpressionScopeT

template<typename Types >
using v8::internal::VariableDeclarationParsingScope< Types >::ExpressionScopeT = ExpressionScope<Types>

Definition at line 355 of file expression-scope.h.

◆ ParserT

template<typename Types >
using v8::internal::VariableDeclarationParsingScope< Types >::ParserT = typename Types::Impl

Definition at line 354 of file expression-scope.h.

◆ ScopeType

template<typename Types >
using v8::internal::VariableDeclarationParsingScope< Types >::ScopeType = typename ExpressionScopeT::ScopeType

Definition at line 356 of file expression-scope.h.

Constructor & Destructor Documentation

◆ VariableDeclarationParsingScope() [1/2]

template<typename Types >
v8::internal::VariableDeclarationParsingScope< Types >::VariableDeclarationParsingScope ( ParserT * parser,
VariableMode mode,
ZonePtrList< const AstRawString > * names )
inline

Definition at line 358 of file expression-scope.h.

◆ VariableDeclarationParsingScope() [2/2]

template<typename Types >
v8::internal::VariableDeclarationParsingScope< Types >::VariableDeclarationParsingScope ( const VariableDeclarationParsingScope< Types > & )
delete

Member Function Documentation

◆ Declare()

template<typename Types >
Variable * v8::internal::VariableDeclarationParsingScope< Types >::Declare ( const AstRawString * name,
int pos )
inline

Definition at line 371 of file expression-scope.h.

Here is the call graph for this function:

◆ operator=()

template<typename Types >
VariableDeclarationParsingScope & v8::internal::VariableDeclarationParsingScope< Types >::operator= ( const VariableDeclarationParsingScope< Types > & )
delete

Member Data Documentation

◆ kMaxNumFunctionLocals

template<typename Types >
const int v8::internal::VariableDeclarationParsingScope< Types >::kMaxNumFunctionLocals = (1 << 23) - 1
staticprivate

Definition at line 418 of file expression-scope.h.

◆ mode_

template<typename Types >
VariableMode v8::internal::VariableDeclarationParsingScope< Types >::mode_
private

Definition at line 420 of file expression-scope.h.

◆ names_

template<typename Types >
ZonePtrList<const AstRawString>* v8::internal::VariableDeclarationParsingScope< Types >::names_
private

Definition at line 421 of file expression-scope.h.


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