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

Unified Diff: pkg/analyzer/lib/src/summary/format.dart

Issue 2223113002: Add line starts into unlinked units. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: tweaks Created 4 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 side-by-side diff with in-line comments
Download patch
Index: pkg/analyzer/lib/src/summary/format.dart
diff --git a/pkg/analyzer/lib/src/summary/format.dart b/pkg/analyzer/lib/src/summary/format.dart
index bc4d0ab38c3bc4abee0b703db196ea767a1f73da..be1de5469aec441fe7a762e6561fa2617fc1a872 100644
--- a/pkg/analyzer/lib/src/summary/format.dart
+++ b/pkg/analyzer/lib/src/summary/format.dart
@@ -8406,6 +8406,7 @@ class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements idl.
String _libraryName;
int _libraryNameLength;
int _libraryNameOffset;
+ List<int> _lineStarts;
List<UnlinkedPartBuilder> _parts;
UnlinkedPublicNamespaceBuilder _publicNamespace;
List<UnlinkedReferenceBuilder> _references;
@@ -8544,6 +8545,17 @@ class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements idl.
}
@override
+ List<int> get lineStarts => _lineStarts ??= <int>[];
+
+ /**
+ * Offsets of the first character of each line in the source code.
+ */
+ void set lineStarts(List<int> _value) {
+ assert(_value == null || _value.every((e) => e >= 0));
+ _lineStarts = _value;
+ }
+
+ @override
List<UnlinkedPartBuilder> get parts => _parts ??= <UnlinkedPartBuilder>[];
/**
@@ -8597,7 +8609,7 @@ class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements idl.
_variables = _value;
}
- UnlinkedUnitBuilder({List<UnlinkedClassBuilder> classes, CodeRangeBuilder codeRange, List<UnlinkedEnumBuilder> enums, List<UnlinkedExecutableBuilder> executables, List<UnlinkedExportNonPublicBuilder> exports, String fallbackModePath, List<UnlinkedImportBuilder> imports, List<UnlinkedConstBuilder> libraryAnnotations, UnlinkedDocumentationCommentBuilder libraryDocumentationComment, String libraryName, int libraryNameLength, int libraryNameOffset, List<UnlinkedPartBuilder> parts, UnlinkedPublicNamespaceBuilder publicNamespace, List<UnlinkedReferenceBuilder> references, List<UnlinkedTypedefBuilder> typedefs, List<UnlinkedVariableBuilder> variables})
+ UnlinkedUnitBuilder({List<UnlinkedClassBuilder> classes, CodeRangeBuilder codeRange, List<UnlinkedEnumBuilder> enums, List<UnlinkedExecutableBuilder> executables, List<UnlinkedExportNonPublicBuilder> exports, String fallbackModePath, List<UnlinkedImportBuilder> imports, List<UnlinkedConstBuilder> libraryAnnotations, UnlinkedDocumentationCommentBuilder libraryDocumentationComment, String libraryName, int libraryNameLength, int libraryNameOffset, List<int> lineStarts, List<UnlinkedPartBuilder> parts, UnlinkedPublicNamespaceBuilder publicNamespace, List<UnlinkedReferenceBuilder> references, List<UnlinkedTypedefBuilder> typedefs, List<UnlinkedVariableBuilder> variables})
: _classes = classes,
_codeRange = codeRange,
_enums = enums,
@@ -8610,6 +8622,7 @@ class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements idl.
_libraryName = libraryName,
_libraryNameLength = libraryNameLength,
_libraryNameOffset = libraryNameOffset,
+ _lineStarts = lineStarts,
_parts = parts,
_publicNamespace = publicNamespace,
_references = references,
@@ -8630,6 +8643,7 @@ class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements idl.
_libraryDocumentationComment = null;
_libraryNameLength = null;
_libraryNameOffset = null;
+ _lineStarts = null;
_parts?.forEach((b) => b.flushInformative());
_publicNamespace?.flushInformative();
_references?.forEach((b) => b.flushInformative());
@@ -8743,6 +8757,7 @@ class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements idl.
fb.Offset offset_libraryAnnotations;
fb.Offset offset_libraryDocumentationComment;
fb.Offset offset_libraryName;
+ fb.Offset offset_lineStarts;
fb.Offset offset_parts;
fb.Offset offset_publicNamespace;
fb.Offset offset_references;
@@ -8778,6 +8793,9 @@ class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements idl.
if (_libraryName != null) {
offset_libraryName = fbBuilder.writeString(_libraryName);
}
+ if (!(_lineStarts == null || _lineStarts.isEmpty)) {
+ offset_lineStarts = fbBuilder.writeListUint32(_lineStarts);
+ }
if (!(_parts == null || _parts.isEmpty)) {
offset_parts = fbBuilder.writeList(_parts.map((b) => b.finish(fbBuilder)).toList());
}
@@ -8830,6 +8848,9 @@ class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements idl.
if (_libraryNameOffset != null && _libraryNameOffset != 0) {
fbBuilder.addUint32(8, _libraryNameOffset);
}
+ if (offset_lineStarts != null) {
+ fbBuilder.addOffset(17, offset_lineStarts);
+ }
if (offset_parts != null) {
fbBuilder.addOffset(11, offset_parts);
}
@@ -8879,6 +8900,7 @@ class _UnlinkedUnitImpl extends Object with _UnlinkedUnitMixin implements idl.Un
String _libraryName;
int _libraryNameLength;
int _libraryNameOffset;
+ List<int> _lineStarts;
List<idl.UnlinkedPart> _parts;
idl.UnlinkedPublicNamespace _publicNamespace;
List<idl.UnlinkedReference> _references;
@@ -8958,6 +8980,12 @@ class _UnlinkedUnitImpl extends Object with _UnlinkedUnitMixin implements idl.Un
}
@override
+ List<int> get lineStarts {
+ _lineStarts ??= const fb.Uint32ListReader().vTableGet(_bc, _bcOffset, 17, const <int>[]);
+ return _lineStarts;
+ }
+
+ @override
List<idl.UnlinkedPart> get parts {
_parts ??= const fb.ListReader<idl.UnlinkedPart>(const _UnlinkedPartReader()).vTableGet(_bc, _bcOffset, 11, const <idl.UnlinkedPart>[]);
return _parts;
@@ -9004,6 +9032,7 @@ abstract class _UnlinkedUnitMixin implements idl.UnlinkedUnit {
if (libraryName != '') _result["libraryName"] = libraryName;
if (libraryNameLength != 0) _result["libraryNameLength"] = libraryNameLength;
if (libraryNameOffset != 0) _result["libraryNameOffset"] = libraryNameOffset;
+ if (lineStarts.isNotEmpty) _result["lineStarts"] = lineStarts;
if (parts.isNotEmpty) _result["parts"] = parts.map((_value) => _value.toJson()).toList();
if (publicNamespace != null) _result["publicNamespace"] = publicNamespace.toJson();
if (references.isNotEmpty) _result["references"] = references.map((_value) => _value.toJson()).toList();
@@ -9026,6 +9055,7 @@ abstract class _UnlinkedUnitMixin implements idl.UnlinkedUnit {
"libraryName": libraryName,
"libraryNameLength": libraryNameLength,
"libraryNameOffset": libraryNameOffset,
+ "lineStarts": lineStarts,
"parts": parts,
"publicNamespace": publicNamespace,
"references": references,

Powered by Google App Engine
This is Rietveld 408576698