| OLD | NEW | 
|---|
| 1 // Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 native; | 5 part of native; | 
| 6 | 6 | 
| 7 /** | 7 /** | 
| 8  * This could be an abstract class but we use it as a stub for the dart_backend. | 8  * This could be an abstract class but we use it as a stub for the dart_backend. | 
| 9  */ | 9  */ | 
| 10 class NativeEnqueuer { | 10 class NativeEnqueuer { | 
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 167     // | 167     // | 
| 168     //     class B extends foo.A {} | 168     //     class B extends foo.A {} | 
| 169     // | 169     // | 
| 170     // String "A" has a potential subclass B. | 170     // String "A" has a potential subclass B. | 
| 171 | 171 | 
| 172     var potentialExtends = new Map<String, Set<ClassElement>>(); | 172     var potentialExtends = new Map<String, Set<ClassElement>>(); | 
| 173 | 173 | 
| 174     libraries.forEach((library) { | 174     libraries.forEach((library) { | 
| 175       library.implementation.forEachLocalMember((element) { | 175       library.implementation.forEachLocalMember((element) { | 
| 176         if (element.isClass) { | 176         if (element.isClass) { | 
| 177           String name = element.name; |  | 
| 178           String extendsName = findExtendsNameOfClass(element); | 177           String extendsName = findExtendsNameOfClass(element); | 
| 179           if (extendsName != null) { | 178           if (extendsName != null) { | 
| 180             Set<ClassElement> potentialSubclasses = | 179             Set<ClassElement> potentialSubclasses = | 
| 181                 potentialExtends.putIfAbsent( | 180                 potentialExtends.putIfAbsent( | 
| 182                     extendsName, | 181                     extendsName, | 
| 183                     () => new Set<ClassElement>()); | 182                     () => new Set<ClassElement>()); | 
| 184             potentialSubclasses.add(element); | 183             potentialSubclasses.add(element); | 
| 185           } | 184           } | 
| 186         } | 185         } | 
| 187       }); | 186       }); | 
| (...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 689         superclass, | 688         superclass, | 
| 690         () => <ClassElement>[]); | 689         () => <ClassElement>[]); | 
| 691     directSubtypes.add(cls); | 690     directSubtypes.add(cls); | 
| 692   } | 691   } | 
| 693 | 692 | 
| 694   void logSummary(log(message)) { | 693   void logSummary(log(message)) { | 
| 695     log('Compiled ${registeredClasses.length} native classes, ' | 694     log('Compiled ${registeredClasses.length} native classes, ' | 
| 696         '${unusedClasses.length} native classes omitted.'); | 695         '${unusedClasses.length} native classes omitted.'); | 
| 697   } | 696   } | 
| 698 } | 697 } | 
| OLD | NEW | 
|---|