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

Side by Side Diff: tests/compiler/dart2js/mock_compiler.dart

Issue 1363993004: Report info messages together with their error, warning, or hint. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comment. Created 5 years, 2 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 mock_compiler; 5 library mock_compiler;
6 6
7 import "package:expect/expect.dart"; 7 import "package:expect/expect.dart";
8 import 'dart:async'; 8 import 'dart:async';
9 import 'dart:collection'; 9 import 'dart:collection';
10 10
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 String override = librariesOverride(uri); 187 String override = librariesOverride(uri);
188 if (override != null) { 188 if (override != null) {
189 source = override; 189 source = override;
190 } 190 }
191 } 191 }
192 sourceFiles[uri.toString()] = new MockFile(source); 192 sourceFiles[uri.toString()] = new MockFile(source);
193 } 193 }
194 194
195 // TODO(johnniwinther): Remove this when we don't filter certain type checker 195 // TODO(johnniwinther): Remove this when we don't filter certain type checker
196 // warnings. 196 // warnings.
197 void reportWarning(Spannable node, MessageKind messageKind, 197 void reportWarning(
198 [Map arguments = const {}]) { 198 DiagnosticMessage message,
199 MessageTemplate template = MessageTemplate.TEMPLATES[messageKind]; 199 [List<DiagnosticMessage> infos = const <DiagnosticMessage>[]]) {
200 reportDiagnostic(node, 200 reportDiagnostic(message, infos, api.Diagnostic.WARNING);
201 template.message(arguments, terseDiagnostics),
202 api.Diagnostic.WARNING);
203 } 201 }
204 202
205 void reportDiagnostic(Spannable node, 203 void reportDiagnostic(DiagnosticMessage message,
206 Message message, 204 List<DiagnosticMessage> infoMessages,
207 api.Diagnostic kind) { 205 api.Diagnostic kind) {
208 var diagnostic = new WarningMessage(node, message); 206
209 if (kind == api.Diagnostic.CRASH) { 207 void processMessage(DiagnosticMessage message, api.Diagnostic kind) {
210 crashes.add(diagnostic); 208 var diagnostic = new WarningMessage(message.spannable, message.message);
211 } else if (kind == api.Diagnostic.ERROR) { 209 if (kind == api.Diagnostic.CRASH) {
212 errors.add(diagnostic); 210 crashes.add(diagnostic);
213 } else if (kind == api.Diagnostic.WARNING) { 211 } else if (kind == api.Diagnostic.ERROR) {
214 warnings.add(diagnostic); 212 errors.add(diagnostic);
215 } else if (kind == api.Diagnostic.INFO) { 213 } else if (kind == api.Diagnostic.WARNING) {
216 infos.add(diagnostic); 214 warnings.add(diagnostic);
217 } else if (kind == api.Diagnostic.HINT) { 215 } else if (kind == api.Diagnostic.INFO) {
218 hints.add(diagnostic); 216 infos.add(diagnostic);
219 } 217 } else if (kind == api.Diagnostic.HINT) {
220 if (diagnosticHandler != null) { 218 hints.add(diagnostic);
221 SourceSpan span = spanFromSpannable(node); 219 }
222 if (span != null) { 220 if (diagnosticHandler != null) {
223 diagnosticHandler(span.uri, span.begin, span.end, '$message', kind); 221 SourceSpan span = message.sourceSpan;
224 } else { 222 if (span != null) {
225 diagnosticHandler(null, null, null, '$message', kind); 223 diagnosticHandler(span.uri, span.begin, span.end, '$message', kind);
224 } else {
225 diagnosticHandler(null, null, null, '$message', kind);
226 }
226 } 227 }
227 } 228 }
229
230 processMessage(message, kind);
231 infoMessages.forEach((i) => processMessage(i, api.Diagnostic.INFO));
228 } 232 }
229 233
230 bool get compilationFailed => !crashes.isEmpty || !errors.isEmpty; 234 bool get compilationFailed => !crashes.isEmpty || !errors.isEmpty;
231 235
232 void clearMessages() { 236 void clearMessages() {
233 warnings = []; 237 warnings = [];
234 errors = []; 238 errors = [];
235 hints = []; 239 hints = [];
236 infos = []; 240 infos = [];
237 crashes = []; 241 crashes = [];
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 trustTypeAnnotations: trustTypeAnnotations, 467 trustTypeAnnotations: trustTypeAnnotations,
464 enableTypeAssertions: enableTypeAssertions, 468 enableTypeAssertions: enableTypeAssertions,
465 enableUserAssertions: enableUserAssertions, 469 enableUserAssertions: enableUserAssertions,
466 expectedErrors: expectedErrors, 470 expectedErrors: expectedErrors,
467 expectedWarnings: expectedWarnings, 471 expectedWarnings: expectedWarnings,
468 outputProvider: outputProvider); 472 outputProvider: outputProvider);
469 compiler.registerSource(uri, code); 473 compiler.registerSource(uri, code);
470 compiler.diagnosticHandler = createHandler(compiler, code); 474 compiler.diagnosticHandler = createHandler(compiler, code);
471 return compiler; 475 return compiler;
472 } 476 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/js_spec_string_test.dart ('k') | tests/compiler/dart2js/parser_helper.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698