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.dill_target; | 5 library fasta.dill_target; |
6 | 6 |
7 import 'dart:async' show Future; | 7 import 'dart:async' show Future; |
8 | 8 |
9 import 'package:kernel/ast.dart' show Class; | 9 import 'package:kernel/ast.dart' show Class; |
10 | 10 |
11 import 'package:kernel/target/targets.dart' show Target; | 11 import 'package:kernel/target/targets.dart' show Target; |
12 | 12 |
13 import '../deprecated_problems.dart' show deprecated_internalProblem; | |
14 import '../kernel/kernel_builder.dart' show ClassBuilder; | 13 import '../kernel/kernel_builder.dart' show ClassBuilder; |
14 | |
15 import '../problems.dart' show unsupported; | |
16 | |
15 import '../target_implementation.dart' show TargetImplementation; | 17 import '../target_implementation.dart' show TargetImplementation; |
18 | |
16 import '../ticker.dart' show Ticker; | 19 import '../ticker.dart' show Ticker; |
20 | |
17 import '../translate_uri.dart' show TranslateUri; | 21 import '../translate_uri.dart' show TranslateUri; |
22 | |
18 import 'dill_library_builder.dart' show DillLibraryBuilder; | 23 import 'dill_library_builder.dart' show DillLibraryBuilder; |
24 | |
19 import 'dill_loader.dart' show DillLoader; | 25 import 'dill_loader.dart' show DillLoader; |
20 | 26 |
21 class DillTarget extends TargetImplementation { | 27 class DillTarget extends TargetImplementation { |
22 bool isLoaded = false; | 28 bool isLoaded = false; |
23 DillLoader loader; | 29 DillLoader loader; |
24 | 30 |
25 DillTarget(Ticker ticker, TranslateUri uriTranslator, Target backendTarget) | 31 DillTarget(Ticker ticker, TranslateUri uriTranslator, Target backendTarget) |
26 : super(ticker, uriTranslator, backendTarget) { | 32 : super(ticker, uriTranslator, backendTarget) { |
27 loader = new DillLoader(this); | 33 loader = new DillLoader(this); |
28 } | 34 } |
29 | 35 |
30 void addSourceInformation( | 36 void addSourceInformation( |
31 Uri uri, List<int> lineStarts, List<int> sourceCode) { | 37 Uri uri, List<int> lineStarts, List<int> sourceCode) { |
32 deprecated_internalProblem("Unsupported operation."); | 38 unsupported("addSourceInformation", -1, null); |
33 } | 39 } |
34 | 40 |
35 void read(Uri uri) { | 41 void read(Uri uri) { |
36 deprecated_internalProblem("Unsupported operation."); | 42 unsupported("read", -1, null); |
37 } | 43 } |
38 | 44 |
39 @override | 45 @override |
40 Future<Null> buildProgram() { | 46 Future<Null> buildProgram() { |
41 return deprecated_internalProblem("not implemented."); | 47 return new Future<Null>.sync(() => unsupported("buildProgram", -1, null)); |
Johnni Winther
2017/07/11 18:34:05
Should this have been an 'unimplemented' ?
ahe
2017/07/12 14:04:02
By now it's an unsupported operation. I know this
| |
42 } | 48 } |
43 | 49 |
44 @override | 50 @override |
45 Future<Null> buildOutlines() async { | 51 Future<Null> buildOutlines() async { |
46 if (loader.libraries.isNotEmpty) { | 52 if (loader.libraries.isNotEmpty) { |
47 await loader.buildOutlines(); | 53 await loader.buildOutlines(); |
48 } | 54 } |
49 isLoaded = true; | 55 isLoaded = true; |
50 } | 56 } |
51 | 57 |
52 DillLibraryBuilder createLibraryBuilder(Uri uri, Uri fileUri, bool isPatch) { | 58 DillLibraryBuilder createLibraryBuilder(Uri uri, Uri fileUri, bool isPatch) { |
53 assert(!isPatch); | 59 assert(!isPatch); |
54 return new DillLibraryBuilder(uri, loader); | 60 return new DillLibraryBuilder(uri, loader); |
55 } | 61 } |
56 | 62 |
57 void addDirectSupertype(ClassBuilder cls, Set<ClassBuilder> set) {} | 63 void addDirectSupertype(ClassBuilder cls, Set<ClassBuilder> set) {} |
58 | 64 |
59 List<ClassBuilder> collectAllClasses() { | 65 List<ClassBuilder> collectAllClasses() { |
60 return null; | 66 return null; |
61 } | 67 } |
62 | 68 |
63 void breakCycle(ClassBuilder cls) {} | 69 void breakCycle(ClassBuilder cls) {} |
64 | 70 |
65 Class get objectClass => loader.coreLibrary["Object"].target; | 71 Class get objectClass => loader.coreLibrary["Object"].target; |
66 } | 72 } |
OLD | NEW |