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

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

Issue 1238783003: Handle deferred access as pre-step in SemanticSendVisitor. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments. Created 5 years, 5 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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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.semantics_visitor; 5 library dart2js.semantics_visitor;
6 6
7 import '../constants/expressions.dart'; 7 import '../constants/expressions.dart';
8 import '../dart2jslib.dart' show invariant, MessageKind; 8 import '../dart2jslib.dart' show invariant, MessageKind;
9 import '../dart_types.dart'; 9 import '../dart_types.dart';
10 import '../elements/elements.dart'; 10 import '../elements/elements.dart';
(...skipping 4037 matching lines...) Expand 10 before | Expand all | Expand 10 after
4048 /// } 4048 /// }
4049 /// m() => C(true, 42); 4049 /// m() => C(true, 42);
4050 /// 4050 ///
4051 R visitConstructorIncompatibleInvoke( 4051 R visitConstructorIncompatibleInvoke(
4052 NewExpression node, 4052 NewExpression node,
4053 ConstructorElement constructor, 4053 ConstructorElement constructor,
4054 InterfaceType type, 4054 InterfaceType type,
4055 NodeList arguments, 4055 NodeList arguments,
4056 CallStructure callStructure, 4056 CallStructure callStructure,
4057 A arg); 4057 A arg);
4058
4059 /// Access of library through a deferred [prefix].
4060 ///
4061 /// For instance
4062 /// import 'lib.dart' deferred as prefix;
4063 ///
4064 /// m() => prefix.foo;
4065 ///
4066 /// This visit method is special in that it is called as a pre-step to calling
4067 /// the visit method for the actual access. Therefore this method cannot
4068 /// return a result to its caller.
4069 void previsitDeferredAccess(
4070 Send node,
4071 PrefixElement prefix,
4072 A arg);
4058 } 4073 }
4059 4074
4060 abstract class SemanticDeclarationVisitor<R, A> { 4075 abstract class SemanticDeclarationVisitor<R, A> {
4061 R apply(Node node, A arg); 4076 R apply(Node node, A arg);
4062 4077
4063 /// Apply this visitor to the [parameters]. 4078 /// Apply this visitor to the [parameters].
4064 applyParameters(NodeList parameters, A arg); 4079 applyParameters(NodeList parameters, A arg);
4065 4080
4066 /// Apply this visitor to the initializers of [constructor]. 4081 /// Apply this visitor to the initializers of [constructor].
4067 applyInitializers(FunctionExpression constructor, A arg); 4082 applyInitializers(FunctionExpression constructor, A arg);
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after
4619 /// C() : this._(42); 4634 /// C() : this._(42);
4620 /// } 4635 /// }
4621 /// 4636 ///
4622 R errorUnresolvedThisConstructorInvoke( 4637 R errorUnresolvedThisConstructorInvoke(
4623 Send node, 4638 Send node,
4624 Element element, 4639 Element element,
4625 NodeList arguments, 4640 NodeList arguments,
4626 Selector selector, 4641 Selector selector,
4627 A arg); 4642 A arg);
4628 } 4643 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/resolution/resolution_result.dart ('k') | pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698