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

Side by Side Diff: packages/source_span/lib/src/file.dart

Issue 2989763002: Update charted to 0.4.8 and roll (Closed)
Patch Set: Removed Cutch from list of reviewers Created 3 years, 4 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 unified diff | Download patch
« no previous file with comments | « packages/source_span/lib/src/colors.dart ('k') | packages/source_span/lib/src/location.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 library source_span.file;
6
7 import 'dart:math' as math; 5 import 'dart:math' as math;
8 import 'dart:typed_data'; 6 import 'dart:typed_data';
9 7
10 import 'location.dart'; 8 import 'location.dart';
11 import 'location_mixin.dart'; 9 import 'location_mixin.dart';
12 import 'span.dart'; 10 import 'span.dart';
13 import 'span_mixin.dart'; 11 import 'span_mixin.dart';
14 import 'span_with_context.dart'; 12 import 'span_with_context.dart';
15 13
16 // Constants to determine end-of-lines. 14 // Constants to determine end-of-lines.
(...skipping 27 matching lines...) Expand all
44 int get lines => _lineStarts.length; 42 int get lines => _lineStarts.length;
45 43
46 /// The line that the offset fell on the last time [getLine] was called. 44 /// The line that the offset fell on the last time [getLine] was called.
47 /// 45 ///
48 /// In many cases, sequential calls to getLine() are for nearby, usually 46 /// In many cases, sequential calls to getLine() are for nearby, usually
49 /// increasing offsets. In that case, we can find the line for an offset 47 /// increasing offsets. In that case, we can find the line for an offset
50 /// quickly by first checking to see if the offset is on the same line as the 48 /// quickly by first checking to see if the offset is on the same line as the
51 /// previous result. 49 /// previous result.
52 int _cachedLine; 50 int _cachedLine;
53 51
52 /// This constructor is deprecated.
53 ///
54 /// Use [new SourceFile.fromString] instead.
55 @Deprecated("Will be removed in 2.0.0")
56 SourceFile(String text, {url})
57 : this.decoded(text.runes, url: url);
58
54 /// Creates a new source file from [text]. 59 /// Creates a new source file from [text].
55 /// 60 ///
56 /// [url] may be either a [String], a [Uri], or `null`. 61 /// [url] may be either a [String], a [Uri], or `null`.
57 SourceFile(String text, {url}) 62 SourceFile.fromString(String text, {url})
58 : this.decoded(text.runes, url: url); 63 : this.decoded(text.codeUnits, url: url);
59 64
60 /// Creates a new source file from a list of decoded characters. 65 /// Creates a new source file from a list of decoded code units.
61 /// 66 ///
62 /// [url] may be either a [String], a [Uri], or `null`. 67 /// [url] may be either a [String], a [Uri], or `null`.
68 ///
69 /// Currently, if [decodedChars] contains characters larger than `0xFFFF`,
70 /// they'll be treated as single characters rather than being split into
71 /// surrogate pairs. **This behavior is deprecated**. For
72 /// forwards-compatibility, callers should only pass in characters less than
73 /// or equal to `0xFFFF`.
63 SourceFile.decoded(Iterable<int> decodedChars, {url}) 74 SourceFile.decoded(Iterable<int> decodedChars, {url})
64 : url = url is String ? Uri.parse(url) : url, 75 : url = url is String ? Uri.parse(url) : url,
65 _decodedChars = new Uint32List.fromList(decodedChars.toList()) { 76 _decodedChars = new Uint32List.fromList(decodedChars.toList()) {
66 for (var i = 0; i < _decodedChars.length; i++) { 77 for (var i = 0; i < _decodedChars.length; i++) {
67 var c = _decodedChars[i]; 78 var c = _decodedChars[i];
68 if (c == _CR) { 79 if (c == _CR) {
69 // Return not followed by newline is treated as a newline 80 // Return not followed by newline is treated as a newline
70 var j = i + 1; 81 var j = i + 1;
71 if (j >= _decodedChars.length || _decodedChars[j] != _LF) c = _LF; 82 if (j >= _decodedChars.length || _decodedChars[j] != _LF) c = _LF;
72 } 83 }
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 var start = math.min(this._start, other._start); 360 var start = math.min(this._start, other._start);
350 var end = math.max(this._end, other._end); 361 var end = math.max(this._end, other._end);
351 return new _FileSpan(file, start, end); 362 return new _FileSpan(file, start, end);
352 } else { 363 } else {
353 var start = math.min(this._start, other.start.offset); 364 var start = math.min(this._start, other.start.offset);
354 var end = math.max(this._end, other.end.offset); 365 var end = math.max(this._end, other.end.offset);
355 return new _FileSpan(file, start, end); 366 return new _FileSpan(file, start, end);
356 } 367 }
357 } 368 }
358 } 369 }
OLDNEW
« no previous file with comments | « packages/source_span/lib/src/colors.dart ('k') | packages/source_span/lib/src/location.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698