Write / read codeOffset and codeLength for elements.
R=brianwilkerson@google.com
Change-Id: Id1d91a53ce2db797ffa3cac340056ca9d466221e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97740
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index a32a6e6..3f80078 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -519,6 +519,9 @@
@override
int get codeLength {
+ if (linkedNode != null) {
+ return linkedNode.codeLength;
+ }
if (_unlinkedClass != null) {
return _unlinkedClass.codeRange?.length;
}
@@ -527,6 +530,9 @@
@override
int get codeOffset {
+ if (linkedNode != null) {
+ return linkedNode.codeOffset;
+ }
if (_unlinkedClass != null) {
return _unlinkedClass.codeRange?.offset;
}
@@ -3910,6 +3916,9 @@
@override
int get codeLength {
+ if (linkedNode != null) {
+ return linkedNode.codeLength;
+ }
if (_unlinkedEnum != null) {
return _unlinkedEnum.codeRange?.length;
}
@@ -3918,6 +3927,9 @@
@override
int get codeOffset {
+ if (linkedNode != null) {
+ return linkedNode.codeOffset;
+ }
if (_unlinkedEnum != null) {
return _unlinkedEnum.codeRange?.offset;
}
@@ -4219,6 +4231,9 @@
@override
int get codeLength {
+ if (linkedNode != null) {
+ return linkedNode.codeLength;
+ }
if (serializedExecutable != null) {
return serializedExecutable.codeRange?.length;
}
@@ -4227,6 +4242,9 @@
@override
int get codeOffset {
+ if (linkedNode != null) {
+ return linkedNode.codeOffset;
+ }
if (serializedExecutable != null) {
return serializedExecutable.codeRange?.offset;
}
@@ -5365,6 +5383,9 @@
@override
int get codeLength {
+ if (linkedNode != null) {
+ return linkedNode.codeLength;
+ }
if (_unlinkedTypedef != null) {
return _unlinkedTypedef.codeRange?.length;
}
@@ -5373,6 +5394,9 @@
@override
int get codeOffset {
+ if (linkedNode != null) {
+ return linkedNode.codeOffset;
+ }
if (_unlinkedTypedef != null) {
return _unlinkedTypedef.codeRange?.offset;
}
@@ -7501,6 +7525,9 @@
@override
int get codeLength {
+ if (linkedNode != null) {
+ return linkedNode.codeLength;
+ }
if (_unlinkedVariable != null) {
return _unlinkedVariable.codeRange?.length;
}
@@ -7509,6 +7536,9 @@
@override
int get codeOffset {
+ if (linkedNode != null) {
+ return linkedNode.codeOffset;
+ }
if (_unlinkedVariable != null) {
return _unlinkedVariable.codeRange?.offset;
}
@@ -7764,6 +7794,9 @@
@override
int get codeLength {
+ if (linkedNode != null) {
+ return linkedNode.codeLength;
+ }
if (unlinkedParam != null) {
return unlinkedParam.codeRange?.length;
}
@@ -7772,6 +7805,9 @@
@override
int get codeOffset {
+ if (linkedNode != null) {
+ return linkedNode.codeOffset;
+ }
if (unlinkedParam != null) {
return unlinkedParam.codeRange?.offset;
}
@@ -8965,6 +9001,9 @@
@override
int get codeLength {
+ if (linkedNode != null) {
+ return linkedNode.codeLength;
+ }
if (_unlinkedTypeParam != null) {
return _unlinkedTypeParam.codeRange?.length;
}
@@ -8973,6 +9012,9 @@
@override
int get codeOffset {
+ if (linkedNode != null) {
+ return linkedNode.codeOffset;
+ }
if (_unlinkedTypeParam != null) {
return _unlinkedTypeParam.codeRange?.offset;
}
diff --git a/pkg/analyzer/lib/src/summary/format.dart b/pkg/analyzer/lib/src/summary/format.dart
index 039749e..340800f 100644
--- a/pkg/analyzer/lib/src/summary/format.dart
+++ b/pkg/analyzer/lib/src/summary/format.dart
@@ -4556,11 +4556,12 @@
LinkedNodeBuilder _variantField_12;
List<LinkedNodeBuilder> _variantField_5;
LinkedNodeBuilder _variantField_13;
+ int _variantField_34;
+ int _variantField_33;
List<int> _variantField_28;
idl.LinkedNodeCommentType _variantField_29;
List<LinkedNodeBuilder> _variantField_3;
LinkedNodeBuilder _variantField_10;
- int _variantField_33;
double _variantField_21;
LinkedNodeTypeBuilder _variantField_25;
idl.LinkedNodeFormalParameterKind _variantField_26;
@@ -9274,6 +9275,106 @@
}
@override
+ int get codeLength {
+ assert(kind == idl.LinkedNodeKind.classDeclaration ||
+ kind == idl.LinkedNodeKind.classTypeAlias ||
+ kind == idl.LinkedNodeKind.constructorDeclaration ||
+ kind == idl.LinkedNodeKind.defaultFormalParameter ||
+ kind == idl.LinkedNodeKind.enumDeclaration ||
+ kind == idl.LinkedNodeKind.fieldFormalParameter ||
+ kind == idl.LinkedNodeKind.functionDeclaration ||
+ kind == idl.LinkedNodeKind.functionTypeAlias ||
+ kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
+ kind == idl.LinkedNodeKind.genericTypeAlias ||
+ kind == idl.LinkedNodeKind.methodDeclaration ||
+ kind == idl.LinkedNodeKind.mixinDeclaration ||
+ kind == idl.LinkedNodeKind.simpleFormalParameter ||
+ kind == idl.LinkedNodeKind.typeParameter ||
+ kind == idl.LinkedNodeKind.variableDeclaration);
+ return _variantField_34 ??= 0;
+ }
+
+ void set codeLength(int value) {
+ assert(kind == idl.LinkedNodeKind.classDeclaration ||
+ kind == idl.LinkedNodeKind.classTypeAlias ||
+ kind == idl.LinkedNodeKind.constructorDeclaration ||
+ kind == idl.LinkedNodeKind.defaultFormalParameter ||
+ kind == idl.LinkedNodeKind.enumDeclaration ||
+ kind == idl.LinkedNodeKind.fieldFormalParameter ||
+ kind == idl.LinkedNodeKind.functionDeclaration ||
+ kind == idl.LinkedNodeKind.functionTypeAlias ||
+ kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
+ kind == idl.LinkedNodeKind.genericTypeAlias ||
+ kind == idl.LinkedNodeKind.methodDeclaration ||
+ kind == idl.LinkedNodeKind.mixinDeclaration ||
+ kind == idl.LinkedNodeKind.simpleFormalParameter ||
+ kind == idl.LinkedNodeKind.typeParameter ||
+ kind == idl.LinkedNodeKind.variableDeclaration);
+ assert(value == null || value >= 0);
+ _variantField_34 = value;
+ }
+
+ @override
+ int get codeOffset {
+ assert(kind == idl.LinkedNodeKind.classDeclaration ||
+ kind == idl.LinkedNodeKind.classTypeAlias ||
+ kind == idl.LinkedNodeKind.constructorDeclaration ||
+ kind == idl.LinkedNodeKind.defaultFormalParameter ||
+ kind == idl.LinkedNodeKind.enumDeclaration ||
+ kind == idl.LinkedNodeKind.fieldFormalParameter ||
+ kind == idl.LinkedNodeKind.functionDeclaration ||
+ kind == idl.LinkedNodeKind.functionTypeAlias ||
+ kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
+ kind == idl.LinkedNodeKind.genericTypeAlias ||
+ kind == idl.LinkedNodeKind.methodDeclaration ||
+ kind == idl.LinkedNodeKind.mixinDeclaration ||
+ kind == idl.LinkedNodeKind.simpleFormalParameter ||
+ kind == idl.LinkedNodeKind.typeParameter ||
+ kind == idl.LinkedNodeKind.variableDeclaration);
+ return _variantField_33 ??= 0;
+ }
+
+ @override
+ int get directive_semicolon {
+ assert(kind == idl.LinkedNodeKind.exportDirective ||
+ kind == idl.LinkedNodeKind.importDirective ||
+ kind == idl.LinkedNodeKind.libraryDirective ||
+ kind == idl.LinkedNodeKind.partDirective ||
+ kind == idl.LinkedNodeKind.partOfDirective);
+ return _variantField_33 ??= 0;
+ }
+
+ void set codeOffset(int value) {
+ assert(kind == idl.LinkedNodeKind.classDeclaration ||
+ kind == idl.LinkedNodeKind.classTypeAlias ||
+ kind == idl.LinkedNodeKind.constructorDeclaration ||
+ kind == idl.LinkedNodeKind.defaultFormalParameter ||
+ kind == idl.LinkedNodeKind.enumDeclaration ||
+ kind == idl.LinkedNodeKind.fieldFormalParameter ||
+ kind == idl.LinkedNodeKind.functionDeclaration ||
+ kind == idl.LinkedNodeKind.functionTypeAlias ||
+ kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
+ kind == idl.LinkedNodeKind.genericTypeAlias ||
+ kind == idl.LinkedNodeKind.methodDeclaration ||
+ kind == idl.LinkedNodeKind.mixinDeclaration ||
+ kind == idl.LinkedNodeKind.simpleFormalParameter ||
+ kind == idl.LinkedNodeKind.typeParameter ||
+ kind == idl.LinkedNodeKind.variableDeclaration);
+ assert(value == null || value >= 0);
+ _variantField_33 = value;
+ }
+
+ void set directive_semicolon(int value) {
+ assert(kind == idl.LinkedNodeKind.exportDirective ||
+ kind == idl.LinkedNodeKind.importDirective ||
+ kind == idl.LinkedNodeKind.libraryDirective ||
+ kind == idl.LinkedNodeKind.partDirective ||
+ kind == idl.LinkedNodeKind.partOfDirective);
+ assert(value == null || value >= 0);
+ _variantField_33 = value;
+ }
+
+ @override
List<int> get comment_tokens {
assert(kind == idl.LinkedNodeKind.comment);
return _variantField_28 ??= <int>[];
@@ -9368,26 +9469,6 @@
}
@override
- int get directive_semicolon {
- assert(kind == idl.LinkedNodeKind.exportDirective ||
- kind == idl.LinkedNodeKind.importDirective ||
- kind == idl.LinkedNodeKind.libraryDirective ||
- kind == idl.LinkedNodeKind.partDirective ||
- kind == idl.LinkedNodeKind.partOfDirective);
- return _variantField_33 ??= 0;
- }
-
- void set directive_semicolon(int value) {
- assert(kind == idl.LinkedNodeKind.exportDirective ||
- kind == idl.LinkedNodeKind.importDirective ||
- kind == idl.LinkedNodeKind.libraryDirective ||
- kind == idl.LinkedNodeKind.partDirective ||
- kind == idl.LinkedNodeKind.partOfDirective);
- assert(value == null || value >= 0);
- _variantField_33 = value;
- }
-
- @override
double get doubleLiteral_value {
assert(kind == idl.LinkedNodeKind.doubleLiteral);
return _variantField_21 ??= 0.0;
@@ -9727,6 +9808,8 @@
int constructorDeclaration_period,
int constructorDeclaration_separator,
LinkedNodeBuilder constructorDeclaration_redirectedConstructor,
+ int codeLength,
+ int codeOffset,
LinkedNodeBuilder constructorDeclaration_returnType,
}) : _kind = idl.LinkedNodeKind.constructorDeclaration,
_variantField_2 = constructorDeclaration_initializers,
@@ -9741,6 +9824,8 @@
_variantField_18 = constructorDeclaration_period,
_variantField_19 = constructorDeclaration_separator,
_variantField_9 = constructorDeclaration_redirectedConstructor,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_10 = constructorDeclaration_returnType;
LinkedNodeBuilder.dottedName({
@@ -9755,6 +9840,8 @@
int enumDeclaration_enumKeyword,
int enumDeclaration_leftBracket,
int enumDeclaration_rightBracket,
+ int codeLength,
+ int codeOffset,
LinkedNodeBuilder namedCompilationUnitMember_name,
}) : _kind = idl.LinkedNodeKind.enumDeclaration,
_variantField_2 = enumDeclaration_constants,
@@ -9763,6 +9850,8 @@
_variantField_15 = enumDeclaration_enumKeyword,
_variantField_16 = enumDeclaration_leftBracket,
_variantField_17 = enumDeclaration_rightBracket,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_14 = namedCompilationUnitMember_name;
LinkedNodeBuilder.formalParameterList({
@@ -9825,8 +9914,8 @@
List<LinkedNodeBuilder> annotatedNode_metadata,
int directive_keyword,
int uriBasedDirective_uriElement,
- List<LinkedNodeBuilder> namespaceDirective_configurations,
int directive_semicolon,
+ List<LinkedNodeBuilder> namespaceDirective_configurations,
LinkedNodeBuilder uriBasedDirective_uri,
String namespaceDirective_selectedUriContent,
String uriBasedDirective_uriContent,
@@ -9836,8 +9925,8 @@
_variantField_4 = annotatedNode_metadata,
_variantField_18 = directive_keyword,
_variantField_19 = uriBasedDirective_uriElement,
- _variantField_3 = namespaceDirective_configurations,
_variantField_33 = directive_semicolon,
+ _variantField_3 = namespaceDirective_configurations,
_variantField_14 = uriBasedDirective_uri,
_variantField_23 = namespaceDirective_selectedUriContent,
_variantField_22 = uriBasedDirective_uriContent;
@@ -9851,8 +9940,8 @@
int importDirective_deferredKeyword,
int directive_keyword,
int uriBasedDirective_uriElement,
- List<LinkedNodeBuilder> namespaceDirective_configurations,
int directive_semicolon,
+ List<LinkedNodeBuilder> namespaceDirective_configurations,
LinkedNodeBuilder uriBasedDirective_uri,
String namespaceDirective_selectedUriContent,
String uriBasedDirective_uriContent,
@@ -9865,8 +9954,8 @@
_variantField_16 = importDirective_deferredKeyword,
_variantField_18 = directive_keyword,
_variantField_19 = uriBasedDirective_uriElement,
- _variantField_3 = namespaceDirective_configurations,
_variantField_33 = directive_semicolon,
+ _variantField_3 = namespaceDirective_configurations,
_variantField_14 = uriBasedDirective_uri,
_variantField_23 = namespaceDirective_selectedUriContent,
_variantField_22 = uriBasedDirective_uriContent;
@@ -9993,6 +10082,8 @@
LinkedNodeBuilder classOrMixinDeclaration_implementsClause,
List<LinkedNodeBuilder> classOrMixinDeclaration_members,
LinkedNodeBuilder classOrMixinDeclaration_typeParameters,
+ int codeLength,
+ int codeOffset,
LinkedNodeBuilder namedCompilationUnitMember_name,
}) : _kind = idl.LinkedNodeKind.classDeclaration,
_variantField_11 = annotatedNode_comment,
@@ -10008,6 +10099,8 @@
_variantField_12 = classOrMixinDeclaration_implementsClause,
_variantField_5 = classOrMixinDeclaration_members,
_variantField_13 = classOrMixinDeclaration_typeParameters,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_14 = namedCompilationUnitMember_name;
LinkedNodeBuilder.classTypeAlias({
@@ -10021,6 +10114,8 @@
int typeAlias_typedefKeyword,
int typeAlias_semicolon,
LinkedNodeBuilder classTypeAlias_implementsClause,
+ int codeLength,
+ int codeOffset,
LinkedNodeBuilder namedCompilationUnitMember_name,
}) : _kind = idl.LinkedNodeKind.classTypeAlias,
_variantField_11 = annotatedNode_comment,
@@ -10033,6 +10128,8 @@
_variantField_18 = typeAlias_typedefKeyword,
_variantField_19 = typeAlias_semicolon,
_variantField_9 = classTypeAlias_implementsClause,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_14 = namedCompilationUnitMember_name;
LinkedNodeBuilder.declaredIdentifier({
@@ -10080,6 +10177,8 @@
LinkedNodeBuilder functionDeclaration_returnType,
int functionDeclaration_propertyKeyword,
LinkedNodeTypeBuilder functionDeclaration_returnType2,
+ int codeLength,
+ int codeOffset,
LinkedNodeBuilder namedCompilationUnitMember_name,
}) : _kind = idl.LinkedNodeKind.functionDeclaration,
_variantField_11 = annotatedNode_comment,
@@ -10089,6 +10188,8 @@
_variantField_7 = functionDeclaration_returnType,
_variantField_16 = functionDeclaration_propertyKeyword,
_variantField_24 = functionDeclaration_returnType2,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_14 = namedCompilationUnitMember_name;
LinkedNodeBuilder.functionTypeAlias({
@@ -10100,6 +10201,8 @@
int typeAlias_typedefKeyword,
int typeAlias_semicolon,
LinkedNodeTypeBuilder functionTypeAlias_returnType2,
+ int codeLength,
+ int codeOffset,
LinkedNodeBuilder namedCompilationUnitMember_name,
}) : _kind = idl.LinkedNodeKind.functionTypeAlias,
_variantField_11 = annotatedNode_comment,
@@ -10110,6 +10213,8 @@
_variantField_18 = typeAlias_typedefKeyword,
_variantField_19 = typeAlias_semicolon,
_variantField_24 = functionTypeAlias_returnType2,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_14 = namedCompilationUnitMember_name;
LinkedNodeBuilder.genericTypeAlias({
@@ -10120,6 +10225,8 @@
int genericTypeAlias_equals,
int typeAlias_typedefKeyword,
int typeAlias_semicolon,
+ int codeLength,
+ int codeOffset,
LinkedNodeBuilder namedCompilationUnitMember_name,
}) : _kind = idl.LinkedNodeKind.genericTypeAlias,
_variantField_11 = annotatedNode_comment,
@@ -10129,6 +10236,8 @@
_variantField_16 = genericTypeAlias_equals,
_variantField_18 = typeAlias_typedefKeyword,
_variantField_19 = typeAlias_semicolon,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_14 = namedCompilationUnitMember_name;
LinkedNodeBuilder.libraryDirective({
@@ -10157,6 +10266,8 @@
int methodDeclaration_actualProperty,
LinkedNodeTypeBuilder methodDeclaration_returnType2,
LinkedNodeBuilder methodDeclaration_typeParameters,
+ int codeLength,
+ int codeOffset,
LinkedNodeBuilder methodDeclaration_name,
}) : _kind = idl.LinkedNodeKind.methodDeclaration,
_variantField_11 = annotatedNode_comment,
@@ -10171,6 +10282,8 @@
_variantField_19 = methodDeclaration_actualProperty,
_variantField_24 = methodDeclaration_returnType2,
_variantField_9 = methodDeclaration_typeParameters,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_10 = methodDeclaration_name;
LinkedNodeBuilder.mixinDeclaration({
@@ -10183,6 +10296,8 @@
LinkedNodeBuilder classOrMixinDeclaration_implementsClause,
List<LinkedNodeBuilder> classOrMixinDeclaration_members,
LinkedNodeBuilder classOrMixinDeclaration_typeParameters,
+ int codeLength,
+ int codeOffset,
LinkedNodeBuilder namedCompilationUnitMember_name,
}) : _kind = idl.LinkedNodeKind.mixinDeclaration,
_variantField_11 = annotatedNode_comment,
@@ -10194,6 +10309,8 @@
_variantField_12 = classOrMixinDeclaration_implementsClause,
_variantField_5 = classOrMixinDeclaration_members,
_variantField_13 = classOrMixinDeclaration_typeParameters,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_14 = namedCompilationUnitMember_name;
LinkedNodeBuilder.partDirective({
@@ -10251,12 +10368,16 @@
LinkedNodeBuilder typeParameter_bound,
int typeParameter_extendsKeyword,
LinkedNodeBuilder typeParameter_name,
+ int codeLength,
+ int codeOffset,
}) : _kind = idl.LinkedNodeKind.typeParameter,
_variantField_11 = annotatedNode_comment,
_variantField_4 = annotatedNode_metadata,
_variantField_6 = typeParameter_bound,
_variantField_15 = typeParameter_extendsKeyword,
- _variantField_7 = typeParameter_name;
+ _variantField_7 = typeParameter_name,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset;
LinkedNodeBuilder.variableDeclaration({
LinkedNodeBuilder annotatedNode_comment,
@@ -10265,6 +10386,8 @@
int variableDeclaration_equals,
LinkedNodeBuilder variableDeclaration_name,
LinkedNodeTypeBuilder variableDeclaration_type2,
+ int codeLength,
+ int codeOffset,
LinkedNodeVariablesDeclarationBuilder variableDeclaration_declaration,
}) : _kind = idl.LinkedNodeKind.variableDeclaration,
_variantField_11 = annotatedNode_comment,
@@ -10273,6 +10396,8 @@
_variantField_15 = variableDeclaration_equals,
_variantField_7 = variableDeclaration_name,
_variantField_24 = variableDeclaration_type2,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_32 = variableDeclaration_declaration;
LinkedNodeBuilder.fieldFormalParameter({
@@ -10287,6 +10412,8 @@
LinkedNodeTypeBuilder fieldFormalParameter_type2,
bool normalFormalParameter_isCovariant,
LinkedNodeBuilder normalFormalParameter_identifier,
+ int codeLength,
+ int codeOffset,
idl.LinkedNodeFormalParameterKind formalParameter_kind,
LinkedNodeBuilder normalFormalParameter_comment,
}) : _kind = idl.LinkedNodeKind.fieldFormalParameter,
@@ -10301,6 +10428,8 @@
_variantField_24 = fieldFormalParameter_type2,
_variantField_27 = normalFormalParameter_isCovariant,
_variantField_12 = normalFormalParameter_identifier,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_26 = formalParameter_kind,
_variantField_14 = normalFormalParameter_comment;
@@ -10312,6 +10441,8 @@
int normalFormalParameter_covariantKeyword,
bool normalFormalParameter_isCovariant,
LinkedNodeBuilder normalFormalParameter_identifier,
+ int codeLength,
+ int codeOffset,
idl.LinkedNodeFormalParameterKind formalParameter_kind,
LinkedNodeBuilder normalFormalParameter_comment,
}) : _kind = idl.LinkedNodeKind.functionTypedFormalParameter,
@@ -10322,6 +10453,8 @@
_variantField_19 = normalFormalParameter_covariantKeyword,
_variantField_27 = normalFormalParameter_isCovariant,
_variantField_12 = normalFormalParameter_identifier,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_26 = formalParameter_kind,
_variantField_14 = normalFormalParameter_comment;
@@ -10333,6 +10466,8 @@
LinkedNodeTypeBuilder simpleFormalParameter_type2,
bool normalFormalParameter_isCovariant,
LinkedNodeBuilder normalFormalParameter_identifier,
+ int codeLength,
+ int codeOffset,
idl.LinkedNodeFormalParameterKind formalParameter_kind,
LinkedNodeBuilder normalFormalParameter_comment,
}) : _kind = idl.LinkedNodeKind.simpleFormalParameter,
@@ -10343,6 +10478,8 @@
_variantField_24 = simpleFormalParameter_type2,
_variantField_27 = normalFormalParameter_isCovariant,
_variantField_12 = normalFormalParameter_identifier,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset,
_variantField_26 = formalParameter_kind,
_variantField_14 = normalFormalParameter_comment;
@@ -10572,11 +10709,15 @@
int defaultFormalParameter_separator,
LinkedNodeBuilder defaultFormalParameter_parameter,
bool defaultFormalParameter_isNamed,
+ int codeLength,
+ int codeOffset,
}) : _kind = idl.LinkedNodeKind.defaultFormalParameter,
_variantField_6 = defaultFormalParameter_defaultValue,
_variantField_15 = defaultFormalParameter_separator,
_variantField_7 = defaultFormalParameter_parameter,
- _variantField_27 = defaultFormalParameter_isNamed;
+ _variantField_27 = defaultFormalParameter_isNamed,
+ _variantField_34 = codeLength,
+ _variantField_33 = codeOffset;
LinkedNodeBuilder.doStatement({
LinkedNodeBuilder doStatement_body,
@@ -11252,6 +11393,7 @@
signature.addBool(this._variantField_32 != null);
this._variantField_32?.collectApiSignature(signature);
signature.addInt(this._variantField_33 ?? 0);
+ signature.addInt(this._variantField_34 ?? 0);
}
fb.Offset finish(fb.Builder fbBuilder) {
@@ -11395,6 +11537,12 @@
if (offset_variantField_13 != null) {
fbBuilder.addOffset(13, offset_variantField_13);
}
+ if (_variantField_34 != null && _variantField_34 != 0) {
+ fbBuilder.addUint32(34, _variantField_34);
+ }
+ if (_variantField_33 != null && _variantField_33 != 0) {
+ fbBuilder.addUint32(33, _variantField_33);
+ }
if (offset_variantField_28 != null) {
fbBuilder.addOffset(28, offset_variantField_28);
}
@@ -11408,9 +11556,6 @@
if (offset_variantField_10 != null) {
fbBuilder.addOffset(10, offset_variantField_10);
}
- if (_variantField_33 != null && _variantField_33 != 0) {
- fbBuilder.addUint32(33, _variantField_33);
- }
if (_variantField_21 != null && _variantField_21 != 0.0) {
fbBuilder.addFloat64(21, _variantField_21);
}
@@ -11485,11 +11630,12 @@
idl.LinkedNode _variantField_12;
List<idl.LinkedNode> _variantField_5;
idl.LinkedNode _variantField_13;
+ int _variantField_34;
+ int _variantField_33;
List<int> _variantField_28;
idl.LinkedNodeCommentType _variantField_29;
List<idl.LinkedNode> _variantField_3;
idl.LinkedNode _variantField_10;
- int _variantField_33;
double _variantField_21;
idl.LinkedNodeType _variantField_25;
idl.LinkedNodeFormalParameterKind _variantField_26;
@@ -14766,6 +14912,62 @@
}
@override
+ int get codeLength {
+ assert(kind == idl.LinkedNodeKind.classDeclaration ||
+ kind == idl.LinkedNodeKind.classTypeAlias ||
+ kind == idl.LinkedNodeKind.constructorDeclaration ||
+ kind == idl.LinkedNodeKind.defaultFormalParameter ||
+ kind == idl.LinkedNodeKind.enumDeclaration ||
+ kind == idl.LinkedNodeKind.fieldFormalParameter ||
+ kind == idl.LinkedNodeKind.functionDeclaration ||
+ kind == idl.LinkedNodeKind.functionTypeAlias ||
+ kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
+ kind == idl.LinkedNodeKind.genericTypeAlias ||
+ kind == idl.LinkedNodeKind.methodDeclaration ||
+ kind == idl.LinkedNodeKind.mixinDeclaration ||
+ kind == idl.LinkedNodeKind.simpleFormalParameter ||
+ kind == idl.LinkedNodeKind.typeParameter ||
+ kind == idl.LinkedNodeKind.variableDeclaration);
+ _variantField_34 ??=
+ const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 34, 0);
+ return _variantField_34;
+ }
+
+ @override
+ int get codeOffset {
+ assert(kind == idl.LinkedNodeKind.classDeclaration ||
+ kind == idl.LinkedNodeKind.classTypeAlias ||
+ kind == idl.LinkedNodeKind.constructorDeclaration ||
+ kind == idl.LinkedNodeKind.defaultFormalParameter ||
+ kind == idl.LinkedNodeKind.enumDeclaration ||
+ kind == idl.LinkedNodeKind.fieldFormalParameter ||
+ kind == idl.LinkedNodeKind.functionDeclaration ||
+ kind == idl.LinkedNodeKind.functionTypeAlias ||
+ kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
+ kind == idl.LinkedNodeKind.genericTypeAlias ||
+ kind == idl.LinkedNodeKind.methodDeclaration ||
+ kind == idl.LinkedNodeKind.mixinDeclaration ||
+ kind == idl.LinkedNodeKind.simpleFormalParameter ||
+ kind == idl.LinkedNodeKind.typeParameter ||
+ kind == idl.LinkedNodeKind.variableDeclaration);
+ _variantField_33 ??=
+ const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 33, 0);
+ return _variantField_33;
+ }
+
+ @override
+ int get directive_semicolon {
+ assert(kind == idl.LinkedNodeKind.exportDirective ||
+ kind == idl.LinkedNodeKind.importDirective ||
+ kind == idl.LinkedNodeKind.libraryDirective ||
+ kind == idl.LinkedNodeKind.partDirective ||
+ kind == idl.LinkedNodeKind.partOfDirective);
+ _variantField_33 ??=
+ const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 33, 0);
+ return _variantField_33;
+ }
+
+ @override
List<int> get comment_tokens {
assert(kind == idl.LinkedNodeKind.comment);
_variantField_28 ??= const fb.Uint32ListReader()
@@ -14835,18 +15037,6 @@
}
@override
- int get directive_semicolon {
- assert(kind == idl.LinkedNodeKind.exportDirective ||
- kind == idl.LinkedNodeKind.importDirective ||
- kind == idl.LinkedNodeKind.libraryDirective ||
- kind == idl.LinkedNodeKind.partDirective ||
- kind == idl.LinkedNodeKind.partOfDirective);
- _variantField_33 ??=
- const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 33, 0);
- return _variantField_33;
- }
-
- @override
double get doubleLiteral_value {
assert(kind == idl.LinkedNodeKind.doubleLiteral);
_variantField_21 ??=
@@ -15128,6 +15318,8 @@
if (constructorDeclaration_redirectedConstructor != null)
_result["constructorDeclaration_redirectedConstructor"] =
constructorDeclaration_redirectedConstructor.toJson();
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (constructorDeclaration_returnType != null)
_result["constructorDeclaration_returnType"] =
constructorDeclaration_returnType.toJson();
@@ -15152,6 +15344,8 @@
_result["enumDeclaration_leftBracket"] = enumDeclaration_leftBracket;
if (enumDeclaration_rightBracket != 0)
_result["enumDeclaration_rightBracket"] = enumDeclaration_rightBracket;
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (namedCompilationUnitMember_name != null)
_result["namedCompilationUnitMember_name"] =
namedCompilationUnitMember_name.toJson();
@@ -15237,13 +15431,13 @@
_result["directive_keyword"] = directive_keyword;
if (uriBasedDirective_uriElement != 0)
_result["uriBasedDirective_uriElement"] = uriBasedDirective_uriElement;
+ if (directive_semicolon != 0)
+ _result["directive_semicolon"] = directive_semicolon;
if (namespaceDirective_configurations.isNotEmpty)
_result["namespaceDirective_configurations"] =
namespaceDirective_configurations
.map((_value) => _value.toJson())
.toList();
- if (directive_semicolon != 0)
- _result["directive_semicolon"] = directive_semicolon;
if (uriBasedDirective_uri != null)
_result["uriBasedDirective_uri"] = uriBasedDirective_uri.toJson();
if (namespaceDirective_selectedUriContent != '')
@@ -15274,13 +15468,13 @@
_result["directive_keyword"] = directive_keyword;
if (uriBasedDirective_uriElement != 0)
_result["uriBasedDirective_uriElement"] = uriBasedDirective_uriElement;
+ if (directive_semicolon != 0)
+ _result["directive_semicolon"] = directive_semicolon;
if (namespaceDirective_configurations.isNotEmpty)
_result["namespaceDirective_configurations"] =
namespaceDirective_configurations
.map((_value) => _value.toJson())
.toList();
- if (directive_semicolon != 0)
- _result["directive_semicolon"] = directive_semicolon;
if (uriBasedDirective_uri != null)
_result["uriBasedDirective_uri"] = uriBasedDirective_uri.toJson();
if (namespaceDirective_selectedUriContent != '')
@@ -15458,6 +15652,8 @@
if (classOrMixinDeclaration_typeParameters != null)
_result["classOrMixinDeclaration_typeParameters"] =
classOrMixinDeclaration_typeParameters.toJson();
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (namedCompilationUnitMember_name != null)
_result["namedCompilationUnitMember_name"] =
namedCompilationUnitMember_name.toJson();
@@ -15489,6 +15685,8 @@
if (classTypeAlias_implementsClause != null)
_result["classTypeAlias_implementsClause"] =
classTypeAlias_implementsClause.toJson();
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (namedCompilationUnitMember_name != null)
_result["namedCompilationUnitMember_name"] =
namedCompilationUnitMember_name.toJson();
@@ -15555,6 +15753,8 @@
if (functionDeclaration_returnType2 != null)
_result["functionDeclaration_returnType2"] =
functionDeclaration_returnType2.toJson();
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (namedCompilationUnitMember_name != null)
_result["namedCompilationUnitMember_name"] =
namedCompilationUnitMember_name.toJson();
@@ -15581,6 +15781,8 @@
if (functionTypeAlias_returnType2 != null)
_result["functionTypeAlias_returnType2"] =
functionTypeAlias_returnType2.toJson();
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (namedCompilationUnitMember_name != null)
_result["namedCompilationUnitMember_name"] =
namedCompilationUnitMember_name.toJson();
@@ -15603,6 +15805,8 @@
_result["typeAlias_typedefKeyword"] = typeAlias_typedefKeyword;
if (typeAlias_semicolon != 0)
_result["typeAlias_semicolon"] = typeAlias_semicolon;
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (namedCompilationUnitMember_name != null)
_result["namedCompilationUnitMember_name"] =
namedCompilationUnitMember_name.toJson();
@@ -15655,6 +15859,8 @@
if (methodDeclaration_typeParameters != null)
_result["methodDeclaration_typeParameters"] =
methodDeclaration_typeParameters.toJson();
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (methodDeclaration_name != null)
_result["methodDeclaration_name"] = methodDeclaration_name.toJson();
}
@@ -15687,6 +15893,8 @@
if (classOrMixinDeclaration_typeParameters != null)
_result["classOrMixinDeclaration_typeParameters"] =
classOrMixinDeclaration_typeParameters.toJson();
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (namedCompilationUnitMember_name != null)
_result["namedCompilationUnitMember_name"] =
namedCompilationUnitMember_name.toJson();
@@ -15757,6 +15965,8 @@
_result["typeParameter_extendsKeyword"] = typeParameter_extendsKeyword;
if (typeParameter_name != null)
_result["typeParameter_name"] = typeParameter_name.toJson();
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
}
if (kind == idl.LinkedNodeKind.variableDeclaration) {
if (annotatedNode_comment != null)
@@ -15774,6 +15984,8 @@
if (variableDeclaration_type2 != null)
_result["variableDeclaration_type2"] =
variableDeclaration_type2.toJson();
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (variableDeclaration_declaration != null)
_result["variableDeclaration_declaration"] =
variableDeclaration_declaration.toJson();
@@ -15812,6 +16024,8 @@
if (normalFormalParameter_identifier != null)
_result["normalFormalParameter_identifier"] =
normalFormalParameter_identifier.toJson();
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (formalParameter_kind != idl.LinkedNodeFormalParameterKind.required)
_result["formalParameter_kind"] =
formalParameter_kind.toString().split('.')[1];
@@ -15843,6 +16057,8 @@
if (normalFormalParameter_identifier != null)
_result["normalFormalParameter_identifier"] =
normalFormalParameter_identifier.toJson();
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (formalParameter_kind != idl.LinkedNodeFormalParameterKind.required)
_result["formalParameter_kind"] =
formalParameter_kind.toString().split('.')[1];
@@ -15874,6 +16090,8 @@
if (normalFormalParameter_identifier != null)
_result["normalFormalParameter_identifier"] =
normalFormalParameter_identifier.toJson();
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
if (formalParameter_kind != idl.LinkedNodeFormalParameterKind.required)
_result["formalParameter_kind"] =
formalParameter_kind.toString().split('.')[1];
@@ -16134,6 +16352,8 @@
if (defaultFormalParameter_isNamed != false)
_result["defaultFormalParameter_isNamed"] =
defaultFormalParameter_isNamed;
+ if (codeLength != 0) _result["codeLength"] = codeLength;
+ if (codeOffset != 0) _result["codeOffset"] = codeOffset;
}
if (kind == idl.LinkedNodeKind.doStatement) {
if (doStatement_body != null)
@@ -16780,6 +17000,8 @@
"constructorDeclaration_separator": constructorDeclaration_separator,
"constructorDeclaration_redirectedConstructor":
constructorDeclaration_redirectedConstructor,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"constructorDeclaration_returnType": constructorDeclaration_returnType,
"isSynthetic": isSynthetic,
"kind": kind,
@@ -16800,6 +17022,8 @@
"enumDeclaration_enumKeyword": enumDeclaration_enumKeyword,
"enumDeclaration_leftBracket": enumDeclaration_leftBracket,
"enumDeclaration_rightBracket": enumDeclaration_rightBracket,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"namedCompilationUnitMember_name": namedCompilationUnitMember_name,
"isSynthetic": isSynthetic,
"kind": kind,
@@ -16870,8 +17094,8 @@
"annotatedNode_metadata": annotatedNode_metadata,
"directive_keyword": directive_keyword,
"uriBasedDirective_uriElement": uriBasedDirective_uriElement,
- "namespaceDirective_configurations": namespaceDirective_configurations,
"directive_semicolon": directive_semicolon,
+ "namespaceDirective_configurations": namespaceDirective_configurations,
"uriBasedDirective_uri": uriBasedDirective_uri,
"isSynthetic": isSynthetic,
"kind": kind,
@@ -16890,8 +17114,8 @@
"importDirective_deferredKeyword": importDirective_deferredKeyword,
"directive_keyword": directive_keyword,
"uriBasedDirective_uriElement": uriBasedDirective_uriElement,
- "namespaceDirective_configurations": namespaceDirective_configurations,
"directive_semicolon": directive_semicolon,
+ "namespaceDirective_configurations": namespaceDirective_configurations,
"uriBasedDirective_uri": uriBasedDirective_uri,
"isSynthetic": isSynthetic,
"kind": kind,
@@ -17018,6 +17242,8 @@
"classOrMixinDeclaration_members": classOrMixinDeclaration_members,
"classOrMixinDeclaration_typeParameters":
classOrMixinDeclaration_typeParameters,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"namedCompilationUnitMember_name": namedCompilationUnitMember_name,
"isSynthetic": isSynthetic,
"kind": kind,
@@ -17035,6 +17261,8 @@
"typeAlias_typedefKeyword": typeAlias_typedefKeyword,
"typeAlias_semicolon": typeAlias_semicolon,
"classTypeAlias_implementsClause": classTypeAlias_implementsClause,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"namedCompilationUnitMember_name": namedCompilationUnitMember_name,
"isSynthetic": isSynthetic,
"kind": kind,
@@ -17084,6 +17312,8 @@
"functionDeclaration_propertyKeyword":
functionDeclaration_propertyKeyword,
"functionDeclaration_returnType2": functionDeclaration_returnType2,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"namedCompilationUnitMember_name": namedCompilationUnitMember_name,
"isSynthetic": isSynthetic,
"kind": kind,
@@ -17100,6 +17330,8 @@
"typeAlias_typedefKeyword": typeAlias_typedefKeyword,
"typeAlias_semicolon": typeAlias_semicolon,
"functionTypeAlias_returnType2": functionTypeAlias_returnType2,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"namedCompilationUnitMember_name": namedCompilationUnitMember_name,
"isSynthetic": isSynthetic,
"kind": kind,
@@ -17114,6 +17346,8 @@
"genericTypeAlias_equals": genericTypeAlias_equals,
"typeAlias_typedefKeyword": typeAlias_typedefKeyword,
"typeAlias_semicolon": typeAlias_semicolon,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"namedCompilationUnitMember_name": namedCompilationUnitMember_name,
"isSynthetic": isSynthetic,
"kind": kind,
@@ -17145,6 +17379,8 @@
"methodDeclaration_actualProperty": methodDeclaration_actualProperty,
"methodDeclaration_returnType2": methodDeclaration_returnType2,
"methodDeclaration_typeParameters": methodDeclaration_typeParameters,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"methodDeclaration_name": methodDeclaration_name,
"isSynthetic": isSynthetic,
"kind": kind,
@@ -17165,6 +17401,8 @@
"classOrMixinDeclaration_members": classOrMixinDeclaration_members,
"classOrMixinDeclaration_typeParameters":
classOrMixinDeclaration_typeParameters,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"namedCompilationUnitMember_name": namedCompilationUnitMember_name,
"isSynthetic": isSynthetic,
"kind": kind,
@@ -17219,6 +17457,8 @@
"typeParameter_bound": typeParameter_bound,
"typeParameter_extendsKeyword": typeParameter_extendsKeyword,
"typeParameter_name": typeParameter_name,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"isSynthetic": isSynthetic,
"kind": kind,
};
@@ -17231,6 +17471,8 @@
"variableDeclaration_equals": variableDeclaration_equals,
"variableDeclaration_name": variableDeclaration_name,
"variableDeclaration_type2": variableDeclaration_type2,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"isSynthetic": isSynthetic,
"kind": kind,
"variableDeclaration_declaration": variableDeclaration_declaration,
@@ -17252,6 +17494,8 @@
"fieldFormalParameter_type2": fieldFormalParameter_type2,
"normalFormalParameter_isCovariant": normalFormalParameter_isCovariant,
"normalFormalParameter_identifier": normalFormalParameter_identifier,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"formalParameter_kind": formalParameter_kind,
"normalFormalParameter_comment": normalFormalParameter_comment,
"isSynthetic": isSynthetic,
@@ -17271,6 +17515,8 @@
normalFormalParameter_covariantKeyword,
"normalFormalParameter_isCovariant": normalFormalParameter_isCovariant,
"normalFormalParameter_identifier": normalFormalParameter_identifier,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"formalParameter_kind": formalParameter_kind,
"normalFormalParameter_comment": normalFormalParameter_comment,
"isSynthetic": isSynthetic,
@@ -17287,6 +17533,8 @@
"simpleFormalParameter_type2": simpleFormalParameter_type2,
"normalFormalParameter_isCovariant": normalFormalParameter_isCovariant,
"normalFormalParameter_identifier": normalFormalParameter_identifier,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"formalParameter_kind": formalParameter_kind,
"normalFormalParameter_comment": normalFormalParameter_comment,
"isSynthetic": isSynthetic,
@@ -17496,6 +17744,8 @@
"defaultFormalParameter_separator": defaultFormalParameter_separator,
"defaultFormalParameter_parameter": defaultFormalParameter_parameter,
"defaultFormalParameter_isNamed": defaultFormalParameter_isNamed,
+ "codeLength": codeLength,
+ "codeOffset": codeOffset,
"isSynthetic": isSynthetic,
"kind": kind,
};
diff --git a/pkg/analyzer/lib/src/summary/format.fbs b/pkg/analyzer/lib/src/summary/format.fbs
index ae0cab1..2e94d0e 100644
--- a/pkg/analyzer/lib/src/summary/format.fbs
+++ b/pkg/analyzer/lib/src/summary/format.fbs
@@ -1856,6 +1856,10 @@
variantField_13:LinkedNode (id: 13);
+ variantField_34:uint (id: 34);
+
+ variantField_33:uint (id: 33);
+
variantField_28:[uint] (id: 28);
variantField_29:LinkedNodeCommentType (id: 29);
@@ -1864,8 +1868,6 @@
variantField_10:LinkedNode (id: 10);
- variantField_33:uint (id: 33);
-
variantField_21:double (id: 21);
variantField_25:LinkedNodeType (id: 25);
diff --git a/pkg/analyzer/lib/src/summary/idl.dart b/pkg/analyzer/lib/src/summary/idl.dart
index 821de47..b5d2b12 100644
--- a/pkg/analyzer/lib/src/summary/idl.dart
+++ b/pkg/analyzer/lib/src/summary/idl.dart
@@ -1044,6 +1044,44 @@
@VariantId(8, variant: LinkedNodeKind.classTypeAlias)
LinkedNode get classTypeAlias_withClause;
+ @VariantId(34, variantList: [
+ LinkedNodeKind.classDeclaration,
+ LinkedNodeKind.classTypeAlias,
+ LinkedNodeKind.constructorDeclaration,
+ LinkedNodeKind.defaultFormalParameter,
+ LinkedNodeKind.enumDeclaration,
+ LinkedNodeKind.fieldFormalParameter,
+ LinkedNodeKind.functionDeclaration,
+ LinkedNodeKind.functionTypeAlias,
+ LinkedNodeKind.functionTypedFormalParameter,
+ LinkedNodeKind.genericTypeAlias,
+ LinkedNodeKind.methodDeclaration,
+ LinkedNodeKind.mixinDeclaration,
+ LinkedNodeKind.simpleFormalParameter,
+ LinkedNodeKind.typeParameter,
+ LinkedNodeKind.variableDeclaration,
+ ])
+ int get codeLength;
+
+ @VariantId(33, variantList: [
+ LinkedNodeKind.classDeclaration,
+ LinkedNodeKind.classTypeAlias,
+ LinkedNodeKind.constructorDeclaration,
+ LinkedNodeKind.defaultFormalParameter,
+ LinkedNodeKind.enumDeclaration,
+ LinkedNodeKind.fieldFormalParameter,
+ LinkedNodeKind.functionDeclaration,
+ LinkedNodeKind.functionTypeAlias,
+ LinkedNodeKind.functionTypedFormalParameter,
+ LinkedNodeKind.genericTypeAlias,
+ LinkedNodeKind.methodDeclaration,
+ LinkedNodeKind.mixinDeclaration,
+ LinkedNodeKind.simpleFormalParameter,
+ LinkedNodeKind.typeParameter,
+ LinkedNodeKind.variableDeclaration,
+ ])
+ int get codeOffset;
+
@VariantId(19, variantList: [
LinkedNodeKind.hideCombinator,
LinkedNodeKind.showCombinator,
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
index 99bb1d3..b58c3e8 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
@@ -281,6 +281,7 @@
constructorDeclaration_separator: _getToken(node.separator),
);
_storeClassMember(builder, node);
+ _storeCodeOffsetLength(builder, node);
return builder;
}
@@ -332,12 +333,14 @@
@override
LinkedNodeBuilder visitDefaultFormalParameter(DefaultFormalParameter node) {
- return LinkedNodeBuilder.defaultFormalParameter(
+ var builder = LinkedNodeBuilder.defaultFormalParameter(
defaultFormalParameter_defaultValue: node.defaultValue?.accept(this),
defaultFormalParameter_isNamed: node.isNamed,
defaultFormalParameter_parameter: node.parameter.accept(this),
defaultFormalParameter_separator: _getToken(node.separator),
);
+ _storeCodeOffsetLength(builder, node);
+ return builder;
}
@override
@@ -814,6 +817,7 @@
methodDeclaration_typeParameters: node.typeParameters?.accept(this),
);
_storeClassMember(builder, node);
+ _storeCodeOffsetLength(builder, node);
return builder;
}
@@ -1208,6 +1212,7 @@
typeParameter_extendsKeyword: _getToken(node.extendsKeyword),
typeParameter_name: node.name.accept(this));
_storeDeclaration(builder, node);
+ _storeCodeOffsetLength(builder, node);
return builder;
}
@@ -1243,6 +1248,7 @@
variableDeclarationList_variables: _writeNodeList(node.variables),
);
_storeAnnotatedNode(builder, node);
+ _storeCodeOffsetLengthVariables(builder, node);
return builder;
}
@@ -1341,6 +1347,23 @@
_storeNamedCompilationUnitMember(builder, node);
}
+ void _storeCodeOffsetLength(LinkedNodeBuilder builder, AstNode node) {
+ builder.codeOffset = node.offset;
+ builder.codeLength = node.length;
+ }
+
+ void _storeCodeOffsetLengthVariables(
+ LinkedNodeBuilder builder, VariableDeclarationList node) {
+ var builders = builder.variableDeclarationList_variables;
+ for (var i = 0; i < builders.length; ++i) {
+ var variableBuilder = builders[i];
+ var variableNode = node.variables[i];
+ var offset = (i == 0 ? node.parent : variableNode).offset;
+ variableBuilder.codeOffset = offset;
+ variableBuilder.codeLength = variableNode.end - offset;
+ }
+ }
+
void _storeCombinator(LinkedNodeBuilder builder, Combinator node) {
builder.combinator_keyword = _getToken(node.keyword);
}
@@ -1382,8 +1405,9 @@
} else if (node.isOptionalPositional) {
kind = LinkedNodeFormalParameterKind.optionalPositional;
}
-
builder.formalParameter_kind = kind;
+
+ _storeCodeOffsetLength(builder, node);
}
void _storeForMixin(LinkedNodeBuilder builder, ForMixin node) {
@@ -1427,6 +1451,7 @@
void _storeNamedCompilationUnitMember(
LinkedNodeBuilder builder, NamedCompilationUnitMember node) {
_storeCompilationUnitMember(builder, node);
+ _storeCodeOffsetLength(builder, node);
builder..namedCompilationUnitMember_name = node.name.accept(this);
}
diff --git a/pkg/analyzer/test/src/summary/element_text.dart b/pkg/analyzer/test/src/summary/element_text.dart
index c13df24..22abda0 100644
--- a/pkg/analyzer/test/src/summary/element_text.dart
+++ b/pkg/analyzer/test/src/summary/element_text.dart
@@ -913,6 +913,7 @@
void writeTypeParameterElement(TypeParameterElement e) {
writeName(e);
+ writeCodeRange(e);
if (e.bound != null && !e.bound.isObject) {
buffer.write(' extends ');
writeType(e.bound);
diff --git a/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart b/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
index 4f5c73c..0642144 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
@@ -223,78 +223,6 @@
@override
@failingTest
- test_codeRange_class() async {
- await super.test_codeRange_class();
- }
-
- @override
- @failingTest
- test_codeRange_class_namedMixin() async {
- await super.test_codeRange_class_namedMixin();
- }
-
- @override
- @failingTest
- test_codeRange_constructor() async {
- await super.test_codeRange_constructor();
- }
-
- @override
- @failingTest
- test_codeRange_constructor_factory() async {
- await super.test_codeRange_constructor_factory();
- }
-
- @override
- @failingTest
- test_codeRange_field() async {
- await super.test_codeRange_field();
- }
-
- @override
- @failingTest
- test_codeRange_field_annotations() async {
- await super.test_codeRange_field_annotations();
- }
-
- @override
- @failingTest
- test_codeRange_function() async {
- await super.test_codeRange_function();
- }
-
- @override
- @failingTest
- test_codeRange_method() async {
- await super.test_codeRange_method();
- }
-
- @override
- @failingTest
- test_codeRange_parameter() async {
- await super.test_codeRange_parameter();
- }
-
- @override
- @failingTest
- test_codeRange_parameter_annotations() async {
- await super.test_codeRange_parameter_annotations();
- }
-
- @override
- @failingTest
- test_codeRange_topLevelVariable() async {
- await super.test_codeRange_topLevelVariable();
- }
-
- @override
- @failingTest
- test_codeRange_topLevelVariable_annotations() async {
- await super.test_codeRange_topLevelVariable_annotations();
- }
-
- @override
- @failingTest
test_const_constructor_inferred_args() async {
await super.test_const_constructor_inferred_args();
}
diff --git a/pkg/analyzer/test/src/summary/resynthesize_common.dart b/pkg/analyzer/test/src/summary/resynthesize_common.dart
index b25064c..98ae573 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_common.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_common.dart
@@ -1958,6 +1958,22 @@
withConstElements: false);
}
+ test_codeRange_type_parameter() async {
+ var library = await checkLibrary('''
+class A<T> {}
+void f<U extends num> {}
+''');
+ checkElementText(
+ library,
+ r'''
+class A/*codeOffset=0, codeLength=13*/<T/*codeOffset=8, codeLength=1*/> {
+}
+void f/*codeOffset=14, codeLength=24*/<U/*codeOffset=21, codeLength=13*/ extends num>() {}
+''',
+ withCodeRanges: true,
+ withConstElements: false);
+ }
+
test_const_constructor_inferred_args() async {
var library = await checkLibrary('''
class C<T> {