Index: lib/parser.dart |
diff --git a/lib/parser.dart b/lib/parser.dart |
index 1c2318774a2c5691d68c74f258096cf6d322243a..3b65e89109d63a388ad7e7e4e7656899286f701b 100644 |
--- a/lib/parser.dart |
+++ b/lib/parser.dart |
@@ -180,16 +180,20 @@ class MultiSectionMapping extends Mapping { |
class MappingBundle extends Mapping { |
Map<String, SingleMapping> _mappings = {}; |
+ MappingBundle() {} |
+ |
MappingBundle.fromJson(List json, {String mapUrl}) { |
for (var map in json) { |
- var mapping = parseJson(map, mapUrl: mapUrl) as SingleMapping; |
- var targetUrl = mapping.targetUrl; |
- // TODO(jacobr): verify that targetUrl is valid uri instead of a windows |
- // path. |
- _mappings[targetUrl] = mapping; |
+ addMapping(parseJson(map, mapUrl: mapUrl) as SingleMapping); |
} |
} |
+ addMapping(SingleMapping mapping) { |
+ // TODO(jacobr): verify that targetUrl is valid uri instead of a windows |
+ // path. |
+ _mappings[mapping.targetUrl] = mapping; |
+ } |
+ |
/// Encodes the Mapping mappings as a json map. |
List toJson() => _mappings.values.map((v) => v.toJson()).toList(); |
@@ -201,6 +205,8 @@ class MappingBundle extends Mapping { |
return buff.toString(); |
} |
+ bool containsMapping(String url) => _mappings.containsKey(url); |
+ |
SourceMapSpan spanFor(int line, int column, |
{Map<String, SourceFile> files, String uri}) { |
if (uri == null) { |