| 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 file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library fasta.source_loader; | 5 library fasta.source_loader; |
| 6 | 6 |
| 7 import 'dart:async' show Future; | 7 import 'dart:async' show Future; |
| 8 | 8 |
| 9 import 'dart:typed_data' show Uint8List; | 9 import 'dart:typed_data' show Uint8List; |
| 10 | 10 |
| (...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 "'${cls.name}' is a supertype of " | 328 "'${cls.name}' is a supertype of " |
| 329 "itself via '${involved.map((c) => c.name).join(' ')}'."); | 329 "itself via '${involved.map((c) => c.name).join(' ')}'."); |
| 330 } | 330 } |
| 331 }); | 331 }); |
| 332 ticker.logMs("Found cycles"); | 332 ticker.logMs("Found cycles"); |
| 333 } | 333 } |
| 334 | 334 |
| 335 void buildProgram() { | 335 void buildProgram() { |
| 336 builders.forEach((Uri uri, LibraryBuilder library) { | 336 builders.forEach((Uri uri, LibraryBuilder library) { |
| 337 if (library is SourceLibraryBuilder) { | 337 if (library is SourceLibraryBuilder) { |
| 338 libraries.add(library.build()); | 338 libraries.add(library.build(coreLibrary)); |
| 339 } | 339 } |
| 340 }); | 340 }); |
| 341 ticker.logMs("Built program"); | 341 ticker.logMs("Built program"); |
| 342 } | 342 } |
| 343 | 343 |
| 344 void computeHierarchy(Program program) { | 344 void computeHierarchy(Program program) { |
| 345 hierarchy = new ClassHierarchy(program); | 345 hierarchy = new ClassHierarchy(program); |
| 346 ticker.logMs("Computed class hierarchy"); | 346 ticker.logMs("Computed class hierarchy"); |
| 347 coreTypes = new CoreTypes(program); | 347 coreTypes = new CoreTypes(program); |
| 348 ticker.logMs("Computed core types"); | 348 ticker.logMs("Computed core types"); |
| 349 } | 349 } |
| 350 | 350 |
| 351 void checkOverrides(List<SourceClassBuilder> sourceClasses) { | 351 void checkOverrides(List<SourceClassBuilder> sourceClasses) { |
| 352 assert(hierarchy != null); | 352 assert(hierarchy != null); |
| 353 for (SourceClassBuilder builder in sourceClasses) { | 353 for (SourceClassBuilder builder in sourceClasses) { |
| 354 builder.checkOverrides(hierarchy); | 354 builder.checkOverrides(hierarchy); |
| 355 } | 355 } |
| 356 ticker.logMs("Checked overrides"); | 356 ticker.logMs("Checked overrides"); |
| 357 } | 357 } |
| 358 | 358 |
| 359 List<Uri> getDependencies() => sourceBytes.keys.toList(); | 359 List<Uri> getDependencies() => sourceBytes.keys.toList(); |
| 360 } | 360 } |
| OLD | NEW |