Lines Matching defs:stmt
53 void AstTyper::ObserveTypesAtOsrEntry(IterationStatement* stmt) {
54 if (stmt->OsrEntryId() != osr_ast_id_) return;
118 Statement* stmt = stmts->at(i);
119 RECURSE(Visit(stmt));
120 if (stmt->IsJump()) break;
125 void AstTyper::VisitBlock(Block* stmt) {
126 RECURSE(VisitStatements(stmt->statements()));
127 if (stmt->labels() != NULL) {
133 void AstTyper::VisitExpressionStatement(ExpressionStatement* stmt) {
134 RECURSE(Visit(stmt->expression()));
138 void AstTyper::VisitEmptyStatement(EmptyStatement* stmt) {
143 SloppyBlockFunctionStatement* stmt) {
144 Visit(stmt->statement());
148 void AstTyper::VisitIfStatement(IfStatement* stmt) {
150 if (!stmt->condition()->ToBooleanIsTrue() &&
151 !stmt->condition()->ToBooleanIsFalse()) {
152 stmt->condition()->RecordToBooleanTypeFeedback(oracle());
155 RECURSE(Visit(stmt->condition()));
157 RECURSE(Visit(stmt->then_statement()));
160 RECURSE(Visit(stmt->else_statement()));
167 void AstTyper::VisitContinueStatement(ContinueStatement* stmt) {
172 void AstTyper::VisitBreakStatement(BreakStatement* stmt) {
177 void AstTyper::VisitReturnStatement(ReturnStatement* stmt) {
180 stmt->expression()->RecordToBooleanTypeFeedback(oracle());
182 RECURSE(Visit(stmt->expression()));
187 void AstTyper::VisitWithStatement(WithStatement* stmt) {
188 RECURSE(stmt->expression());
189 RECURSE(stmt->statement());
193 void AstTyper::VisitSwitchStatement(SwitchStatement* stmt) {
194 RECURSE(Visit(stmt->tag()));
196 ZoneList<CaseClause*>* clauses = stmt->cases();
213 NarrowLowerType(stmt->tag(), tag_type);
244 void AstTyper::VisitDoWhileStatement(DoWhileStatement* stmt) {
246 if (!stmt->cond()->ToBooleanIsTrue()) {
247 stmt->cond()->RecordToBooleanTypeFeedback(oracle());
254 ObserveTypesAtOsrEntry(stmt);
255 RECURSE(Visit(stmt->body()));
256 RECURSE(Visit(stmt->cond()));
261 void AstTyper::VisitWhileStatement(WhileStatement* stmt) {
263 if (!stmt->cond()->ToBooleanIsTrue()) {
264 stmt->cond()->RecordToBooleanTypeFeedback(oracle());
268 RECURSE(Visit(stmt->cond()));
269 ObserveTypesAtOsrEntry(stmt);
270 RECURSE(Visit(stmt->body()));
275 void AstTyper::VisitForStatement(ForStatement* stmt) {
276 if (stmt->init() != NULL) {
277 RECURSE(Visit(stmt->init()));
280 if (stmt->cond() != NULL) {
282 stmt->cond()->RecordToBooleanTypeFeedback(oracle());
284 RECURSE(Visit(stmt->cond()));
286 ObserveTypesAtOsrEntry(stmt);
287 RECURSE(Visit(stmt->body()));
288 if (stmt->next() != NULL) {
290 RECURSE(Visit(stmt->next()));
296 void AstTyper::VisitForInStatement(ForInStatement* stmt) {
298 stmt->set_for_in_type(static_cast<ForInStatement::ForInType>(
299 oracle()->ForInType(stmt->ForInFeedbackSlot())));
301 RECURSE(Visit(stmt->enumerable()));
303 ObserveTypesAtOsrEntry(stmt);
304 RECURSE(Visit(stmt->body()));
308 void AstTyper::VisitForOfStatement(ForOfStatement* stmt) {}
310 void AstTyper::VisitTryCatchStatement(TryCatchStatement* stmt) {
312 RECURSE(Visit(stmt->try_block()));
316 RECURSE(Visit(stmt->catch_block()));
325 void AstTyper::VisitTryFinallyStatement(TryFinallyStatement* stmt) {
326 RECURSE(Visit(stmt->try_block()));
328 RECURSE(Visit(stmt->finally_block()));
332 void AstTyper::VisitDebuggerStatement(DebuggerStatement* stmt) {