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>"));
});