16      source_range_map_(source_range_map) {}
 
 
   19  AstTraversalVisitor::VisitBlock(stmt);
 
   22  if (enclosingSourceRanges != 
nullptr) {
 
 
   29  AstTraversalVisitor::VisitSwitchStatement(stmt);
 
 
   37  AstTraversalVisitor::VisitFunctionLiteral(expr);
 
 
   43  AstTraversalVisitor::VisitTryCatchStatement(stmt);
 
 
   50  AstTraversalVisitor::VisitTryFinallyStatement(stmt);
 
 
   57  if (range == 
nullptr) 
return true;
 
   66    range->RemoveContinuationRange();
 
 
   78  if (last_statement->IsExpressionStatement() &&
 
   79      last_statement->AsExpressionStatement()->expression()->IsThrow()) {
 
   83        last_statement->AsExpressionStatement()->expression());
 
   88  if (last_range == 
nullptr) 
return;
 
 
  103  for (
int i = statements->
length() - 1; 
i >= 0; --
i) {
 
  105    if (stmt->IsReturnStatement() &&
 
  106        stmt->AsReturnStatement()->is_synthetic_async_return()) {
 
  124    if (last_non_synthetic) {
 
 
virtual bool HasRange(SourceRangeKind kind)=0
virtual void RemoveContinuationRange()
ZonePtrList< Statement > * statements()
ZonePtrList< Statement > * body()
void VisitTryFinallyStatement(TryFinallyStatement *stmt)
std::unordered_set< int > continuation_positions_
void VisitSwitchStatement(SwitchStatement *stmt)
void MaybeRemoveLastContinuationRange(ZonePtrList< Statement > *stmts)
bool VisitNode(AstNode *node)
void VisitBlock(Block *stmt)
void VisitFunctionLiteral(FunctionLiteral *expr)
void VisitTryCatchStatement(TryCatchStatement *stmt)
SourceRangeMap * source_range_map_
SourceRangeAstVisitor(uintptr_t stack_limit, Expression *root, SourceRangeMap *source_range_map)
void MaybeRemoveContinuationRangeOfAsyncReturn(TryCatchStatement *stmt)
void MaybeRemoveContinuationRange(Statement *last_statement)
AstNodeSourceRanges * Find(ZoneObject *node)
ZonePtrList< CaseClause > * cases()
bool is_try_catch_for_async()
Block * try_block() const
V8_INLINE int length() const
V8_INLINE bool is_empty() const
MovableLabel continuation