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

Side by Side Diff: pkg/compiler/lib/src/resolution/members.dart

Issue 1927963002: Support compilation of Hello World (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Fixes Created 4 years, 7 months 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
OLDNEW
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 Selectors; 8 import '../common/names.dart' show Selectors;
9 import '../common/resolution.dart' show Feature; 9 import '../common/resolution.dart' show Feature;
10 import '../compiler.dart' show Compiler; 10 import '../compiler.dart' show Compiler;
(...skipping 3519 matching lines...) Expand 10 before | Expand all | Expand 10 after
3530 reporter.reportErrorMessage(node, MessageKind.RETURN_IN_GENERATOR, 3530 reporter.reportErrorMessage(node, MessageKind.RETURN_IN_GENERATOR,
3531 {'modifier': currentAsyncMarker}); 3531 {'modifier': currentAsyncMarker});
3532 } 3532 }
3533 } 3533 }
3534 visit(node.expression); 3534 visit(node.expression);
3535 return const NoneResult(); 3535 return const NoneResult();
3536 } 3536 }
3537 3537
3538 ResolutionResult visitYield(Yield node) { 3538 ResolutionResult visitYield(Yield node) {
3539 if (!compiler.backend.supportsAsyncAwait) { 3539 if (!compiler.backend.supportsAsyncAwait) {
3540 reporter.reportErrorMessage(node.yieldToken, 3540 reporter.reportErrorMessage(
3541 MessageKind.ASYNC_AWAIT_NOT_SUPPORTED); 3541 node.yieldToken, MessageKind.ASYNC_AWAIT_NOT_SUPPORTED);
3542 } else { 3542 } else {
3543 if (!currentAsyncMarker.isYielding) { 3543 if (!currentAsyncMarker.isYielding) {
3544 reporter.reportErrorMessage(node, MessageKind.INVALID_YIELD); 3544 reporter.reportErrorMessage(node, MessageKind.INVALID_YIELD);
3545 } 3545 }
3546 if (currentAsyncMarker.isAsync) { 3546 if (currentAsyncMarker.isAsync) {
3547 coreClasses.streamClass.ensureResolved(resolution); 3547 coreClasses.streamClass.ensureResolved(resolution);
3548 } else { 3548 } else {
3549 coreClasses.iterableClass.ensureResolved(resolution); 3549 coreClasses.iterableClass.ensureResolved(resolution);
3550 } 3550 }
3551 } 3551 }
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
3671 } 3671 }
3672 3672
3673 ResolutionResult visitThrow(Throw node) { 3673 ResolutionResult visitThrow(Throw node) {
3674 registry.registerFeature(Feature.THROW_EXPRESSION); 3674 registry.registerFeature(Feature.THROW_EXPRESSION);
3675 visit(node.expression); 3675 visit(node.expression);
3676 return const NoneResult(); 3676 return const NoneResult();
3677 } 3677 }
3678 3678
3679 ResolutionResult visitAwait(Await node) { 3679 ResolutionResult visitAwait(Await node) {
3680 if (!compiler.backend.supportsAsyncAwait) { 3680 if (!compiler.backend.supportsAsyncAwait) {
3681 reporter.reportErrorMessage(node.awaitToken, 3681 reporter.reportErrorMessage(
3682 MessageKind.ASYNC_AWAIT_NOT_SUPPORTED); 3682 node.awaitToken, MessageKind.ASYNC_AWAIT_NOT_SUPPORTED);
3683 } else { 3683 } else {
3684 if (!currentAsyncMarker.isAsync) { 3684 if (!currentAsyncMarker.isAsync) {
3685 reporter.reportErrorMessage(node, MessageKind.INVALID_AWAIT); 3685 reporter.reportErrorMessage(node, MessageKind.INVALID_AWAIT);
3686 } 3686 }
3687 coreClasses.futureClass.ensureResolved(resolution); 3687 coreClasses.futureClass.ensureResolved(resolution);
3688 } 3688 }
3689 visit(node.expression); 3689 visit(node.expression);
3690 return const NoneResult(); 3690 return const NoneResult();
3691 } 3691 }
3692 3692
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after
4198 registry.registerTargetOf(node, target); 4198 registry.registerTargetOf(node, target);
4199 return const NoneResult(); 4199 return const NoneResult();
4200 } 4200 }
4201 4201
4202 registerImplicitInvocation(Selector selector) { 4202 registerImplicitInvocation(Selector selector) {
4203 registry.registerDynamicUse(new DynamicUse(selector, null)); 4203 registry.registerDynamicUse(new DynamicUse(selector, null));
4204 } 4204 }
4205 4205
4206 ResolutionResult visitAsyncForIn(AsyncForIn node) { 4206 ResolutionResult visitAsyncForIn(AsyncForIn node) {
4207 if (!compiler.backend.supportsAsyncAwait) { 4207 if (!compiler.backend.supportsAsyncAwait) {
4208 reporter.reportErrorMessage(node.awaitToken, 4208 reporter.reportErrorMessage(
4209 MessageKind.ASYNC_AWAIT_NOT_SUPPORTED); 4209 node.awaitToken, MessageKind.ASYNC_AWAIT_NOT_SUPPORTED);
4210 } else { 4210 } else {
4211 if (!currentAsyncMarker.isAsync) { 4211 if (!currentAsyncMarker.isAsync) {
4212 reporter.reportErrorMessage( 4212 reporter.reportErrorMessage(
4213 node.awaitToken, MessageKind.INVALID_AWAIT_FOR_IN); 4213 node.awaitToken, MessageKind.INVALID_AWAIT_FOR_IN);
4214 } 4214 }
4215 registry.registerFeature(Feature.ASYNC_FOR_IN); 4215 registry.registerFeature(Feature.ASYNC_FOR_IN);
4216 registry.registerDynamicUse( 4216 registry.registerDynamicUse(new DynamicUse(Selectors.current, null));
4217 new DynamicUse(Selectors.current, null)); 4217 registry.registerDynamicUse(new DynamicUse(Selectors.moveNext, null));
4218 registry.registerDynamicUse(
4219 new DynamicUse(Selectors.moveNext, null));
4220 } 4218 }
4221 visit(node.expression); 4219 visit(node.expression);
4222 4220
4223 Scope blockScope = new BlockScope(scope); 4221 Scope blockScope = new BlockScope(scope);
4224 visitForInDeclaredIdentifierIn(node.declaredIdentifier, node, blockScope); 4222 visitForInDeclaredIdentifierIn(node.declaredIdentifier, node, blockScope);
4225 visitLoopBodyIn(node, node.body, blockScope); 4223 visitLoopBodyIn(node, node.body, blockScope);
4226 return const NoneResult(); 4224 return const NoneResult();
4227 } 4225 }
4228 4226
4229 ResolutionResult visitSyncForIn(SyncForIn node) { 4227 ResolutionResult visitSyncForIn(SyncForIn node) {
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
4687 } 4685 }
4688 return const NoneResult(); 4686 return const NoneResult();
4689 } 4687 }
4690 } 4688 }
4691 4689
4692 /// Looks up [name] in [scope] and unwraps the result. 4690 /// Looks up [name] in [scope] and unwraps the result.
4693 Element lookupInScope( 4691 Element lookupInScope(
4694 DiagnosticReporter reporter, Node node, Scope scope, String name) { 4692 DiagnosticReporter reporter, Node node, Scope scope, String name) {
4695 return Elements.unwrap(scope.lookup(name), reporter, node); 4693 return Elements.unwrap(scope.lookup(name), reporter, node);
4696 } 4694 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_backend/js_backend.dart ('k') | pkg/compiler/lib/src/serialization/modelz.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698