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

Unified Diff: pkg/dart_messages/bin/publish.dart

Issue 1660703002: Share the first error messages. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: pkg/dart_messages/bin/publish.dart
diff --git a/pkg/dart_messages/bin/publish.dart b/pkg/dart_messages/bin/publish.dart
index c7b9c113b5b27857e99a467ea4d9dbe1cb8de2e4..4cc5c77c2bc77e14b2f13385fc41223a6bfa7d25 100644
--- a/pkg/dart_messages/bin/publish.dart
+++ b/pkg/dart_messages/bin/publish.dart
@@ -3,7 +3,7 @@
// BSD-style license that can be found in the LICENSE file.
import 'dart:convert';
-import 'dart:io';
+import 'dart:io' as io;
import '../lib/shared_messages.dart';
@@ -35,11 +35,11 @@ void markAsReadonly(String path) {
void emitJson() {
var input = MESSAGES;
- var outPath = Platform.script.resolve(jsonPath).toFilePath();
+ var outPath = io.Platform.script.resolve(jsonPath).toFilePath();
print("Emitting JSON:");
print(" Input: ${input.length} entries");
print(" Output: $outPath");
- new File(outPath).writeAsStringSync(messagesAsJson);
+ new io.File(outPath).writeAsStringSync(messagesAsJson);
print("Emitting JSON done.");
}
@@ -82,30 +82,24 @@ String escapeString(String str) {
/// };
void emitDart2js() {
var input = MESSAGES;
- var outPath = Platform.script.resolve(dart2jsPath).toFilePath();
+ var outPath = io.Platform.script.resolve(dart2jsPath).toFilePath();
print("Emitting dart2js:");
print(" Input: ${input.length} entries");
print(" Output: $outPath");
- var enumIds = input.keys.toList();
-
StringBuffer out = new StringBuffer();
out.writeln(copyrightHeader);
out.writeln(dontEditWarning);
- out.writeln("import '../messages.dart' show MessageTemplate;");
- out.writeln();
- out.write(("enum SharedMessageKind {\n "));
- // We generate on one line on purpose, so that users are less likely to
- // modify the generated file.
- out.writeln(enumIds.join(",\n "));
- out.writeln("}");
+ out.writeln("import '../messages.dart' show MessageKind, MessageTemplate;");
out.writeln();
- out.writeln("const Map<SharedMessageKind, MessageTemplate> TEMPLATES = "
- "const <SharedMessageKind, MessageTemplate>{ ");
+ out.writeln("const Map<MessageKind, MessageTemplate> TEMPLATES = "
+ "const <MessageKind, MessageTemplate>{ ");
input.forEach((name, message) {
- out.writeln(" SharedMessageKind.$name: const MessageTemplate(");
+ if (!message.usedBy.contains(Platform.dart2js)) return;
+
+ out.writeln(" MessageKind.$name: const MessageTemplate(");
// TODO(floitsch): include id.
- out.writeln(" SharedMessageKind.$name,");
+ out.writeln(" MessageKind.$name,");
out.write(" ");
out.write(escapeString(message.template));
if (message.howToFix != null) {
@@ -140,7 +134,7 @@ void emitDart2js() {
});
out.writeln("};");
- new File(outPath).writeAsStringSync(out.toString());
+ new io.File(outPath).writeAsStringSync(out.toString());
print("Emitting dart2js done.");
}
@@ -182,7 +176,7 @@ String convertToAnalyzerTemplate(String template, holeOrder) {
/// "Just don't do it");
void emitAnalyzer() {
var input = MESSAGES;
- var outPath = Platform.script.resolve(analyzerPath).toFilePath();
+ var outPath = io.Platform.script.resolve(analyzerPath).toFilePath();
print("Emitting analyzer:");
print(" Input: ${input.length} entries");
print(" Output: $outPath");
@@ -191,8 +185,12 @@ void emitAnalyzer() {
out.writeln(copyrightHeader);
out.writeln(dontEditWarning);
out.writeln("import 'package:analyzer/src/generated/error.dart';");
+ out.writeln("import 'package:analyzer/src/generated/parser.dart' "
+ "show ParserErrorCode;");
out.writeln();
input.forEach((name, message) {
+ if (!message.usedBy.contains(Platform.analyzer)) return;
+
Category category = message.category;
String className = category.name + "Code";
out.writeln("const $className $name = const $className(");
@@ -208,7 +206,7 @@ void emitAnalyzer() {
out.writeln("); // Generated. Don't edit.");
});
- new File(outPath).writeAsStringSync(out.toString());
+ new io.File(outPath).writeAsStringSync(out.toString());
print("Emitting analyzer done.");
}

Powered by Google App Engine
This is Rietveld 408576698