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

Side by Side Diff: pkg/source_maps/lib/span.dart

Issue 303493002: Revert revision 36603 (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « pkg/source_maps/CHANGELOG.md ('k') | pkg/source_maps/pubspec.yaml » ('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) 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 /// Dart classes representing the souce spans and source files. 5 /// Dart classes representing the souce spans and source files.
6 library source_maps.span; 6 library source_maps.span;
7 7
8 import 'dart:math' show min, max; 8 import 'dart:math' show min, max;
9 9
10 import 'package:path/path.dart' as p;
11
12 import 'src/utils.dart'; 10 import 'src/utils.dart';
13 11
14 /// A simple class that describe a segment of source text. 12 /// A simple class that describe a segment of source text.
15 abstract class Span implements Comparable { 13 abstract class Span implements Comparable {
16 /// The start location of this span. 14 /// The start location of this span.
17 final Location start; 15 final Location start;
18 16
19 /// The end location of this span, exclusive. 17 /// The end location of this span, exclusive.
20 final Location end; 18 final Location end;
21 19
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 new String.fromCharCodes(_decodedChars.sublist(max(start, 0), end)); 245 new String.fromCharCodes(_decodedChars.sublist(max(start, 0), end));
248 246
249 /// Create a pretty string representation from a span. 247 /// Create a pretty string representation from a span.
250 String getLocationMessage(String message, int start, int end, 248 String getLocationMessage(String message, int start, int end,
251 {bool useColors: false, String color}) { 249 {bool useColors: false, String color}) {
252 // TODO(jmesserly): it would be more useful to pass in an object that 250 // TODO(jmesserly): it would be more useful to pass in an object that
253 // controls how the errors are printed. This method is a bit too smart. 251 // controls how the errors are printed. This method is a bit too smart.
254 var line = getLine(start); 252 var line = getLine(start);
255 var column = getColumn(line, start); 253 var column = getColumn(line, start);
256 254
257 var source = url == null ? '' : ' of ${p.prettyUri(url)}'; 255 var src = url == null ? '' : url;
258 var msg = 'line ${line + 1}, column ${column + 1}$source: $message'; 256 var msg = '$src:${line + 1}:${column + 1}: $message';
259 257
260 if (_decodedChars == null) { 258 if (_decodedChars == null) {
261 // We don't have any text to include, so exit. 259 // We don't have any text to include, so exit.
262 return msg; 260 return msg;
263 } 261 }
264 262
265 var buf = new StringBuffer(msg); 263 var buf = new StringBuffer(msg);
266 buf.write('\n'); 264 buf.write('\n');
267 265
268 // +1 for 0-indexing, +1 again to avoid the last line 266 // +1 for 0-indexing, +1 again to avoid the last line
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 int getOffset(int line, int column) => 351 int getOffset(int line, int column) =>
354 super.getOffset(line - _baseLine, 352 super.getOffset(line - _baseLine,
355 line == _baseLine ? column - _baseColumn : column) + _baseOffset; 353 line == _baseLine ? column - _baseColumn : column) + _baseOffset;
356 354
357 /// Retrieve the text associated with the specified range. This method 355 /// Retrieve the text associated with the specified range. This method
358 /// operates on the real offsets from the original file, so that error 356 /// operates on the real offsets from the original file, so that error
359 /// messages can be reported accurately. 357 /// messages can be reported accurately.
360 String getText(int start, [int end]) => 358 String getText(int start, [int end]) =>
361 super.getText(start - _baseOffset, end == null ? null : end - _baseOffset); 359 super.getText(start - _baseOffset, end == null ? null : end - _baseOffset);
362 } 360 }
OLDNEW
« no previous file with comments | « pkg/source_maps/CHANGELOG.md ('k') | pkg/source_maps/pubspec.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698