OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 dart2js.resolution.members; | 5 library dart2js.resolution.members; |
6 | 6 |
7 import '../common.dart'; | 7 import '../common.dart'; |
8 import '../common/names.dart' show | 8 import '../common/names.dart' show |
9 Selectors; | 9 Selectors; |
10 import '../compiler.dart' show | 10 import '../compiler.dart' show |
(...skipping 4236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4247 registry.registerTargetOf(node, target); | 4247 registry.registerTargetOf(node, target); |
4248 return const NoneResult(); | 4248 return const NoneResult(); |
4249 } | 4249 } |
4250 | 4250 |
4251 registerImplicitInvocation(Selector selector) { | 4251 registerImplicitInvocation(Selector selector) { |
4252 registry.registerDynamicUse(new UniverseSelector(selector, null)); | 4252 registry.registerDynamicUse(new UniverseSelector(selector, null)); |
4253 } | 4253 } |
4254 | 4254 |
4255 ResolutionResult visitAsyncForIn(AsyncForIn node) { | 4255 ResolutionResult visitAsyncForIn(AsyncForIn node) { |
4256 registry.registerAsyncForIn(node); | 4256 registry.registerAsyncForIn(node); |
4257 registry.setCurrentSelector(node, Selectors.current); | |
4258 registry.registerDynamicUse( | 4257 registry.registerDynamicUse( |
4259 new UniverseSelector(Selectors.current, null)); | 4258 new UniverseSelector(Selectors.current, null)); |
4260 registry.setMoveNextSelector(node, Selectors.moveNext); | |
4261 registry.registerDynamicUse( | 4259 registry.registerDynamicUse( |
4262 new UniverseSelector(Selectors.moveNext, null)); | 4260 new UniverseSelector(Selectors.moveNext, null)); |
4263 | 4261 |
4264 visit(node.expression); | 4262 visit(node.expression); |
4265 | 4263 |
4266 Scope blockScope = new BlockScope(scope); | 4264 Scope blockScope = new BlockScope(scope); |
4267 visitForInDeclaredIdentifierIn(node.declaredIdentifier, node, blockScope); | 4265 visitForInDeclaredIdentifierIn(node.declaredIdentifier, node, blockScope); |
4268 visitLoopBodyIn(node, node.body, blockScope); | 4266 visitLoopBodyIn(node, node.body, blockScope); |
4269 return const NoneResult(); | 4267 return const NoneResult(); |
4270 } | 4268 } |
4271 | 4269 |
4272 ResolutionResult visitSyncForIn(SyncForIn node) { | 4270 ResolutionResult visitSyncForIn(SyncForIn node) { |
4273 registry.registerSyncForIn(node); | 4271 registry.registerSyncForIn(node); |
4274 registry.setIteratorSelector(node, Selectors.iterator); | |
4275 registry.registerDynamicUse( | 4272 registry.registerDynamicUse( |
4276 new UniverseSelector(Selectors.iterator, null)); | 4273 new UniverseSelector(Selectors.iterator, null)); |
4277 registry.setCurrentSelector(node, Selectors.current); | |
4278 registry.registerDynamicUse( | 4274 registry.registerDynamicUse( |
4279 new UniverseSelector(Selectors.current, null)); | 4275 new UniverseSelector(Selectors.current, null)); |
4280 registry.setMoveNextSelector(node, Selectors.moveNext); | |
4281 registry.registerDynamicUse( | 4276 registry.registerDynamicUse( |
4282 new UniverseSelector(Selectors.moveNext, null)); | 4277 new UniverseSelector(Selectors.moveNext, null)); |
4283 | 4278 |
4284 visit(node.expression); | 4279 visit(node.expression); |
4285 | 4280 |
4286 Scope blockScope = new BlockScope(scope); | 4281 Scope blockScope = new BlockScope(scope); |
4287 visitForInDeclaredIdentifierIn(node.declaredIdentifier, node, blockScope); | 4282 visitForInDeclaredIdentifierIn(node.declaredIdentifier, node, blockScope); |
4288 visitLoopBodyIn(node, node.body, blockScope); | 4283 visitLoopBodyIn(node, node.body, blockScope); |
4289 return const NoneResult(); | 4284 return const NoneResult(); |
4290 } | 4285 } |
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4759 } | 4754 } |
4760 return const NoneResult(); | 4755 return const NoneResult(); |
4761 } | 4756 } |
4762 } | 4757 } |
4763 | 4758 |
4764 /// Looks up [name] in [scope] and unwraps the result. | 4759 /// Looks up [name] in [scope] and unwraps the result. |
4765 Element lookupInScope(DiagnosticReporter reporter, Node node, | 4760 Element lookupInScope(DiagnosticReporter reporter, Node node, |
4766 Scope scope, String name) { | 4761 Scope scope, String name) { |
4767 return Elements.unwrap(scope.lookup(name), reporter, node); | 4762 return Elements.unwrap(scope.lookup(name), reporter, node); |
4768 } | 4763 } |
OLD | NEW |