Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Side by Side Diff: pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart

Issue 1433443002: Remove for-in selectors from TreeElements. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Remove unneeded code. Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | pkg/compiler/lib/src/resolution/members.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library simple_types_inferrer; 5 library simple_types_inferrer;
6 6
7 import '../closure.dart' show 7 import '../closure.dart' show
8 ClosureClassMap, 8 ClosureClassMap,
9 ClosureScope; 9 ClosureScope;
10 import '../common.dart'; 10 import '../common.dart';
(...skipping 2265 matching lines...) Expand 10 before | Expand all | Expand 10 after
2276 receiverType, currentType, 2276 receiverType, currentType,
2277 node.expression); 2277 node.expression);
2278 return handleLoop(node, () { 2278 return handleLoop(node, () {
2279 visit(node.body); 2279 visit(node.body);
2280 }); 2280 });
2281 } 2281 }
2282 2282
2283 T visitAsyncForIn(ast.AsyncForIn node) { 2283 T visitAsyncForIn(ast.AsyncForIn node) {
2284 T expressionType = visit(node.expression); 2284 T expressionType = visit(node.expression);
2285 2285
2286 Selector currentSelector = elements.getCurrentSelector(node); 2286 Selector currentSelector = Selectors.current;
2287 TypeMask currentMask = elements.getCurrentTypeMask(node); 2287 TypeMask currentMask = elements.getCurrentTypeMask(node);
2288 Selector moveNextSelector = elements.getMoveNextSelector(node); 2288 Selector moveNextSelector = Selectors.moveNext;
2289 TypeMask moveNextMask = elements.getMoveNextTypeMask(node); 2289 TypeMask moveNextMask = elements.getMoveNextTypeMask(node);
2290 2290
2291 js.JavaScriptBackend backend = compiler.backend; 2291 js.JavaScriptBackend backend = compiler.backend;
2292 Element ctor = backend.helpers.streamIteratorConstructor; 2292 Element ctor = backend.helpers.streamIteratorConstructor;
2293 2293
2294 /// Synthesize a call to the [StreamIterator] constructor. 2294 /// Synthesize a call to the [StreamIterator] constructor.
2295 T iteratorType = handleStaticSend(node, null, null, ctor, 2295 T iteratorType = handleStaticSend(node, null, null, ctor,
2296 new ArgumentsTypes<T>([expressionType], 2296 new ArgumentsTypes<T>([expressionType],
2297 null)); 2297 null));
2298 2298
2299 return handleForInLoop(node, iteratorType, currentSelector, currentMask, 2299 return handleForInLoop(node, iteratorType, currentSelector, currentMask,
2300 moveNextSelector, moveNextMask); 2300 moveNextSelector, moveNextMask);
2301 } 2301 }
2302 2302
2303 T visitSyncForIn(ast.SyncForIn node) { 2303 T visitSyncForIn(ast.SyncForIn node) {
2304 T expressionType = visit(node.expression); 2304 T expressionType = visit(node.expression);
2305 Selector iteratorSelector = elements.getIteratorSelector(node); 2305 Selector iteratorSelector = Selectors.iterator;
2306 TypeMask iteratorMask = elements.getIteratorTypeMask(node); 2306 TypeMask iteratorMask = elements.getIteratorTypeMask(node);
2307 Selector currentSelector = elements.getCurrentSelector(node); 2307 Selector currentSelector = Selectors.current;
2308 TypeMask currentMask = elements.getCurrentTypeMask(node); 2308 TypeMask currentMask = elements.getCurrentTypeMask(node);
2309 Selector moveNextSelector = elements.getMoveNextSelector(node); 2309 Selector moveNextSelector = Selectors.moveNext;
2310 TypeMask moveNextMask = elements.getMoveNextTypeMask(node); 2310 TypeMask moveNextMask = elements.getMoveNextTypeMask(node);
2311 2311
2312 T iteratorType = handleDynamicSend( 2312 T iteratorType = handleDynamicSend(
2313 node, iteratorSelector, iteratorMask, expressionType, 2313 node, iteratorSelector, iteratorMask, expressionType,
2314 new ArgumentsTypes<T>.empty()); 2314 new ArgumentsTypes<T>.empty());
2315 2315
2316 return handleForInLoop(node, iteratorType, currentSelector, currentMask, 2316 return handleForInLoop(node, iteratorType, currentSelector, currentMask,
2317 moveNextSelector, moveNextMask); 2317 moveNextSelector, moveNextMask);
2318 } 2318 }
2319 } 2319 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/resolution/members.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698