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

Unified Diff: pkg/compiler/lib/src/resolution/class_members.dart

Issue 1383503002: Add Resolution and Parsing interfaces for computeType, ensureResolved and parseNode. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Add TODOs. Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/resolution/class_members.dart
diff --git a/pkg/compiler/lib/src/resolution/class_members.dart b/pkg/compiler/lib/src/resolution/class_members.dart
index 2bcf2dd55e259fd526312c78a02e60d4b98fc2d8..c33cce5c88766684ee9a06d6e65ce5a716c4fefa 100644
--- a/pkg/compiler/lib/src/resolution/class_members.dart
+++ b/pkg/compiler/lib/src/resolution/class_members.dart
@@ -6,6 +6,8 @@ library dart2js.resolution.compute_members;
import '../common/names.dart' show
Identifiers;
+import '../common/resolution.dart' show
+ Resolution;
import '../compiler.dart' show
Compiler;
import '../dart_types.dart';
@@ -47,6 +49,8 @@ abstract class MembersCreator {
message: "Members may only be computed on declarations."));
}
+ Resolution get resolution => compiler.resolution;
+
void reportMessage(var marker, MessageKind kind, report()) {
Set<MessageKind> messages =
reportedMessages.putIfAbsent(marker,
@@ -194,7 +198,7 @@ abstract class MembersCreator {
Name name = new Name(element.name, library);
if (element.isField) {
- DartType type = element.computeType(compiler);
+ DartType type = element.computeType(resolution);
addDeclaredMember(name, type, new FunctionType.synthesized(type));
if (!element.isConst && !element.isFinal) {
addDeclaredMember(name.setter, type,
@@ -203,11 +207,11 @@ abstract class MembersCreator {
<DartType>[type]));
}
} else if (element.isGetter) {
- FunctionType functionType = element.computeType(compiler);
+ FunctionType functionType = element.computeType(resolution);
DartType type = functionType.returnType;
addDeclaredMember(name, type, functionType);
} else if (element.isSetter) {
- FunctionType functionType = element.computeType(compiler);
+ FunctionType functionType = element.computeType(resolution);
DartType type;
if (!functionType.parameterTypes.isEmpty) {
type = functionType.parameterTypes.first;
@@ -218,7 +222,7 @@ abstract class MembersCreator {
addDeclaredMember(name, type, functionType);
} else {
assert(invariant(element, element.isFunction));
- FunctionType type = element.computeType(compiler);
+ FunctionType type = element.computeType(resolution);
addDeclaredMember(name, type, type);
}
}
« no previous file with comments | « pkg/compiler/lib/src/resolution/class_hierarchy.dart ('k') | pkg/compiler/lib/src/resolution/constructors.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698