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.kernel_builder; | 5 library fasta.kernel_builder; |
6 | 6 |
7 export 'kernel_class_builder.dart' show KernelClassBuilder; | 7 export 'kernel_class_builder.dart' show KernelClassBuilder; |
8 | 8 |
9 export 'kernel_enum_builder.dart' show KernelEnumBuilder; | 9 export 'kernel_enum_builder.dart' show KernelEnumBuilder; |
10 | 10 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 DartType, | 49 DartType, |
50 DynamicType, | 50 DynamicType, |
51 Field, | 51 Field, |
52 Initializer, | 52 Initializer, |
53 Library, | 53 Library, |
54 Member, | 54 Member, |
55 Procedure, | 55 Procedure, |
56 RedirectingInitializer, | 56 RedirectingInitializer, |
57 TypeParameter; | 57 TypeParameter; |
58 | 58 |
59 import '../errors.dart' show inputError; | 59 import '../deprecated_problems.dart' show deprecated_inputError; |
60 | 60 |
61 import '../builder/builder.dart' show LibraryBuilder; | 61 import '../builder/builder.dart' show LibraryBuilder; |
62 | 62 |
63 List<DartType> computeDefaultTypeArguments(LibraryBuilder library, | 63 List<DartType> computeDefaultTypeArguments(LibraryBuilder library, |
64 List<TypeParameter> typeParameters, List<DartType> arguments) { | 64 List<TypeParameter> typeParameters, List<DartType> arguments) { |
65 // TODO(ahe): Not sure what to do if `arguments.length != | 65 // TODO(ahe): Not sure what to do if `arguments.length != |
66 // cls.typeParameters.length`. | 66 // cls.typeParameters.length`. |
67 if (arguments == null) { | 67 if (arguments == null) { |
68 return new List<DartType>.filled( | 68 return new List<DartType>.filled( |
69 typeParameters.length, const DynamicType()); | 69 typeParameters.length, const DynamicType()); |
70 } | 70 } |
71 if (arguments.length < typeParameters.length) { | 71 if (arguments.length < typeParameters.length) { |
72 arguments = new List<DartType>.from(arguments); | 72 arguments = new List<DartType>.from(arguments); |
73 for (int i = arguments.length; i < typeParameters.length; i++) { | 73 for (int i = arguments.length; i < typeParameters.length; i++) { |
74 arguments.add(const DynamicType()); | 74 arguments.add(const DynamicType()); |
75 } | 75 } |
76 } else if (arguments.length > typeParameters.length) { | 76 } else if (arguments.length > typeParameters.length) { |
77 return arguments.sublist(0, typeParameters.length); | 77 return arguments.sublist(0, typeParameters.length); |
78 } | 78 } |
79 return arguments; | 79 return arguments; |
80 } | 80 } |
81 | 81 |
82 dynamic memberError(Member member, Object error, [int charOffset]) { | 82 dynamic deprecated_memberError(Member member, Object error, [int charOffset]) { |
83 String name = member.name?.name; | 83 String name = member.name?.name; |
84 if (name == "") { | 84 if (name == "") { |
85 name = Printer.emptyNameString; | 85 name = Printer.emptyNameString; |
86 } else if (name == null) { | 86 } else if (name == null) { |
87 name = "<anon>"; | 87 name = "<anon>"; |
88 } | 88 } |
89 Library library = member.enclosingLibrary; | 89 Library library = member.enclosingLibrary; |
90 Class cls = member.enclosingClass; | 90 Class cls = member.enclosingClass; |
91 String fileUri; | 91 String fileUri; |
92 if (member is Procedure) { | 92 if (member is Procedure) { |
93 fileUri = member.fileUri; | 93 fileUri = member.fileUri; |
94 } else if (member is Field) { | 94 } else if (member is Field) { |
95 fileUri = member.fileUri; | 95 fileUri = member.fileUri; |
96 } | 96 } |
97 fileUri ??= cls?.fileUri ?? library.fileUri; | 97 fileUri ??= cls?.fileUri ?? library.fileUri; |
98 Uri uri = fileUri == null ? library.importUri : Uri.base.resolve(fileUri); | 98 Uri uri = fileUri == null ? library.importUri : Uri.base.resolve(fileUri); |
99 charOffset ??= -1; | 99 charOffset ??= -1; |
100 if (charOffset == -1) { | 100 if (charOffset == -1) { |
101 charOffset = member.fileOffset ?? -1; | 101 charOffset = member.fileOffset ?? -1; |
102 } | 102 } |
103 if (charOffset == -1) { | 103 if (charOffset == -1) { |
104 charOffset = cls?.fileOffset ?? -1; | 104 charOffset = cls?.fileOffset ?? -1; |
105 } | 105 } |
106 name = (cls == null ? "" : "${cls.name}::") + name; | 106 name = (cls == null ? "" : "${cls.name}::") + name; |
107 return inputError(uri, charOffset, "Error in $name: $error"); | 107 return deprecated_inputError(uri, charOffset, "Error in $name: $error"); |
108 } | 108 } |
109 | 109 |
110 int compareProcedures(Procedure a, Procedure b) { | 110 int compareProcedures(Procedure a, Procedure b) { |
111 int i = a.fileUri.compareTo(b.fileUri); | 111 int i = a.fileUri.compareTo(b.fileUri); |
112 if (i != 0) return i; | 112 if (i != 0) return i; |
113 return a.fileOffset.compareTo(b.fileOffset); | 113 return a.fileOffset.compareTo(b.fileOffset); |
114 } | 114 } |
115 | 115 |
116 bool isRedirectingGenerativeConstructorImplementation(Constructor constructor) { | 116 bool isRedirectingGenerativeConstructorImplementation(Constructor constructor) { |
117 List<Initializer> initializers = constructor.initializers; | 117 List<Initializer> initializers = constructor.initializers; |
118 return initializers.length == 1 && | 118 return initializers.length == 1 && |
119 initializers.single is RedirectingInitializer; | 119 initializers.single is RedirectingInitializer; |
120 } | 120 } |
OLD | NEW |