Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(391)

Side by Side Diff: pkg/front_end/lib/src/fasta/builder/library_builder.dart

Issue 2970273004: Deprecate all diagnostics methods that use strings. (Closed)
Patch Set: Merged with 4df146dd9a465d63344330bf3e45524b927c92ec Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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.library_builder; 5 library fasta.library_builder;
6 6
7 import '../combinator.dart' show Combinator; 7 import '../combinator.dart' show Combinator;
8 8
9 import '../errors.dart' show internalError; 9 import '../deprecated_problems.dart' show deprecated_internalProblem;
10 10
11 import '../export.dart' show Export; 11 import '../export.dart' show Export;
12 12
13 import '../loader.dart' show Loader; 13 import '../loader.dart' show Loader;
14 14
15 import '../messages.dart' show nit, warning; 15 import '../messages.dart' show deprecated_nit, deprecated_warning;
16 16
17 import '../util/relativize.dart' show relativizeUri; 17 import '../util/relativize.dart' show relativizeUri;
18 18
19 import 'builder.dart' 19 import 'builder.dart'
20 show 20 show
21 Builder, 21 Builder,
22 ClassBuilder, 22 ClassBuilder,
23 DynamicTypeBuilder, 23 DynamicTypeBuilder,
24 PrefixBuilder, 24 PrefixBuilder,
25 Scope, 25 Scope,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 60
61 Uri get uri; 61 Uri get uri;
62 62
63 Builder addBuilder(String name, Builder builder, int charOffset); 63 Builder addBuilder(String name, Builder builder, int charOffset);
64 64
65 void addExporter( 65 void addExporter(
66 LibraryBuilder exporter, List<Combinator> combinators, int charOffset) { 66 LibraryBuilder exporter, List<Combinator> combinators, int charOffset) {
67 exporters.add(new Export(exporter, this, combinators, charOffset)); 67 exporters.add(new Export(exporter, this, combinators, charOffset));
68 } 68 }
69 69
70 /// See `Loader.addCompileTimeError` for an explanation of the arguments 70 /// See `Loader.deprecated_addCompileTimeError` for an explanation of the
71 /// passed to this method. 71 /// arguments passed to this method.
72 /// 72 ///
73 /// If [fileUri] is null, it defaults to `this.fileUri`. 73 /// If [fileUri] is null, it defaults to `this.fileUri`.
74 void addCompileTimeError(int charOffset, Object message, 74 void deprecated_addCompileTimeError(int charOffset, Object message,
75 {Uri fileUri, bool silent: false, bool wasHandled: false}) { 75 {Uri fileUri, bool silent: false, bool wasHandled: false}) {
76 hasCompileTimeErrors = true; 76 hasCompileTimeErrors = true;
77 loader.addCompileTimeError(fileUri ?? this.fileUri, charOffset, message, 77 loader.deprecated_addCompileTimeError(
78 fileUri ?? this.fileUri, charOffset, message,
78 silent: silent, wasHandled: wasHandled); 79 silent: silent, wasHandled: wasHandled);
79 } 80 }
80 81
81 void addWarning(int charOffset, Object message, 82 void deprecated_addWarning(int charOffset, Object message,
82 {Uri fileUri, bool silent: false}) { 83 {Uri fileUri, bool silent: false}) {
83 fileUri ??= this.fileUri; 84 fileUri ??= this.fileUri;
84 if (!silent) { 85 if (!silent) {
85 warning(fileUri, charOffset, message); 86 deprecated_warning(fileUri, charOffset, message);
86 } 87 }
87 } 88 }
88 89
89 void addNit(int charOffset, Object message, 90 void deprecated_addNit(int charOffset, Object message,
90 {Uri fileUri, bool silent: false}) { 91 {Uri fileUri, bool silent: false}) {
91 fileUri ??= this.fileUri; 92 fileUri ??= this.fileUri;
92 if (!silent) { 93 if (!silent) {
93 nit(fileUri, charOffset, message); 94 deprecated_nit(fileUri, charOffset, message);
94 } 95 }
95 } 96 }
96 97
97 /// Returns true if the export scope was modified. 98 /// Returns true if the export scope was modified.
98 bool addToExportScope(String name, Builder member) { 99 bool addToExportScope(String name, Builder member) {
99 if (name.startsWith("_")) return false; 100 if (name.startsWith("_")) return false;
100 if (member is PrefixBuilder) return false; 101 if (member is PrefixBuilder) return false;
101 Map<String, Builder> map = 102 Map<String, Builder> map =
102 member.isSetter ? exports.setters : exports.local; 103 member.isSetter ? exports.setters : exports.local;
103 Builder existing = map[name]; 104 Builder existing = map[name];
(...skipping 28 matching lines...) Expand all
132 /// It is an error if no such class is found, or if the class doesn't have a 133 /// It is an error if no such class is found, or if the class doesn't have a
133 /// matching constructor (or factory). 134 /// matching constructor (or factory).
134 /// 135 ///
135 /// If [constructorName] is null or the empty string, it's assumed to be an 136 /// If [constructorName] is null or the empty string, it's assumed to be an
136 /// unnamed constructor. it's an error if [constructorName] starts with 137 /// unnamed constructor. it's an error if [constructorName] starts with
137 /// `"_"`, and [bypassLibraryPrivacy] is false. 138 /// `"_"`, and [bypassLibraryPrivacy] is false.
138 Builder getConstructor(String className, 139 Builder getConstructor(String className,
139 {String constructorName, bool bypassLibraryPrivacy: false}) { 140 {String constructorName, bool bypassLibraryPrivacy: false}) {
140 constructorName ??= ""; 141 constructorName ??= "";
141 if (constructorName.startsWith("_") && !bypassLibraryPrivacy) { 142 if (constructorName.startsWith("_") && !bypassLibraryPrivacy) {
142 throw internalError("Internal error: Can't access private constructor " 143 throw deprecated_internalProblem(
144 "Internal error: Can't access private constructor "
143 "'$constructorName'."); 145 "'$constructorName'.");
144 } 146 }
145 Builder cls = 147 Builder cls =
146 (bypassLibraryPrivacy ? scope : exports).lookup(className, -1, null); 148 (bypassLibraryPrivacy ? scope : exports).lookup(className, -1, null);
147 if (cls is ClassBuilder) { 149 if (cls is ClassBuilder) {
148 // TODO(ahe): This code is similar to code in `endNewExpression` in 150 // TODO(ahe): This code is similar to code in `endNewExpression` in
149 // `body_builder.dart`, try to share it. 151 // `body_builder.dart`, try to share it.
150 Builder constructor = 152 Builder constructor =
151 cls.findConstructorOrFactory(constructorName, -1, null, this); 153 cls.findConstructorOrFactory(constructorName, -1, null, this);
152 if (constructor == null) { 154 if (constructor == null) {
153 // Fall-through to internal error below. 155 // Fall-through to internal error below.
154 } else if (constructor.isConstructor) { 156 } else if (constructor.isConstructor) {
155 if (!cls.isAbstract) { 157 if (!cls.isAbstract) {
156 return constructor; 158 return constructor;
157 } 159 }
158 } else if (constructor.isFactory) { 160 } else if (constructor.isFactory) {
159 return constructor; 161 return constructor;
160 } 162 }
161 } 163 }
162 throw internalError("Internal error: No constructor named" 164 throw deprecated_internalProblem("Internal error: No constructor named"
163 " '$className::$constructorName' in '$uri'."); 165 " '$className::$constructorName' in '$uri'.");
164 } 166 }
165 167
166 int finishTypeVariables(ClassBuilder object) => 0; 168 int finishTypeVariables(ClassBuilder object) => 0;
167 169
168 void becomeCoreLibrary(dynamicType, voidType) { 170 void becomeCoreLibrary(dynamicType, voidType) {
169 addBuilder("dynamic", 171 addBuilder("dynamic",
170 new DynamicTypeBuilder<T, dynamic>(dynamicType, this, -1), -1); 172 new DynamicTypeBuilder<T, dynamic>(dynamicType, this, -1), -1);
171 addBuilder("void", new VoidTypeBuilder<T, dynamic>(voidType, this, -1), -1); 173 addBuilder("void", new VoidTypeBuilder<T, dynamic>(voidType, this, -1), -1);
172 } 174 }
173 175
174 void forEach(void f(String name, Builder builder)) { 176 void forEach(void f(String name, Builder builder)) {
175 scope.forEach(f); 177 scope.forEach(f);
176 } 178 }
177 179
178 /// Don't use for scope lookup. Only use when an element is known to exist 180 /// Don't use for scope lookup. Only use when an element is known to exist
179 /// (and not a setter). 181 /// (and not a setter).
180 Builder operator [](String name) { 182 Builder operator [](String name) {
181 return scope.local[name] ?? internalError("Not found: '$name'."); 183 return scope.local[name] ??
184 deprecated_internalProblem("Not found: '$name'.");
182 } 185 }
183 186
184 Builder lookup(String name, int charOffset, Uri fileUri) { 187 Builder lookup(String name, int charOffset, Uri fileUri) {
185 return scope.lookup(name, charOffset, fileUri); 188 return scope.lookup(name, charOffset, fileUri);
186 } 189 }
187 } 190 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698