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

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

Issue 1569033002: Add Element.nameOffset and LibraryElement.nameLength to summaries. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 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/summarize_elements.dart
diff --git a/pkg/analyzer/lib/src/summary/summarize_elements.dart b/pkg/analyzer/lib/src/summary/summarize_elements.dart
index b2e073986ffc95a547f6b8ec549158b629a30b70..5215c81f49d0cc96cf308f7714c5c72735f3be24 100644
--- a/pkg/analyzer/lib/src/summary/summarize_elements.dart
+++ b/pkg/analyzer/lib/src/summary/summarize_elements.dart
@@ -205,6 +205,8 @@ class _LibrarySerializer {
if (unitNum == 0) {
if (libraryElement.name.isNotEmpty) {
b.libraryName = libraryElement.name;
+ b.libraryNameOffset = libraryElement.nameOffset;
+ b.libraryNameLength = libraryElement.nameLength;
}
b.publicNamespace = encodeUnlinkedPublicNamespace(ctx,
exports: libraryElement.exports.map(serializeExportPublic).toList(),
@@ -307,6 +309,7 @@ class _LibrarySerializer {
UnlinkedClassBuilder serializeClass(ClassElement classElement) {
UnlinkedClassBuilder b = new UnlinkedClassBuilder(ctx);
b.name = classElement.name;
+ b.nameOffset = classElement.nameOffset;
b.typeParameters =
classElement.typeParameters.map(serializeTypeParam).toList();
if (classElement.supertype == null) {
@@ -388,10 +391,12 @@ class _LibrarySerializer {
UnlinkedEnumBuilder serializeEnum(ClassElement enumElement) {
UnlinkedEnumBuilder b = new UnlinkedEnumBuilder(ctx);
b.name = enumElement.name;
+ b.nameOffset = enumElement.nameOffset;
List<UnlinkedEnumValueBuilder> values = <UnlinkedEnumValueBuilder>[];
for (FieldElement field in enumElement.fields) {
if (field.isConst && field.type.element == enumElement) {
- values.add(encodeUnlinkedEnumValue(ctx, name: field.name));
+ values.add(encodeUnlinkedEnumValue(ctx,
+ name: field.name, nameOffset: field.nameOffset));
}
}
b.values = values;
@@ -405,6 +410,7 @@ class _LibrarySerializer {
ExecutableElement executableElement) {
UnlinkedExecutableBuilder b = new UnlinkedExecutableBuilder(ctx);
b.name = executableElement.name;
+ b.nameOffset = executableElement.nameOffset;
if (executableElement is! ConstructorElement &&
!executableElement.type.returnType.isVoid) {
b.returnType = serializeTypeRef(
@@ -441,6 +447,7 @@ class _LibrarySerializer {
UnlinkedExportNonPublicBuilder serializeExportNonPublic(
ExportElement exportElement) {
UnlinkedExportNonPublicBuilder b = new UnlinkedExportNonPublicBuilder(ctx);
+ b.offset = exportElement.nameOffset;
b.uriOffset = exportElement.uriOffset;
b.uriEnd = exportElement.uriEnd;
return b;
@@ -468,6 +475,7 @@ class _LibrarySerializer {
b.combinators = importElement.combinators.map(serializeCombinator).toList();
if (importElement.prefix != null) {
b.prefixReference = serializePrefix(importElement.prefix);
+ b.prefixOffset = importElement.prefix.nameOffset;
}
if (importElement.isSynthetic) {
b.isImplicit = true;
@@ -508,6 +516,7 @@ class _LibrarySerializer {
context ??= parameter;
UnlinkedParamBuilder b = new UnlinkedParamBuilder(ctx);
b.name = parameter.name;
+ b.nameOffset = parameter.nameOffset;
switch (parameter.parameterKind) {
case ParameterKind.REQUIRED:
b.kind = UnlinkedParamKind.required;
@@ -557,6 +566,7 @@ class _LibrarySerializer {
FunctionTypeAliasElement typedefElement) {
UnlinkedTypedefBuilder b = new UnlinkedTypedefBuilder(ctx);
b.name = typedefElement.name;
+ b.nameOffset = typedefElement.nameOffset;
b.typeParameters =
typedefElement.typeParameters.map(serializeTypeParam).toList();
if (!typedefElement.returnType.isVoid) {
@@ -574,6 +584,7 @@ class _LibrarySerializer {
TypeParameterElement typeParameter) {
UnlinkedTypeParamBuilder b = new UnlinkedTypeParamBuilder(ctx);
b.name = typeParameter.name;
+ b.nameOffset = typeParameter.nameOffset;
if (typeParameter.bound != null) {
b.bound = serializeTypeRef(typeParameter.bound, typeParameter);
}
@@ -664,6 +675,7 @@ class _LibrarySerializer {
UnlinkedVariableBuilder serializeVariable(PropertyInducingElement variable) {
UnlinkedVariableBuilder b = new UnlinkedVariableBuilder(ctx);
b.name = variable.name;
+ b.nameOffset = variable.nameOffset;
b.type = serializeTypeRef(variable.type, variable);
b.isStatic = variable.isStatic && variable.enclosingElement is ClassElement;
b.isFinal = variable.isFinal;
« no previous file with comments | « pkg/analyzer/lib/src/summary/resynthesize.dart ('k') | pkg/analyzer/test/src/summary/resynthesize_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698