| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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.md file. | 3 // BSD-style license that can be found in the LICENSE.md file. |
| 4 | 4 |
| 5 import 'dart:async'; | 5 import 'dart:async'; |
| 6 import 'dart:collection' show Queue; | 6 import 'dart:collection' show Queue; |
| 7 | 7 |
| 8 import 'package:kernel/ast.dart' as ir; | 8 import 'package:kernel/ast.dart' as ir; |
| 9 import 'package:kernel/verifier.dart' show CheckParentPointers; | 9 import 'package:kernel/verifier.dart' show CheckParentPointers; |
| 10 | 10 |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 if (cls.isMixinApplication) { | 213 if (cls.isMixinApplication) { |
| 214 MixinApplicationElement mixinApplication = cls; | 214 MixinApplicationElement mixinApplication = cls; |
| 215 classNode.mixedInType = supertypeToIr(mixinApplication.mixinType); | 215 classNode.mixedInType = supertypeToIr(mixinApplication.mixinType); |
| 216 } | 216 } |
| 217 classNode.parent = libraryToIr(cls.library); | 217 classNode.parent = libraryToIr(cls.library); |
| 218 if (cls.isUnnamedMixinApplication) { | 218 if (cls.isUnnamedMixinApplication) { |
| 219 classNode.enclosingLibrary.addClass(classNode); | 219 classNode.enclosingLibrary.addClass(classNode); |
| 220 } | 220 } |
| 221 cls.implementation | 221 cls.implementation |
| 222 .forEachMember((ClassElement enclosingClass, Element member) { | 222 .forEachMember((ClassElement enclosingClass, Element member) { |
| 223 if (!compiler.resolution.hasBeenResolved(member) | 223 if (!compiler.resolution.hasBeenResolved(member) && |
| 224 && !member.isMalformed) { | 224 !member.isMalformed) { |
| 225 return; | 225 return; |
| 226 } | 226 } |
| 227 if (member.enclosingClass.declaration != cls) { | 227 if (member.enclosingClass.declaration != cls) { |
| 228 // TODO(het): figure out why impact_test triggers this | 228 // TODO(het): figure out why impact_test triggers this |
| 229 //internalError(cls, "`$member` isn't mine."); | 229 //internalError(cls, "`$member` isn't mine."); |
| 230 } else if (member.isConstructor) { | 230 } else if (member.isConstructor) { |
| 231 ConstructorElement constructor = member; | 231 ConstructorElement constructor = member; |
| 232 ir.Member memberNode = functionToIr(member); | 232 ir.Member memberNode = functionToIr(member); |
| 233 if (!constructor.isRedirectingFactory) { | 233 if (!constructor.isRedirectingFactory) { |
| 234 classNode.addMember(memberNode); | 234 classNode.addMember(memberNode); |
| (...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 779 } | 779 } |
| 780 | 780 |
| 781 class ConstructorTarget { | 781 class ConstructorTarget { |
| 782 final ConstructorElement element; | 782 final ConstructorElement element; |
| 783 final DartType type; | 783 final DartType type; |
| 784 | 784 |
| 785 ConstructorTarget(this.element, this.type); | 785 ConstructorTarget(this.element, this.type); |
| 786 | 786 |
| 787 String toString() => "ConstructorTarget($element, $type)"; | 787 String toString() => "ConstructorTarget($element, $type)"; |
| 788 } | 788 } |
| OLD | NEW |