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

Unified Diff: dart/sdk/lib/_internal/compiler/implementation/lib/regexp_helper.dart

Issue 11973018: Improve decoding of JS TypeError. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 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: dart/sdk/lib/_internal/compiler/implementation/lib/regexp_helper.dart
diff --git a/dart/sdk/lib/_internal/compiler/implementation/lib/regexp_helper.dart b/dart/sdk/lib/_internal/compiler/implementation/lib/regexp_helper.dart
index b62b0b5c5b46e2d45906f891556561f8d88101ae..c9f65406052d873d504cfd049b5f521d1bd4ec59 100644
--- a/dart/sdk/lib/_internal/compiler/implementation/lib/regexp_helper.dart
+++ b/dart/sdk/lib/_internal/compiler/implementation/lib/regexp_helper.dart
@@ -33,12 +33,12 @@ regExpMakeNative(JSSyntaxRegExp regExp, {bool global: false}) {
bool isMultiLine = regExp.isMultiLine;
bool isCaseSensitive = regExp.isCaseSensitive;
checkString(pattern);
- StringBuffer sb = new StringBuffer();
- if (isMultiLine) sb.add('m');
- if (!isCaseSensitive) sb.add('i');
- if (global) sb.add('g');
+ String flags = '';
+ if (isMultiLine) flags = '${flags}m';
+ if (!isCaseSensitive) flags = '${flags}i';
+ if (global) flags = '${flags}g';
try {
- return JS('var', r'new RegExp(#, #)', pattern, sb.toString());
+ return JS('var', r'new RegExp(#, #)', pattern, flags);
} catch (e) {
throw new IllegalJSRegExpException(pattern,
JS('String', r'String(#)', e));

Powered by Google App Engine
This is Rietveld 408576698