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

Unified Diff: pkg/front_end/tool/_fasta/generate_messages.dart

Issue 2965393002: Use FastaMessage instead of String. Part 1. (Closed)
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: pkg/front_end/tool/_fasta/generate_messages.dart
diff --git a/pkg/front_end/tool/_fasta/generate_messages.dart b/pkg/front_end/tool/_fasta/generate_messages.dart
index 1f2c6d7b208de17c2599e29ed2c7289fc12449b6..bfe0121fbdb401041e31f815db2c1a4f0db1ec8b 100644
--- a/pkg/front_end/tool/_fasta/generate_messages.dart
+++ b/pkg/front_end/tool/_fasta/generate_messages.dart
@@ -54,8 +54,6 @@ String compileTemplate(String name, String template, String tip,
var parameters = new Set<String>();
var conversions = new Set<String>();
var arguments = new Set<String>();
- parameters.add("Uri uri");
- parameters.add("int charOffset");
for (Match match in placeholderPattern.allMatches("$template${tip ?? ''}")) {
switch (match[0]) {
case "#character":
@@ -93,15 +91,15 @@ String compileTemplate(String name, String template, String tip,
String interpolate(String name, String text) {
return "$name: "
- "\"${text.replaceAll(r'$', r'\$').replaceAll('#', '\$')}\"";
+ "\"\"\"${text.replaceAll(r'$', r'\$').replaceAll('#', '\$')}\"\"\"";
}
List<String> codeArguments = <String>[];
if (template != null) {
- codeArguments.add('template: r"$template"');
+ codeArguments.add('template: r"""$template"""');
}
if (tip != null) {
- codeArguments.add('tip: r"$tip"');
+ codeArguments.add('tip: r"""$tip"""');
}
if (analyzerCode != null) {
codeArguments.add('analyzerCode: "$analyzerCode"');
@@ -110,7 +108,15 @@ String compileTemplate(String name, String template, String tip,
codeArguments.add('dart2jsCode: "$dart2jsCode"');
}
- codeArguments.add("format: _format$name");
+ if (parameters.isEmpty && conversions.isEmpty && arguments.isEmpty) {
+ return """
+// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
+const BoundFastaCode code$name =
+ const BoundFastaCode(\"$name\", ${codeArguments.join(', ')});
+""";
+ }
+
+ codeArguments.add("bind: _bind$name");
List<String> messageArguments = <String>[];
messageArguments.add(interpolate("message", template));
@@ -121,19 +127,24 @@ String compileTemplate(String name, String template, String tip,
return """
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
-const FastaCode<_$name> code$name =
- const FastaCode<_$name>(\"$name\", ${codeArguments.join(', ')});
+const UnboundFastaCode<_$name> code$name =
+ const UnboundFastaCode<_$name>(\"$name\", ${codeArguments.join(', ')});
-typedef FastaMessage _$name(${parameters.join(', ')});
+// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
+typedef _$name =
+ FastaMessage Function(Uri, int) Function(${parameters.join(', ')});
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
-FastaMessage _format$name(${parameters.join(', ')}) {
- ${conversions.join('\n ')}
- return new FastaMessage(
- uri,
- charOffset,
- code$name,
- ${messageArguments.join(', ')});
+FastaMessage Function(Uri, int) _bind$name(${parameters.join(', ')}) {
+ FastaMessage bind(Uri uri, int charOffset) {
+ ${conversions.join('\n ')}
+ return new FastaMessage(
+ uri,
+ charOffset,
+ code$name,
+ ${messageArguments.join(', ')});
+ }
+ return bind;
}
""";
}
« pkg/front_end/lib/src/fasta/fasta_codes.dart ('K') | « pkg/front_end/messages.yaml ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698