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

#include <expression-scope.h>

Inheritance diagram for v8::internal::ParameterDeclarationParsingScope< Types >:
Collaboration diagram for v8::internal::ParameterDeclarationParsingScope< 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

 ParameterDeclarationParsingScope (ParserT *parser)
 
 ParameterDeclarationParsingScope (const ParameterDeclarationParsingScope &)=delete
 
ParameterDeclarationParsingScopeoperator= (const ParameterDeclarationParsingScope &)=delete
 
VariableDeclare (const AstRawString *name, int pos)
 
bool has_duplicate () const
 
const Scanner::Locationduplicate_location () const
 
- 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

Scanner::Location duplicate_loc_ = Scanner::Location::invalid()
 

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::ParameterDeclarationParsingScope< Types >

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

Member Typedef Documentation

◆ ExpressionScopeT

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

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

◆ ParserT

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

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

◆ ScopeType

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

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

Constructor & Destructor Documentation

◆ ParameterDeclarationParsingScope() [1/2]

template<typename Types >
v8::internal::ParameterDeclarationParsingScope< Types >::ParameterDeclarationParsingScope ( ParserT * parser)
inlineexplicit

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

◆ ParameterDeclarationParsingScope() [2/2]

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

Member Function Documentation

◆ Declare()

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

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

Here is the call graph for this function:

◆ duplicate_location()

template<typename Types >
const Scanner::Location & v8::internal::ParameterDeclarationParsingScope< Types >::duplicate_location ( ) const
inline

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

Here is the caller graph for this function:

◆ has_duplicate()

template<typename Types >
bool v8::internal::ParameterDeclarationParsingScope< Types >::has_duplicate ( ) const
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

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

Member Data Documentation

◆ duplicate_loc_

template<typename Types >
Scanner::Location v8::internal::ParameterDeclarationParsingScope< Types >::duplicate_loc_ = Scanner::Location::invalid()
private

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


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