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

Unified Diff: pkg/source_maps/lib/printer.dart

Issue 421723004: Remove support for the old Span classes from source_maps. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/source_maps/lib/parser.dart ('k') | pkg/source_maps/lib/refactor.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/source_maps/lib/printer.dart
diff --git a/pkg/source_maps/lib/printer.dart b/pkg/source_maps/lib/printer.dart
index aa18bd764243f2a712ec858619ea170f28b99b3f..906e260f8953860d544abb1b1253cd5eb1b62ac9 100644
--- a/pkg/source_maps/lib/printer.dart
+++ b/pkg/source_maps/lib/printer.dart
@@ -5,11 +5,10 @@
/// Contains a code printer that generates code by recording the source maps.
library source_maps.printer;
-import 'package:source_span/source_span.dart' as source_span;
+import 'package:source_span/source_span.dart';
import 'builder.dart';
-import 'span.dart';
-import 'src/span_wrapper.dart';
+import 'src/source_map_span.dart';
const int _LF = 10;
const int _CR = 13;
@@ -24,7 +23,7 @@ class Printer {
String get map => _maps.toJson(filename);
/// Current source location mapping.
- Location _loc;
+ SourceLocation _loc;
/// Current line in the buffer;
int _line = 0;
@@ -49,11 +48,12 @@ class Printer {
_line++;
_column = 0;
if (projectMarks && _loc != null) {
- if (_loc is FixedLocation) {
- mark(new FixedLocation(0, _loc.sourceUrl, _loc.line + 1, 0));
- } else if (_loc is FileLocation) {
+ if (_loc is FileLocation) {
var file = (_loc as FileLocation).file;
- mark(new FileLocation(file, file.getOffset(_loc.line + 1, 0)));
+ mark(file.location(file.getOffset(_loc.line + 1)));
+ } else {
+ mark(new SourceLocation(0,
+ sourceUrl: _loc.sourceUrl, line: _loc.line + 1, column: 0));
}
}
} else {
@@ -72,21 +72,23 @@ class Printer {
}
/// Marks that the current point in the target file corresponds to the [mark]
- /// in the source file, which can be either a [Location] or a [Span]. When the
- /// mark is an identifier's Span, this also records the name of the identifier
- /// in the source map information.
+ /// in the source file, which can be either a [SourceLocation] or a
+ /// [SourceSpan]. When the mark is a [SourceMapSpan] with `isIdentifier` set,
+ /// this also records the name of the identifier in the source map
+ /// information.
void mark(mark) {
var loc;
var identifier = null;
- if (mark is Location || mark is source_span.SourceLocation) {
- loc = LocationWrapper.wrap(mark);
- } else if (mark is Span || mark is source_span.SourceSpan) {
- mark = SpanWrapper.wrap(mark);
+ if (mark is SourceLocation) {
+ loc = mark;
+ } else if (mark is SourceSpan) {
loc = mark.start;
- if (mark.isIdentifier) identifier = mark.text;
+ if (mark is SourceMapSpan && mark.isIdentifier) identifier = mark.text;
}
- _maps.addLocation(loc,
- new FixedLocation(_buff.length, null, _line, _column), identifier);
+ _maps.addLocation(
+ loc,
+ new SourceLocation(_buff.length, line: _line, column: _column),
+ identifier);
_loc = loc;
}
}
@@ -101,7 +103,8 @@ class Printer {
class NestedPrinter implements NestedItem {
/// Items recoded by this printer, which can be [String] literals,
- /// [NestedItem]s, and source map information like [Location] and [Span].
+ /// [NestedItem]s, and source map information like [SourceLocation] and
+ /// [SourceSpan].
List _items = [];
/// Internal buffer to merge consecutive strings added to this printer.
@@ -128,19 +131,16 @@ class NestedPrinter implements NestedItem {
/// location of [object] in the original input. Only one, [location] or
/// [span], should be provided at a time.
///
- /// [location] can be either a [Location] or a [SourceLocation]. [span] can be
- /// either a [Span] or a [SourceSpan]. Using a [Location] or a [Span] is
- /// deprecated and will be unsupported in version 0.10.0.
- ///
/// Indicate [isOriginal] when [object] is copied directly from the user code.
/// Setting [isOriginal] will make this printer propagate source map locations
/// on every line-break.
- void add(object, {location, span, bool isOriginal: false}) {
+ void add(object, {SourceLocation location, SourceSpan span,
+ bool isOriginal: false}) {
if (object is! String || location != null || span != null || isOriginal) {
_flush();
assert(location == null || span == null);
- if (location != null) _items.add(LocationWrapper.wrap(location));
- if (span != null) _items.add(SpanWrapper.wrap(span));
+ if (location != null) _items.add(location);
+ if (span != null) _items.add(span);
if (isOriginal) _items.add(_ORIGINAL);
}
@@ -164,16 +164,12 @@ class NestedPrinter implements NestedItem {
/// The [location] and [span] parameters indicate the corresponding source map
/// location of [object] in the original input. Only one, [location] or
/// [span], should be provided at a time.
- ///
- /// [location] can be either a [Location] or a [SourceLocation]. [span] can be
- /// either a [Span] or a [SourceSpan]. Using a [Location] or a [Span] is
- /// deprecated and will be unsupported in version 0.10.0.
- void addLine(String line, {location, span}) {
+ void addLine(String line, {SourceLocation location, SourceSpan span}) {
if (location != null || span != null) {
_flush();
assert(location == null || span == null);
- if (location != null) _items.add(LocationWrapper.wrap(location));
- if (span != null) _items.add(SpanWrapper.wrap(span));
+ if (location != null) _items.add(location);
+ if (span != null) _items.add(span);
}
if (line == null) return;
if (line != '') {
@@ -235,7 +231,7 @@ class NestedPrinter implements NestedItem {
} else if (item is String) {
printer.add(item, projectMarks: propagate);
propagate = false;
- } else if (item is Location || item is Span) {
+ } else if (item is SourceLocation || item is SourceSpan) {
printer.mark(item);
} else if (item == _ORIGINAL) {
// we insert booleans when we are about to quote text that was copied
« no previous file with comments | « pkg/source_maps/lib/parser.dart ('k') | pkg/source_maps/lib/refactor.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698