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

#include <expression-scope.h>

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

Public Types

using ParserT = typename Types::Impl
 
using ScopeType = typename ExpressionScope<Types>::ScopeType
 
- Public Types inherited from v8::internal::ExpressionParsingScope< Types >
using ParserT = typename Types::Impl
 
using ExpressionT = typename Types::Expression
 
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

 ArrowHeadParsingScope (ParserT *parser, FunctionKind kind, int function_literal_id)
 
 ArrowHeadParsingScope (const ArrowHeadParsingScope &)=delete
 
ArrowHeadParsingScopeoperator= (const ArrowHeadParsingScope &)=delete
 
void ValidateExpression ()
 
DeclarationScopeValidateAndCreateScope ()
 
void RecordDeclarationError (const Scanner::Location &loc, MessageTemplate message)
 
void RecordNonSimpleParameter ()
 
void RecordThisUse ()
 
int function_literal_id () const
 
- Public Member Functions inherited from v8::internal::ExpressionParsingScope< Types >
 ExpressionParsingScope (ParserT *parser, ScopeType type=ExpressionScopeT::kExpression)
 
 ExpressionParsingScope (const ExpressionParsingScope &)=delete
 
ExpressionParsingScopeoperator= (const ExpressionParsingScope &)=delete
 
void RecordAsyncArrowParametersError (const Scanner::Location &loc, MessageTemplate message)
 
 ~ExpressionParsingScope ()
 
ExpressionT ValidateAndRewriteReference (ExpressionT expression, int beg_pos, int end_pos)
 
void RecordExpressionError (const Scanner::Location &loc, MessageTemplate message)
 
void RecordPatternError (const Scanner::Location &loc, MessageTemplate message)
 
void ValidateExpression ()
 
void ValidatePattern (ExpressionT expression, int begin, int end)
 
void ClearExpressionError ()
 
void ClearPatternError ()
 
void TrackVariable (VariableProxy *variable)
 
void MarkIdentifierAsAssigned ()
 
int SetInitializers (int first_variable_index, int position)
 
ScopedList< std::pair< VariableProxy *, int > > * variable_list ()
 
- 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 Member Functions

FunctionKind kind () const
 

Private Attributes

Scanner::Location declaration_error_location = Scanner::Location::invalid()
 
MessageTemplate declaration_error_message = MessageTemplate::kNone
 
int function_literal_id_
 
bool has_simple_parameter_list_ = true
 
bool uses_this_ = false
 

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::ExpressionParsingScope< Types >
bool is_verified () const
 
void ValidatePattern ()
 
- 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::ArrowHeadParsingScope< Types >

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

Member Typedef Documentation

◆ ParserT

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

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

◆ ScopeType

template<typename Types >
using v8::internal::ArrowHeadParsingScope< Types >::ScopeType = typename ExpressionScope<Types>::ScopeType

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

Constructor & Destructor Documentation

◆ ArrowHeadParsingScope() [1/2]

template<typename Types >
v8::internal::ArrowHeadParsingScope< Types >::ArrowHeadParsingScope ( ParserT * parser,
FunctionKind kind,
int function_literal_id )
inline

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

Here is the call graph for this function:

◆ ArrowHeadParsingScope() [2/2]

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

Member Function Documentation

◆ function_literal_id()

template<typename Types >
int v8::internal::ArrowHeadParsingScope< Types >::function_literal_id ( ) const
inline

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

◆ kind()

template<typename Types >
FunctionKind v8::internal::ArrowHeadParsingScope< Types >::kind ( ) const
inlineprivate

Definition at line 832 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 >
ArrowHeadParsingScope & v8::internal::ArrowHeadParsingScope< Types >::operator= ( const ArrowHeadParsingScope< Types > & )
delete

◆ RecordDeclarationError()

template<typename Types >
void v8::internal::ArrowHeadParsingScope< Types >::RecordDeclarationError ( const Scanner::Location & loc,
MessageTemplate message )
inline

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

Here is the call graph for this function:

◆ RecordNonSimpleParameter()

template<typename Types >
void v8::internal::ArrowHeadParsingScope< Types >::RecordNonSimpleParameter ( )
inline

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

◆ RecordThisUse()

template<typename Types >
void v8::internal::ArrowHeadParsingScope< Types >::RecordThisUse ( )
inline

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

◆ ValidateAndCreateScope()

template<typename Types >
DeclarationScope * v8::internal::ArrowHeadParsingScope< Types >::ValidateAndCreateScope ( )
inline

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

Here is the call graph for this function:

◆ ValidateExpression()

template<typename Types >
void v8::internal::ArrowHeadParsingScope< Types >::ValidateExpression ( )
inline

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

Here is the call graph for this function:

Member Data Documentation

◆ declaration_error_location

template<typename Types >
Scanner::Location v8::internal::ArrowHeadParsingScope< Types >::declaration_error_location = Scanner::Location::invalid()
private

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

◆ declaration_error_message

template<typename Types >
MessageTemplate v8::internal::ArrowHeadParsingScope< Types >::declaration_error_message = MessageTemplate::kNone
private

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

◆ function_literal_id_

template<typename Types >
int v8::internal::ArrowHeadParsingScope< Types >::function_literal_id_
private

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

◆ has_simple_parameter_list_

template<typename Types >
bool v8::internal::ArrowHeadParsingScope< Types >::has_simple_parameter_list_ = true
private

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

◆ uses_this_

template<typename Types >
bool v8::internal::ArrowHeadParsingScope< Types >::uses_this_ = false
private

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


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