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

Side by Side Diff: lib/src/span_mixin.dart

Issue 2056913002: Fix a message bug. (Closed) Base URL: git@github.com:dart-lang/source_span@master
Patch Set: Created 4 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
« no previous file with comments | « CHANGELOG.md ('k') | 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) 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 import 'dart:math' as math; 5 import 'dart:math' as math;
6 import 'package:path/path.dart' as p; 6 import 'package:path/path.dart' as p;
7 7
8 import 'colors.dart' as colors; 8 import 'colors.dart' as colors;
9 import 'span.dart'; 9 import 'span.dart';
10 import 'span_with_context.dart'; 10 import 'span_with_context.dart';
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 var textLine; 63 var textLine;
64 if (this is SourceSpanWithContext) { 64 if (this is SourceSpanWithContext) {
65 var context = (this as SourceSpanWithContext).context; 65 var context = (this as SourceSpanWithContext).context;
66 var lineStart = findLineStart(context, text, column); 66 var lineStart = findLineStart(context, text, column);
67 if (lineStart != null && lineStart > 0) { 67 if (lineStart != null && lineStart > 0) {
68 buffer.write(context.substring(0, lineStart)); 68 buffer.write(context.substring(0, lineStart));
69 context = context.substring(lineStart); 69 context = context.substring(lineStart);
70 } 70 }
71 var endIndex = context.indexOf('\n'); 71 var endIndex = context.indexOf('\n');
72 textLine = endIndex == -1 ? context : context.substring(0, endIndex + 1); 72 textLine = endIndex == -1 ? context : context.substring(0, endIndex + 1);
73 column = math.min(column, textLine.length - 1); 73 column = math.min(column, textLine.length);
74 } else { 74 } else {
75 textLine = text.split("\n").first; 75 textLine = text.split("\n").first;
76 column = 0; 76 column = 0;
77 } 77 }
78 78
79 var toColumn = 79 var toColumn =
80 math.min(column + end.offset - start.offset, textLine.length); 80 math.min(column + end.offset - start.offset, textLine.length);
81 if (color != null) { 81 if (color != null) {
82 buffer.write(textLine.substring(0, column)); 82 buffer.write(textLine.substring(0, column));
83 buffer.write(color); 83 buffer.write(color);
(...skipping 11 matching lines...) Expand all
95 return buffer.toString(); 95 return buffer.toString();
96 } 96 }
97 97
98 bool operator ==(other) => other is SourceSpan && 98 bool operator ==(other) => other is SourceSpan &&
99 start == other.start && end == other.end; 99 start == other.start && end == other.end;
100 100
101 int get hashCode => start.hashCode + (31 * end.hashCode); 101 int get hashCode => start.hashCode + (31 * end.hashCode);
102 102
103 String toString() => '<$runtimeType: from $start to $end "$text">'; 103 String toString() => '<$runtimeType: from $start to $end "$text">';
104 } 104 }
OLDNEW
« no previous file with comments | « CHANGELOG.md ('k') | pubspec.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698