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

#include <expression-scope.h>

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

Public 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

 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
 

Protected Member Functions

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
 

Private Types

enum  ErrorNumber : uint8_t { kExpressionIndex = 0 , kPatternIndex = 1 , kNumberOfErrors = 2 }
 

Private Member Functions

void clear (int index)
 
bool is_valid (int index) const
 
void Record (int index, const Scanner::Location &loc, MessageTemplate message)
 
void Validate (int index)
 
void Report (int index) const
 
void mark_verified ()
 
void clear_verified ()
 

Private Attributes

ScopedList< std::pair< VariableProxy *, int > > variable_list_
 
MessageTemplate messages_ [kNumberOfErrors]
 
Scanner::Location locations_ [kNumberOfErrors]
 
bool has_async_arrow_in_scope_chain_
 

Friends

class AccumulationScope< Types >
 

Additional Inherited Members

- Protected Types inherited from v8::internal::ExpressionScope< Types >
enum  ScopeType : uint8_t {
  kExpression , kMaybeArrowParameterDeclaration , kMaybeAsyncArrowParameterDeclaration , kParameterDeclaration ,
  kVarDeclaration , kLexicalDeclaration
}
 

Detailed Description

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

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

Member Typedef Documentation

◆ ExpressionScopeT

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

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

◆ ExpressionT

template<typename Types >
using v8::internal::ExpressionParsingScope< Types >::ExpressionT = typename Types::Expression

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

◆ ParserT

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

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

◆ ScopeType

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

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

Member Enumeration Documentation

◆ ErrorNumber

template<typename Types >
enum v8::internal::ExpressionParsingScope::ErrorNumber : uint8_t
private
Enumerator
kExpressionIndex 
kPatternIndex 
kNumberOfErrors 

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

Constructor & Destructor Documentation

◆ ExpressionParsingScope() [1/2]

template<typename Types >
v8::internal::ExpressionParsingScope< Types >::ExpressionParsingScope ( ParserT * parser,
ScopeType type = ExpressionScopeT::kExpression )
inlineexplicit

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

Here is the call graph for this function:

◆ ExpressionParsingScope() [2/2]

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

◆ ~ExpressionParsingScope()

template<typename Types >
v8::internal::ExpressionParsingScope< Types >::~ExpressionParsingScope ( )
inline

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

Member Function Documentation

◆ clear()

template<typename Types >
void v8::internal::ExpressionParsingScope< Types >::clear ( int index)
inlineprivate

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

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

◆ clear_verified()

template<typename Types >
void v8::internal::ExpressionParsingScope< Types >::clear_verified ( )
inlineprivate

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

◆ ClearExpressionError()

template<typename Types >
void v8::internal::ExpressionParsingScope< Types >::ClearExpressionError ( )
inline

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

Here is the call graph for this function:

◆ ClearPatternError()

template<typename Types >
void v8::internal::ExpressionParsingScope< Types >::ClearPatternError ( )
inline

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

Here is the call graph for this function:

◆ is_valid()

template<typename Types >
bool v8::internal::ExpressionParsingScope< Types >::is_valid ( int index) const
inlineprivate

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

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

◆ is_verified()

template<typename Types >
bool v8::internal::ExpressionParsingScope< Types >::is_verified ( ) const
inlineprotected

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

Here is the caller graph for this function:

◆ mark_verified()

template<typename Types >
void v8::internal::ExpressionParsingScope< Types >::mark_verified ( )
inlineprivate

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

Here is the caller graph for this function:

◆ MarkIdentifierAsAssigned()

template<typename Types >
void v8::internal::ExpressionParsingScope< Types >::MarkIdentifierAsAssigned ( )
inline

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

Here is the caller graph for this function:

◆ operator=()

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

◆ Record()

template<typename Types >
void v8::internal::ExpressionParsingScope< Types >::Record ( int index,
const Scanner::Location & loc,
MessageTemplate message )
inlineprivate

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

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

◆ RecordAsyncArrowParametersError()

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

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

Here is the call graph for this function:

◆ RecordExpressionError()

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

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

Here is the call graph for this function:

◆ RecordPatternError()

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

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

Here is the call graph for this function:

◆ Report()

template<typename Types >
void v8::internal::ExpressionParsingScope< Types >::Report ( int index) const
inlineprivate

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

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

◆ SetInitializers()

template<typename Types >
int v8::internal::ExpressionParsingScope< Types >::SetInitializers ( int first_variable_index,
int position )
inline

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

◆ TrackVariable()

template<typename Types >
void v8::internal::ExpressionParsingScope< Types >::TrackVariable ( VariableProxy * variable)
inline

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

Here is the call graph for this function:

◆ Validate()

template<typename Types >
void v8::internal::ExpressionParsingScope< Types >::Validate ( int index)
inlineprivate

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

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

◆ ValidateAndRewriteReference()

template<typename Types >
ExpressionT v8::internal::ExpressionParsingScope< Types >::ValidateAndRewriteReference ( ExpressionT expression,
int beg_pos,
int end_pos )
inline

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

Here is the call graph for this function:

◆ ValidateExpression()

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

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

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

◆ ValidatePattern() [1/2]

template<typename Types >
void v8::internal::ExpressionParsingScope< Types >::ValidatePattern ( )
inlineprotected

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

Here is the caller graph for this function:

◆ ValidatePattern() [2/2]

template<typename Types >
void v8::internal::ExpressionParsingScope< Types >::ValidatePattern ( ExpressionT expression,
int begin,
int end )
inline

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

Here is the call graph for this function:

◆ variable_list()

template<typename Types >
ScopedList< std::pair< VariableProxy *, int > > * v8::internal::ExpressionParsingScope< Types >::variable_list ( )
inline

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

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ AccumulationScope< Types >

template<typename Types >
friend class AccumulationScope< Types >
friend

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

Member Data Documentation

◆ has_async_arrow_in_scope_chain_

template<typename Types >
bool v8::internal::ExpressionParsingScope< Types >::has_async_arrow_in_scope_chain_
private

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

◆ locations_

template<typename Types >
Scanner::Location v8::internal::ExpressionParsingScope< Types >::locations_[kNumberOfErrors]
private

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

◆ messages_

template<typename Types >
MessageTemplate v8::internal::ExpressionParsingScope< Types >::messages_[kNumberOfErrors]
private

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

◆ variable_list_

template<typename Types >
ScopedList<std::pair<VariableProxy*, int> > v8::internal::ExpressionParsingScope< Types >::variable_list_
private

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


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