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

Side by Side Diff: pkg/dart_messages/bin/publish.dart

Issue 1700243002: Share const-error messages. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Use double-quotes Created 4 years, 10 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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 import 'dart:convert'; 5 import 'dart:convert';
6 import 'dart:io' as io; 6 import 'dart:io' as io;
7 7
8 import '../lib/shared_messages.dart'; 8 import '../lib/shared_messages.dart';
9 9
10 const String jsonPath = '../lib/generated/shared_messages.json'; 10 const String jsonPath = '../lib/generated/shared_messages.json';
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 if (message.howToFix != null) { 105 if (message.howToFix != null) {
106 out.write(",\n howToFix: ${escapeString(message.howToFix)}"); 106 out.write(",\n howToFix: ${escapeString(message.howToFix)}");
107 } 107 }
108 if (message.options != null) { 108 if (message.options != null) {
109 out.write(",\n options: const ["); 109 out.write(",\n options: const [");
110 out.write(message.options.map(escapeString).join(",")); 110 out.write(message.options.map(escapeString).join(","));
111 out.writeln("]"); 111 out.writeln("]");
112 } 112 }
113 if (message.examples != null) { 113 if (message.examples != null) {
114 out.writeln(",\n examples: const ["); 114 out.writeln(",\n examples: const [");
115
116 String escapeExampleContent(String content) {
117 if (content.contains("\n") || content.contains('"')) {
118 return 'r"""\n$content"""';
119 } else if (content.contains("\\")) {
120 return 'r"$content"';
121 }
122 return '"$content"';
123 }
115 for (var example in message.examples) { 124 for (var example in message.examples) {
116 if (example is String) { 125 if (example is String) {
117 out.writeln(" r'''"); 126 out.write(" ");
118 out.write(example); 127 out.write(escapeExampleContent(example));
119 out.write("'''");
120 } else if (example is Map) { 128 } else if (example is Map) {
121 out.writeln(" const {"); 129 out.writeln(" const {");
122 example.forEach((String fileName, String content) { 130 example.forEach((String fileName, String content) {
123 out.writeln(" '$fileName': r'''"); 131 out.writeln(" '$fileName': ");
124 out.write(content); 132 out.write(escapeExampleContent(content));
125 out.writeln("''',"); 133 out.writeln(",");
126 }); 134 });
127 out.write(" }"); 135 out.write(" }");
128 } 136 }
129 out.writeln(","); 137 out.writeln(",");
130 } 138 }
131 out.writeln(" ]"); 139 out.writeln(" ]");
132 } 140 }
133 out.writeln(" ), // Generated. Don't edit."); 141 out.writeln(" ), // Generated. Don't edit.");
134 }); 142 });
135 out.writeln("};"); 143 out.writeln("};");
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 /// Translates the shared messages in `../lib/shared_messages.dart` to JSON, 221 /// Translates the shared messages in `../lib/shared_messages.dart` to JSON,
214 /// dart2js, and analyzer formats. 222 /// dart2js, and analyzer formats.
215 /// 223 ///
216 /// Emits the json-output to [jsonPath], the dart2js-output to [dart2jsPath], 224 /// Emits the json-output to [jsonPath], the dart2js-output to [dart2jsPath],
217 /// and the analyzer-output to [analyzerPath]. 225 /// and the analyzer-output to [analyzerPath].
218 void main() { 226 void main() {
219 emitJson(); 227 emitJson();
220 emitDart2js(); 228 emitDart2js();
221 emitAnalyzer(); 229 emitAnalyzer();
222 } 230 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/diagnostics/messages.dart ('k') | pkg/dart_messages/lib/generated/shared_messages.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698