OLD | NEW |
---|---|
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 /// Contains the top-level function to parse source maps version 3. | 5 /// Contains the top-level function to parse source maps version 3. |
6 library source_maps.parser; | 6 library source_maps.parser; |
7 | 7 |
8 import 'dart:collection'; | 8 import 'dart:collection'; |
9 import 'dart:convert'; | 9 import 'dart:convert'; |
10 | 10 |
(...skipping 13 matching lines...) Expand all Loading... | |
24 parseJson(JSON.decode(jsonMap), otherMaps: otherMaps); | 24 parseJson(JSON.decode(jsonMap), otherMaps: otherMaps); |
25 | 25 |
26 /// Parses a source map directly from a json map object. | 26 /// Parses a source map directly from a json map object. |
27 Mapping parseJson(Map map, {Map<String, Map> otherMaps}) { | 27 Mapping parseJson(Map map, {Map<String, Map> otherMaps}) { |
28 if (map['version'] != 3) { | 28 if (map['version'] != 3) { |
29 throw new ArgumentError( | 29 throw new ArgumentError( |
30 'unexpected source map version: ${map["version"]}. ' | 30 'unexpected source map version: ${map["version"]}. ' |
31 'Only version 3 is supported.'); | 31 'Only version 3 is supported.'); |
32 } | 32 } |
33 | 33 |
34 if (!map.containsKey('file')) { | |
Siggi Cherem (dart-lang)
2014/12/04 00:12:23
oh cool - it seems they made it optional about a y
| |
35 print('warning: missing "file" entry in source map'); | |
36 } | |
37 | |
38 if (map.containsKey('sections')) { | 34 if (map.containsKey('sections')) { |
39 if (map.containsKey('mappings') || map.containsKey('sources') || | 35 if (map.containsKey('mappings') || map.containsKey('sources') || |
40 map.containsKey('names')) { | 36 map.containsKey('names')) { |
41 throw new FormatException('map containing "sections" ' | 37 throw new FormatException('map containing "sections" ' |
42 'cannot contain "mappings", "sources", or "names".'); | 38 'cannot contain "mappings", "sources", or "names".'); |
43 } | 39 } |
44 return new MultiSectionMapping.fromJson(map['sections'], otherMaps); | 40 return new MultiSectionMapping.fromJson(map['sections'], otherMaps); |
45 } | 41 } |
46 return new SingleMapping.fromJson(map); | 42 return new SingleMapping.fromJson(map); |
47 } | 43 } |
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
509 static const _TokenKind EOF = const _TokenKind(isEof: true); | 505 static const _TokenKind EOF = const _TokenKind(isEof: true); |
510 static const _TokenKind VALUE = const _TokenKind(); | 506 static const _TokenKind VALUE = const _TokenKind(); |
511 final bool isNewLine; | 507 final bool isNewLine; |
512 final bool isNewSegment; | 508 final bool isNewSegment; |
513 final bool isEof; | 509 final bool isEof; |
514 bool get isValue => !isNewLine && !isNewSegment && !isEof; | 510 bool get isValue => !isNewLine && !isNewSegment && !isEof; |
515 | 511 |
516 const _TokenKind( | 512 const _TokenKind( |
517 {this.isNewLine: false, this.isNewSegment: false, this.isEof: false}); | 513 {this.isNewLine: false, this.isNewSegment: false, this.isEof: false}); |
518 } | 514 } |
OLD | NEW |