| OLD | NEW | 
|    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 part of dart2js; |    5 part of dart2js; | 
|    6  |    6  | 
|    7 class World { |    7 class World { | 
|    8   final Compiler compiler; |    8   final Compiler compiler; | 
|    9   final Map<ClassElement, Set<ClassElement>> subtypes; |    9   final Map<ClassElement, Set<ClassElement>> subtypes; | 
|   10   final Map<ClassElement, Set<ClassElement>> typesImplementedBySubclasses; |   10   final Map<ClassElement, Set<ClassElement>> typesImplementedBySubclasses; | 
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   69       Set<ClassElement> classes = subtypes[cls]; |   69       Set<ClassElement> classes = subtypes[cls]; | 
|   70       if (classes == null) return; |   70       if (classes == null) return; | 
|   71       classes.forEach((ClassElement sub) { |   71       classes.forEach((ClassElement sub) { | 
|   72         potentiallyAddForRti(sub, callback); |   72         potentiallyAddForRti(sub, callback); | 
|   73       }); |   73       }); | 
|   74     } |   74     } | 
|   75  |   75  | 
|   76     compiler.resolverWorld.isChecks.forEach((DartType type) { |   76     compiler.resolverWorld.isChecks.forEach((DartType type) { | 
|   77       if (type is InterfaceType) { |   77       if (type is InterfaceType) { | 
|   78         InterfaceType itf = type; |   78         InterfaceType itf = type; | 
|   79         if (!itf.typeArguments.isEmpty) { |   79         if (!itf.isRaw) { | 
|   80           potentiallyAddForRti(itf.element, null); |   80           potentiallyAddForRti(itf.element, null); | 
|   81         } |   81         } | 
|   82       } |   82       } | 
|   83     }); |   83     }); | 
|   84  |   84  | 
|   85     List<ClassElement> worklist = |   85     List<ClassElement> worklist = | 
|   86         new List<ClassElement>.from(classesNeedingRti); |   86         new List<ClassElement>.from(classesNeedingRti); | 
|   87     while (!worklist.isEmpty) { |   87     while (!worklist.isEmpty) { | 
|   88       Element e = worklist.removeLast(); |   88       Element e = worklist.removeLast(); | 
|   89       Set<Element> dependencies = rtiDependencies[e]; |   89       Set<Element> dependencies = rtiDependencies[e]; | 
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  220   final SourceString name; |  220   final SourceString name; | 
|  221  |  221  | 
|  222   MemberSet(SourceString this.name) : elements = new Set<Element>(); |  222   MemberSet(SourceString this.name) : elements = new Set<Element>(); | 
|  223  |  223  | 
|  224   void add(Element element) { |  224   void add(Element element) { | 
|  225     elements.add(element); |  225     elements.add(element); | 
|  226   } |  226   } | 
|  227  |  227  | 
|  228   bool get isEmpty => elements.isEmpty; |  228   bool get isEmpty => elements.isEmpty; | 
|  229 } |  229 } | 
| OLD | NEW |