| Index: pkg/compiler/lib/src/resolution/constructors.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/constructors.dart b/pkg/compiler/lib/src/resolution/constructors.dart
|
| index fc243d76f1511195770dbe5c7109bd608f55bf57..bd127d0ef3a7abb2a970fd9a4aaa046db7446246 100644
|
| --- a/pkg/compiler/lib/src/resolution/constructors.dart
|
| +++ b/pkg/compiler/lib/src/resolution/constructors.dart
|
| @@ -139,7 +139,7 @@ class InitializerResolver {
|
| }
|
| }
|
|
|
| - InterfaceType getSuperOrThisLookupTarget(Node diagnosticNode,
|
| + ResolutionInterfaceType getSuperOrThisLookupTarget(Node diagnosticNode,
|
| {bool isSuperCall}) {
|
| if (isSuperCall) {
|
| // Calculate correct lookup target and constructor name.
|
| @@ -163,7 +163,7 @@ class InitializerResolver {
|
| }, inConstantInitializer: isConst);
|
|
|
| bool isSuperCall = Initializers.isSuperConstructorCall(node);
|
| - InterfaceType targetType =
|
| + ResolutionInterfaceType targetType =
|
| getSuperOrThisLookupTarget(node, isSuperCall: isSuperCall);
|
| ClassElement lookupTarget = targetType.element;
|
| String constructorName =
|
| @@ -210,7 +210,7 @@ class InitializerResolver {
|
| assert(superClass != null);
|
| assert(superClass.isResolved);
|
|
|
| - InterfaceType targetType =
|
| + ResolutionInterfaceType targetType =
|
| getSuperOrThisLookupTarget(functionNode, isSuperCall: true);
|
| ClassElement lookupTarget = targetType.element;
|
| ConstructorElement calledConstructor =
|
| @@ -488,7 +488,7 @@ class ConstructorResolver extends CommonResolverVisitor<ConstructorResult> {
|
| ConstructorResult reportAndCreateErroneousConstructorElement(
|
| Spannable diagnosticNode,
|
| ConstructorResultKind resultKind,
|
| - DartType type,
|
| + ResolutionDartType type,
|
| String name,
|
| MessageKind kind,
|
| Map arguments,
|
| @@ -515,8 +515,11 @@ class ConstructorResolver extends CommonResolverVisitor<ConstructorResult> {
|
| return new ConstructorResult.forError(resultKind, error, type);
|
| }
|
|
|
| - ConstructorResult resolveConstructor(PrefixElement prefix, InterfaceType type,
|
| - Node diagnosticNode, String constructorName) {
|
| + ConstructorResult resolveConstructor(
|
| + PrefixElement prefix,
|
| + ResolutionInterfaceType type,
|
| + Node diagnosticNode,
|
| + String constructorName) {
|
| ClassElement cls = type.element;
|
| cls.ensureResolved(resolution);
|
| ConstructorElement constructor =
|
| @@ -616,7 +619,7 @@ class ConstructorResolver extends CommonResolverVisitor<ConstructorResult> {
|
| ConstructorResult visitTypeAnnotation(TypeAnnotation node) {
|
| // This is not really resolving a type-annotation, but the name of the
|
| // constructor. Therefore we allow deferred types.
|
| - DartType type = resolver.resolveTypeAnnotation(node,
|
| + ResolutionDartType type = resolver.resolveTypeAnnotation(node,
|
| malformedIsError: inConstContext,
|
| deferredIsMalformed: false,
|
| registerCheckedModeCheck: false);
|
| @@ -747,7 +750,7 @@ class ConstructorResolver extends CommonResolverVisitor<ConstructorResult> {
|
| error, new MalformedType(error, null));
|
| }
|
|
|
| - ConstructorResult constructorResultForType(Node node, DartType type,
|
| + ConstructorResult constructorResultForType(Node node, ResolutionDartType type,
|
| {PrefixElement prefix}) {
|
| String name = type.name;
|
| if (type.isTypeVariable) {
|
| @@ -816,12 +819,12 @@ class ConstructorResult {
|
|
|
| /// The type of the new expression. For instance `Foo<String>` in
|
| /// `new prefix.Foo<String>.constructorName()`.
|
| - final DartType type;
|
| + final ResolutionDartType type;
|
|
|
| /// Creates a fully resolved constructor access where [element] is resolved
|
| /// to a constructor and [type] to an interface type.
|
| ConstructorResult(this.kind, this.prefix, ConstructorElement this.element,
|
| - InterfaceType this.type);
|
| + ResolutionInterfaceType this.type);
|
|
|
| /// Creates a fully resolved constructor access where [element] is an
|
| /// [ErroneousElement].
|
|
|