Properly map function names with named arguments. R=kevmoo@google.com Review URL: https://codereview.chromium.org//2069043004 .
diff --git a/CHANGELOG.md b/CHANGELOG.md index deb9c13..93c4fe2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md
@@ -1,3 +1,7 @@ +## 1.0.5 + +* Add compatibility for member names that include named arguments. + ## 1.0.4 * Add compatibility for Dart 1.10-style name munging.
diff --git a/lib/source_map_stack_trace.dart b/lib/source_map_stack_trace.dart index 23aed77..83bbf64 100644 --- a/lib/source_map_stack_trace.dart +++ b/lib/source_map_stack_trace.dart
@@ -84,8 +84,8 @@ return member // Get rid of the noise that Firefox sometimes adds. .replaceAll(new RegExp(r"/?<$"), "") - // Get rid of arity indicators. - .replaceAll(new RegExp(r"\$\d+$"), "") + // Get rid of arity indicators and named arguments. + .replaceAll(new RegExp(r"\$\d+(\$[a-zA-Z_0-9]+)*$"), "") // Convert closures to <fn>. .replaceAllMapped(new RegExp(r"(_+)closure\d*\.call$"), // The number of underscores before "closure" indicates how nested it
diff --git a/pubspec.yaml b/pubspec.yaml index 90c5937..d2e7970 100644 --- a/pubspec.yaml +++ b/pubspec.yaml
@@ -1,5 +1,5 @@ name: source_map_stack_trace -version: 1.0.4 +version: 1.0.5 description: > A package for applying source maps to stack traces. author: Dart Team <misc@dartlang.org>
diff --git a/test/source_map_stack_trace_test.dart b/test/source_map_stack_trace_test.dart index 411bf29..12ae7b1 100644 --- a/test/source_map_stack_trace_test.dart +++ b/test/source_map_stack_trace_test.dart
@@ -153,6 +153,11 @@ expect(_prettify(r"foo$1234"), equals("foo")); }); + test("named arguments", () { + expect(_prettify(r"foo$1$bar"), equals("foo")); + expect(_prettify(r"foo$123$bar$bang$qux"), equals("foo")); + }); + test("closures", () { expect(_prettify("foo_closure.call"), equals("foo.<fn>")); });