| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #include "src/ast-expression-visitor.h" | 7 #include "src/ast-expression-visitor.h" |
| 8 | 8 |
| 9 #include "src/ast.h" | 9 #include "src/ast.h" |
| 10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 } | 104 } |
| 105 | 105 |
| 106 | 106 |
| 107 void AstExpressionVisitor::VisitSwitchStatement(SwitchStatement* stmt) { | 107 void AstExpressionVisitor::VisitSwitchStatement(SwitchStatement* stmt) { |
| 108 RECURSE(Visit(stmt->tag())); | 108 RECURSE(Visit(stmt->tag())); |
| 109 | 109 |
| 110 ZoneList<CaseClause*>* clauses = stmt->cases(); | 110 ZoneList<CaseClause*>* clauses = stmt->cases(); |
| 111 | 111 |
| 112 for (int i = 0; i < clauses->length(); ++i) { | 112 for (int i = 0; i < clauses->length(); ++i) { |
| 113 CaseClause* clause = clauses->at(i); | 113 CaseClause* clause = clauses->at(i); |
| 114 Expression* label = clause->label(); | 114 if (!clause->is_default()) { |
| 115 RECURSE(Visit(label)); | 115 Expression* label = clause->label(); |
| 116 RECURSE(Visit(label)); |
| 117 } |
| 116 ZoneList<Statement*>* stmts = clause->statements(); | 118 ZoneList<Statement*>* stmts = clause->statements(); |
| 117 RECURSE(VisitStatements(stmts)); | 119 RECURSE(VisitStatements(stmts)); |
| 118 } | 120 } |
| 119 } | 121 } |
| 120 | 122 |
| 121 | 123 |
| 122 void AstExpressionVisitor::VisitCaseClause(CaseClause* clause) { | 124 void AstExpressionVisitor::VisitCaseClause(CaseClause* clause) { |
| 123 UNREACHABLE(); | 125 UNREACHABLE(); |
| 124 } | 126 } |
| 125 | 127 |
| 126 | 128 |
| 127 void AstExpressionVisitor::VisitDoWhileStatement(DoWhileStatement* stmt) { | 129 void AstExpressionVisitor::VisitDoWhileStatement(DoWhileStatement* stmt) { |
| 128 RECURSE(Visit(stmt->body())); | 130 RECURSE(Visit(stmt->body())); |
| 129 RECURSE(Visit(stmt->cond())); | 131 RECURSE(Visit(stmt->cond())); |
| 130 } | 132 } |
| 131 | 133 |
| 132 | 134 |
| 133 void AstExpressionVisitor::VisitWhileStatement(WhileStatement* stmt) { | 135 void AstExpressionVisitor::VisitWhileStatement(WhileStatement* stmt) { |
| 134 RECURSE(Visit(stmt->cond())); | 136 RECURSE(Visit(stmt->cond())); |
| 135 RECURSE(Visit(stmt->body())); | 137 RECURSE(Visit(stmt->body())); |
| 136 } | 138 } |
| 137 | 139 |
| 138 | 140 |
| 139 void AstExpressionVisitor::VisitForStatement(ForStatement* stmt) { | 141 void AstExpressionVisitor::VisitForStatement(ForStatement* stmt) { |
| 140 RECURSE(Visit(stmt->init())); | 142 if (stmt->init() != NULL) { |
| 141 RECURSE(Visit(stmt->cond())); | 143 RECURSE(Visit(stmt->init())); |
| 142 RECURSE(Visit(stmt->next())); | 144 } |
| 145 if (stmt->cond() != NULL) { |
| 146 RECURSE(Visit(stmt->cond())); |
| 147 } |
| 148 if (stmt->next() != NULL) { |
| 149 RECURSE(Visit(stmt->next())); |
| 150 } |
| 143 RECURSE(Visit(stmt->body())); | 151 RECURSE(Visit(stmt->body())); |
| 144 } | 152 } |
| 145 | 153 |
| 146 | 154 |
| 147 void AstExpressionVisitor::VisitForInStatement(ForInStatement* stmt) { | 155 void AstExpressionVisitor::VisitForInStatement(ForInStatement* stmt) { |
| 148 RECURSE(Visit(stmt->enumerable())); | 156 RECURSE(Visit(stmt->enumerable())); |
| 149 RECURSE(Visit(stmt->body())); | 157 RECURSE(Visit(stmt->body())); |
| 150 } | 158 } |
| 151 | 159 |
| 152 | 160 |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 | 336 |
| 329 void AstExpressionVisitor::VisitSuperPropertyReference( | 337 void AstExpressionVisitor::VisitSuperPropertyReference( |
| 330 SuperPropertyReference* expr) {} | 338 SuperPropertyReference* expr) {} |
| 331 | 339 |
| 332 | 340 |
| 333 void AstExpressionVisitor::VisitSuperCallReference(SuperCallReference* expr) {} | 341 void AstExpressionVisitor::VisitSuperCallReference(SuperCallReference* expr) {} |
| 334 } | 342 } |
| 335 | 343 |
| 336 | 344 |
| 337 } // namespace v8::internal | 345 } // namespace v8::internal |
| OLD | NEW |