Convert idl.dart to triple-slash comment style.
Change-Id: If16a8ea5da0f2cd805d3360e1d70cd19be8066a8
Reviewed-on: https://dart-review.googlesource.com/c/78621
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analyzer/lib/src/summary/format.dart b/pkg/analyzer/lib/src/summary/format.dart
index cda912f..476923c 100644
--- a/pkg/analyzer/lib/src/summary/format.dart
+++ b/pkg/analyzer/lib/src/summary/format.dart
@@ -211,9 +211,7 @@
@override
String get exception => _exception ??= '';
- /**
- * The exception string.
- */
+ /// The exception string.
void set exception(String value) {
this._exception = value;
}
@@ -222,9 +220,7 @@
List<AnalysisDriverExceptionFileBuilder> get files =>
_files ??= <AnalysisDriverExceptionFileBuilder>[];
- /**
- * The state of files when the exception happened.
- */
+ /// The state of files when the exception happened.
void set files(List<AnalysisDriverExceptionFileBuilder> value) {
this._files = value;
}
@@ -232,9 +228,7 @@
@override
String get path => _path ??= '';
- /**
- * The path of the file being analyzed when the exception happened.
- */
+ /// The path of the file being analyzed when the exception happened.
void set path(String value) {
this._path = value;
}
@@ -242,9 +236,7 @@
@override
String get stackTrace => _stackTrace ??= '';
- /**
- * The exception stack trace string.
- */
+ /// The exception stack trace string.
void set stackTrace(String value) {
this._stackTrace = value;
}
@@ -414,9 +406,7 @@
@override
String get content => _content ??= '';
- /**
- * The content of the file.
- */
+ /// The content of the file.
void set content(String value) {
this._content = value;
}
@@ -424,9 +414,7 @@
@override
String get path => _path ??= '';
- /**
- * The path of the file.
- */
+ /// The path of the file.
void set path(String value) {
this._path = value;
}
@@ -532,9 +520,7 @@
List<AnalysisDriverUnitErrorBuilder> get errors =>
_errors ??= <AnalysisDriverUnitErrorBuilder>[];
- /**
- * The full list of analysis errors, both syntactic and semantic.
- */
+ /// The full list of analysis errors, both syntactic and semantic.
void set errors(List<AnalysisDriverUnitErrorBuilder> value) {
this._errors = value;
}
@@ -542,9 +528,7 @@
@override
AnalysisDriverUnitIndexBuilder get index => _index;
- /**
- * The index of the unit.
- */
+ /// The index of the unit.
void set index(AnalysisDriverUnitIndexBuilder value) {
this._index = value;
}
@@ -678,11 +662,9 @@
@override
List<int> get members => _members ??= <int>[];
- /**
- * The names of defined instance members.
- * They are indexes into [AnalysisDriverUnitError.strings] list.
- * The list is sorted in ascending order.
- */
+ /// The names of defined instance members.
+ /// They are indexes into [AnalysisDriverUnitError.strings] list.
+ /// The list is sorted in ascending order.
void set members(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._members = value;
@@ -691,10 +673,8 @@
@override
int get name => _name ??= 0;
- /**
- * The name of the class.
- * It is an index into [AnalysisDriverUnitError.strings] list.
- */
+ /// The name of the class.
+ /// It is an index into [AnalysisDriverUnitError.strings] list.
void set name(int value) {
assert(value == null || value >= 0);
this._name = value;
@@ -806,9 +786,7 @@
@override
String get correction => _correction ??= '';
- /**
- * The optional correction hint for the error.
- */
+ /// The optional correction hint for the error.
void set correction(String value) {
this._correction = value;
}
@@ -816,9 +794,7 @@
@override
int get length => _length ??= 0;
- /**
- * The length of the error in the file.
- */
+ /// The length of the error in the file.
void set length(int value) {
assert(value == null || value >= 0);
this._length = value;
@@ -827,9 +803,7 @@
@override
String get message => _message ??= '';
- /**
- * The message of the error.
- */
+ /// The message of the error.
void set message(String value) {
this._message = value;
}
@@ -837,9 +811,7 @@
@override
int get offset => _offset ??= 0;
- /**
- * The offset from the beginning of the file.
- */
+ /// The offset from the beginning of the file.
void set offset(int value) {
assert(value == null || value >= 0);
this._offset = value;
@@ -848,9 +820,7 @@
@override
String get uniqueName => _uniqueName ??= '';
- /**
- * The unique name of the error code.
- */
+ /// The unique name of the error code.
void set uniqueName(String value) {
this._uniqueName = value;
}
@@ -1024,10 +994,8 @@
List<idl.IndexSyntheticElementKind> get elementKinds =>
_elementKinds ??= <idl.IndexSyntheticElementKind>[];
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the kind of the synthetic element.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the kind of the synthetic element.
void set elementKinds(List<idl.IndexSyntheticElementKind> value) {
this._elementKinds = value;
}
@@ -1036,12 +1004,11 @@
List<int> get elementNameClassMemberIds =>
_elementNameClassMemberIds ??= <int>[];
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the class member element name, or `null` if the element
- * is a top-level element. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this index.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the class member element name, or `null` if the element
+ /// is a top-level element. The list is sorted in ascending order, so that
+ /// the client can quickly check whether an element is referenced in this
+ /// index.
void set elementNameClassMemberIds(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._elementNameClassMemberIds = value;
@@ -1050,12 +1017,10 @@
@override
List<int> get elementNameParameterIds => _elementNameParameterIds ??= <int>[];
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the named parameter name, or `null` if the element is not
- * a named parameter. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this index.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the named parameter name, or `null` if the element is
+ /// not a named parameter. The list is sorted in ascending order, so that the
+ /// client can quickly check whether an element is referenced in this index.
void set elementNameParameterIds(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._elementNameParameterIds = value;
@@ -1065,12 +1030,10 @@
List<int> get elementNameUnitMemberIds =>
_elementNameUnitMemberIds ??= <int>[];
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the top-level element name, or `null` if the element is
- * the unit. The list is sorted in ascending order, so that the client can
- * quickly check whether an element is referenced in this index.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the top-level element name, or `null` if the element is
+ /// the unit. The list is sorted in ascending order, so that the client can
+ /// quickly check whether an element is referenced in this index.
void set elementNameUnitMemberIds(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._elementNameUnitMemberIds = value;
@@ -1079,11 +1042,9 @@
@override
List<int> get elementUnits => _elementUnits ??= <int>[];
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the index into [unitLibraryUris] and [unitUnitUris] for the library
- * specific unit where the element is declared.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the index into [unitLibraryUris] and [unitUnitUris] for the library
+ /// specific unit where the element is declared.
void set elementUnits(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._elementUnits = value;
@@ -1092,9 +1053,7 @@
@override
int get nullStringId => _nullStringId ??= 0;
- /**
- * Identifier of the null string in [strings].
- */
+ /// Identifier of the null string in [strings].
void set nullStringId(int value) {
assert(value == null || value >= 0);
this._nullStringId = value;
@@ -1103,11 +1062,9 @@
@override
List<String> get strings => _strings ??= <String>[];
- /**
- * List of unique element strings used in this index. The list is sorted in
- * ascending order, so that the client can quickly check the presence of a
- * string in this index.
- */
+ /// List of unique element strings used in this index. The list is sorted in
+ /// ascending order, so that the client can quickly check the presence of a
+ /// string in this index.
void set strings(List<String> value) {
this._strings = value;
}
@@ -1116,9 +1073,7 @@
List<AnalysisDriverSubtypeBuilder> get subtypes =>
_subtypes ??= <AnalysisDriverSubtypeBuilder>[];
- /**
- * The list of classes declared in the unit.
- */
+ /// The list of classes declared in the unit.
void set subtypes(List<AnalysisDriverSubtypeBuilder> value) {
this._subtypes = value;
}
@@ -1126,12 +1081,10 @@
@override
List<int> get supertypes => _supertypes ??= <int>[];
- /**
- * The identifiers of supertypes of elements at corresponding indexes
- * in [subtypes]. They are indexes into [strings] list. The list is sorted
- * in ascending order. There might be more than one element with the same
- * value if there is more than one subtype of this supertype.
- */
+ /// The identifiers of supertypes of elements at corresponding indexes
+ /// in [subtypes]. They are indexes into [strings] list. The list is sorted
+ /// in ascending order. There might be more than one element with the same
+ /// value if there is more than one subtype of this supertype.
void set supertypes(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._supertypes = value;
@@ -1140,10 +1093,9 @@
@override
List<int> get unitLibraryUris => _unitLibraryUris ??= <int>[];
- /**
- * Each item of this list corresponds to the library URI of a unique library
- * specific unit referenced in the index. It is an index into [strings] list.
- */
+ /// Each item of this list corresponds to the library URI of a unique library
+ /// specific unit referenced in the index. It is an index into [strings]
+ /// list.
void set unitLibraryUris(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._unitLibraryUris = value;
@@ -1152,10 +1104,9 @@
@override
List<int> get unitUnitUris => _unitUnitUris ??= <int>[];
- /**
- * Each item of this list corresponds to the unit URI of a unique library
- * specific unit referenced in the index. It is an index into [strings] list.
- */
+ /// Each item of this list corresponds to the unit URI of a unique library
+ /// specific unit referenced in the index. It is an index into [strings]
+ /// list.
void set unitUnitUris(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._unitUnitUris = value;
@@ -1165,10 +1116,8 @@
List<bool> get usedElementIsQualifiedFlags =>
_usedElementIsQualifiedFlags ??= <bool>[];
- /**
- * Each item of this list is the `true` if the corresponding element usage
- * is qualified with some prefix.
- */
+ /// Each item of this list is the `true` if the corresponding element usage
+ /// is qualified with some prefix.
void set usedElementIsQualifiedFlags(List<bool> value) {
this._usedElementIsQualifiedFlags = value;
}
@@ -1177,9 +1126,7 @@
List<idl.IndexRelationKind> get usedElementKinds =>
_usedElementKinds ??= <idl.IndexRelationKind>[];
- /**
- * Each item of this list is the kind of the element usage.
- */
+ /// Each item of this list is the kind of the element usage.
void set usedElementKinds(List<idl.IndexRelationKind> value) {
this._usedElementKinds = value;
}
@@ -1187,9 +1134,7 @@
@override
List<int> get usedElementLengths => _usedElementLengths ??= <int>[];
- /**
- * Each item of this list is the length of the element usage.
- */
+ /// Each item of this list is the length of the element usage.
void set usedElementLengths(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._usedElementLengths = value;
@@ -1198,10 +1143,8 @@
@override
List<int> get usedElementOffsets => _usedElementOffsets ??= <int>[];
- /**
- * Each item of this list is the offset of the element usage relative to the
- * beginning of the file.
- */
+ /// Each item of this list is the offset of the element usage relative to the
+ /// beginning of the file.
void set usedElementOffsets(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._usedElementOffsets = value;
@@ -1210,12 +1153,10 @@
@override
List<int> get usedElements => _usedElements ??= <int>[];
- /**
- * Each item of this list is the index into [elementUnits],
- * [elementNameUnitMemberIds], [elementNameClassMemberIds] and
- * [elementNameParameterIds]. The list is sorted in ascending order, so
- * that the client can quickly find element references in this index.
- */
+ /// Each item of this list is the index into [elementUnits],
+ /// [elementNameUnitMemberIds], [elementNameClassMemberIds] and
+ /// [elementNameParameterIds]. The list is sorted in ascending order, so
+ /// that the client can quickly find element references in this index.
void set usedElements(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._usedElements = value;
@@ -1225,10 +1166,8 @@
List<bool> get usedNameIsQualifiedFlags =>
_usedNameIsQualifiedFlags ??= <bool>[];
- /**
- * Each item of this list is the `true` if the corresponding name usage
- * is qualified with some prefix.
- */
+ /// Each item of this list is the `true` if the corresponding name usage
+ /// is qualified with some prefix.
void set usedNameIsQualifiedFlags(List<bool> value) {
this._usedNameIsQualifiedFlags = value;
}
@@ -1237,9 +1176,7 @@
List<idl.IndexRelationKind> get usedNameKinds =>
_usedNameKinds ??= <idl.IndexRelationKind>[];
- /**
- * Each item of this list is the kind of the name usage.
- */
+ /// Each item of this list is the kind of the name usage.
void set usedNameKinds(List<idl.IndexRelationKind> value) {
this._usedNameKinds = value;
}
@@ -1247,10 +1184,8 @@
@override
List<int> get usedNameOffsets => _usedNameOffsets ??= <int>[];
- /**
- * Each item of this list is the offset of the name usage relative to the
- * beginning of the file.
- */
+ /// Each item of this list is the offset of the name usage relative to the
+ /// beginning of the file.
void set usedNameOffsets(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._usedNameOffsets = value;
@@ -1259,11 +1194,9 @@
@override
List<int> get usedNames => _usedNames ??= <int>[];
- /**
- * Each item of this list is the index into [strings] for a used name. The
- * list is sorted in ascending order, so that the client can quickly find
- * whether a name is used in this index.
- */
+ /// Each item of this list is the index into [strings] for a used name. The
+ /// list is sorted in ascending order, so that the client can quickly find
+ /// whether a name is used in this index.
void set usedNames(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._usedNames = value;
@@ -1916,9 +1849,7 @@
List<String> get definedClassMemberNames =>
_definedClassMemberNames ??= <String>[];
- /**
- * List of class member names defined by the unit.
- */
+ /// List of class member names defined by the unit.
void set definedClassMemberNames(List<String> value) {
this._definedClassMemberNames = value;
}
@@ -1926,9 +1857,7 @@
@override
List<String> get definedTopLevelNames => _definedTopLevelNames ??= <String>[];
- /**
- * List of top-level names defined by the unit.
- */
+ /// List of top-level names defined by the unit.
void set definedTopLevelNames(List<String> value) {
this._definedTopLevelNames = value;
}
@@ -1936,9 +1865,7 @@
@override
List<String> get referencedNames => _referencedNames ??= <String>[];
- /**
- * List of external names referenced by the unit.
- */
+ /// List of external names referenced by the unit.
void set referencedNames(List<String> value) {
this._referencedNames = value;
}
@@ -1946,10 +1873,8 @@
@override
List<String> get subtypedNames => _subtypedNames ??= <String>[];
- /**
- * List of names which are used in `extends`, `with` or `implements` clauses
- * in the file. Import prefixes and type arguments are not included.
- */
+ /// List of names which are used in `extends`, `with` or `implements` clauses
+ /// in the file. Import prefixes and type arguments are not included.
void set subtypedNames(List<String> value) {
this._subtypedNames = value;
}
@@ -1957,9 +1882,7 @@
@override
UnlinkedUnitBuilder get unit => _unit;
- /**
- * Unlinked information for the unit.
- */
+ /// Unlinked information for the unit.
void set unit(UnlinkedUnitBuilder value) {
this._unit = value;
}
@@ -2181,9 +2104,7 @@
@override
int get length => _length ??= 0;
- /**
- * Length of the element code.
- */
+ /// Length of the element code.
void set length(int value) {
assert(value == null || value >= 0);
this._length = value;
@@ -2192,9 +2113,7 @@
@override
int get offset => _offset ??= 0;
- /**
- * Offset of the element code relative to the beginning of the file.
- */
+ /// Offset of the element code relative to the beginning of the file.
void set offset(int value) {
assert(value == null || value >= 0);
this._offset = value;
@@ -2297,9 +2216,7 @@
@override
idl.EntityRefKind get entityKind => _entityKind ??= idl.EntityRefKind.named;
- /**
- * The kind of entity being represented.
- */
+ /// The kind of entity being represented.
void set entityKind(idl.EntityRefKind value) {
this._entityKind = value;
}
@@ -2308,34 +2225,32 @@
List<int> get implicitFunctionTypeIndices =>
_implicitFunctionTypeIndices ??= <int>[];
- /**
- * Notice: This will be deprecated. However, its not deprecated yet, as we're
- * keeping it for backwards compatibilty, and marking it deprecated makes it
- * unreadable.
- *
- * TODO(mfairhurst) mark this deprecated, and remove its logic.
- *
- * If this is a reference to a function type implicitly defined by a
- * function-typed parameter, a list of zero-based indices indicating the path
- * from the entity referred to by [reference] to the appropriate type
- * parameter. Otherwise the empty list.
- *
- * If there are N indices in this list, then the entity being referred to is
- * the function type implicitly defined by a function-typed parameter of a
- * function-typed parameter, to N levels of nesting. The first index in the
- * list refers to the outermost level of nesting; for example if [reference]
- * refers to the entity defined by:
- *
- * void f(x, void g(y, z, int h(String w))) { ... }
- *
- * Then to refer to the function type implicitly defined by parameter `h`
- * (which is parameter 2 of parameter 1 of `f`), then
- * [implicitFunctionTypeIndices] should be [1, 2].
- *
- * Note that if the entity being referred to is a generic method inside a
- * generic class, then the type arguments in [typeArguments] are applied
- * first to the class and then to the method.
- */
+ /// Notice: This will be deprecated. However, its not deprecated yet, as we're
+ /// keeping it for backwards compatibilty, and marking it deprecated makes it
+ /// unreadable.
+ ///
+ /// TODO(mfairhurst) mark this deprecated, and remove its logic.
+ ///
+ /// If this is a reference to a function type implicitly defined by a
+ /// function-typed parameter, a list of zero-based indices indicating the path
+ /// from the entity referred to by [reference] to the appropriate type
+ /// parameter. Otherwise the empty list.
+ ///
+ /// If there are N indices in this list, then the entity being referred to is
+ /// the function type implicitly defined by a function-typed parameter of a
+ /// function-typed parameter, to N levels of nesting. The first index in the
+ /// list refers to the outermost level of nesting; for example if [reference]
+ /// refers to the entity defined by:
+ ///
+ /// void f(x, void g(y, z, int h(String w))) { ... }
+ ///
+ /// Then to refer to the function type implicitly defined by parameter `h`
+ /// (which is parameter 2 of parameter 1 of `f`), then
+ /// [implicitFunctionTypeIndices] should be [1, 2].
+ ///
+ /// Note that if the entity being referred to is a generic method inside a
+ /// generic class, then the type arguments in [typeArguments] are applied
+ /// first to the class and then to the method.
void set implicitFunctionTypeIndices(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._implicitFunctionTypeIndices = value;
@@ -2344,25 +2259,23 @@
@override
int get paramReference => _paramReference ??= 0;
- /**
- * If this is a reference to a type parameter, one-based index into the list
- * of [UnlinkedTypeParam]s currently in effect. Indexing is done using De
- * Bruijn index conventions; that is, innermost parameters come first, and
- * if a class or method has multiple parameters, they are indexed from right
- * to left. So for instance, if the enclosing declaration is
- *
- * class C<T,U> {
- * m<V,W> {
- * ...
- * }
- * }
- *
- * Then [paramReference] values of 1, 2, 3, and 4 represent W, V, U, and T,
- * respectively.
- *
- * If the type being referred to is not a type parameter, [paramReference] is
- * zero.
- */
+ /// If this is a reference to a type parameter, one-based index into the list
+ /// of [UnlinkedTypeParam]s currently in effect. Indexing is done using De
+ /// Bruijn index conventions; that is, innermost parameters come first, and
+ /// if a class or method has multiple parameters, they are indexed from right
+ /// to left. So for instance, if the enclosing declaration is
+ ///
+ /// class C<T,U> {
+ /// m<V,W> {
+ /// ...
+ /// }
+ /// }
+ ///
+ /// Then [paramReference] values of 1, 2, 3, and 4 represent W, V, U, and T,
+ /// respectively.
+ ///
+ /// If the type being referred to is not a type parameter, [paramReference] is
+ /// zero.
void set paramReference(int value) {
assert(value == null || value >= 0);
this._paramReference = value;
@@ -2371,10 +2284,8 @@
@override
int get reference => _reference ??= 0;
- /**
- * Index into [UnlinkedUnit.references] for the entity being referred to, or
- * zero if this is a reference to a type parameter.
- */
+ /// Index into [UnlinkedUnit.references] for the entity being referred to, or
+ /// zero if this is a reference to a type parameter.
void set reference(int value) {
assert(value == null || value >= 0);
this._reference = value;
@@ -2383,17 +2294,16 @@
@override
int get refinedSlot => _refinedSlot ??= 0;
- /**
- * If this [EntityRef] appears in a syntactic context where its type arguments
- * might need to be inferred by a method other than instantiate-to-bounds,
- * and [typeArguments] is empty, a slot id (which is unique within the
- * compilation unit). If an entry appears in [LinkedUnit.types] whose [slot]
- * matches this value, that entry will contain the complete inferred type.
- *
- * This is called `refinedSlot` to clarify that if it points to an inferred
- * type, it points to a type that is a "refinement" of this one (one in which
- * some type arguments have been inferred).
- */
+ /// If this [EntityRef] appears in a syntactic context where its type
+ /// arguments might need to be inferred by a method other than
+ /// instantiate-to-bounds, and [typeArguments] is empty, a slot id (which is
+ /// unique within the compilation unit). If an entry appears in
+ /// [LinkedUnit.types] whose [slot] matches this value, that entry will
+ /// contain the complete inferred type.
+ ///
+ /// This is called `refinedSlot` to clarify that if it points to an inferred
+ /// type, it points to a type that is a "refinement" of this one (one in which
+ /// some type arguments have been inferred).
void set refinedSlot(int value) {
assert(value == null || value >= 0);
this._refinedSlot = value;
@@ -2402,13 +2312,11 @@
@override
int get slot => _slot ??= 0;
- /**
- * If this [EntityRef] is contained within [LinkedUnit.types], slot id (which
- * is unique within the compilation unit) identifying the target of type
- * propagation or type inference with which this [EntityRef] is associated.
- *
- * Otherwise zero.
- */
+ /// If this [EntityRef] is contained within [LinkedUnit.types], slot id (which
+ /// is unique within the compilation unit) identifying the target of type
+ /// propagation or type inference with which this [EntityRef] is associated.
+ ///
+ /// Otherwise zero.
void set slot(int value) {
assert(value == null || value >= 0);
this._slot = value;
@@ -2418,12 +2326,10 @@
List<UnlinkedParamBuilder> get syntheticParams =>
_syntheticParams ??= <UnlinkedParamBuilder>[];
- /**
- * If this [EntityRef] is a reference to a function type whose
- * [FunctionElement] is not in any library (e.g. a function type that was
- * synthesized by a LUB computation), the function parameters. Otherwise
- * empty.
- */
+ /// If this [EntityRef] is a reference to a function type whose
+ /// [FunctionElement] is not in any library (e.g. a function type that was
+ /// synthesized by a LUB computation), the function parameters. Otherwise
+ /// empty.
void set syntheticParams(List<UnlinkedParamBuilder> value) {
this._syntheticParams = value;
}
@@ -2431,12 +2337,10 @@
@override
EntityRefBuilder get syntheticReturnType => _syntheticReturnType;
- /**
- * If this [EntityRef] is a reference to a function type whose
- * [FunctionElement] is not in any library (e.g. a function type that was
- * synthesized by a LUB computation), the return type of the function.
- * Otherwise `null`.
- */
+ /// If this [EntityRef] is a reference to a function type whose
+ /// [FunctionElement] is not in any library (e.g. a function type that was
+ /// synthesized by a LUB computation), the return type of the function.
+ /// Otherwise `null`.
void set syntheticReturnType(EntityRefBuilder value) {
this._syntheticReturnType = value;
}
@@ -2445,10 +2349,8 @@
List<EntityRefBuilder> get typeArguments =>
_typeArguments ??= <EntityRefBuilder>[];
- /**
- * If this is an instantiation of a generic type or generic executable, the
- * type arguments used to instantiate it (if any).
- */
+ /// If this is an instantiation of a generic type or generic executable, the
+ /// type arguments used to instantiate it (if any).
void set typeArguments(List<EntityRefBuilder> value) {
this._typeArguments = value;
}
@@ -2457,10 +2359,8 @@
List<UnlinkedTypeParamBuilder> get typeParameters =>
_typeParameters ??= <UnlinkedTypeParamBuilder>[];
- /**
- * If this is a function type, the type parameters defined for the function
- * type (if any).
- */
+ /// If this is a function type, the type parameters defined for the function
+ /// type (if any).
void set typeParameters(List<UnlinkedTypeParamBuilder> value) {
this._typeParameters = value;
}
@@ -2753,10 +2653,8 @@
@override
List<String> get parts => _parts ??= <String>[];
- /**
- * Absolute URI for the compilation units listed in the library's `part`
- * declarations, empty string for invalid URI.
- */
+ /// Absolute URI for the compilation units listed in the library's `part`
+ /// declarations, empty string for invalid URI.
void set parts(List<String> value) {
this._parts = value;
}
@@ -2764,9 +2662,7 @@
@override
String get uri => _uri ??= '';
- /**
- * The absolute URI of the dependent library, e.g. `package:foo/bar.dart`.
- */
+ /// The absolute URI of the dependent library, e.g. `package:foo/bar.dart`.
void set uri(String value) {
this._uri = value;
}
@@ -2879,10 +2775,8 @@
@override
int get dependency => _dependency ??= 0;
- /**
- * Index into [LinkedLibrary.dependencies] for the library in which the
- * entity is defined.
- */
+ /// Index into [LinkedLibrary.dependencies] for the library in which the
+ /// entity is defined.
void set dependency(int value) {
assert(value == null || value >= 0);
this._dependency = value;
@@ -2891,9 +2785,7 @@
@override
idl.ReferenceKind get kind => _kind ??= idl.ReferenceKind.classOrEnum;
- /**
- * The kind of the entity being referred to.
- */
+ /// The kind of the entity being referred to.
void set kind(idl.ReferenceKind value) {
this._kind = value;
}
@@ -2901,10 +2793,8 @@
@override
String get name => _name ??= '';
- /**
- * Name of the exported entity. For an exported setter, this name includes
- * the trailing '='.
- */
+ /// Name of the exported entity. For an exported setter, this name includes
+ /// the trailing '='.
void set name(String value) {
this._name = value;
}
@@ -2912,12 +2802,10 @@
@override
int get unit => _unit ??= 0;
- /**
- * Integer index indicating which unit in the exported library contains the
- * definition of the entity. As with indices into [LinkedLibrary.units],
- * zero represents the defining compilation unit, and nonzero values
- * represent parts in the order of the corresponding `part` declarations.
- */
+ /// Integer index indicating which unit in the exported library contains the
+ /// definition of the entity. As with indices into [LinkedLibrary.units],
+ /// zero represents the defining compilation unit, and nonzero values
+ /// represent parts in the order of the corresponding `part` declarations.
void set unit(int value) {
assert(value == null || value >= 0);
this._unit = value;
@@ -3052,22 +2940,20 @@
List<LinkedDependencyBuilder> get dependencies =>
_dependencies ??= <LinkedDependencyBuilder>[];
- /**
- * The libraries that this library depends on (either via an explicit import
- * statement or via the implicit dependencies on `dart:core` and
- * `dart:async`). The first element of this array is a pseudo-dependency
- * representing the library itself (it is also used for `dynamic` and
- * `void`). This is followed by elements representing "prelinked"
- * dependencies (direct imports and the transitive closure of exports).
- * After the prelinked dependencies are elements representing "linked"
- * dependencies.
- *
- * A library is only included as a "linked" dependency if it is a true
- * dependency (e.g. a propagated or inferred type or constant value
- * implicitly refers to an element declared in the library) or
- * anti-dependency (e.g. the result of type propagation or type inference
- * depends on the lack of a certain declaration in the library).
- */
+ /// The libraries that this library depends on (either via an explicit import
+ /// statement or via the implicit dependencies on `dart:core` and
+ /// `dart:async`). The first element of this array is a pseudo-dependency
+ /// representing the library itself (it is also used for `dynamic` and
+ /// `void`). This is followed by elements representing "prelinked"
+ /// dependencies (direct imports and the transitive closure of exports).
+ /// After the prelinked dependencies are elements representing "linked"
+ /// dependencies.
+ ///
+ /// A library is only included as a "linked" dependency if it is a true
+ /// dependency (e.g. a propagated or inferred type or constant value
+ /// implicitly refers to an element declared in the library) or
+ /// anti-dependency (e.g. the result of type propagation or type inference
+ /// depends on the lack of a certain declaration in the library).
void set dependencies(List<LinkedDependencyBuilder> value) {
this._dependencies = value;
}
@@ -3075,10 +2961,8 @@
@override
List<int> get exportDependencies => _exportDependencies ??= <int>[];
- /**
- * For each export in [UnlinkedUnit.exports], an index into [dependencies]
- * of the library being exported.
- */
+ /// For each export in [UnlinkedUnit.exports], an index into [dependencies]
+ /// of the library being exported.
void set exportDependencies(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._exportDependencies = value;
@@ -3088,13 +2972,11 @@
List<LinkedExportNameBuilder> get exportNames =>
_exportNames ??= <LinkedExportNameBuilder>[];
- /**
- * Information about entities in the export namespace of the library that are
- * not in the public namespace of the library (that is, entities that are
- * brought into the namespace via `export` directives).
- *
- * Sorted by name.
- */
+ /// Information about entities in the export namespace of the library that are
+ /// not in the public namespace of the library (that is, entities that are
+ /// brought into the namespace via `export` directives).
+ ///
+ /// Sorted by name.
void set exportNames(List<LinkedExportNameBuilder> value) {
this._exportNames = value;
}
@@ -3106,10 +2988,8 @@
@override
List<int> get importDependencies => _importDependencies ??= <int>[];
- /**
- * For each import in [UnlinkedUnit.imports], an index into [dependencies]
- * of the library being imported.
- */
+ /// For each import in [UnlinkedUnit.imports], an index into [dependencies]
+ /// of the library being imported.
void set importDependencies(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._importDependencies = value;
@@ -3118,11 +2998,9 @@
@override
int get numPrelinkedDependencies => _numPrelinkedDependencies ??= 0;
- /**
- * The number of elements in [dependencies] which are not "linked"
- * dependencies (that is, the number of libraries in the direct imports plus
- * the transitive closure of exports, plus the library itself).
- */
+ /// The number of elements in [dependencies] which are not "linked"
+ /// dependencies (that is, the number of libraries in the direct imports plus
+ /// the transitive closure of exports, plus the library itself).
void set numPrelinkedDependencies(int value) {
assert(value == null || value >= 0);
this._numPrelinkedDependencies = value;
@@ -3131,12 +3009,10 @@
@override
List<LinkedUnitBuilder> get units => _units ??= <LinkedUnitBuilder>[];
- /**
- * The linked summary of all the compilation units constituting the
- * library. The summary of the defining compilation unit is listed first,
- * followed by the summary of each part, in the order of the `part`
- * declarations in the defining compilation unit.
- */
+ /// The linked summary of all the compilation units constituting the
+ /// library. The summary of the defining compilation unit is listed first,
+ /// followed by the summary of each part, in the order of the `part`
+ /// declarations in the defining compilation unit.
void set units(List<LinkedUnitBuilder> value) {
this._units = value;
}
@@ -3390,17 +3266,15 @@
@override
int get containingReference => _containingReference ??= 0;
- /**
- * If this [LinkedReference] doesn't have an associated [UnlinkedReference],
- * and the entity being referred to is contained within another entity, index
- * of the containing entity. This behaves similarly to
- * [UnlinkedReference.prefixReference], however it is only used for class
- * members, not for prefixed imports.
- *
- * Containing references must always point backward; that is, for all i, if
- * LinkedUnit.references[i].containingReference != 0, then
- * LinkedUnit.references[i].containingReference < i.
- */
+ /// If this [LinkedReference] doesn't have an associated [UnlinkedReference],
+ /// and the entity being referred to is contained within another entity, index
+ /// of the containing entity. This behaves similarly to
+ /// [UnlinkedReference.prefixReference], however it is only used for class
+ /// members, not for prefixed imports.
+ ///
+ /// Containing references must always point backward; that is, for all i, if
+ /// LinkedUnit.references[i].containingReference != 0, then
+ /// LinkedUnit.references[i].containingReference < i.
void set containingReference(int value) {
assert(value == null || value >= 0);
this._containingReference = value;
@@ -3409,13 +3283,11 @@
@override
int get dependency => _dependency ??= 0;
- /**
- * Index into [LinkedLibrary.dependencies] indicating which imported library
- * declares the entity being referred to.
- *
- * Zero if this entity is contained within another entity (e.g. a class
- * member), or if [kind] is [ReferenceKind.prefix].
- */
+ /// Index into [LinkedLibrary.dependencies] indicating which imported library
+ /// declares the entity being referred to.
+ ///
+ /// Zero if this entity is contained within another entity (e.g. a class
+ /// member), or if [kind] is [ReferenceKind.prefix].
void set dependency(int value) {
assert(value == null || value >= 0);
this._dependency = value;
@@ -3424,10 +3296,8 @@
@override
idl.ReferenceKind get kind => _kind ??= idl.ReferenceKind.classOrEnum;
- /**
- * The kind of the entity being referred to. For the pseudo-types `dynamic`
- * and `void`, the kind is [ReferenceKind.classOrEnum].
- */
+ /// The kind of the entity being referred to. For the pseudo-types `dynamic`
+ /// and `void`, the kind is [ReferenceKind.classOrEnum].
void set kind(idl.ReferenceKind value) {
this._kind = value;
}
@@ -3439,11 +3309,9 @@
@override
String get name => _name ??= '';
- /**
- * If this [LinkedReference] doesn't have an associated [UnlinkedReference],
- * name of the entity being referred to. For the pseudo-type `dynamic`, the
- * string is "dynamic". For the pseudo-type `void`, the string is "void".
- */
+ /// If this [LinkedReference] doesn't have an associated [UnlinkedReference],
+ /// name of the entity being referred to. For the pseudo-type `dynamic`, the
+ /// string is "dynamic". For the pseudo-type `void`, the string is "void".
void set name(String value) {
this._name = value;
}
@@ -3451,11 +3319,9 @@
@override
int get numTypeParameters => _numTypeParameters ??= 0;
- /**
- * If the entity being referred to is generic, the number of type parameters
- * it declares (does not include type parameters of enclosing entities).
- * Otherwise zero.
- */
+ /// If the entity being referred to is generic, the number of type parameters
+ /// it declares (does not include type parameters of enclosing entities).
+ /// Otherwise zero.
void set numTypeParameters(int value) {
assert(value == null || value >= 0);
this._numTypeParameters = value;
@@ -3464,15 +3330,13 @@
@override
int get unit => _unit ??= 0;
- /**
- * Integer index indicating which unit in the imported library contains the
- * definition of the entity. As with indices into [LinkedLibrary.units],
- * zero represents the defining compilation unit, and nonzero values
- * represent parts in the order of the corresponding `part` declarations.
- *
- * Zero if this entity is contained within another entity (e.g. a class
- * member).
- */
+ /// Integer index indicating which unit in the imported library contains the
+ /// definition of the entity. As with indices into [LinkedLibrary.units],
+ /// zero represents the defining compilation unit, and nonzero values
+ /// represent parts in the order of the corresponding `part` declarations.
+ ///
+ /// Zero if this entity is contained within another entity (e.g. a class
+ /// member).
void set unit(int value) {
assert(value == null || value >= 0);
this._unit = value;
@@ -3646,10 +3510,8 @@
@override
List<int> get constCycles => _constCycles ??= <int>[];
- /**
- * List of slot ids (referring to [UnlinkedExecutable.constCycleSlot])
- * corresponding to const constructors that are part of cycles.
- */
+ /// List of slot ids (referring to [UnlinkedExecutable.constCycleSlot])
+ /// corresponding to const constructors that are part of cycles.
void set constCycles(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._constCycles = value;
@@ -3659,11 +3521,9 @@
List<int> get parametersInheritingCovariant =>
_parametersInheritingCovariant ??= <int>[];
- /**
- * List of slot ids (referring to [UnlinkedParam.inheritsCovariantSlot] or
- * [UnlinkedVariable.inheritsCovariantSlot]) corresponding to parameters
- * that inherit `@covariant` behavior from a base class.
- */
+ /// List of slot ids (referring to [UnlinkedParam.inheritsCovariantSlot] or
+ /// [UnlinkedVariable.inheritsCovariantSlot]) corresponding to parameters
+ /// that inherit `@covariant` behavior from a base class.
void set parametersInheritingCovariant(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._parametersInheritingCovariant = value;
@@ -3673,14 +3533,12 @@
List<LinkedReferenceBuilder> get references =>
_references ??= <LinkedReferenceBuilder>[];
- /**
- * Information about the resolution of references within the compilation
- * unit. Each element of [UnlinkedUnit.references] has a corresponding
- * element in this list (at the same index). If this list has additional
- * elements beyond the number of elements in [UnlinkedUnit.references], those
- * additional elements are references that are only referred to implicitly
- * (e.g. elements involved in inferred or propagated types).
- */
+ /// Information about the resolution of references within the compilation
+ /// unit. Each element of [UnlinkedUnit.references] has a corresponding
+ /// element in this list (at the same index). If this list has additional
+ /// elements beyond the number of elements in [UnlinkedUnit.references], those
+ /// additional elements are references that are only referred to implicitly
+ /// (e.g. elements involved in inferred or propagated types).
void set references(List<LinkedReferenceBuilder> value) {
this._references = value;
}
@@ -3689,9 +3547,7 @@
List<TopLevelInferenceErrorBuilder> get topLevelInferenceErrors =>
_topLevelInferenceErrors ??= <TopLevelInferenceErrorBuilder>[];
- /**
- * The list of type inference errors.
- */
+ /// The list of type inference errors.
void set topLevelInferenceErrors(List<TopLevelInferenceErrorBuilder> value) {
this._topLevelInferenceErrors = value;
}
@@ -3699,10 +3555,8 @@
@override
List<EntityRefBuilder> get types => _types ??= <EntityRefBuilder>[];
- /**
- * List associating slot ids found inside the unlinked summary for the
- * compilation unit with propagated and inferred types.
- */
+ /// List associating slot ids found inside the unlinked summary for the
+ /// compilation unit with propagated and inferred types.
void set types(List<EntityRefBuilder> value) {
this._types = value;
}
@@ -3935,9 +3789,7 @@
List<LinkedLibraryBuilder> get linkedLibraries =>
_linkedLibraries ??= <LinkedLibraryBuilder>[];
- /**
- * Linked libraries.
- */
+ /// Linked libraries.
void set linkedLibraries(List<LinkedLibraryBuilder> value) {
this._linkedLibraries = value;
}
@@ -3945,10 +3797,8 @@
@override
List<String> get linkedLibraryUris => _linkedLibraryUris ??= <String>[];
- /**
- * The list of URIs of items in [linkedLibraries], e.g. `dart:core` or
- * `package:foo/bar.dart`.
- */
+ /// The list of URIs of items in [linkedLibraries], e.g. `dart:core` or
+ /// `package:foo/bar.dart`.
void set linkedLibraryUris(List<String> value) {
this._linkedLibraryUris = value;
}
@@ -3956,10 +3806,8 @@
@override
int get majorVersion => _majorVersion ??= 0;
- /**
- * Major version of the summary format. See
- * [PackageBundleAssembler.currentMajorVersion].
- */
+ /// Major version of the summary format. See
+ /// [PackageBundleAssembler.currentMajorVersion].
void set majorVersion(int value) {
assert(value == null || value >= 0);
this._majorVersion = value;
@@ -3968,10 +3816,8 @@
@override
int get minorVersion => _minorVersion ??= 0;
- /**
- * Minor version of the summary format. See
- * [PackageBundleAssembler.currentMinorVersion].
- */
+ /// Minor version of the summary format. See
+ /// [PackageBundleAssembler.currentMinorVersion].
void set minorVersion(int value) {
assert(value == null || value >= 0);
this._minorVersion = value;
@@ -3985,9 +3831,7 @@
List<UnlinkedUnitBuilder> get unlinkedUnits =>
_unlinkedUnits ??= <UnlinkedUnitBuilder>[];
- /**
- * Unlinked information for the compilation units constituting the package.
- */
+ /// Unlinked information for the compilation units constituting the package.
void set unlinkedUnits(List<UnlinkedUnitBuilder> value) {
this._unlinkedUnits = value;
}
@@ -3995,9 +3839,7 @@
@override
List<String> get unlinkedUnitUris => _unlinkedUnitUris ??= <String>[];
- /**
- * The list of URIs of items in [unlinkedUnits], e.g. `dart:core/bool.dart`.
- */
+ /// The list of URIs of items in [unlinkedUnits], e.g. `dart:core/bool.dart`.
void set unlinkedUnitUris(List<String> value) {
this._unlinkedUnitUris = value;
}
@@ -4246,10 +4088,8 @@
List<idl.IndexSyntheticElementKind> get elementKinds =>
_elementKinds ??= <idl.IndexSyntheticElementKind>[];
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the kind of the synthetic element.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the kind of the synthetic element.
void set elementKinds(List<idl.IndexSyntheticElementKind> value) {
this._elementKinds = value;
}
@@ -4258,13 +4098,11 @@
List<int> get elementNameClassMemberIds =>
_elementNameClassMemberIds ??= <int>[];
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the class member element name, or `null` if the element
- * is a top-level element. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this
- * [PackageIndex].
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the class member element name, or `null` if the element
+ /// is a top-level element. The list is sorted in ascending order, so that
+ /// the client can quickly check whether an element is referenced in this
+ /// [PackageIndex].
void set elementNameClassMemberIds(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._elementNameClassMemberIds = value;
@@ -4273,13 +4111,11 @@
@override
List<int> get elementNameParameterIds => _elementNameParameterIds ??= <int>[];
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the named parameter name, or `null` if the element is not
- * a named parameter. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this
- * [PackageIndex].
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the named parameter name, or `null` if the element is
+ /// not a named parameter. The list is sorted in ascending order, so that the
+ /// client can quickly check whether an element is referenced in this
+ /// [PackageIndex].
void set elementNameParameterIds(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._elementNameParameterIds = value;
@@ -4289,12 +4125,10 @@
List<int> get elementNameUnitMemberIds =>
_elementNameUnitMemberIds ??= <int>[];
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the top-level element name, or `null` if the element is
- * the unit. The list is sorted in ascending order, so that the client can
- * quickly check whether an element is referenced in this [PackageIndex].
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the top-level element name, or `null` if the element is
+ /// the unit. The list is sorted in ascending order, so that the client can
+ /// quickly check whether an element is referenced in this [PackageIndex].
void set elementNameUnitMemberIds(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._elementNameUnitMemberIds = value;
@@ -4303,11 +4137,9 @@
@override
List<int> get elementUnits => _elementUnits ??= <int>[];
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the index into [unitLibraryUris] and [unitUnitUris] for the library
- * specific unit where the element is declared.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the index into [unitLibraryUris] and [unitUnitUris] for the library
+ /// specific unit where the element is declared.
void set elementUnits(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._elementUnits = value;
@@ -4316,11 +4148,9 @@
@override
List<String> get strings => _strings ??= <String>[];
- /**
- * List of unique element strings used in this [PackageIndex]. The list is
- * sorted in ascending order, so that the client can quickly check the
- * presence of a string in this [PackageIndex].
- */
+ /// List of unique element strings used in this [PackageIndex]. The list is
+ /// sorted in ascending order, so that the client can quickly check the
+ /// presence of a string in this [PackageIndex].
void set strings(List<String> value) {
this._strings = value;
}
@@ -4328,11 +4158,9 @@
@override
List<int> get unitLibraryUris => _unitLibraryUris ??= <int>[];
- /**
- * Each item of this list corresponds to the library URI of a unique library
- * specific unit referenced in the [PackageIndex]. It is an index into
- * [strings] list.
- */
+ /// Each item of this list corresponds to the library URI of a unique library
+ /// specific unit referenced in the [PackageIndex]. It is an index into
+ /// [strings] list.
void set unitLibraryUris(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._unitLibraryUris = value;
@@ -4341,9 +4169,7 @@
@override
List<UnitIndexBuilder> get units => _units ??= <UnitIndexBuilder>[];
- /**
- * List of indexes of each unit in this [PackageIndex].
- */
+ /// List of indexes of each unit in this [PackageIndex].
void set units(List<UnitIndexBuilder> value) {
this._units = value;
}
@@ -4351,11 +4177,9 @@
@override
List<int> get unitUnitUris => _unitUnitUris ??= <int>[];
- /**
- * Each item of this list corresponds to the unit URI of a unique library
- * specific unit referenced in the [PackageIndex]. It is an index into
- * [strings] list.
- */
+ /// Each item of this list corresponds to the unit URI of a unique library
+ /// specific unit referenced in the [PackageIndex]. It is an index into
+ /// [strings] list.
void set unitUnitUris(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._unitUnitUris = value;
@@ -4696,9 +4520,7 @@
@override
List<String> get arguments => _arguments ??= <String>[];
- /**
- * The [kind] specific arguments.
- */
+ /// The [kind] specific arguments.
void set arguments(List<String> value) {
this._arguments = value;
}
@@ -4707,9 +4529,7 @@
idl.TopLevelInferenceErrorKind get kind =>
_kind ??= idl.TopLevelInferenceErrorKind.assignment;
- /**
- * The kind of the error.
- */
+ /// The kind of the error.
void set kind(idl.TopLevelInferenceErrorKind value) {
this._kind = value;
}
@@ -4717,11 +4537,9 @@
@override
int get slot => _slot ??= 0;
- /**
- * The slot id (which is unique within the compilation unit) identifying the
- * target of type inference with which this [TopLevelInferenceError] is
- * associated.
- */
+ /// The slot id (which is unique within the compilation unit) identifying the
+ /// target of type inference with which this [TopLevelInferenceError] is
+ /// associated.
void set slot(int value) {
assert(value == null || value >= 0);
this._slot = value;
@@ -4860,9 +4678,7 @@
List<idl.IndexNameKind> get definedNameKinds =>
_definedNameKinds ??= <idl.IndexNameKind>[];
- /**
- * Each item of this list is the kind of an element defined in this unit.
- */
+ /// Each item of this list is the kind of an element defined in this unit.
void set definedNameKinds(List<idl.IndexNameKind> value) {
this._definedNameKinds = value;
}
@@ -4870,10 +4686,8 @@
@override
List<int> get definedNameOffsets => _definedNameOffsets ??= <int>[];
- /**
- * Each item of this list is the name offset of an element defined in this
- * unit relative to the beginning of the file.
- */
+ /// Each item of this list is the name offset of an element defined in this
+ /// unit relative to the beginning of the file.
void set definedNameOffsets(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._definedNameOffsets = value;
@@ -4882,12 +4696,10 @@
@override
List<int> get definedNames => _definedNames ??= <int>[];
- /**
- * Each item of this list corresponds to an element defined in this unit. It
- * is an index into [PackageIndex.strings] list. The list is sorted in
- * ascending order, so that the client can quickly find name definitions in
- * this [UnitIndex].
- */
+ /// Each item of this list corresponds to an element defined in this unit. It
+ /// is an index into [PackageIndex.strings] list. The list is sorted in
+ /// ascending order, so that the client can quickly find name definitions in
+ /// this [UnitIndex].
void set definedNames(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._definedNames = value;
@@ -4896,10 +4708,8 @@
@override
int get unit => _unit ??= 0;
- /**
- * Index into [PackageIndex.unitLibraryUris] and [PackageIndex.unitUnitUris]
- * for the library specific unit that corresponds to this [UnitIndex].
- */
+ /// Index into [PackageIndex.unitLibraryUris] and [PackageIndex.unitUnitUris]
+ /// for the library specific unit that corresponds to this [UnitIndex].
void set unit(int value) {
assert(value == null || value >= 0);
this._unit = value;
@@ -4909,10 +4719,8 @@
List<bool> get usedElementIsQualifiedFlags =>
_usedElementIsQualifiedFlags ??= <bool>[];
- /**
- * Each item of this list is the `true` if the corresponding element usage
- * is qualified with some prefix.
- */
+ /// Each item of this list is the `true` if the corresponding element usage
+ /// is qualified with some prefix.
void set usedElementIsQualifiedFlags(List<bool> value) {
this._usedElementIsQualifiedFlags = value;
}
@@ -4921,9 +4729,7 @@
List<idl.IndexRelationKind> get usedElementKinds =>
_usedElementKinds ??= <idl.IndexRelationKind>[];
- /**
- * Each item of this list is the kind of the element usage.
- */
+ /// Each item of this list is the kind of the element usage.
void set usedElementKinds(List<idl.IndexRelationKind> value) {
this._usedElementKinds = value;
}
@@ -4931,9 +4737,7 @@
@override
List<int> get usedElementLengths => _usedElementLengths ??= <int>[];
- /**
- * Each item of this list is the length of the element usage.
- */
+ /// Each item of this list is the length of the element usage.
void set usedElementLengths(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._usedElementLengths = value;
@@ -4942,10 +4746,8 @@
@override
List<int> get usedElementOffsets => _usedElementOffsets ??= <int>[];
- /**
- * Each item of this list is the offset of the element usage relative to the
- * beginning of the file.
- */
+ /// Each item of this list is the offset of the element usage relative to the
+ /// beginning of the file.
void set usedElementOffsets(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._usedElementOffsets = value;
@@ -4954,11 +4756,9 @@
@override
List<int> get usedElements => _usedElements ??= <int>[];
- /**
- * Each item of this list is the index into [PackageIndex.elementUnits] and
- * [PackageIndex.elementOffsets]. The list is sorted in ascending order, so
- * that the client can quickly find element references in this [UnitIndex].
- */
+ /// Each item of this list is the index into [PackageIndex.elementUnits] and
+ /// [PackageIndex.elementOffsets]. The list is sorted in ascending order, so
+ /// that the client can quickly find element references in this [UnitIndex].
void set usedElements(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._usedElements = value;
@@ -4968,10 +4768,8 @@
List<bool> get usedNameIsQualifiedFlags =>
_usedNameIsQualifiedFlags ??= <bool>[];
- /**
- * Each item of this list is the `true` if the corresponding name usage
- * is qualified with some prefix.
- */
+ /// Each item of this list is the `true` if the corresponding name usage
+ /// is qualified with some prefix.
void set usedNameIsQualifiedFlags(List<bool> value) {
this._usedNameIsQualifiedFlags = value;
}
@@ -4980,9 +4778,7 @@
List<idl.IndexRelationKind> get usedNameKinds =>
_usedNameKinds ??= <idl.IndexRelationKind>[];
- /**
- * Each item of this list is the kind of the name usage.
- */
+ /// Each item of this list is the kind of the name usage.
void set usedNameKinds(List<idl.IndexRelationKind> value) {
this._usedNameKinds = value;
}
@@ -4990,10 +4786,8 @@
@override
List<int> get usedNameOffsets => _usedNameOffsets ??= <int>[];
- /**
- * Each item of this list is the offset of the name usage relative to the
- * beginning of the file.
- */
+ /// Each item of this list is the offset of the name usage relative to the
+ /// beginning of the file.
void set usedNameOffsets(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._usedNameOffsets = value;
@@ -5002,11 +4796,9 @@
@override
List<int> get usedNames => _usedNames ??= <int>[];
- /**
- * Each item of this list is the index into [PackageIndex.strings] for a
- * used name. The list is sorted in ascending order, so that the client can
- * quickly find name uses in this [UnitIndex].
- */
+ /// Each item of this list is the index into [PackageIndex.strings] for a
+ /// used name. The list is sorted in ascending order, so that the client can
+ /// quickly find name uses in this [UnitIndex].
void set usedNames(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._usedNames = value;
@@ -5455,9 +5247,7 @@
List<UnlinkedExprBuilder> get annotations =>
_annotations ??= <UnlinkedExprBuilder>[];
- /**
- * Annotations for this class.
- */
+ /// Annotations for this class.
void set annotations(List<UnlinkedExprBuilder> value) {
this._annotations = value;
}
@@ -5465,9 +5255,7 @@
@override
CodeRangeBuilder get codeRange => _codeRange;
- /**
- * Code range of the class.
- */
+ /// Code range of the class.
void set codeRange(CodeRangeBuilder value) {
this._codeRange = value;
}
@@ -5476,10 +5264,8 @@
UnlinkedDocumentationCommentBuilder get documentationComment =>
_documentationComment;
- /**
- * Documentation comment for the class, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the class, or `null` if there is no
+ /// documentation comment.
void set documentationComment(UnlinkedDocumentationCommentBuilder value) {
this._documentationComment = value;
}
@@ -5488,9 +5274,7 @@
List<UnlinkedExecutableBuilder> get executables =>
_executables ??= <UnlinkedExecutableBuilder>[];
- /**
- * Executable objects (methods, getters, and setters) contained in the class.
- */
+ /// Executable objects (methods, getters, and setters) contained in the class.
void set executables(List<UnlinkedExecutableBuilder> value) {
this._executables = value;
}
@@ -5499,9 +5283,7 @@
List<UnlinkedVariableBuilder> get fields =>
_fields ??= <UnlinkedVariableBuilder>[];
- /**
- * Field declarations contained in the class.
- */
+ /// Field declarations contained in the class.
void set fields(List<UnlinkedVariableBuilder> value) {
this._fields = value;
}
@@ -5509,10 +5291,8 @@
@override
bool get hasNoSupertype => _hasNoSupertype ??= false;
- /**
- * Indicates whether this class is the core "Object" class (and hence has no
- * supertype)
- */
+ /// Indicates whether this class is the core "Object" class (and hence has no
+ /// supertype)
void set hasNoSupertype(bool value) {
this._hasNoSupertype = value;
}
@@ -5520,9 +5300,7 @@
@override
List<EntityRefBuilder> get interfaces => _interfaces ??= <EntityRefBuilder>[];
- /**
- * Interfaces appearing in an `implements` clause, if any.
- */
+ /// Interfaces appearing in an `implements` clause, if any.
void set interfaces(List<EntityRefBuilder> value) {
this._interfaces = value;
}
@@ -5530,9 +5308,7 @@
@override
bool get isAbstract => _isAbstract ??= false;
- /**
- * Indicates whether the class is declared with the `abstract` keyword.
- */
+ /// Indicates whether the class is declared with the `abstract` keyword.
void set isAbstract(bool value) {
this._isAbstract = value;
}
@@ -5540,9 +5316,7 @@
@override
bool get isMixinApplication => _isMixinApplication ??= false;
- /**
- * Indicates whether the class is declared using mixin application syntax.
- */
+ /// Indicates whether the class is declared using mixin application syntax.
void set isMixinApplication(bool value) {
this._isMixinApplication = value;
}
@@ -5550,9 +5324,7 @@
@override
List<EntityRefBuilder> get mixins => _mixins ??= <EntityRefBuilder>[];
- /**
- * Mixins appearing in a `with` clause, if any.
- */
+ /// Mixins appearing in a `with` clause, if any.
void set mixins(List<EntityRefBuilder> value) {
this._mixins = value;
}
@@ -5560,9 +5332,7 @@
@override
String get name => _name ??= '';
- /**
- * Name of the class.
- */
+ /// Name of the class.
void set name(String value) {
this._name = value;
}
@@ -5570,9 +5340,7 @@
@override
int get nameOffset => _nameOffset ??= 0;
- /**
- * Offset of the class name relative to the beginning of the file.
- */
+ /// Offset of the class name relative to the beginning of the file.
void set nameOffset(int value) {
assert(value == null || value >= 0);
this._nameOffset = value;
@@ -5582,11 +5350,9 @@
List<EntityRefBuilder> get superclassConstraints =>
_superclassConstraints ??= <EntityRefBuilder>[];
- /**
- * Superclass constraints for this mixin declaration. The list will be empty
- * if this class is not a mixin declaration, or if the declaration does not
- * have an `on` clause (in which case the type `Object` is implied).
- */
+ /// Superclass constraints for this mixin declaration. The list will be empty
+ /// if this class is not a mixin declaration, or if the declaration does not
+ /// have an `on` clause (in which case the type `Object` is implied).
void set superclassConstraints(List<EntityRefBuilder> value) {
this._superclassConstraints = value;
}
@@ -5594,11 +5360,9 @@
@override
List<String> get superInvokedNames => _superInvokedNames ??= <String>[];
- /**
- * Names of methods, getters, setters, and operators that this mixin
- * declaration super-invokes. For setters this includes the trailing "=".
- * The list will be empty if this class is not a mixin declaration.
- */
+ /// Names of methods, getters, setters, and operators that this mixin
+ /// declaration super-invokes. For setters this includes the trailing "=".
+ /// The list will be empty if this class is not a mixin declaration.
void set superInvokedNames(List<String> value) {
this._superInvokedNames = value;
}
@@ -5606,11 +5370,9 @@
@override
EntityRefBuilder get supertype => _supertype;
- /**
- * Supertype of the class, or `null` if either (a) the class doesn't
- * explicitly declare a supertype (and hence has supertype `Object`), or (b)
- * the class *is* `Object` (and hence has no supertype).
- */
+ /// Supertype of the class, or `null` if either (a) the class doesn't
+ /// explicitly declare a supertype (and hence has supertype `Object`), or (b)
+ /// the class *is* `Object` (and hence has no supertype).
void set supertype(EntityRefBuilder value) {
this._supertype = value;
}
@@ -5619,9 +5381,7 @@
List<UnlinkedTypeParamBuilder> get typeParameters =>
_typeParameters ??= <UnlinkedTypeParamBuilder>[];
- /**
- * Type parameters of the class, if any.
- */
+ /// Type parameters of the class, if any.
void set typeParameters(List<UnlinkedTypeParamBuilder> value) {
this._typeParameters = value;
}
@@ -6082,10 +5842,8 @@
@override
int get end => _end ??= 0;
- /**
- * If this is a `show` combinator, offset of the end of the list of shown
- * names. Otherwise zero.
- */
+ /// If this is a `show` combinator, offset of the end of the list of shown
+ /// names. Otherwise zero.
void set end(int value) {
assert(value == null || value >= 0);
this._end = value;
@@ -6094,9 +5852,7 @@
@override
List<String> get hides => _hides ??= <String>[];
- /**
- * List of names which are hidden. Empty if this is a `show` combinator.
- */
+ /// List of names which are hidden. Empty if this is a `show` combinator.
void set hides(List<String> value) {
this._hides = value;
}
@@ -6104,10 +5860,8 @@
@override
int get offset => _offset ??= 0;
- /**
- * If this is a `show` combinator, offset of the `show` keyword. Otherwise
- * zero.
- */
+ /// If this is a `show` combinator, offset of the `show` keyword. Otherwise
+ /// zero.
void set offset(int value) {
assert(value == null || value >= 0);
this._offset = value;
@@ -6116,9 +5870,7 @@
@override
List<String> get shows => _shows ??= <String>[];
- /**
- * List of names which are shown. Empty if this is a `hide` combinator.
- */
+ /// List of names which are shown. Empty if this is a `hide` combinator.
void set shows(List<String> value) {
this._shows = value;
}
@@ -6270,10 +6022,8 @@
@override
String get name => _name ??= '';
- /**
- * The name of the declared variable whose value is being used in the
- * condition.
- */
+ /// The name of the declared variable whose value is being used in the
+ /// condition.
void set name(String value) {
this._name = value;
}
@@ -6281,9 +6031,7 @@
@override
String get uri => _uri ??= '';
- /**
- * The URI of the implementation library to be used if the condition is true.
- */
+ /// The URI of the implementation library to be used if the condition is true.
void set uri(String value) {
this._uri = value;
}
@@ -6291,10 +6039,8 @@
@override
String get value => _value ??= '';
- /**
- * The value to which the value of the declared variable will be compared,
- * or `true` if the condition does not include an equality test.
- */
+ /// The value to which the value of the declared variable will be compared,
+ /// or `true` if the condition does not include an equality test.
void set value(String value) {
this._value = value;
}
@@ -6419,11 +6165,9 @@
@override
List<String> get argumentNames => _argumentNames ??= <String>[];
- /**
- * If there are `m` [arguments] and `n` [argumentNames], then each argument
- * from [arguments] with index `i` such that `n + i - m >= 0`, should be used
- * with the name at `n + i - m`.
- */
+ /// If there are `m` [arguments] and `n` [argumentNames], then each argument
+ /// from [arguments] with index `i` such that `n + i - m >= 0`, should be used
+ /// with the name at `n + i - m`.
void set argumentNames(List<String> value) {
this._argumentNames = value;
}
@@ -6432,10 +6176,8 @@
List<UnlinkedExprBuilder> get arguments =>
_arguments ??= <UnlinkedExprBuilder>[];
- /**
- * If [kind] is `thisInvocation` or `superInvocation`, the arguments of the
- * invocation. Otherwise empty.
- */
+ /// If [kind] is `thisInvocation` or `superInvocation`, the arguments of the
+ /// invocation. Otherwise empty.
void set arguments(List<UnlinkedExprBuilder> value) {
this._arguments = value;
}
@@ -6443,10 +6185,8 @@
@override
UnlinkedExprBuilder get expression => _expression;
- /**
- * If [kind] is `field`, the expression of the field initializer.
- * Otherwise `null`.
- */
+ /// If [kind] is `field`, the expression of the field initializer.
+ /// Otherwise `null`.
void set expression(UnlinkedExprBuilder value) {
this._expression = value;
}
@@ -6455,9 +6195,7 @@
idl.UnlinkedConstructorInitializerKind get kind =>
_kind ??= idl.UnlinkedConstructorInitializerKind.field;
- /**
- * The kind of the constructor initializer (field, redirect, super).
- */
+ /// The kind of the constructor initializer (field, redirect, super).
void set kind(idl.UnlinkedConstructorInitializerKind value) {
this._kind = value;
}
@@ -6465,12 +6203,10 @@
@override
String get name => _name ??= '';
- /**
- * If [kind] is `field`, the name of the field declared in the class. If
- * [kind] is `thisInvocation`, the name of the constructor, declared in this
- * class, to redirect to. If [kind] is `superInvocation`, the name of the
- * constructor, declared in the superclass, to invoke.
- */
+ /// If [kind] is `field`, the name of the field declared in the class. If
+ /// [kind] is `thisInvocation`, the name of the constructor, declared in this
+ /// class, to redirect to. If [kind] is `superInvocation`, the name of the
+ /// constructor, declared in the superclass, to invoke.
void set name(String value) {
this._name = value;
}
@@ -6666,12 +6402,10 @@
@override
String get text => _text ??= '';
- /**
- * Text of the documentation comment, with '\r\n' replaced by '\n'.
- *
- * References appearing within the doc comment in square brackets are not
- * specially encoded.
- */
+ /// Text of the documentation comment, with '\r\n' replaced by '\n'.
+ ///
+ /// References appearing within the doc comment in square brackets are not
+ /// specially encoded.
void set text(String value) {
this._text = value;
}
@@ -6770,9 +6504,7 @@
List<UnlinkedExprBuilder> get annotations =>
_annotations ??= <UnlinkedExprBuilder>[];
- /**
- * Annotations for this enum.
- */
+ /// Annotations for this enum.
void set annotations(List<UnlinkedExprBuilder> value) {
this._annotations = value;
}
@@ -6780,9 +6512,7 @@
@override
CodeRangeBuilder get codeRange => _codeRange;
- /**
- * Code range of the enum.
- */
+ /// Code range of the enum.
void set codeRange(CodeRangeBuilder value) {
this._codeRange = value;
}
@@ -6791,10 +6521,8 @@
UnlinkedDocumentationCommentBuilder get documentationComment =>
_documentationComment;
- /**
- * Documentation comment for the enum, or `null` if there is no documentation
- * comment.
- */
+ /// Documentation comment for the enum, or `null` if there is no documentation
+ /// comment.
void set documentationComment(UnlinkedDocumentationCommentBuilder value) {
this._documentationComment = value;
}
@@ -6802,9 +6530,7 @@
@override
String get name => _name ??= '';
- /**
- * Name of the enum type.
- */
+ /// Name of the enum type.
void set name(String value) {
this._name = value;
}
@@ -6812,9 +6538,7 @@
@override
int get nameOffset => _nameOffset ??= 0;
- /**
- * Offset of the enum name relative to the beginning of the file.
- */
+ /// Offset of the enum name relative to the beginning of the file.
void set nameOffset(int value) {
assert(value == null || value >= 0);
this._nameOffset = value;
@@ -6824,9 +6548,7 @@
List<UnlinkedEnumValueBuilder> get values =>
_values ??= <UnlinkedEnumValueBuilder>[];
- /**
- * Values listed in the enum declaration, in declaration order.
- */
+ /// Values listed in the enum declaration, in declaration order.
void set values(List<UnlinkedEnumValueBuilder> value) {
this._values = value;
}
@@ -7033,9 +6755,7 @@
List<UnlinkedExprBuilder> get annotations =>
_annotations ??= <UnlinkedExprBuilder>[];
- /**
- * Annotations for this value.
- */
+ /// Annotations for this value.
void set annotations(List<UnlinkedExprBuilder> value) {
this._annotations = value;
}
@@ -7044,10 +6764,8 @@
UnlinkedDocumentationCommentBuilder get documentationComment =>
_documentationComment;
- /**
- * Documentation comment for the enum value, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the enum value, or `null` if there is no
+ /// documentation comment.
void set documentationComment(UnlinkedDocumentationCommentBuilder value) {
this._documentationComment = value;
}
@@ -7055,9 +6773,7 @@
@override
String get name => _name ??= '';
- /**
- * Name of the enumerated value.
- */
+ /// Name of the enumerated value.
void set name(String value) {
this._name = value;
}
@@ -7065,9 +6781,7 @@
@override
int get nameOffset => _nameOffset ??= 0;
- /**
- * Offset of the enum value name relative to the beginning of the file.
- */
+ /// Offset of the enum value name relative to the beginning of the file.
void set nameOffset(int value) {
assert(value == null || value >= 0);
this._nameOffset = value;
@@ -7249,9 +6963,7 @@
List<UnlinkedExprBuilder> get annotations =>
_annotations ??= <UnlinkedExprBuilder>[];
- /**
- * Annotations for this executable.
- */
+ /// Annotations for this executable.
void set annotations(List<UnlinkedExprBuilder> value) {
this._annotations = value;
}
@@ -7259,11 +6971,9 @@
@override
UnlinkedExprBuilder get bodyExpr => _bodyExpr;
- /**
- * If this executable's function body is declared using `=>`, the expression
- * to the right of the `=>`. May be omitted if neither type inference nor
- * constant evaluation depends on the function body.
- */
+ /// If this executable's function body is declared using `=>`, the expression
+ /// to the right of the `=>`. May be omitted if neither type inference nor
+ /// constant evaluation depends on the function body.
void set bodyExpr(UnlinkedExprBuilder value) {
this._bodyExpr = value;
}
@@ -7271,9 +6981,7 @@
@override
CodeRangeBuilder get codeRange => _codeRange;
- /**
- * Code range of the executable.
- */
+ /// Code range of the executable.
void set codeRange(CodeRangeBuilder value) {
this._codeRange = value;
}
@@ -7282,10 +6990,8 @@
List<UnlinkedConstructorInitializerBuilder> get constantInitializers =>
_constantInitializers ??= <UnlinkedConstructorInitializerBuilder>[];
- /**
- * If a constant [UnlinkedExecutableKind.constructor], the constructor
- * initializers. Otherwise empty.
- */
+ /// If a constant [UnlinkedExecutableKind.constructor], the constructor
+ /// initializers. Otherwise empty.
void set constantInitializers(
List<UnlinkedConstructorInitializerBuilder> value) {
this._constantInitializers = value;
@@ -7294,14 +7000,12 @@
@override
int get constCycleSlot => _constCycleSlot ??= 0;
- /**
- * If [kind] is [UnlinkedExecutableKind.constructor] and [isConst] is `true`,
- * a nonzero slot id which is unique within this compilation unit. If this id
- * is found in [LinkedUnit.constCycles], then this constructor is part of a
- * cycle.
- *
- * Otherwise, zero.
- */
+ /// If [kind] is [UnlinkedExecutableKind.constructor] and [isConst] is `true`,
+ /// a nonzero slot id which is unique within this compilation unit. If this
+ /// id is found in [LinkedUnit.constCycles], then this constructor is part of
+ /// a cycle.
+ ///
+ /// Otherwise, zero.
void set constCycleSlot(int value) {
assert(value == null || value >= 0);
this._constCycleSlot = value;
@@ -7311,10 +7015,8 @@
UnlinkedDocumentationCommentBuilder get documentationComment =>
_documentationComment;
- /**
- * Documentation comment for the executable, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the executable, or `null` if there is no
+ /// documentation comment.
void set documentationComment(UnlinkedDocumentationCommentBuilder value) {
this._documentationComment = value;
}
@@ -7322,13 +7024,11 @@
@override
int get inferredReturnTypeSlot => _inferredReturnTypeSlot ??= 0;
- /**
- * If this executable's return type is inferable, nonzero slot id
- * identifying which entry in [LinkedUnit.types] contains the inferred
- * return type. If there is no matching entry in [LinkedUnit.types], then
- * no return type was inferred for this variable, so its static type is
- * `dynamic`.
- */
+ /// If this executable's return type is inferable, nonzero slot id
+ /// identifying which entry in [LinkedUnit.types] contains the inferred
+ /// return type. If there is no matching entry in [LinkedUnit.types], then
+ /// no return type was inferred for this variable, so its static type is
+ /// `dynamic`.
void set inferredReturnTypeSlot(int value) {
assert(value == null || value >= 0);
this._inferredReturnTypeSlot = value;
@@ -7337,9 +7037,7 @@
@override
bool get isAbstract => _isAbstract ??= false;
- /**
- * Indicates whether the executable is declared using the `abstract` keyword.
- */
+ /// Indicates whether the executable is declared using the `abstract` keyword.
void set isAbstract(bool value) {
this._isAbstract = value;
}
@@ -7347,9 +7045,7 @@
@override
bool get isAsynchronous => _isAsynchronous ??= false;
- /**
- * Indicates whether the executable has body marked as being asynchronous.
- */
+ /// Indicates whether the executable has body marked as being asynchronous.
void set isAsynchronous(bool value) {
this._isAsynchronous = value;
}
@@ -7357,9 +7053,7 @@
@override
bool get isConst => _isConst ??= false;
- /**
- * Indicates whether the executable is declared using the `const` keyword.
- */
+ /// Indicates whether the executable is declared using the `const` keyword.
void set isConst(bool value) {
this._isConst = value;
}
@@ -7367,9 +7061,7 @@
@override
bool get isExternal => _isExternal ??= false;
- /**
- * Indicates whether the executable is declared using the `external` keyword.
- */
+ /// Indicates whether the executable is declared using the `external` keyword.
void set isExternal(bool value) {
this._isExternal = value;
}
@@ -7377,9 +7069,7 @@
@override
bool get isFactory => _isFactory ??= false;
- /**
- * Indicates whether the executable is declared using the `factory` keyword.
- */
+ /// Indicates whether the executable is declared using the `factory` keyword.
void set isFactory(bool value) {
this._isFactory = value;
}
@@ -7387,9 +7077,7 @@
@override
bool get isGenerator => _isGenerator ??= false;
- /**
- * Indicates whether the executable has body marked as being a generator.
- */
+ /// Indicates whether the executable has body marked as being a generator.
void set isGenerator(bool value) {
this._isGenerator = value;
}
@@ -7397,9 +7085,7 @@
@override
bool get isRedirectedConstructor => _isRedirectedConstructor ??= false;
- /**
- * Indicates whether the executable is a redirected constructor.
- */
+ /// Indicates whether the executable is a redirected constructor.
void set isRedirectedConstructor(bool value) {
this._isRedirectedConstructor = value;
}
@@ -7407,13 +7093,11 @@
@override
bool get isStatic => _isStatic ??= false;
- /**
- * Indicates whether the executable is declared using the `static` keyword.
- *
- * Note that for top level executables, this flag is false, since they are
- * not declared using the `static` keyword (even though they are considered
- * static for semantic purposes).
- */
+ /// Indicates whether the executable is declared using the `static` keyword.
+ ///
+ /// Note that for top level executables, this flag is false, since they are
+ /// not declared using the `static` keyword (even though they are considered
+ /// static for semantic purposes).
void set isStatic(bool value) {
this._isStatic = value;
}
@@ -7422,10 +7106,8 @@
idl.UnlinkedExecutableKind get kind =>
_kind ??= idl.UnlinkedExecutableKind.functionOrMethod;
- /**
- * The kind of the executable (function/method, getter, setter, or
- * constructor).
- */
+ /// The kind of the executable (function/method, getter, setter, or
+ /// constructor).
void set kind(idl.UnlinkedExecutableKind value) {
this._kind = value;
}
@@ -7434,9 +7116,7 @@
List<UnlinkedExecutableBuilder> get localFunctions =>
_localFunctions ??= <UnlinkedExecutableBuilder>[];
- /**
- * The list of local functions.
- */
+ /// The list of local functions.
void set localFunctions(List<UnlinkedExecutableBuilder> value) {
this._localFunctions = value;
}
@@ -7452,11 +7132,9 @@
@override
String get name => _name ??= '';
- /**
- * Name of the executable. For setters, this includes the trailing "=". For
- * named constructors, this excludes the class name and excludes the ".".
- * For unnamed constructors, this is the empty string.
- */
+ /// Name of the executable. For setters, this includes the trailing "=". For
+ /// named constructors, this excludes the class name and excludes the ".".
+ /// For unnamed constructors, this is the empty string.
void set name(String value) {
this._name = value;
}
@@ -7464,10 +7142,8 @@
@override
int get nameEnd => _nameEnd ??= 0;
- /**
- * If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
- * the offset of the end of the constructor name. Otherwise zero.
- */
+ /// If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
+ /// the offset of the end of the constructor name. Otherwise zero.
void set nameEnd(int value) {
assert(value == null || value >= 0);
this._nameEnd = value;
@@ -7476,12 +7152,10 @@
@override
int get nameOffset => _nameOffset ??= 0;
- /**
- * Offset of the executable name relative to the beginning of the file. For
- * named constructors, this excludes the class name and excludes the ".".
- * For unnamed constructors, this is the offset of the class name (i.e. the
- * offset of the second "C" in "class C { C(); }").
- */
+ /// Offset of the executable name relative to the beginning of the file. For
+ /// named constructors, this excludes the class name and excludes the ".".
+ /// For unnamed constructors, this is the offset of the class name (i.e. the
+ /// offset of the second "C" in "class C { C(); }").
void set nameOffset(int value) {
assert(value == null || value >= 0);
this._nameOffset = value;
@@ -7491,11 +7165,9 @@
List<UnlinkedParamBuilder> get parameters =>
_parameters ??= <UnlinkedParamBuilder>[];
- /**
- * Parameters of the executable, if any. Note that getters have no
- * parameters (hence this will be the empty list), and setters have a single
- * parameter.
- */
+ /// Parameters of the executable, if any. Note that getters have no
+ /// parameters (hence this will be the empty list), and setters have a single
+ /// parameter.
void set parameters(List<UnlinkedParamBuilder> value) {
this._parameters = value;
}
@@ -7503,10 +7175,8 @@
@override
int get periodOffset => _periodOffset ??= 0;
- /**
- * If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
- * the offset of the period before the constructor name. Otherwise zero.
- */
+ /// If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
+ /// the offset of the period before the constructor name. Otherwise zero.
void set periodOffset(int value) {
assert(value == null || value >= 0);
this._periodOffset = value;
@@ -7515,10 +7185,8 @@
@override
EntityRefBuilder get redirectedConstructor => _redirectedConstructor;
- /**
- * If [isRedirectedConstructor] and [isFactory] are both `true`, the
- * constructor to which this constructor redirects; otherwise empty.
- */
+ /// If [isRedirectedConstructor] and [isFactory] are both `true`, the
+ /// constructor to which this constructor redirects; otherwise empty.
void set redirectedConstructor(EntityRefBuilder value) {
this._redirectedConstructor = value;
}
@@ -7526,11 +7194,9 @@
@override
String get redirectedConstructorName => _redirectedConstructorName ??= '';
- /**
- * If [isRedirectedConstructor] is `true` and [isFactory] is `false`, the
- * name of the constructor that this constructor redirects to; otherwise
- * empty.
- */
+ /// If [isRedirectedConstructor] is `true` and [isFactory] is `false`, the
+ /// name of the constructor that this constructor redirects to; otherwise
+ /// empty.
void set redirectedConstructorName(String value) {
this._redirectedConstructorName = value;
}
@@ -7538,13 +7204,11 @@
@override
EntityRefBuilder get returnType => _returnType;
- /**
- * Declared return type of the executable. Absent if the executable is a
- * constructor or the return type is implicit. Absent for executables
- * associated with variable initializers and closures, since these
- * executables may have return types that are not accessible via direct
- * imports.
- */
+ /// Declared return type of the executable. Absent if the executable is a
+ /// constructor or the return type is implicit. Absent for executables
+ /// associated with variable initializers and closures, since these
+ /// executables may have return types that are not accessible via direct
+ /// imports.
void set returnType(EntityRefBuilder value) {
this._returnType = value;
}
@@ -7553,10 +7217,8 @@
List<UnlinkedTypeParamBuilder> get typeParameters =>
_typeParameters ??= <UnlinkedTypeParamBuilder>[];
- /**
- * Type parameters of the executable, if any. Empty if support for generic
- * method syntax is disabled.
- */
+ /// Type parameters of the executable, if any. Empty if support for generic
+ /// method syntax is disabled.
void set typeParameters(List<UnlinkedTypeParamBuilder> value) {
this._typeParameters = value;
}
@@ -7564,9 +7226,7 @@
@override
int get visibleLength => _visibleLength ??= 0;
- /**
- * If a local function, the length of the visible range; zero otherwise.
- */
+ /// If a local function, the length of the visible range; zero otherwise.
void set visibleLength(int value) {
assert(value == null || value >= 0);
this._visibleLength = value;
@@ -7575,9 +7235,7 @@
@override
int get visibleOffset => _visibleOffset ??= 0;
- /**
- * If a local function, the beginning of the visible range; zero otherwise.
- */
+ /// If a local function, the beginning of the visible range; zero otherwise.
void set visibleOffset(int value) {
assert(value == null || value >= 0);
this._visibleOffset = value;
@@ -8214,9 +7872,7 @@
List<UnlinkedExprBuilder> get annotations =>
_annotations ??= <UnlinkedExprBuilder>[];
- /**
- * Annotations for this export directive.
- */
+ /// Annotations for this export directive.
void set annotations(List<UnlinkedExprBuilder> value) {
this._annotations = value;
}
@@ -8224,9 +7880,7 @@
@override
int get offset => _offset ??= 0;
- /**
- * Offset of the "export" keyword.
- */
+ /// Offset of the "export" keyword.
void set offset(int value) {
assert(value == null || value >= 0);
this._offset = value;
@@ -8235,10 +7889,8 @@
@override
int get uriEnd => _uriEnd ??= 0;
- /**
- * End of the URI string (including quotes) relative to the beginning of the
- * file.
- */
+ /// End of the URI string (including quotes) relative to the beginning of the
+ /// file.
void set uriEnd(int value) {
assert(value == null || value >= 0);
this._uriEnd = value;
@@ -8247,10 +7899,8 @@
@override
int get uriOffset => _uriOffset ??= 0;
- /**
- * Offset of the URI string (including quotes) relative to the beginning of
- * the file.
- */
+ /// Offset of the URI string (including quotes) relative to the beginning of
+ /// the file.
void set uriOffset(int value) {
assert(value == null || value >= 0);
this._uriOffset = value;
@@ -8399,9 +8049,7 @@
List<UnlinkedCombinatorBuilder> get combinators =>
_combinators ??= <UnlinkedCombinatorBuilder>[];
- /**
- * Combinators contained in this export declaration.
- */
+ /// Combinators contained in this export declaration.
void set combinators(List<UnlinkedCombinatorBuilder> value) {
this._combinators = value;
}
@@ -8410,10 +8058,8 @@
List<UnlinkedConfigurationBuilder> get configurations =>
_configurations ??= <UnlinkedConfigurationBuilder>[];
- /**
- * Configurations used to control which library will actually be loaded at
- * run-time.
- */
+ /// Configurations used to control which library will actually be loaded at
+ /// run-time.
void set configurations(List<UnlinkedConfigurationBuilder> value) {
this._configurations = value;
}
@@ -8421,9 +8067,7 @@
@override
String get uri => _uri ??= '';
- /**
- * URI used in the source code to reference the exported library.
- */
+ /// URI used in the source code to reference the exported library.
void set uri(String value) {
this._uri = value;
}
@@ -8580,9 +8224,7 @@
List<idl.UnlinkedExprAssignOperator> get assignmentOperators =>
_assignmentOperators ??= <idl.UnlinkedExprAssignOperator>[];
- /**
- * Sequence of operators used by assignment operations.
- */
+ /// Sequence of operators used by assignment operations.
void set assignmentOperators(List<idl.UnlinkedExprAssignOperator> value) {
this._assignmentOperators = value;
}
@@ -8590,9 +8232,7 @@
@override
List<double> get doubles => _doubles ??= <double>[];
- /**
- * Sequence of 64-bit doubles consumed by the operation `pushDouble`.
- */
+ /// Sequence of 64-bit doubles consumed by the operation `pushDouble`.
void set doubles(List<double> value) {
this._doubles = value;
}
@@ -8600,11 +8240,9 @@
@override
List<int> get ints => _ints ??= <int>[];
- /**
- * Sequence of unsigned 32-bit integers consumed by the operations
- * `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
- * `makeList`, and `makeMap`.
- */
+ /// Sequence of unsigned 32-bit integers consumed by the operations
+ /// `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
+ /// `makeList`, and `makeMap`.
void set ints(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._ints = value;
@@ -8613,10 +8251,8 @@
@override
bool get isValidConst => _isValidConst ??= false;
- /**
- * Indicates whether the expression is a valid potentially constant
- * expression.
- */
+ /// Indicates whether the expression is a valid potentially constant
+ /// expression.
void set isValidConst(bool value) {
this._isValidConst = value;
}
@@ -8625,10 +8261,8 @@
List<idl.UnlinkedExprOperation> get operations =>
_operations ??= <idl.UnlinkedExprOperation>[];
- /**
- * Sequence of operations to execute (starting with an empty stack) to form
- * the constant value.
- */
+ /// Sequence of operations to execute (starting with an empty stack) to form
+ /// the constant value.
void set operations(List<idl.UnlinkedExprOperation> value) {
this._operations = value;
}
@@ -8636,12 +8270,10 @@
@override
List<EntityRefBuilder> get references => _references ??= <EntityRefBuilder>[];
- /**
- * Sequence of language constructs consumed by the operations
- * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
- * that in the case of `pushReference` (and sometimes `invokeConstructor` the
- * actual entity being referred to may be something other than a type.
- */
+ /// Sequence of language constructs consumed by the operations
+ /// `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
+ /// that in the case of `pushReference` (and sometimes `invokeConstructor` the
+ /// actual entity being referred to may be something other than a type.
void set references(List<EntityRefBuilder> value) {
this._references = value;
}
@@ -8649,10 +8281,8 @@
@override
List<String> get strings => _strings ??= <String>[];
- /**
- * Sequence of strings consumed by the operations `pushString` and
- * `invokeConstructor`.
- */
+ /// Sequence of strings consumed by the operations `pushString` and
+ /// `invokeConstructor`.
void set strings(List<String> value) {
this._strings = value;
}
@@ -8925,9 +8555,7 @@
List<UnlinkedExprBuilder> get annotations =>
_annotations ??= <UnlinkedExprBuilder>[];
- /**
- * Annotations for this import declaration.
- */
+ /// Annotations for this import declaration.
void set annotations(List<UnlinkedExprBuilder> value) {
this._annotations = value;
}
@@ -8936,9 +8564,7 @@
List<UnlinkedCombinatorBuilder> get combinators =>
_combinators ??= <UnlinkedCombinatorBuilder>[];
- /**
- * Combinators contained in this import declaration.
- */
+ /// Combinators contained in this import declaration.
void set combinators(List<UnlinkedCombinatorBuilder> value) {
this._combinators = value;
}
@@ -8947,10 +8573,8 @@
List<UnlinkedConfigurationBuilder> get configurations =>
_configurations ??= <UnlinkedConfigurationBuilder>[];
- /**
- * Configurations used to control which library will actually be loaded at
- * run-time.
- */
+ /// Configurations used to control which library will actually be loaded at
+ /// run-time.
void set configurations(List<UnlinkedConfigurationBuilder> value) {
this._configurations = value;
}
@@ -8958,9 +8582,7 @@
@override
bool get isDeferred => _isDeferred ??= false;
- /**
- * Indicates whether the import declaration uses the `deferred` keyword.
- */
+ /// Indicates whether the import declaration uses the `deferred` keyword.
void set isDeferred(bool value) {
this._isDeferred = value;
}
@@ -8968,9 +8590,7 @@
@override
bool get isImplicit => _isImplicit ??= false;
- /**
- * Indicates whether the import declaration is implicit.
- */
+ /// Indicates whether the import declaration is implicit.
void set isImplicit(bool value) {
this._isImplicit = value;
}
@@ -8978,10 +8598,8 @@
@override
int get offset => _offset ??= 0;
- /**
- * If [isImplicit] is false, offset of the "import" keyword. If [isImplicit]
- * is true, zero.
- */
+ /// If [isImplicit] is false, offset of the "import" keyword. If [isImplicit]
+ /// is true, zero.
void set offset(int value) {
assert(value == null || value >= 0);
this._offset = value;
@@ -8990,10 +8608,8 @@
@override
int get prefixOffset => _prefixOffset ??= 0;
- /**
- * Offset of the prefix name relative to the beginning of the file, or zero
- * if there is no prefix.
- */
+ /// Offset of the prefix name relative to the beginning of the file, or zero
+ /// if there is no prefix.
void set prefixOffset(int value) {
assert(value == null || value >= 0);
this._prefixOffset = value;
@@ -9002,12 +8618,10 @@
@override
int get prefixReference => _prefixReference ??= 0;
- /**
- * Index into [UnlinkedUnit.references] of the prefix declared by this
- * import declaration, or zero if this import declaration declares no prefix.
- *
- * Note that multiple imports can declare the same prefix.
- */
+ /// Index into [UnlinkedUnit.references] of the prefix declared by this
+ /// import declaration, or zero if this import declaration declares no prefix.
+ ///
+ /// Note that multiple imports can declare the same prefix.
void set prefixReference(int value) {
assert(value == null || value >= 0);
this._prefixReference = value;
@@ -9016,9 +8630,7 @@
@override
String get uri => _uri ??= '';
- /**
- * URI used in the source code to reference the imported library.
- */
+ /// URI used in the source code to reference the imported library.
void set uri(String value) {
this._uri = value;
}
@@ -9026,10 +8638,8 @@
@override
int get uriEnd => _uriEnd ??= 0;
- /**
- * End of the URI string (including quotes) relative to the beginning of the
- * file. If [isImplicit] is true, zero.
- */
+ /// End of the URI string (including quotes) relative to the beginning of the
+ /// file. If [isImplicit] is true, zero.
void set uriEnd(int value) {
assert(value == null || value >= 0);
this._uriEnd = value;
@@ -9038,10 +8648,8 @@
@override
int get uriOffset => _uriOffset ??= 0;
- /**
- * Offset of the URI string (including quotes) relative to the beginning of
- * the file. If [isImplicit] is true, zero.
- */
+ /// Offset of the URI string (including quotes) relative to the beginning of
+ /// the file. If [isImplicit] is true, zero.
void set uriOffset(int value) {
assert(value == null || value >= 0);
this._uriOffset = value;
@@ -9346,9 +8954,7 @@
List<UnlinkedExprBuilder> get annotations =>
_annotations ??= <UnlinkedExprBuilder>[];
- /**
- * Annotations for this parameter.
- */
+ /// Annotations for this parameter.
void set annotations(List<UnlinkedExprBuilder> value) {
this._annotations = value;
}
@@ -9356,9 +8962,7 @@
@override
CodeRangeBuilder get codeRange => _codeRange;
- /**
- * Code range of the parameter.
- */
+ /// Code range of the parameter.
void set codeRange(CodeRangeBuilder value) {
this._codeRange = value;
}
@@ -9366,10 +8970,8 @@
@override
String get defaultValueCode => _defaultValueCode ??= '';
- /**
- * If the parameter has a default value, the source text of the constant
- * expression in the default value. Otherwise the empty string.
- */
+ /// If the parameter has a default value, the source text of the constant
+ /// expression in the default value. Otherwise the empty string.
void set defaultValueCode(String value) {
this._defaultValueCode = value;
}
@@ -9377,17 +8979,15 @@
@override
int get inferredTypeSlot => _inferredTypeSlot ??= 0;
- /**
- * If this parameter's type is inferable, nonzero slot id identifying which
- * entry in [LinkedLibrary.types] contains the inferred type. If there is no
- * matching entry in [LinkedLibrary.types], then no type was inferred for
- * this variable, so its static type is `dynamic`.
- *
- * Note that although strong mode considers initializing formals to be
- * inferable, they are not marked as such in the summary; if their type is
- * not specified, they always inherit the static type of the corresponding
- * field.
- */
+ /// If this parameter's type is inferable, nonzero slot id identifying which
+ /// entry in [LinkedLibrary.types] contains the inferred type. If there is no
+ /// matching entry in [LinkedLibrary.types], then no type was inferred for
+ /// this variable, so its static type is `dynamic`.
+ ///
+ /// Note that although strong mode considers initializing formals to be
+ /// inferable, they are not marked as such in the summary; if their type is
+ /// not specified, they always inherit the static type of the corresponding
+ /// field.
void set inferredTypeSlot(int value) {
assert(value == null || value >= 0);
this._inferredTypeSlot = value;
@@ -9396,14 +8996,12 @@
@override
int get inheritsCovariantSlot => _inheritsCovariantSlot ??= 0;
- /**
- * If this is a parameter of an instance method, a nonzero slot id which is
- * unique within this compilation unit. If this id is found in
- * [LinkedUnit.parametersInheritingCovariant], then this parameter inherits
- * `@covariant` behavior from a base class.
- *
- * Otherwise, zero.
- */
+ /// If this is a parameter of an instance method, a nonzero slot id which is
+ /// unique within this compilation unit. If this id is found in
+ /// [LinkedUnit.parametersInheritingCovariant], then this parameter inherits
+ /// `@covariant` behavior from a base class.
+ ///
+ /// Otherwise, zero.
void set inheritsCovariantSlot(int value) {
assert(value == null || value >= 0);
this._inheritsCovariantSlot = value;
@@ -9412,10 +9010,8 @@
@override
UnlinkedExecutableBuilder get initializer => _initializer;
- /**
- * The synthetic initializer function of the parameter. Absent if the
- * variable does not have an initializer.
- */
+ /// The synthetic initializer function of the parameter. Absent if the
+ /// variable does not have an initializer.
void set initializer(UnlinkedExecutableBuilder value) {
this._initializer = value;
}
@@ -9423,9 +9019,7 @@
@override
bool get isExplicitlyCovariant => _isExplicitlyCovariant ??= false;
- /**
- * Indicates whether this parameter is explicitly marked as being covariant.
- */
+ /// Indicates whether this parameter is explicitly marked as being covariant.
void set isExplicitlyCovariant(bool value) {
this._isExplicitlyCovariant = value;
}
@@ -9433,9 +9027,7 @@
@override
bool get isFinal => _isFinal ??= false;
- /**
- * Indicates whether the parameter is declared using the `final` keyword.
- */
+ /// Indicates whether the parameter is declared using the `final` keyword.
void set isFinal(bool value) {
this._isFinal = value;
}
@@ -9443,16 +9035,14 @@
@override
bool get isFunctionTyped => _isFunctionTyped ??= false;
- /**
- * Indicates whether this is a function-typed parameter. A parameter is
- * function-typed if the declaration of the parameter has explicit formal
- * parameters
- * ```
- * int functionTyped(int p)
- * ```
- * but is not function-typed if it does not, even if the type of the parameter
- * is a function type.
- */
+ /// Indicates whether this is a function-typed parameter. A parameter is
+ /// function-typed if the declaration of the parameter has explicit formal
+ /// parameters
+ /// ```
+ /// int functionTyped(int p)
+ /// ```
+ /// but is not function-typed if it does not, even if the type of the
+ /// parameter is a function type.
void set isFunctionTyped(bool value) {
this._isFunctionTyped = value;
}
@@ -9460,10 +9050,8 @@
@override
bool get isInitializingFormal => _isInitializingFormal ??= false;
- /**
- * Indicates whether this is an initializing formal parameter (i.e. it is
- * declared using `this.` syntax).
- */
+ /// Indicates whether this is an initializing formal parameter (i.e. it is
+ /// declared using `this.` syntax).
void set isInitializingFormal(bool value) {
this._isInitializingFormal = value;
}
@@ -9471,9 +9059,7 @@
@override
idl.UnlinkedParamKind get kind => _kind ??= idl.UnlinkedParamKind.required;
- /**
- * Kind of the parameter.
- */
+ /// Kind of the parameter.
void set kind(idl.UnlinkedParamKind value) {
this._kind = value;
}
@@ -9481,9 +9067,7 @@
@override
String get name => _name ??= '';
- /**
- * Name of the parameter.
- */
+ /// Name of the parameter.
void set name(String value) {
this._name = value;
}
@@ -9491,9 +9075,7 @@
@override
int get nameOffset => _nameOffset ??= 0;
- /**
- * Offset of the parameter name relative to the beginning of the file.
- */
+ /// Offset of the parameter name relative to the beginning of the file.
void set nameOffset(int value) {
assert(value == null || value >= 0);
this._nameOffset = value;
@@ -9503,9 +9085,7 @@
List<UnlinkedParamBuilder> get parameters =>
_parameters ??= <UnlinkedParamBuilder>[];
- /**
- * If [isFunctionTyped] is `true`, the parameters of the function type.
- */
+ /// If [isFunctionTyped] is `true`, the parameters of the function type.
void set parameters(List<UnlinkedParamBuilder> value) {
this._parameters = value;
}
@@ -9513,11 +9093,9 @@
@override
EntityRefBuilder get type => _type;
- /**
- * If [isFunctionTyped] is `true`, the declared return type. If
- * [isFunctionTyped] is `false`, the declared type. Absent if the type is
- * implicit.
- */
+ /// If [isFunctionTyped] is `true`, the declared return type. If
+ /// [isFunctionTyped] is `false`, the declared type. Absent if the type is
+ /// implicit.
void set type(EntityRefBuilder value) {
this._type = value;
}
@@ -9525,9 +9103,7 @@
@override
int get visibleLength => _visibleLength ??= 0;
- /**
- * The length of the visible range.
- */
+ /// The length of the visible range.
void set visibleLength(int value) {
assert(value == null || value >= 0);
this._visibleLength = value;
@@ -9536,9 +9112,7 @@
@override
int get visibleOffset => _visibleOffset ??= 0;
- /**
- * The beginning of the visible range.
- */
+ /// The beginning of the visible range.
void set visibleOffset(int value) {
assert(value == null || value >= 0);
this._visibleOffset = value;
@@ -9933,9 +9507,7 @@
List<UnlinkedExprBuilder> get annotations =>
_annotations ??= <UnlinkedExprBuilder>[];
- /**
- * Annotations for this part declaration.
- */
+ /// Annotations for this part declaration.
void set annotations(List<UnlinkedExprBuilder> value) {
this._annotations = value;
}
@@ -9943,10 +9515,8 @@
@override
int get uriEnd => _uriEnd ??= 0;
- /**
- * End of the URI string (including quotes) relative to the beginning of the
- * file.
- */
+ /// End of the URI string (including quotes) relative to the beginning of the
+ /// file.
void set uriEnd(int value) {
assert(value == null || value >= 0);
this._uriEnd = value;
@@ -9955,10 +9525,8 @@
@override
int get uriOffset => _uriOffset ??= 0;
- /**
- * Offset of the URI string (including quotes) relative to the beginning of
- * the file.
- */
+ /// Offset of the URI string (including quotes) relative to the beginning of
+ /// the file.
void set uriOffset(int value) {
assert(value == null || value >= 0);
this._uriOffset = value;
@@ -10088,9 +9656,7 @@
@override
idl.ReferenceKind get kind => _kind ??= idl.ReferenceKind.classOrEnum;
- /**
- * The kind of object referred to by the name.
- */
+ /// The kind of object referred to by the name.
void set kind(idl.ReferenceKind value) {
this._kind = value;
}
@@ -10099,14 +9665,12 @@
List<UnlinkedPublicNameBuilder> get members =>
_members ??= <UnlinkedPublicNameBuilder>[];
- /**
- * If this [UnlinkedPublicName] is a class, the list of members which can be
- * referenced statically - static fields, static methods, and constructors.
- * Otherwise empty.
- *
- * Unnamed constructors are not included since they do not constitute a
- * separate name added to any namespace.
- */
+ /// If this [UnlinkedPublicName] is a class, the list of members which can be
+ /// referenced statically - static fields, static methods, and constructors.
+ /// Otherwise empty.
+ ///
+ /// Unnamed constructors are not included since they do not constitute a
+ /// separate name added to any namespace.
void set members(List<UnlinkedPublicNameBuilder> value) {
this._members = value;
}
@@ -10114,9 +9678,7 @@
@override
String get name => _name ??= '';
- /**
- * The name itself.
- */
+ /// The name itself.
void set name(String value) {
this._name = value;
}
@@ -10124,10 +9686,8 @@
@override
int get numTypeParameters => _numTypeParameters ??= 0;
- /**
- * If the entity being referred to is generic, the number of type parameters
- * it accepts. Otherwise zero.
- */
+ /// If the entity being referred to is generic, the number of type parameters
+ /// it accepts. Otherwise zero.
void set numTypeParameters(int value) {
assert(value == null || value >= 0);
this._numTypeParameters = value;
@@ -10282,9 +9842,7 @@
List<UnlinkedExportPublicBuilder> get exports =>
_exports ??= <UnlinkedExportPublicBuilder>[];
- /**
- * Export declarations in the compilation unit.
- */
+ /// Export declarations in the compilation unit.
void set exports(List<UnlinkedExportPublicBuilder> value) {
this._exports = value;
}
@@ -10293,12 +9851,10 @@
List<UnlinkedPublicNameBuilder> get names =>
_names ??= <UnlinkedPublicNameBuilder>[];
- /**
- * Public names defined in the compilation unit.
- *
- * TODO(paulberry): consider sorting these names to reduce unnecessary
- * relinking.
- */
+ /// Public names defined in the compilation unit.
+ ///
+ /// TODO(paulberry): consider sorting these names to reduce unnecessary
+ /// relinking.
void set names(List<UnlinkedPublicNameBuilder> value) {
this._names = value;
}
@@ -10306,9 +9862,7 @@
@override
List<String> get parts => _parts ??= <String>[];
- /**
- * URIs referenced by part declarations in the compilation unit.
- */
+ /// URIs referenced by part declarations in the compilation unit.
void set parts(List<String> value) {
this._parts = value;
}
@@ -10477,11 +10031,9 @@
@override
String get name => _name ??= '';
- /**
- * Name of the entity being referred to. For the pseudo-type `dynamic`, the
- * string is "dynamic". For the pseudo-type `void`, the string is "void".
- * For the pseudo-type `bottom`, the string is "*bottom*".
- */
+ /// Name of the entity being referred to. For the pseudo-type `dynamic`, the
+ /// string is "dynamic". For the pseudo-type `void`, the string is "void".
+ /// For the pseudo-type `bottom`, the string is "*bottom*".
void set name(String value) {
this._name = value;
}
@@ -10489,14 +10041,12 @@
@override
int get prefixReference => _prefixReference ??= 0;
- /**
- * Prefix used to refer to the entity, or zero if no prefix is used. This is
- * an index into [UnlinkedUnit.references].
- *
- * Prefix references must always point backward; that is, for all i, if
- * UnlinkedUnit.references[i].prefixReference != 0, then
- * UnlinkedUnit.references[i].prefixReference < i.
- */
+ /// Prefix used to refer to the entity, or zero if no prefix is used. This is
+ /// an index into [UnlinkedUnit.references].
+ ///
+ /// Prefix references must always point backward; that is, for all i, if
+ /// UnlinkedUnit.references[i].prefixReference != 0, then
+ /// UnlinkedUnit.references[i].prefixReference < i.
void set prefixReference(int value) {
assert(value == null || value >= 0);
this._prefixReference = value;
@@ -10604,9 +10154,7 @@
List<UnlinkedExprBuilder> get annotations =>
_annotations ??= <UnlinkedExprBuilder>[];
- /**
- * Annotations for this typedef.
- */
+ /// Annotations for this typedef.
void set annotations(List<UnlinkedExprBuilder> value) {
this._annotations = value;
}
@@ -10614,9 +10162,7 @@
@override
CodeRangeBuilder get codeRange => _codeRange;
- /**
- * Code range of the typedef.
- */
+ /// Code range of the typedef.
void set codeRange(CodeRangeBuilder value) {
this._codeRange = value;
}
@@ -10625,10 +10171,8 @@
UnlinkedDocumentationCommentBuilder get documentationComment =>
_documentationComment;
- /**
- * Documentation comment for the typedef, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the typedef, or `null` if there is no
+ /// documentation comment.
void set documentationComment(UnlinkedDocumentationCommentBuilder value) {
this._documentationComment = value;
}
@@ -10636,9 +10180,7 @@
@override
String get name => _name ??= '';
- /**
- * Name of the typedef.
- */
+ /// Name of the typedef.
void set name(String value) {
this._name = value;
}
@@ -10646,9 +10188,7 @@
@override
int get nameOffset => _nameOffset ??= 0;
- /**
- * Offset of the typedef name relative to the beginning of the file.
- */
+ /// Offset of the typedef name relative to the beginning of the file.
void set nameOffset(int value) {
assert(value == null || value >= 0);
this._nameOffset = value;
@@ -10658,9 +10198,7 @@
List<UnlinkedParamBuilder> get parameters =>
_parameters ??= <UnlinkedParamBuilder>[];
- /**
- * Parameters of the executable, if any.
- */
+ /// Parameters of the executable, if any.
void set parameters(List<UnlinkedParamBuilder> value) {
this._parameters = value;
}
@@ -10668,11 +10206,9 @@
@override
EntityRefBuilder get returnType => _returnType;
- /**
- * If [style] is [TypedefStyle.functionType], the return type of the typedef.
- * If [style] is [TypedefStyle.genericFunctionType], the function type being
- * defined.
- */
+ /// If [style] is [TypedefStyle.functionType], the return type of the typedef.
+ /// If [style] is [TypedefStyle.genericFunctionType], the function type being
+ /// defined.
void set returnType(EntityRefBuilder value) {
this._returnType = value;
}
@@ -10680,9 +10216,7 @@
@override
idl.TypedefStyle get style => _style ??= idl.TypedefStyle.functionType;
- /**
- * The style of the typedef.
- */
+ /// The style of the typedef.
void set style(idl.TypedefStyle value) {
this._style = value;
}
@@ -10691,9 +10225,7 @@
List<UnlinkedTypeParamBuilder> get typeParameters =>
_typeParameters ??= <UnlinkedTypeParamBuilder>[];
- /**
- * Type parameters of the typedef, if any.
- */
+ /// Type parameters of the typedef, if any.
void set typeParameters(List<UnlinkedTypeParamBuilder> value) {
this._typeParameters = value;
}
@@ -10972,9 +10504,7 @@
List<UnlinkedExprBuilder> get annotations =>
_annotations ??= <UnlinkedExprBuilder>[];
- /**
- * Annotations for this type parameter.
- */
+ /// Annotations for this type parameter.
void set annotations(List<UnlinkedExprBuilder> value) {
this._annotations = value;
}
@@ -10982,10 +10512,8 @@
@override
EntityRefBuilder get bound => _bound;
- /**
- * Bound of the type parameter, if a bound is explicitly declared. Otherwise
- * null.
- */
+ /// Bound of the type parameter, if a bound is explicitly declared. Otherwise
+ /// null.
void set bound(EntityRefBuilder value) {
this._bound = value;
}
@@ -10993,9 +10521,7 @@
@override
CodeRangeBuilder get codeRange => _codeRange;
- /**
- * Code range of the type parameter.
- */
+ /// Code range of the type parameter.
void set codeRange(CodeRangeBuilder value) {
this._codeRange = value;
}
@@ -11003,9 +10529,7 @@
@override
String get name => _name ??= '';
- /**
- * Name of the type parameter.
- */
+ /// Name of the type parameter.
void set name(String value) {
this._name = value;
}
@@ -11013,9 +10537,7 @@
@override
int get nameOffset => _nameOffset ??= 0;
- /**
- * Offset of the type parameter name relative to the beginning of the file.
- */
+ /// Offset of the type parameter name relative to the beginning of the file.
void set nameOffset(int value) {
assert(value == null || value >= 0);
this._nameOffset = value;
@@ -11207,11 +10729,9 @@
@override
List<int> get apiSignature => _apiSignature ??= <int>[];
- /**
- * MD5 hash of the non-informative fields of the [UnlinkedUnit] (not
- * including this one) as 16 unsigned 8-bit integer values. This can be used
- * to identify when the API of a unit may have changed.
- */
+ /// MD5 hash of the non-informative fields of the [UnlinkedUnit] (not
+ /// including this one) as 16 unsigned 8-bit integer values. This can be used
+ /// to identify when the API of a unit may have changed.
void set apiSignature(List<int> value) {
assert(value == null || value.every((e) => e >= 0));
this._apiSignature = value;
@@ -11221,9 +10741,7 @@
List<UnlinkedClassBuilder> get classes =>
_classes ??= <UnlinkedClassBuilder>[];
- /**
- * Classes declared in the compilation unit.
- */
+ /// Classes declared in the compilation unit.
void set classes(List<UnlinkedClassBuilder> value) {
this._classes = value;
}
@@ -11231,9 +10749,7 @@
@override
CodeRangeBuilder get codeRange => _codeRange;
- /**
- * Code range of the unit.
- */
+ /// Code range of the unit.
void set codeRange(CodeRangeBuilder value) {
this._codeRange = value;
}
@@ -11241,9 +10757,7 @@
@override
List<UnlinkedEnumBuilder> get enums => _enums ??= <UnlinkedEnumBuilder>[];
- /**
- * Enums declared in the compilation unit.
- */
+ /// Enums declared in the compilation unit.
void set enums(List<UnlinkedEnumBuilder> value) {
this._enums = value;
}
@@ -11252,10 +10766,8 @@
List<UnlinkedExecutableBuilder> get executables =>
_executables ??= <UnlinkedExecutableBuilder>[];
- /**
- * Top level executable objects (functions, getters, and setters) declared in
- * the compilation unit.
- */
+ /// Top level executable objects (functions, getters, and setters) declared in
+ /// the compilation unit.
void set executables(List<UnlinkedExecutableBuilder> value) {
this._executables = value;
}
@@ -11264,9 +10776,7 @@
List<UnlinkedExportNonPublicBuilder> get exports =>
_exports ??= <UnlinkedExportNonPublicBuilder>[];
- /**
- * Export declarations in the compilation unit.
- */
+ /// Export declarations in the compilation unit.
void set exports(List<UnlinkedExportNonPublicBuilder> value) {
this._exports = value;
}
@@ -11279,9 +10789,7 @@
List<UnlinkedImportBuilder> get imports =>
_imports ??= <UnlinkedImportBuilder>[];
- /**
- * Import declarations in the compilation unit.
- */
+ /// Import declarations in the compilation unit.
void set imports(List<UnlinkedImportBuilder> value) {
this._imports = value;
}
@@ -11289,9 +10797,7 @@
@override
bool get isPartOf => _isPartOf ??= false;
- /**
- * Indicates whether the unit contains a "part of" declaration.
- */
+ /// Indicates whether the unit contains a "part of" declaration.
void set isPartOf(bool value) {
this._isPartOf = value;
}
@@ -11300,10 +10806,8 @@
List<UnlinkedExprBuilder> get libraryAnnotations =>
_libraryAnnotations ??= <UnlinkedExprBuilder>[];
- /**
- * Annotations for the library declaration, or the empty list if there is no
- * library declaration.
- */
+ /// Annotations for the library declaration, or the empty list if there is no
+ /// library declaration.
void set libraryAnnotations(List<UnlinkedExprBuilder> value) {
this._libraryAnnotations = value;
}
@@ -11312,10 +10816,8 @@
UnlinkedDocumentationCommentBuilder get libraryDocumentationComment =>
_libraryDocumentationComment;
- /**
- * Documentation comment for the library, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the library, or `null` if there is no
+ /// documentation comment.
void set libraryDocumentationComment(
UnlinkedDocumentationCommentBuilder value) {
this._libraryDocumentationComment = value;
@@ -11324,9 +10826,7 @@
@override
String get libraryName => _libraryName ??= '';
- /**
- * Name of the library (from a "library" declaration, if present).
- */
+ /// Name of the library (from a "library" declaration, if present).
void set libraryName(String value) {
this._libraryName = value;
}
@@ -11334,10 +10834,8 @@
@override
int get libraryNameLength => _libraryNameLength ??= 0;
- /**
- * Length of the library name as it appears in the source code (or 0 if the
- * library has no name).
- */
+ /// Length of the library name as it appears in the source code (or 0 if the
+ /// library has no name).
void set libraryNameLength(int value) {
assert(value == null || value >= 0);
this._libraryNameLength = value;
@@ -11346,10 +10844,8 @@
@override
int get libraryNameOffset => _libraryNameOffset ??= 0;
- /**
- * Offset of the library name relative to the beginning of the file (or 0 if
- * the library has no name).
- */
+ /// Offset of the library name relative to the beginning of the file (or 0 if
+ /// the library has no name).
void set libraryNameOffset(int value) {
assert(value == null || value >= 0);
this._libraryNameOffset = value;
@@ -11358,9 +10854,7 @@
@override
List<int> get lineStarts => _lineStarts ??= <int>[];
- /**
- * Offsets of the first character of each line in the source code.
- */
+ /// 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));
this._lineStarts = value;
@@ -11369,9 +10863,7 @@
@override
List<UnlinkedClassBuilder> get mixins => _mixins ??= <UnlinkedClassBuilder>[];
- /**
- * Mixins declared in the compilation unit.
- */
+ /// Mixins declared in the compilation unit.
void set mixins(List<UnlinkedClassBuilder> value) {
this._mixins = value;
}
@@ -11379,9 +10871,7 @@
@override
List<UnlinkedPartBuilder> get parts => _parts ??= <UnlinkedPartBuilder>[];
- /**
- * Part declarations in the compilation unit.
- */
+ /// Part declarations in the compilation unit.
void set parts(List<UnlinkedPartBuilder> value) {
this._parts = value;
}
@@ -11389,9 +10879,7 @@
@override
UnlinkedPublicNamespaceBuilder get publicNamespace => _publicNamespace;
- /**
- * Unlinked public namespace of this compilation unit.
- */
+ /// Unlinked public namespace of this compilation unit.
void set publicNamespace(UnlinkedPublicNamespaceBuilder value) {
this._publicNamespace = value;
}
@@ -11400,13 +10888,11 @@
List<UnlinkedReferenceBuilder> get references =>
_references ??= <UnlinkedReferenceBuilder>[];
- /**
- * Top level and prefixed names referred to by this compilation unit. The
- * zeroth element of this array is always populated and is used to represent
- * the absence of a reference in places where a reference is optional (for
- * example [UnlinkedReference.prefixReference or
- * UnlinkedImport.prefixReference]).
- */
+ /// Top level and prefixed names referred to by this compilation unit. The
+ /// zeroth element of this array is always populated and is used to represent
+ /// the absence of a reference in places where a reference is optional (for
+ /// example [UnlinkedReference.prefixReference or
+ /// UnlinkedImport.prefixReference]).
void set references(List<UnlinkedReferenceBuilder> value) {
this._references = value;
}
@@ -11415,9 +10901,7 @@
List<UnlinkedTypedefBuilder> get typedefs =>
_typedefs ??= <UnlinkedTypedefBuilder>[];
- /**
- * Typedefs declared in the compilation unit.
- */
+ /// Typedefs declared in the compilation unit.
void set typedefs(List<UnlinkedTypedefBuilder> value) {
this._typedefs = value;
}
@@ -11426,9 +10910,7 @@
List<UnlinkedVariableBuilder> get variables =>
_variables ??= <UnlinkedVariableBuilder>[];
- /**
- * Top level variables declared in the compilation unit.
- */
+ /// Top level variables declared in the compilation unit.
void set variables(List<UnlinkedVariableBuilder> value) {
this._variables = value;
}
@@ -12047,9 +11529,7 @@
List<UnlinkedExprBuilder> get annotations =>
_annotations ??= <UnlinkedExprBuilder>[];
- /**
- * Annotations for this variable.
- */
+ /// Annotations for this variable.
void set annotations(List<UnlinkedExprBuilder> value) {
this._annotations = value;
}
@@ -12057,9 +11537,7 @@
@override
CodeRangeBuilder get codeRange => _codeRange;
- /**
- * Code range of the variable.
- */
+ /// Code range of the variable.
void set codeRange(CodeRangeBuilder value) {
this._codeRange = value;
}
@@ -12068,10 +11546,8 @@
UnlinkedDocumentationCommentBuilder get documentationComment =>
_documentationComment;
- /**
- * Documentation comment for the variable, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the variable, or `null` if there is no
+ /// documentation comment.
void set documentationComment(UnlinkedDocumentationCommentBuilder value) {
this._documentationComment = value;
}
@@ -12079,12 +11555,10 @@
@override
int get inferredTypeSlot => _inferredTypeSlot ??= 0;
- /**
- * If this variable is inferable, nonzero slot id identifying which entry in
- * [LinkedLibrary.types] contains the inferred type for this variable. If
- * there is no matching entry in [LinkedLibrary.types], then no type was
- * inferred for this variable, so its static type is `dynamic`.
- */
+ /// If this variable is inferable, nonzero slot id identifying which entry in
+ /// [LinkedLibrary.types] contains the inferred type for this variable. If
+ /// there is no matching entry in [LinkedLibrary.types], then no type was
+ /// inferred for this variable, so its static type is `dynamic`.
void set inferredTypeSlot(int value) {
assert(value == null || value >= 0);
this._inferredTypeSlot = value;
@@ -12093,14 +11567,12 @@
@override
int get inheritsCovariantSlot => _inheritsCovariantSlot ??= 0;
- /**
- * If this is an instance non-final field, a nonzero slot id which is unique
- * within this compilation unit. If this id is found in
- * [LinkedUnit.parametersInheritingCovariant], then the parameter of the
- * synthetic setter inherits `@covariant` behavior from a base class.
- *
- * Otherwise, zero.
- */
+ /// If this is an instance non-final field, a nonzero slot id which is unique
+ /// within this compilation unit. If this id is found in
+ /// [LinkedUnit.parametersInheritingCovariant], then the parameter of the
+ /// synthetic setter inherits `@covariant` behavior from a base class.
+ ///
+ /// Otherwise, zero.
void set inheritsCovariantSlot(int value) {
assert(value == null || value >= 0);
this._inheritsCovariantSlot = value;
@@ -12109,10 +11581,8 @@
@override
UnlinkedExecutableBuilder get initializer => _initializer;
- /**
- * The synthetic initializer function of the variable. Absent if the variable
- * does not have an initializer.
- */
+ /// The synthetic initializer function of the variable. Absent if the
+ /// variable does not have an initializer.
void set initializer(UnlinkedExecutableBuilder value) {
this._initializer = value;
}
@@ -12120,9 +11590,7 @@
@override
bool get isConst => _isConst ??= false;
- /**
- * Indicates whether the variable is declared using the `const` keyword.
- */
+ /// Indicates whether the variable is declared using the `const` keyword.
void set isConst(bool value) {
this._isConst = value;
}
@@ -12130,10 +11598,8 @@
@override
bool get isCovariant => _isCovariant ??= false;
- /**
- * Indicates whether this variable is declared using the `covariant` keyword.
- * This should be false for everything except instance fields.
- */
+ /// Indicates whether this variable is declared using the `covariant` keyword.
+ /// This should be false for everything except instance fields.
void set isCovariant(bool value) {
this._isCovariant = value;
}
@@ -12141,9 +11607,7 @@
@override
bool get isFinal => _isFinal ??= false;
- /**
- * Indicates whether the variable is declared using the `final` keyword.
- */
+ /// Indicates whether the variable is declared using the `final` keyword.
void set isFinal(bool value) {
this._isFinal = value;
}
@@ -12151,13 +11615,11 @@
@override
bool get isStatic => _isStatic ??= false;
- /**
- * Indicates whether the variable is declared using the `static` keyword.
- *
- * Note that for top level variables, this flag is false, since they are not
- * declared using the `static` keyword (even though they are considered
- * static for semantic purposes).
- */
+ /// Indicates whether the variable is declared using the `static` keyword.
+ ///
+ /// Note that for top level variables, this flag is false, since they are not
+ /// declared using the `static` keyword (even though they are considered
+ /// static for semantic purposes).
void set isStatic(bool value) {
this._isStatic = value;
}
@@ -12165,9 +11627,7 @@
@override
String get name => _name ??= '';
- /**
- * Name of the variable.
- */
+ /// Name of the variable.
void set name(String value) {
this._name = value;
}
@@ -12175,9 +11635,7 @@
@override
int get nameOffset => _nameOffset ??= 0;
- /**
- * Offset of the variable name relative to the beginning of the file.
- */
+ /// Offset of the variable name relative to the beginning of the file.
void set nameOffset(int value) {
assert(value == null || value >= 0);
this._nameOffset = value;
@@ -12186,14 +11644,12 @@
@override
int get propagatedTypeSlot => _propagatedTypeSlot ??= 0;
- /**
- * If this variable is propagable, nonzero slot id identifying which entry in
- * [LinkedLibrary.types] contains the propagated type for this variable. If
- * there is no matching entry in [LinkedLibrary.types], then this variable's
- * propagated type is the same as its declared type.
- *
- * Non-propagable variables have a [propagatedTypeSlot] of zero.
- */
+ /// If this variable is propagable, nonzero slot id identifying which entry in
+ /// [LinkedLibrary.types] contains the propagated type for this variable. If
+ /// there is no matching entry in [LinkedLibrary.types], then this variable's
+ /// propagated type is the same as its declared type.
+ ///
+ /// Non-propagable variables have a [propagatedTypeSlot] of zero.
void set propagatedTypeSlot(int value) {
assert(value == null || value >= 0);
this._propagatedTypeSlot = value;
@@ -12202,9 +11658,7 @@
@override
EntityRefBuilder get type => _type;
- /**
- * Declared type of the variable. Absent if the type is implicit.
- */
+ /// Declared type of the variable. Absent if the type is implicit.
void set type(EntityRefBuilder value) {
this._type = value;
}
diff --git a/pkg/analyzer/lib/src/summary/format.fbs b/pkg/analyzer/lib/src/summary/format.fbs
index 0f70322..6d76a1c 100644
--- a/pkg/analyzer/lib/src/summary/format.fbs
+++ b/pkg/analyzer/lib/src/summary/format.fbs
@@ -6,238 +6,154 @@
// To regenerate the file, use the script "pkg/analyzer/tool/generate_files".
-/**
- * Enum used to indicate the kind of an entity reference.
- */
+/// Enum used to indicate the kind of an entity reference.
enum EntityRefKind : byte {
- /**
- * The entity represents a named type.
- */
+ /// The entity represents a named type.
named,
- /**
- * The entity represents a generic function type.
- */
+ /// The entity represents a generic function type.
genericFunctionType,
- /**
- * The entity represents a function type that was synthesized by a LUB
- * computation.
- */
+ /// The entity represents a function type that was synthesized by a LUB
+ /// computation.
syntheticFunction
}
-/**
- * Enum used to indicate the kind of a name in index.
- */
+/// Enum used to indicate the kind of a name in index.
enum IndexNameKind : byte {
- /**
- * A top-level element.
- */
+ /// A top-level element.
topLevel,
- /**
- * A class member.
- */
+ /// A class member.
classMember
}
-/**
- * Enum used to indicate the kind of an index relation.
- */
+/// Enum used to indicate the kind of an index relation.
enum IndexRelationKind : byte {
- /**
- * Left: class.
- * Is ancestor of (is extended or implemented, directly or indirectly).
- * Right: other class declaration.
- */
+ /// Left: class.
+ /// Is ancestor of (is extended or implemented, directly or indirectly).
+ /// Right: other class declaration.
IS_ANCESTOR_OF,
- /**
- * Left: class.
- * Is extended by.
- * Right: other class declaration.
- */
+ /// Left: class.
+ /// Is extended by.
+ /// Right: other class declaration.
IS_EXTENDED_BY,
- /**
- * Left: class.
- * Is implemented by.
- * Right: other class declaration.
- */
+ /// Left: class.
+ /// Is implemented by.
+ /// Right: other class declaration.
IS_IMPLEMENTED_BY,
- /**
- * Left: class.
- * Is mixed into.
- * Right: other class declaration.
- */
+ /// Left: class.
+ /// Is mixed into.
+ /// Right: other class declaration.
IS_MIXED_IN_BY,
- /**
- * Left: method, property accessor, function, variable.
- * Is invoked at.
- * Right: location.
- */
+ /// Left: method, property accessor, function, variable.
+ /// Is invoked at.
+ /// Right: location.
IS_INVOKED_BY,
- /**
- * Left: any element.
- * Is referenced (and not invoked, read/written) at.
- * Right: location.
- */
+ /// Left: any element.
+ /// Is referenced (and not invoked, read/written) at.
+ /// Right: location.
IS_REFERENCED_BY,
- /**
- * Left: unresolved member name.
- * Is read at.
- * Right: location.
- */
+ /// Left: unresolved member name.
+ /// Is read at.
+ /// Right: location.
IS_READ_BY,
- /**
- * Left: unresolved member name.
- * Is both read and written at.
- * Right: location.
- */
+ /// Left: unresolved member name.
+ /// Is both read and written at.
+ /// Right: location.
IS_READ_WRITTEN_BY,
- /**
- * Left: unresolved member name.
- * Is written at.
- * Right: location.
- */
+ /// Left: unresolved member name.
+ /// Is written at.
+ /// Right: location.
IS_WRITTEN_BY
}
-/**
- * When we need to reference a synthetic element in [PackageIndex] we use a
- * value of this enum to specify which kind of the synthetic element we
- * actually reference.
- */
+/// When we need to reference a synthetic element in [PackageIndex] we use a
+/// value of this enum to specify which kind of the synthetic element we
+/// actually reference.
enum IndexSyntheticElementKind : byte {
- /**
- * Not a synthetic element.
- */
+ /// Not a synthetic element.
notSynthetic,
- /**
- * The unnamed synthetic constructor a class element.
- */
+ /// The unnamed synthetic constructor a class element.
constructor,
- /**
- * The synthetic field element.
- */
+ /// The synthetic field element.
field,
- /**
- * The synthetic getter of a property introducing element.
- */
+ /// The synthetic getter of a property introducing element.
getter,
- /**
- * The synthetic setter of a property introducing element.
- */
+ /// The synthetic setter of a property introducing element.
setter,
- /**
- * The synthetic top-level variable element.
- */
+ /// The synthetic top-level variable element.
topLevelVariable,
- /**
- * The synthetic `loadLibrary` element.
- */
+ /// The synthetic `loadLibrary` element.
loadLibrary,
- /**
- * The synthetic `index` getter of an enum.
- */
+ /// The synthetic `index` getter of an enum.
enumIndex,
- /**
- * The synthetic `values` getter of an enum.
- */
+ /// The synthetic `values` getter of an enum.
enumValues,
- /**
- * The containing unit itself.
- */
+ /// The containing unit itself.
unit
}
-/**
- * Enum used to indicate the kind of entity referred to by a
- * [LinkedReference].
- */
+/// Enum used to indicate the kind of entity referred to by a
+/// [LinkedReference].
enum ReferenceKind : byte {
- /**
- * The entity is a class or enum.
- */
+ /// The entity is a class or enum.
classOrEnum,
- /**
- * The entity is a constructor.
- */
+ /// The entity is a constructor.
constructor,
- /**
- * The entity is a getter or setter inside a class. Note: this is used in
- * the case where a constant refers to a static const declared inside a
- * class.
- */
+ /// The entity is a getter or setter inside a class. Note: this is used in
+ /// the case where a constant refers to a static const declared inside a
+ /// class.
propertyAccessor,
- /**
- * The entity is a method.
- */
+ /// The entity is a method.
method,
- /**
- * The entity is a typedef.
- */
+ /// The entity is a typedef.
typedef,
- /**
- * The entity is a local function.
- */
+ /// The entity is a local function.
function,
- /**
- * The entity is a local variable.
- */
+ /// The entity is a local variable.
variable,
- /**
- * The entity is a top level function.
- */
+ /// The entity is a top level function.
topLevelFunction,
- /**
- * The entity is a top level getter or setter.
- */
+ /// The entity is a top level getter or setter.
topLevelPropertyAccessor,
- /**
- * The entity is a prefix.
- */
+ /// The entity is a prefix.
prefix,
- /**
- * The entity being referred to does not exist.
- */
+ /// The entity being referred to does not exist.
unresolved,
- /**
- * The entity is a typedef expressed using generic function type syntax.
- */
+ /// The entity is a typedef expressed using generic function type syntax.
genericFunctionTypedef
}
-/**
- * Enum used to indicate the kind of the error during top-level inference.
- */
+/// Enum used to indicate the kind of the error during top-level inference.
enum TopLevelInferenceErrorKind : byte {
assignment,
@@ -252,2731 +168,1884 @@
overrideConflictParameterType
}
-/**
- * Enum used to indicate the style of a typedef.
- */
+/// Enum used to indicate the style of a typedef.
enum TypedefStyle : byte {
- /**
- * A typedef that defines a non-generic function type. The syntax is
- * ```
- * 'typedef' returnType? identifier typeParameters? formalParameterList ';'
- * ```
- * The typedef can have type parameters associated with it, but the function
- * type that results from applying type arguments does not.
- */
+ /// A typedef that defines a non-generic function type. The syntax is
+ /// ```
+ /// 'typedef' returnType? identifier typeParameters? formalParameterList ';'
+ /// ```
+ /// The typedef can have type parameters associated with it, but the function
+ /// type that results from applying type arguments does not.
functionType,
- /**
- * A typedef expressed using generic function type syntax. The syntax is
- * ```
- * typeAlias ::=
- * 'typedef' identifier typeParameters? '=' genericFunctionType ';'
- * genericFunctionType ::=
- * returnType? 'Function' typeParameters? parameterTypeList
- * ```
- * Both the typedef itself and the function type that results from applying
- * type arguments can have type parameters.
- */
+ /// A typedef expressed using generic function type syntax. The syntax is
+ /// ```
+ /// typeAlias ::=
+ /// 'typedef' identifier typeParameters? '=' genericFunctionType ';'
+ /// genericFunctionType ::=
+ /// returnType? 'Function' typeParameters? parameterTypeList
+ /// ```
+ /// Both the typedef itself and the function type that results from applying
+ /// type arguments can have type parameters.
genericFunctionType
}
-/**
- * Enum used to indicate the kind of an constructor initializer.
- */
+/// Enum used to indicate the kind of an constructor initializer.
enum UnlinkedConstructorInitializerKind : byte {
- /**
- * Initialization of a field.
- */
+ /// Initialization of a field.
field,
- /**
- * Invocation of a constructor in the same class.
- */
+ /// Invocation of a constructor in the same class.
thisInvocation,
- /**
- * Invocation of a superclass' constructor.
- */
+ /// Invocation of a superclass' constructor.
superInvocation,
- /**
- * Invocation of `assert`.
- */
+ /// Invocation of `assert`.
assertInvocation
}
-/**
- * Enum used to indicate the kind of an executable.
- */
+/// Enum used to indicate the kind of an executable.
enum UnlinkedExecutableKind : byte {
- /**
- * Executable is a function or method.
- */
+ /// Executable is a function or method.
functionOrMethod,
- /**
- * Executable is a getter.
- */
+ /// Executable is a getter.
getter,
- /**
- * Executable is a setter.
- */
+ /// Executable is a setter.
setter,
- /**
- * Executable is a constructor.
- */
+ /// Executable is a constructor.
constructor
}
-/**
- * Enum representing the various kinds of assignment operations combined
- * with:
- * [UnlinkedExprOperation.assignToRef],
- * [UnlinkedExprOperation.assignToProperty],
- * [UnlinkedExprOperation.assignToIndex].
- */
+/// Enum representing the various kinds of assignment operations combined
+/// with:
+/// [UnlinkedExprOperation.assignToRef],
+/// [UnlinkedExprOperation.assignToProperty],
+/// [UnlinkedExprOperation.assignToIndex].
enum UnlinkedExprAssignOperator : byte {
- /**
- * Perform simple assignment `target = operand`.
- */
+ /// Perform simple assignment `target = operand`.
assign,
- /**
- * Perform `target ??= operand`.
- */
+ /// Perform `target ??= operand`.
ifNull,
- /**
- * Perform `target *= operand`.
- */
+ /// Perform `target *= operand`.
multiply,
- /**
- * Perform `target /= operand`.
- */
+ /// Perform `target /= operand`.
divide,
- /**
- * Perform `target ~/= operand`.
- */
+ /// Perform `target ~/= operand`.
floorDivide,
- /**
- * Perform `target %= operand`.
- */
+ /// Perform `target %= operand`.
modulo,
- /**
- * Perform `target += operand`.
- */
+ /// Perform `target += operand`.
plus,
- /**
- * Perform `target -= operand`.
- */
+ /// Perform `target -= operand`.
minus,
- /**
- * Perform `target <<= operand`.
- */
+ /// Perform `target <<= operand`.
shiftLeft,
- /**
- * Perform `target >>= operand`.
- */
+ /// Perform `target >>= operand`.
shiftRight,
- /**
- * Perform `target &= operand`.
- */
+ /// Perform `target &= operand`.
bitAnd,
- /**
- * Perform `target ^= operand`.
- */
+ /// Perform `target ^= operand`.
bitXor,
- /**
- * Perform `target |= operand`.
- */
+ /// Perform `target |= operand`.
bitOr,
- /**
- * Perform `++target`.
- */
+ /// Perform `++target`.
prefixIncrement,
- /**
- * Perform `--target`.
- */
+ /// Perform `--target`.
prefixDecrement,
- /**
- * Perform `target++`.
- */
+ /// Perform `target++`.
postfixIncrement,
- /**
- * Perform `target++`.
- */
+ /// Perform `target++`.
postfixDecrement
}
-/**
- * Enum representing the various kinds of operations which may be performed to
- * in an expression. These options are assumed to execute in the
- * context of a stack which is initially empty.
- */
+/// Enum representing the various kinds of operations which may be performed to
+/// in an expression. These options are assumed to execute in the
+/// context of a stack which is initially empty.
enum UnlinkedExprOperation : byte {
- /**
- * Push the next value from [UnlinkedExpr.ints] (a 32-bit unsigned integer)
- * onto the stack.
- *
- * Note that Dart supports integers larger than 32 bits; these are
- * represented by composing 32-bit values using the [pushLongInt] operation.
- */
+ /// Push the next value from [UnlinkedExpr.ints] (a 32-bit unsigned integer)
+ /// onto the stack.
+ ///
+ /// Note that Dart supports integers larger than 32 bits; these are
+ /// represented by composing 32-bit values using the [pushLongInt] operation.
pushInt,
- /**
- * Get the number of components from [UnlinkedExpr.ints], then do this number
- * of times the following operations: multiple the current value by 2^32, "or"
- * it with the next value in [UnlinkedExpr.ints]. The initial value is zero.
- * Push the result into the stack.
- */
+ /// Get the number of components from [UnlinkedExpr.ints], then do this number
+ /// of times the following operations: multiple the current value by 2^32,
+ /// "or" it with the next value in [UnlinkedExpr.ints]. The initial value is
+ /// zero. Push the result into the stack.
pushLongInt,
- /**
- * Push the next value from [UnlinkedExpr.doubles] (a double precision
- * floating point value) onto the stack.
- */
+ /// Push the next value from [UnlinkedExpr.doubles] (a double precision
+ /// floating point value) onto the stack.
pushDouble,
- /**
- * Push the constant `true` onto the stack.
- */
+ /// Push the constant `true` onto the stack.
pushTrue,
- /**
- * Push the constant `false` onto the stack.
- */
+ /// Push the constant `false` onto the stack.
pushFalse,
- /**
- * Push the next value from [UnlinkedExpr.strings] onto the stack.
- */
+ /// Push the next value from [UnlinkedExpr.strings] onto the stack.
pushString,
- /**
- * Pop the top n values from the stack (where n is obtained from
- * [UnlinkedExpr.ints]), convert them to strings (if they aren't already),
- * concatenate them into a single string, and push it back onto the stack.
- *
- * This operation is used to represent constants whose value is a literal
- * string containing string interpolations.
- */
+ /// Pop the top n values from the stack (where n is obtained from
+ /// [UnlinkedExpr.ints]), convert them to strings (if they aren't already),
+ /// concatenate them into a single string, and push it back onto the stack.
+ ///
+ /// This operation is used to represent constants whose value is a literal
+ /// string containing string interpolations.
concatenate,
- /**
- * Get the next value from [UnlinkedExpr.strings], convert it to a symbol,
- * and push it onto the stack.
- */
+ /// Get the next value from [UnlinkedExpr.strings], convert it to a symbol,
+ /// and push it onto the stack.
makeSymbol,
- /**
- * Push the constant `null` onto the stack.
- */
+ /// Push the constant `null` onto the stack.
pushNull,
- /**
- * Push the value of the function parameter with the name obtained from
- * [UnlinkedExpr.strings].
- */
+ /// Push the value of the function parameter with the name obtained from
+ /// [UnlinkedExpr.strings].
pushParameter,
- /**
- * Evaluate a (potentially qualified) identifier expression and push the
- * resulting value onto the stack. The identifier to be evaluated is
- * obtained from [UnlinkedExpr.references].
- *
- * This operation is used to represent the following kinds of constants
- * (which are indistinguishable from an unresolved AST alone):
- *
- * - A qualified reference to a static constant variable (e.g. `C.v`, where
- * C is a class and `v` is a constant static variable in `C`).
- * - An identifier expression referring to a constant variable.
- * - A simple or qualified identifier denoting a class or type alias.
- * - A simple or qualified identifier denoting a top-level function or a
- * static method.
- */
+ /// Evaluate a (potentially qualified) identifier expression and push the
+ /// resulting value onto the stack. The identifier to be evaluated is
+ /// obtained from [UnlinkedExpr.references].
+ ///
+ /// This operation is used to represent the following kinds of constants
+ /// (which are indistinguishable from an unresolved AST alone):
+ ///
+ /// - A qualified reference to a static constant variable (e.g. `C.v`, where
+ /// C is a class and `v` is a constant static variable in `C`).
+ /// - An identifier expression referring to a constant variable.
+ /// - A simple or qualified identifier denoting a class or type alias.
+ /// - A simple or qualified identifier denoting a top-level function or a
+ /// static method.
pushReference,
- /**
- * Pop the top value from the stack, extract the value of the property with
- * the name obtained from [UnlinkedExpr.strings], and push the result back
- * onto the stack.
- */
+ /// Pop the top value from the stack, extract the value of the property with
+ /// the name obtained from [UnlinkedExpr.strings], and push the result back
+ /// onto the stack.
extractProperty,
- /**
- * Pop the top `n` values from the stack (where `n` is obtained from
- * [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
- * `n` values from [UnlinkedExpr.strings] and use the lists of names and
- * values to create named arguments. Then pop the top `m` values from the
- * stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
- * from the end) and use them as positional arguments. Use the lists of
- * positional and names arguments to invoke a constant constructor obtained
- * from [UnlinkedExpr.references], and push the resulting value back onto the
- * stack.
- *
- * Arguments are skipped, and `0` are specified as the numbers of arguments
- * on the stack, if the expression is not a constant. We store expression of
- * variable initializers to perform top-level inference, and arguments are
- * never used to infer types.
- *
- * Note that for an invocation of the form `const a.b(...)` (where no type
- * arguments are specified), it is impossible to tell from the unresolved AST
- * alone whether `a` is a class name and `b` is a constructor name, or `a` is
- * a prefix name and `b` is a class name. For consistency between AST based
- * and elements based summaries, references to default constructors are always
- * recorded as references to corresponding classes.
- */
+ /// Pop the top `n` values from the stack (where `n` is obtained from
+ /// [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
+ /// `n` values from [UnlinkedExpr.strings] and use the lists of names and
+ /// values to create named arguments. Then pop the top `m` values from the
+ /// stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
+ /// from the end) and use them as positional arguments. Use the lists of
+ /// positional and names arguments to invoke a constant constructor obtained
+ /// from [UnlinkedExpr.references], and push the resulting value back onto the
+ /// stack.
+ ///
+ /// Arguments are skipped, and `0` are specified as the numbers of arguments
+ /// on the stack, if the expression is not a constant. We store expression of
+ /// variable initializers to perform top-level inference, and arguments are
+ /// never used to infer types.
+ ///
+ /// Note that for an invocation of the form `const a.b(...)` (where no type
+ /// arguments are specified), it is impossible to tell from the unresolved AST
+ /// alone whether `a` is a class name and `b` is a constructor name, or `a` is
+ /// a prefix name and `b` is a class name. For consistency between AST based
+ /// and elements based summaries, references to default constructors are
+ /// always recorded as references to corresponding classes.
invokeConstructor,
- /**
- * Pop the top n values from the stack (where n is obtained from
- * [UnlinkedExpr.ints]), place them in a [List], and push the result back
- * onto the stack. The type parameter for the [List] is implicitly `dynamic`.
- */
+ /// Pop the top n values from the stack (where n is obtained from
+ /// [UnlinkedExpr.ints]), place them in a [List], and push the result back
+ /// onto the stack. The type parameter for the [List] is implicitly
+ /// `dynamic`.
makeUntypedList,
- /**
- * Pop the top 2*n values from the stack (where n is obtained from
- * [UnlinkedExpr.ints]), interpret them as key/value pairs, place them in a
- * [Map], and push the result back onto the stack. The two type parameters
- * for the [Map] are implicitly `dynamic`.
- */
+ /// Pop the top 2*n values from the stack (where n is obtained from
+ /// [UnlinkedExpr.ints]), interpret them as key/value pairs, place them in a
+ /// [Map], and push the result back onto the stack. The two type parameters
+ /// for the [Map] are implicitly `dynamic`.
makeUntypedMap,
- /**
- * Pop the top n values from the stack (where n is obtained from
- * [UnlinkedExpr.ints]), place them in a [List], and push the result back
- * onto the stack. The type parameter for the [List] is obtained from
- * [UnlinkedExpr.references].
- */
+ /// Pop the top n values from the stack (where n is obtained from
+ /// [UnlinkedExpr.ints]), place them in a [List], and push the result back
+ /// onto the stack. The type parameter for the [List] is obtained from
+ /// [UnlinkedExpr.references].
makeTypedList,
- /**
- * Pop the top 2*n values from the stack (where n is obtained from
- * [UnlinkedExpr.ints]), interpret them as key/value pairs, place them in a
- * [Map], and push the result back onto the stack. The two type parameters
- * for the [Map] are obtained from [UnlinkedExpr.references].
- */
+ /// Pop the top 2*n values from the stack (where n is obtained from
+ /// [UnlinkedExpr.ints]), interpret them as key/value pairs, place them in a
+ /// [Map], and push the result back onto the stack. The two type parameters
+ /// for the [Map] are obtained from [UnlinkedExpr.references].
makeTypedMap,
- /**
- * Pop the top 2 values from the stack, evaluate `v1 == v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, evaluate `v1 == v2`, and push the
+ /// result back onto the stack.
equal,
- /**
- * Pop the top 2 values from the stack, evaluate `v1 != v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, evaluate `v1 != v2`, and push the
+ /// result back onto the stack.
notEqual,
- /**
- * Pop the top value from the stack, compute its boolean negation, and push
- * the result back onto the stack.
- */
+ /// Pop the top value from the stack, compute its boolean negation, and push
+ /// the result back onto the stack.
not,
- /**
- * Pop the top 2 values from the stack, compute `v1 && v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 && v2`, and push the
+ /// result back onto the stack.
and,
- /**
- * Pop the top 2 values from the stack, compute `v1 || v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 || v2`, and push the
+ /// result back onto the stack.
or,
- /**
- * Pop the top value from the stack, compute its integer complement, and push
- * the result back onto the stack.
- */
+ /// Pop the top value from the stack, compute its integer complement, and push
+ /// the result back onto the stack.
complement,
- /**
- * Pop the top 2 values from the stack, compute `v1 ^ v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 ^ v2`, and push the
+ /// result back onto the stack.
bitXor,
- /**
- * Pop the top 2 values from the stack, compute `v1 & v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 & v2`, and push the
+ /// result back onto the stack.
bitAnd,
- /**
- * Pop the top 2 values from the stack, compute `v1 | v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 | v2`, and push the
+ /// result back onto the stack.
bitOr,
- /**
- * Pop the top 2 values from the stack, compute `v1 >> v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 >> v2`, and push the
+ /// result back onto the stack.
bitShiftRight,
- /**
- * Pop the top 2 values from the stack, compute `v1 << v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 << v2`, and push the
+ /// result back onto the stack.
bitShiftLeft,
- /**
- * Pop the top 2 values from the stack, compute `v1 + v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 + v2`, and push the
+ /// result back onto the stack.
add,
- /**
- * Pop the top value from the stack, compute its integer negation, and push
- * the result back onto the stack.
- */
+ /// Pop the top value from the stack, compute its integer negation, and push
+ /// the result back onto the stack.
negate,
- /**
- * Pop the top 2 values from the stack, compute `v1 - v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 - v2`, and push the
+ /// result back onto the stack.
subtract,
- /**
- * Pop the top 2 values from the stack, compute `v1 * v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 * v2`, and push the
+ /// result back onto the stack.
multiply,
- /**
- * Pop the top 2 values from the stack, compute `v1 / v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 / v2`, and push the
+ /// result back onto the stack.
divide,
- /**
- * Pop the top 2 values from the stack, compute `v1 ~/ v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 ~/ v2`, and push the
+ /// result back onto the stack.
floorDivide,
- /**
- * Pop the top 2 values from the stack, compute `v1 > v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 > v2`, and push the
+ /// result back onto the stack.
greater,
- /**
- * Pop the top 2 values from the stack, compute `v1 < v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 < v2`, and push the
+ /// result back onto the stack.
less,
- /**
- * Pop the top 2 values from the stack, compute `v1 >= v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 >= v2`, and push the
+ /// result back onto the stack.
greaterEqual,
- /**
- * Pop the top 2 values from the stack, compute `v1 <= v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 <= v2`, and push the
+ /// result back onto the stack.
lessEqual,
- /**
- * Pop the top 2 values from the stack, compute `v1 % v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 % v2`, and push the
+ /// result back onto the stack.
modulo,
- /**
- * Pop the top 3 values from the stack, compute `v1 ? v2 : v3`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 3 values from the stack, compute `v1 ? v2 : v3`, and push the
+ /// result back onto the stack.
conditional,
- /**
- * Pop from the stack `value` and get the next `target` reference from
- * [UnlinkedExpr.references] - a top-level variable (prefixed or not), an
- * assignable field of a class (prefixed or not), or a sequence of getters
- * ending with an assignable property `a.b.b.c.d.e`. In general `a.b` cannot
- * not be distinguished between: `a` is a prefix and `b` is a top-level
- * variable; or `a` is an object and `b` is the name of a property. Perform
- * `reference op= value` where `op` is the next assignment operator from
- * [UnlinkedExpr.assignmentOperators]. Push `value` back into the stack.
- *
- * If the assignment operator is a prefix/postfix increment/decrement, then
- * `value` is not present in the stack, so it should not be popped and the
- * corresponding value of the `target` after/before update is pushed into the
- * stack instead.
- */
+ /// Pop from the stack `value` and get the next `target` reference from
+ /// [UnlinkedExpr.references] - a top-level variable (prefixed or not), an
+ /// assignable field of a class (prefixed or not), or a sequence of getters
+ /// ending with an assignable property `a.b.b.c.d.e`. In general `a.b` cannot
+ /// not be distinguished between: `a` is a prefix and `b` is a top-level
+ /// variable; or `a` is an object and `b` is the name of a property. Perform
+ /// `reference op= value` where `op` is the next assignment operator from
+ /// [UnlinkedExpr.assignmentOperators]. Push `value` back into the stack.
+ ///
+ /// If the assignment operator is a prefix/postfix increment/decrement, then
+ /// `value` is not present in the stack, so it should not be popped and the
+ /// corresponding value of the `target` after/before update is pushed into the
+ /// stack instead.
assignToRef,
- /**
- * Pop from the stack `target` and `value`. Get the name of the property from
- * `UnlinkedConst.strings` and assign the `value` to the named property of the
- * `target`. This operation is used when we know that the `target` is an
- * object reference expression, e.g. `new Foo().a.b.c` or `a.b[0].c.d`.
- * Perform `target.property op= value` where `op` is the next assignment
- * operator from [UnlinkedExpr.assignmentOperators]. Push `value` back into
- * the stack.
- *
- * If the assignment operator is a prefix/postfix increment/decrement, then
- * `value` is not present in the stack, so it should not be popped and the
- * corresponding value of the `target` after/before update is pushed into the
- * stack instead.
- */
+ /// Pop from the stack `target` and `value`. Get the name of the property
+ /// from `UnlinkedConst.strings` and assign the `value` to the named property
+ /// of the `target`. This operation is used when we know that the `target`
+ /// is an object reference expression, e.g. `new Foo().a.b.c` or `a.b[0].c.d`.
+ /// Perform `target.property op= value` where `op` is the next assignment
+ /// operator from [UnlinkedExpr.assignmentOperators]. Push `value` back into
+ /// the stack.
+ ///
+ /// If the assignment operator is a prefix/postfix increment/decrement, then
+ /// `value` is not present in the stack, so it should not be popped and the
+ /// corresponding value of the `target` after/before update is pushed into the
+ /// stack instead.
assignToProperty,
- /**
- * Pop from the stack `index`, `target` and `value`. Perform
- * `target[index] op= value` where `op` is the next assignment operator from
- * [UnlinkedExpr.assignmentOperators]. Push `value` back into the stack.
- *
- * If the assignment operator is a prefix/postfix increment/decrement, then
- * `value` is not present in the stack, so it should not be popped and the
- * corresponding value of the `target` after/before update is pushed into the
- * stack instead.
- */
+ /// Pop from the stack `index`, `target` and `value`. Perform
+ /// `target[index] op= value` where `op` is the next assignment operator from
+ /// [UnlinkedExpr.assignmentOperators]. Push `value` back into the stack.
+ ///
+ /// If the assignment operator is a prefix/postfix increment/decrement, then
+ /// `value` is not present in the stack, so it should not be popped and the
+ /// corresponding value of the `target` after/before update is pushed into the
+ /// stack instead.
assignToIndex,
- /**
- * Pop from the stack `index` and `target`. Push into the stack the result
- * of evaluation of `target[index]`.
- */
+ /// Pop from the stack `index` and `target`. Push into the stack the result
+ /// of evaluation of `target[index]`.
extractIndex,
- /**
- * Pop the top `n` values from the stack (where `n` is obtained from
- * [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
- * `n` values from [UnlinkedExpr.strings] and use the lists of names and
- * values to create named arguments. Then pop the top `m` values from the
- * stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
- * from the end) and use them as positional arguments. Use the lists of
- * positional and names arguments to invoke a method (or a function) with
- * the reference from [UnlinkedExpr.references]. If `k` is nonzero (where
- * `k` is obtained from [UnlinkedExpr.ints]), obtain `k` type arguments from
- * [UnlinkedExpr.references] and use them as generic type arguments for the
- * aforementioned method or function. Push the result of the invocation onto
- * the stack.
- *
- * Arguments are skipped, and `0` are specified as the numbers of arguments
- * on the stack, if the expression is not a constant. We store expression of
- * variable initializers to perform top-level inference, and arguments are
- * never used to infer types.
- *
- * In general `a.b` cannot not be distinguished between: `a` is a prefix and
- * `b` is a top-level function; or `a` is an object and `b` is the name of a
- * method. This operation should be used for a sequence of identifiers
- * `a.b.b.c.d.e` ending with an invokable result.
- */
+ /// Pop the top `n` values from the stack (where `n` is obtained from
+ /// [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
+ /// `n` values from [UnlinkedExpr.strings] and use the lists of names and
+ /// values to create named arguments. Then pop the top `m` values from the
+ /// stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
+ /// from the end) and use them as positional arguments. Use the lists of
+ /// positional and names arguments to invoke a method (or a function) with
+ /// the reference from [UnlinkedExpr.references]. If `k` is nonzero (where
+ /// `k` is obtained from [UnlinkedExpr.ints]), obtain `k` type arguments from
+ /// [UnlinkedExpr.references] and use them as generic type arguments for the
+ /// aforementioned method or function. Push the result of the invocation onto
+ /// the stack.
+ ///
+ /// Arguments are skipped, and `0` are specified as the numbers of arguments
+ /// on the stack, if the expression is not a constant. We store expression of
+ /// variable initializers to perform top-level inference, and arguments are
+ /// never used to infer types.
+ ///
+ /// In general `a.b` cannot not be distinguished between: `a` is a prefix and
+ /// `b` is a top-level function; or `a` is an object and `b` is the name of a
+ /// method. This operation should be used for a sequence of identifiers
+ /// `a.b.b.c.d.e` ending with an invokable result.
invokeMethodRef,
- /**
- * Pop the top `n` values from the stack (where `n` is obtained from
- * [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
- * `n` values from [UnlinkedExpr.strings] and use the lists of names and
- * values to create named arguments. Then pop the top `m` values from the
- * stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
- * from the end) and use them as positional arguments. Use the lists of
- * positional and names arguments to invoke the method with the name from
- * [UnlinkedExpr.strings] of the target popped from the stack. If `k` is
- * nonzero (where `k` is obtained from [UnlinkedExpr.ints]), obtain `k` type
- * arguments from [UnlinkedExpr.references] and use them as generic type
- * arguments for the aforementioned method. Push the result of the
- * invocation onto the stack.
- *
- * Arguments are skipped, and `0` are specified as the numbers of arguments
- * on the stack, if the expression is not a constant. We store expression of
- * variable initializers to perform top-level inference, and arguments are
- * never used to infer types.
- *
- * This operation should be used for invocation of a method invocation
- * where `target` is known to be an object instance.
- */
+ /// Pop the top `n` values from the stack (where `n` is obtained from
+ /// [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
+ /// `n` values from [UnlinkedExpr.strings] and use the lists of names and
+ /// values to create named arguments. Then pop the top `m` values from the
+ /// stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
+ /// from the end) and use them as positional arguments. Use the lists of
+ /// positional and names arguments to invoke the method with the name from
+ /// [UnlinkedExpr.strings] of the target popped from the stack. If `k` is
+ /// nonzero (where `k` is obtained from [UnlinkedExpr.ints]), obtain `k` type
+ /// arguments from [UnlinkedExpr.references] and use them as generic type
+ /// arguments for the aforementioned method. Push the result of the
+ /// invocation onto the stack.
+ ///
+ /// Arguments are skipped, and `0` are specified as the numbers of arguments
+ /// on the stack, if the expression is not a constant. We store expression of
+ /// variable initializers to perform top-level inference, and arguments are
+ /// never used to infer types.
+ ///
+ /// This operation should be used for invocation of a method invocation
+ /// where `target` is known to be an object instance.
invokeMethod,
- /**
- * Begin a new cascade section. Duplicate the top value of the stack.
- */
+ /// Begin a new cascade section. Duplicate the top value of the stack.
cascadeSectionBegin,
- /**
- * End a new cascade section. Pop the top value from the stack and throw it
- * away.
- */
+ /// End a new cascade section. Pop the top value from the stack and throw it
+ /// away.
cascadeSectionEnd,
- /**
- * Pop the top value from the stack and cast it to the type with reference
- * from [UnlinkedExpr.references], push the result into the stack.
- */
+ /// Pop the top value from the stack and cast it to the type with reference
+ /// from [UnlinkedExpr.references], push the result into the stack.
typeCast,
- /**
- * Pop the top value from the stack and check whether it is a subclass of the
- * type with reference from [UnlinkedExpr.references], push the result into
- * the stack.
- */
+ /// Pop the top value from the stack and check whether it is a subclass of the
+ /// type with reference from [UnlinkedExpr.references], push the result into
+ /// the stack.
typeCheck,
- /**
- * Pop the top value from the stack and raise an exception with this value.
- */
+ /// Pop the top value from the stack and raise an exception with this value.
throwException,
- /**
- * Obtain two values `n` and `m` from [UnlinkedExpr.ints]. Then, starting at
- * the executable element for the expression being evaluated, if n > 0, pop to
- * the nth enclosing function element. Then, push the mth local function of
- * that element onto the stack.
- */
+ /// Obtain two values `n` and `m` from [UnlinkedExpr.ints]. Then, starting at
+ /// the executable element for the expression being evaluated, if n > 0, pop
+ /// to the nth enclosing function element. Then, push the mth local function
+ /// of that element onto the stack.
pushLocalFunctionReference,
- /**
- * Pop the top two values from the stack. If the first value is non-null,
- * keep it and discard the second. Otherwise, keep the second and discard the
- * first.
- */
+ /// Pop the top two values from the stack. If the first value is non-null,
+ /// keep it and discard the second. Otherwise, keep the second and discard
+ /// the first.
ifNull,
- /**
- * Pop the top value from the stack. Treat it as a Future and await its
- * completion. Then push the awaited value onto the stack.
- */
+ /// Pop the top value from the stack. Treat it as a Future and await its
+ /// completion. Then push the awaited value onto the stack.
await,
- /**
- * Push an abstract value onto the stack. Abstract values mark the presence of
- * a value, but whose details are not included.
- *
- * This is not used by the summary generators today, but it will be used to
- * experiment with prunning the initializer expression tree, so only
- * information that is necessary gets included in the output summary file.
- */
+ /// Push an abstract value onto the stack. Abstract values mark the presence
+ /// of a value, but whose details are not included.
+ ///
+ /// This is not used by the summary generators today, but it will be used to
+ /// experiment with prunning the initializer expression tree, so only
+ /// information that is necessary gets included in the output summary file.
pushUntypedAbstract,
- /**
- * Get the next type reference from [UnlinkedExpr.references] and push an
- * abstract value onto the stack that has that type.
- *
- * Like [pushUntypedAbstract], this is also not used by the summary generators
- * today. The plan is to experiment with prunning the initializer expression
- * tree, and include just enough type information to perform strong-mode type
- * inference, but not all the details of how this type was obtained.
- */
+ /// Get the next type reference from [UnlinkedExpr.references] and push an
+ /// abstract value onto the stack that has that type.
+ ///
+ /// Like [pushUntypedAbstract], this is also not used by the summary
+ /// generators today. The plan is to experiment with prunning the initializer
+ /// expression tree, and include just enough type information to perform
+ /// strong-mode type inference, but not all the details of how this type was
+ /// obtained.
pushTypedAbstract,
- /**
- * Push an error onto the stack.
- *
- * Like [pushUntypedAbstract], this is not used by summary generators today.
- * This will be used to experiment with prunning the const expression tree. If
- * a constant has an error, we can omit the subexpression containing the error
- * and only include a marker that an error was detected.
- */
+ /// Push an error onto the stack.
+ ///
+ /// Like [pushUntypedAbstract], this is not used by summary generators today.
+ /// This will be used to experiment with prunning the const expression tree.
+ /// If a constant has an error, we can omit the subexpression containing the
+ /// error and only include a marker that an error was detected.
pushError,
- /**
- * Push `this` expression onto the stack.
- */
+ /// Push `this` expression onto the stack.
pushThis,
- /**
- * Push `super` expression onto the stack.
- */
+ /// Push `super` expression onto the stack.
pushSuper
}
-/**
- * Enum used to indicate the kind of a parameter.
- */
+/// Enum used to indicate the kind of a parameter.
enum UnlinkedParamKind : byte {
- /**
- * Parameter is required.
- */
+ /// Parameter is required.
required,
- /**
- * Parameter is positional optional (enclosed in `[]`)
- */
+ /// Parameter is positional optional (enclosed in `[]`)
positional,
- /**
- * Parameter is named optional (enclosed in `{}`)
- */
+ /// Parameter is named optional (enclosed in `{}`)
named
}
-/**
- * Information about the context of an exception in analysis driver.
- */
+/// Information about the context of an exception in analysis driver.
table AnalysisDriverExceptionContext {
- /**
- * The exception string.
- */
+ /// The exception string.
exception:string (id: 1);
- /**
- * The state of files when the exception happened.
- */
+ /// The state of files when the exception happened.
files:[AnalysisDriverExceptionFile] (id: 3);
- /**
- * The path of the file being analyzed when the exception happened.
- */
+ /// The path of the file being analyzed when the exception happened.
path:string (id: 0);
- /**
- * The exception stack trace string.
- */
+ /// The exception stack trace string.
stackTrace:string (id: 2);
}
-/**
- * Information about a single file in [AnalysisDriverExceptionContext].
- */
+/// Information about a single file in [AnalysisDriverExceptionContext].
table AnalysisDriverExceptionFile {
- /**
- * The content of the file.
- */
+ /// The content of the file.
content:string (id: 1);
- /**
- * The path of the file.
- */
+ /// The path of the file.
path:string (id: 0);
}
-/**
- * Information about a resolved unit.
- */
+/// Information about a resolved unit.
table AnalysisDriverResolvedUnit {
- /**
- * The full list of analysis errors, both syntactic and semantic.
- */
+ /// The full list of analysis errors, both syntactic and semantic.
errors:[AnalysisDriverUnitError] (id: 0);
- /**
- * The index of the unit.
- */
+ /// The index of the unit.
index:AnalysisDriverUnitIndex (id: 1);
}
-/**
- * Information about a subtype of one or more classes.
- */
+/// Information about a subtype of one or more classes.
table AnalysisDriverSubtype {
- /**
- * The names of defined instance members.
- * They are indexes into [AnalysisDriverUnitError.strings] list.
- * The list is sorted in ascending order.
- */
+ /// The names of defined instance members.
+ /// They are indexes into [AnalysisDriverUnitError.strings] list.
+ /// The list is sorted in ascending order.
members:[uint] (id: 1);
- /**
- * The name of the class.
- * It is an index into [AnalysisDriverUnitError.strings] list.
- */
+ /// The name of the class.
+ /// It is an index into [AnalysisDriverUnitError.strings] list.
name:uint (id: 0);
}
-/**
- * Information about an error in a resolved unit.
- */
+/// Information about an error in a resolved unit.
table AnalysisDriverUnitError {
- /**
- * The optional correction hint for the error.
- */
+ /// The optional correction hint for the error.
correction:string (id: 4);
- /**
- * The length of the error in the file.
- */
+ /// The length of the error in the file.
length:uint (id: 1);
- /**
- * The message of the error.
- */
+ /// The message of the error.
message:string (id: 3);
- /**
- * The offset from the beginning of the file.
- */
+ /// The offset from the beginning of the file.
offset:uint (id: 0);
- /**
- * The unique name of the error code.
- */
+ /// The unique name of the error code.
uniqueName:string (id: 2);
}
-/**
- * Information about a resolved unit.
- */
+/// Information about a resolved unit.
table AnalysisDriverUnitIndex {
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the kind of the synthetic element.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the kind of the synthetic element.
elementKinds:[IndexSyntheticElementKind] (id: 4);
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the class member element name, or `null` if the element
- * is a top-level element. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this index.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the class member element name, or `null` if the element
+ /// is a top-level element. The list is sorted in ascending order, so that
+ /// the client can quickly check whether an element is referenced in this
+ /// index.
elementNameClassMemberIds:[uint] (id: 7);
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the named parameter name, or `null` if the element is not
- * a named parameter. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this index.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the named parameter name, or `null` if the element is
+ /// not a named parameter. The list is sorted in ascending order, so that the
+ /// client can quickly check whether an element is referenced in this index.
elementNameParameterIds:[uint] (id: 8);
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the top-level element name, or `null` if the element is
- * the unit. The list is sorted in ascending order, so that the client can
- * quickly check whether an element is referenced in this index.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the top-level element name, or `null` if the element is
+ /// the unit. The list is sorted in ascending order, so that the client can
+ /// quickly check whether an element is referenced in this index.
elementNameUnitMemberIds:[uint] (id: 6);
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the index into [unitLibraryUris] and [unitUnitUris] for the library
- * specific unit where the element is declared.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the index into [unitLibraryUris] and [unitUnitUris] for the library
+ /// specific unit where the element is declared.
elementUnits:[uint] (id: 5);
- /**
- * Identifier of the null string in [strings].
- */
+ /// Identifier of the null string in [strings].
nullStringId:uint (id: 1);
- /**
- * List of unique element strings used in this index. The list is sorted in
- * ascending order, so that the client can quickly check the presence of a
- * string in this index.
- */
+ /// List of unique element strings used in this index. The list is sorted in
+ /// ascending order, so that the client can quickly check the presence of a
+ /// string in this index.
strings:[string] (id: 0);
- /**
- * The list of classes declared in the unit.
- */
+ /// The list of classes declared in the unit.
subtypes:[AnalysisDriverSubtype] (id: 19);
- /**
- * The identifiers of supertypes of elements at corresponding indexes
- * in [subtypes]. They are indexes into [strings] list. The list is sorted
- * in ascending order. There might be more than one element with the same
- * value if there is more than one subtype of this supertype.
- */
+ /// The identifiers of supertypes of elements at corresponding indexes
+ /// in [subtypes]. They are indexes into [strings] list. The list is sorted
+ /// in ascending order. There might be more than one element with the same
+ /// value if there is more than one subtype of this supertype.
supertypes:[uint] (id: 18);
- /**
- * Each item of this list corresponds to the library URI of a unique library
- * specific unit referenced in the index. It is an index into [strings] list.
- */
+ /// Each item of this list corresponds to the library URI of a unique library
+ /// specific unit referenced in the index. It is an index into [strings]
+ /// list.
unitLibraryUris:[uint] (id: 2);
- /**
- * Each item of this list corresponds to the unit URI of a unique library
- * specific unit referenced in the index. It is an index into [strings] list.
- */
+ /// Each item of this list corresponds to the unit URI of a unique library
+ /// specific unit referenced in the index. It is an index into [strings]
+ /// list.
unitUnitUris:[uint] (id: 3);
- /**
- * Each item of this list is the `true` if the corresponding element usage
- * is qualified with some prefix.
- */
+ /// Each item of this list is the `true` if the corresponding element usage
+ /// is qualified with some prefix.
usedElementIsQualifiedFlags:[ubyte] (id: 13);
- /**
- * Each item of this list is the kind of the element usage.
- */
+ /// Each item of this list is the kind of the element usage.
usedElementKinds:[IndexRelationKind] (id: 10);
- /**
- * Each item of this list is the length of the element usage.
- */
+ /// Each item of this list is the length of the element usage.
usedElementLengths:[uint] (id: 12);
- /**
- * Each item of this list is the offset of the element usage relative to the
- * beginning of the file.
- */
+ /// Each item of this list is the offset of the element usage relative to the
+ /// beginning of the file.
usedElementOffsets:[uint] (id: 11);
- /**
- * Each item of this list is the index into [elementUnits],
- * [elementNameUnitMemberIds], [elementNameClassMemberIds] and
- * [elementNameParameterIds]. The list is sorted in ascending order, so
- * that the client can quickly find element references in this index.
- */
+ /// Each item of this list is the index into [elementUnits],
+ /// [elementNameUnitMemberIds], [elementNameClassMemberIds] and
+ /// [elementNameParameterIds]. The list is sorted in ascending order, so
+ /// that the client can quickly find element references in this index.
usedElements:[uint] (id: 9);
- /**
- * Each item of this list is the `true` if the corresponding name usage
- * is qualified with some prefix.
- */
+ /// Each item of this list is the `true` if the corresponding name usage
+ /// is qualified with some prefix.
usedNameIsQualifiedFlags:[ubyte] (id: 17);
- /**
- * Each item of this list is the kind of the name usage.
- */
+ /// Each item of this list is the kind of the name usage.
usedNameKinds:[IndexRelationKind] (id: 15);
- /**
- * Each item of this list is the offset of the name usage relative to the
- * beginning of the file.
- */
+ /// Each item of this list is the offset of the name usage relative to the
+ /// beginning of the file.
usedNameOffsets:[uint] (id: 16);
- /**
- * Each item of this list is the index into [strings] for a used name. The
- * list is sorted in ascending order, so that the client can quickly find
- * whether a name is used in this index.
- */
+ /// Each item of this list is the index into [strings] for a used name. The
+ /// list is sorted in ascending order, so that the client can quickly find
+ /// whether a name is used in this index.
usedNames:[uint] (id: 14);
}
-/**
- * Information about an unlinked unit.
- */
+/// Information about an unlinked unit.
table AnalysisDriverUnlinkedUnit {
- /**
- * List of class member names defined by the unit.
- */
+ /// List of class member names defined by the unit.
definedClassMemberNames:[string] (id: 3);
- /**
- * List of top-level names defined by the unit.
- */
+ /// List of top-level names defined by the unit.
definedTopLevelNames:[string] (id: 2);
- /**
- * List of external names referenced by the unit.
- */
+ /// List of external names referenced by the unit.
referencedNames:[string] (id: 0);
- /**
- * List of names which are used in `extends`, `with` or `implements` clauses
- * in the file. Import prefixes and type arguments are not included.
- */
+ /// List of names which are used in `extends`, `with` or `implements` clauses
+ /// in the file. Import prefixes and type arguments are not included.
subtypedNames:[string] (id: 4);
- /**
- * Unlinked information for the unit.
- */
+ /// Unlinked information for the unit.
unit:UnlinkedUnit (id: 1);
}
-/**
- * Information about an element code range.
- */
+/// Information about an element code range.
table CodeRange {
- /**
- * Length of the element code.
- */
+ /// Length of the element code.
length:uint (id: 1);
- /**
- * Offset of the element code relative to the beginning of the file.
- */
+ /// Offset of the element code relative to the beginning of the file.
offset:uint (id: 0);
}
-/**
- * Summary information about a reference to an entity such as a type, top level
- * executable, or executable within a class.
- */
+/// Summary information about a reference to an entity such as a type, top level
+/// executable, or executable within a class.
table EntityRef {
- /**
- * The kind of entity being represented.
- */
+ /// The kind of entity being represented.
entityKind:EntityRefKind (id: 8);
- /**
- * Notice: This will be deprecated. However, its not deprecated yet, as we're
- * keeping it for backwards compatibilty, and marking it deprecated makes it
- * unreadable.
- *
- * TODO(mfairhurst) mark this deprecated, and remove its logic.
- *
- * If this is a reference to a function type implicitly defined by a
- * function-typed parameter, a list of zero-based indices indicating the path
- * from the entity referred to by [reference] to the appropriate type
- * parameter. Otherwise the empty list.
- *
- * If there are N indices in this list, then the entity being referred to is
- * the function type implicitly defined by a function-typed parameter of a
- * function-typed parameter, to N levels of nesting. The first index in the
- * list refers to the outermost level of nesting; for example if [reference]
- * refers to the entity defined by:
- *
- * void f(x, void g(y, z, int h(String w))) { ... }
- *
- * Then to refer to the function type implicitly defined by parameter `h`
- * (which is parameter 2 of parameter 1 of `f`), then
- * [implicitFunctionTypeIndices] should be [1, 2].
- *
- * Note that if the entity being referred to is a generic method inside a
- * generic class, then the type arguments in [typeArguments] are applied
- * first to the class and then to the method.
- */
+ /// Notice: This will be deprecated. However, its not deprecated yet, as we're
+ /// keeping it for backwards compatibilty, and marking it deprecated makes it
+ /// unreadable.
+ ///
+ /// TODO(mfairhurst) mark this deprecated, and remove its logic.
+ ///
+ /// If this is a reference to a function type implicitly defined by a
+ /// function-typed parameter, a list of zero-based indices indicating the path
+ /// from the entity referred to by [reference] to the appropriate type
+ /// parameter. Otherwise the empty list.
+ ///
+ /// If there are N indices in this list, then the entity being referred to is
+ /// the function type implicitly defined by a function-typed parameter of a
+ /// function-typed parameter, to N levels of nesting. The first index in the
+ /// list refers to the outermost level of nesting; for example if [reference]
+ /// refers to the entity defined by:
+ ///
+ /// void f(x, void g(y, z, int h(String w))) { ... }
+ ///
+ /// Then to refer to the function type implicitly defined by parameter `h`
+ /// (which is parameter 2 of parameter 1 of `f`), then
+ /// [implicitFunctionTypeIndices] should be [1, 2].
+ ///
+ /// Note that if the entity being referred to is a generic method inside a
+ /// generic class, then the type arguments in [typeArguments] are applied
+ /// first to the class and then to the method.
implicitFunctionTypeIndices:[uint] (id: 4);
- /**
- * If this is a reference to a type parameter, one-based index into the list
- * of [UnlinkedTypeParam]s currently in effect. Indexing is done using De
- * Bruijn index conventions; that is, innermost parameters come first, and
- * if a class or method has multiple parameters, they are indexed from right
- * to left. So for instance, if the enclosing declaration is
- *
- * class C<T,U> {
- * m<V,W> {
- * ...
- * }
- * }
- *
- * Then [paramReference] values of 1, 2, 3, and 4 represent W, V, U, and T,
- * respectively.
- *
- * If the type being referred to is not a type parameter, [paramReference] is
- * zero.
- */
+ /// If this is a reference to a type parameter, one-based index into the list
+ /// of [UnlinkedTypeParam]s currently in effect. Indexing is done using De
+ /// Bruijn index conventions; that is, innermost parameters come first, and
+ /// if a class or method has multiple parameters, they are indexed from right
+ /// to left. So for instance, if the enclosing declaration is
+ ///
+ /// class C<T,U> {
+ /// m<V,W> {
+ /// ...
+ /// }
+ /// }
+ ///
+ /// Then [paramReference] values of 1, 2, 3, and 4 represent W, V, U, and T,
+ /// respectively.
+ ///
+ /// If the type being referred to is not a type parameter, [paramReference] is
+ /// zero.
paramReference:uint (id: 3);
- /**
- * Index into [UnlinkedUnit.references] for the entity being referred to, or
- * zero if this is a reference to a type parameter.
- */
+ /// Index into [UnlinkedUnit.references] for the entity being referred to, or
+ /// zero if this is a reference to a type parameter.
reference:uint (id: 0);
- /**
- * If this [EntityRef] appears in a syntactic context where its type arguments
- * might need to be inferred by a method other than instantiate-to-bounds,
- * and [typeArguments] is empty, a slot id (which is unique within the
- * compilation unit). If an entry appears in [LinkedUnit.types] whose [slot]
- * matches this value, that entry will contain the complete inferred type.
- *
- * This is called `refinedSlot` to clarify that if it points to an inferred
- * type, it points to a type that is a "refinement" of this one (one in which
- * some type arguments have been inferred).
- */
+ /// If this [EntityRef] appears in a syntactic context where its type
+ /// arguments might need to be inferred by a method other than
+ /// instantiate-to-bounds, and [typeArguments] is empty, a slot id (which is
+ /// unique within the compilation unit). If an entry appears in
+ /// [LinkedUnit.types] whose [slot] matches this value, that entry will
+ /// contain the complete inferred type.
+ ///
+ /// This is called `refinedSlot` to clarify that if it points to an inferred
+ /// type, it points to a type that is a "refinement" of this one (one in which
+ /// some type arguments have been inferred).
refinedSlot:uint (id: 9);
- /**
- * If this [EntityRef] is contained within [LinkedUnit.types], slot id (which
- * is unique within the compilation unit) identifying the target of type
- * propagation or type inference with which this [EntityRef] is associated.
- *
- * Otherwise zero.
- */
+ /// If this [EntityRef] is contained within [LinkedUnit.types], slot id (which
+ /// is unique within the compilation unit) identifying the target of type
+ /// propagation or type inference with which this [EntityRef] is associated.
+ ///
+ /// Otherwise zero.
slot:uint (id: 2);
- /**
- * If this [EntityRef] is a reference to a function type whose
- * [FunctionElement] is not in any library (e.g. a function type that was
- * synthesized by a LUB computation), the function parameters. Otherwise
- * empty.
- */
+ /// If this [EntityRef] is a reference to a function type whose
+ /// [FunctionElement] is not in any library (e.g. a function type that was
+ /// synthesized by a LUB computation), the function parameters. Otherwise
+ /// empty.
syntheticParams:[UnlinkedParam] (id: 6);
- /**
- * If this [EntityRef] is a reference to a function type whose
- * [FunctionElement] is not in any library (e.g. a function type that was
- * synthesized by a LUB computation), the return type of the function.
- * Otherwise `null`.
- */
+ /// If this [EntityRef] is a reference to a function type whose
+ /// [FunctionElement] is not in any library (e.g. a function type that was
+ /// synthesized by a LUB computation), the return type of the function.
+ /// Otherwise `null`.
syntheticReturnType:EntityRef (id: 5);
- /**
- * If this is an instantiation of a generic type or generic executable, the
- * type arguments used to instantiate it (if any).
- */
+ /// If this is an instantiation of a generic type or generic executable, the
+ /// type arguments used to instantiate it (if any).
typeArguments:[EntityRef] (id: 1);
- /**
- * If this is a function type, the type parameters defined for the function
- * type (if any).
- */
+ /// If this is a function type, the type parameters defined for the function
+ /// type (if any).
typeParameters:[UnlinkedTypeParam] (id: 7);
}
-/**
- * Information about a dependency that exists between one library and another
- * due to an "import" declaration.
- */
+/// Information about a dependency that exists between one library and another
+/// due to an "import" declaration.
table LinkedDependency {
- /**
- * Absolute URI for the compilation units listed in the library's `part`
- * declarations, empty string for invalid URI.
- */
+ /// Absolute URI for the compilation units listed in the library's `part`
+ /// declarations, empty string for invalid URI.
parts:[string] (id: 1);
- /**
- * The absolute URI of the dependent library, e.g. `package:foo/bar.dart`.
- */
+ /// The absolute URI of the dependent library, e.g. `package:foo/bar.dart`.
uri:string (id: 0);
}
-/**
- * Information about a single name in the export namespace of the library that
- * is not in the public namespace.
- */
+/// Information about a single name in the export namespace of the library that
+/// is not in the public namespace.
table LinkedExportName {
- /**
- * Index into [LinkedLibrary.dependencies] for the library in which the
- * entity is defined.
- */
+ /// Index into [LinkedLibrary.dependencies] for the library in which the
+ /// entity is defined.
dependency:uint (id: 0);
- /**
- * The kind of the entity being referred to.
- */
+ /// The kind of the entity being referred to.
kind:ReferenceKind (id: 3);
- /**
- * Name of the exported entity. For an exported setter, this name includes
- * the trailing '='.
- */
+ /// Name of the exported entity. For an exported setter, this name includes
+ /// the trailing '='.
name:string (id: 1);
- /**
- * Integer index indicating which unit in the exported library contains the
- * definition of the entity. As with indices into [LinkedLibrary.units],
- * zero represents the defining compilation unit, and nonzero values
- * represent parts in the order of the corresponding `part` declarations.
- */
+ /// Integer index indicating which unit in the exported library contains the
+ /// definition of the entity. As with indices into [LinkedLibrary.units],
+ /// zero represents the defining compilation unit, and nonzero values
+ /// represent parts in the order of the corresponding `part` declarations.
unit:uint (id: 2);
}
-/**
- * Linked summary of a library.
- */
+/// Linked summary of a library.
table LinkedLibrary {
- /**
- * The libraries that this library depends on (either via an explicit import
- * statement or via the implicit dependencies on `dart:core` and
- * `dart:async`). The first element of this array is a pseudo-dependency
- * representing the library itself (it is also used for `dynamic` and
- * `void`). This is followed by elements representing "prelinked"
- * dependencies (direct imports and the transitive closure of exports).
- * After the prelinked dependencies are elements representing "linked"
- * dependencies.
- *
- * A library is only included as a "linked" dependency if it is a true
- * dependency (e.g. a propagated or inferred type or constant value
- * implicitly refers to an element declared in the library) or
- * anti-dependency (e.g. the result of type propagation or type inference
- * depends on the lack of a certain declaration in the library).
- */
+ /// The libraries that this library depends on (either via an explicit import
+ /// statement or via the implicit dependencies on `dart:core` and
+ /// `dart:async`). The first element of this array is a pseudo-dependency
+ /// representing the library itself (it is also used for `dynamic` and
+ /// `void`). This is followed by elements representing "prelinked"
+ /// dependencies (direct imports and the transitive closure of exports).
+ /// After the prelinked dependencies are elements representing "linked"
+ /// dependencies.
+ ///
+ /// A library is only included as a "linked" dependency if it is a true
+ /// dependency (e.g. a propagated or inferred type or constant value
+ /// implicitly refers to an element declared in the library) or
+ /// anti-dependency (e.g. the result of type propagation or type inference
+ /// depends on the lack of a certain declaration in the library).
dependencies:[LinkedDependency] (id: 0);
- /**
- * For each export in [UnlinkedUnit.exports], an index into [dependencies]
- * of the library being exported.
- */
+ /// For each export in [UnlinkedUnit.exports], an index into [dependencies]
+ /// of the library being exported.
exportDependencies:[uint] (id: 6);
- /**
- * Information about entities in the export namespace of the library that are
- * not in the public namespace of the library (that is, entities that are
- * brought into the namespace via `export` directives).
- *
- * Sorted by name.
- */
+ /// Information about entities in the export namespace of the library that are
+ /// not in the public namespace of the library (that is, entities that are
+ /// brought into the namespace via `export` directives).
+ ///
+ /// Sorted by name.
exportNames:[LinkedExportName] (id: 4);
- /**
- * Indicates whether this library was summarized in "fallback mode". If
- * true, all other fields in the data structure have their default values.
- */
+ /// Indicates whether this library was summarized in "fallback mode". If
+ /// true, all other fields in the data structure have their default values.
fallbackMode:bool (id: 5, deprecated);
- /**
- * For each import in [UnlinkedUnit.imports], an index into [dependencies]
- * of the library being imported.
- */
+ /// For each import in [UnlinkedUnit.imports], an index into [dependencies]
+ /// of the library being imported.
importDependencies:[uint] (id: 1);
- /**
- * The number of elements in [dependencies] which are not "linked"
- * dependencies (that is, the number of libraries in the direct imports plus
- * the transitive closure of exports, plus the library itself).
- */
+ /// The number of elements in [dependencies] which are not "linked"
+ /// dependencies (that is, the number of libraries in the direct imports plus
+ /// the transitive closure of exports, plus the library itself).
numPrelinkedDependencies:uint (id: 2);
- /**
- * The linked summary of all the compilation units constituting the
- * library. The summary of the defining compilation unit is listed first,
- * followed by the summary of each part, in the order of the `part`
- * declarations in the defining compilation unit.
- */
+ /// The linked summary of all the compilation units constituting the
+ /// library. The summary of the defining compilation unit is listed first,
+ /// followed by the summary of each part, in the order of the `part`
+ /// declarations in the defining compilation unit.
units:[LinkedUnit] (id: 3);
}
-/**
- * Information about the resolution of an [UnlinkedReference].
- */
+/// Information about the resolution of an [UnlinkedReference].
table LinkedReference {
- /**
- * If this [LinkedReference] doesn't have an associated [UnlinkedReference],
- * and the entity being referred to is contained within another entity, index
- * of the containing entity. This behaves similarly to
- * [UnlinkedReference.prefixReference], however it is only used for class
- * members, not for prefixed imports.
- *
- * Containing references must always point backward; that is, for all i, if
- * LinkedUnit.references[i].containingReference != 0, then
- * LinkedUnit.references[i].containingReference < i.
- */
+ /// If this [LinkedReference] doesn't have an associated [UnlinkedReference],
+ /// and the entity being referred to is contained within another entity, index
+ /// of the containing entity. This behaves similarly to
+ /// [UnlinkedReference.prefixReference], however it is only used for class
+ /// members, not for prefixed imports.
+ ///
+ /// Containing references must always point backward; that is, for all i, if
+ /// LinkedUnit.references[i].containingReference != 0, then
+ /// LinkedUnit.references[i].containingReference < i.
containingReference:uint (id: 5);
- /**
- * Index into [LinkedLibrary.dependencies] indicating which imported library
- * declares the entity being referred to.
- *
- * Zero if this entity is contained within another entity (e.g. a class
- * member), or if [kind] is [ReferenceKind.prefix].
- */
+ /// Index into [LinkedLibrary.dependencies] indicating which imported library
+ /// declares the entity being referred to.
+ ///
+ /// Zero if this entity is contained within another entity (e.g. a class
+ /// member), or if [kind] is [ReferenceKind.prefix].
dependency:uint (id: 1);
- /**
- * The kind of the entity being referred to. For the pseudo-types `dynamic`
- * and `void`, the kind is [ReferenceKind.classOrEnum].
- */
+ /// The kind of the entity being referred to. For the pseudo-types `dynamic`
+ /// and `void`, the kind is [ReferenceKind.classOrEnum].
kind:ReferenceKind (id: 2);
- /**
- * If [kind] is [ReferenceKind.function] (that is, the entity being referred
- * to is a local function), the index of the function within
- * [UnlinkedExecutable.localFunctions]. Otherwise zero.
- */
+ /// If [kind] is [ReferenceKind.function] (that is, the entity being referred
+ /// to is a local function), the index of the function within
+ /// [UnlinkedExecutable.localFunctions]. Otherwise zero.
localIndex:uint (id: 6, deprecated);
- /**
- * If this [LinkedReference] doesn't have an associated [UnlinkedReference],
- * name of the entity being referred to. For the pseudo-type `dynamic`, the
- * string is "dynamic". For the pseudo-type `void`, the string is "void".
- */
+ /// If this [LinkedReference] doesn't have an associated [UnlinkedReference],
+ /// name of the entity being referred to. For the pseudo-type `dynamic`, the
+ /// string is "dynamic". For the pseudo-type `void`, the string is "void".
name:string (id: 3);
- /**
- * If the entity being referred to is generic, the number of type parameters
- * it declares (does not include type parameters of enclosing entities).
- * Otherwise zero.
- */
+ /// If the entity being referred to is generic, the number of type parameters
+ /// it declares (does not include type parameters of enclosing entities).
+ /// Otherwise zero.
numTypeParameters:uint (id: 4);
- /**
- * Integer index indicating which unit in the imported library contains the
- * definition of the entity. As with indices into [LinkedLibrary.units],
- * zero represents the defining compilation unit, and nonzero values
- * represent parts in the order of the corresponding `part` declarations.
- *
- * Zero if this entity is contained within another entity (e.g. a class
- * member).
- */
+ /// Integer index indicating which unit in the imported library contains the
+ /// definition of the entity. As with indices into [LinkedLibrary.units],
+ /// zero represents the defining compilation unit, and nonzero values
+ /// represent parts in the order of the corresponding `part` declarations.
+ ///
+ /// Zero if this entity is contained within another entity (e.g. a class
+ /// member).
unit:uint (id: 0);
}
-/**
- * Linked summary of a compilation unit.
- */
+/// Linked summary of a compilation unit.
table LinkedUnit {
- /**
- * List of slot ids (referring to [UnlinkedExecutable.constCycleSlot])
- * corresponding to const constructors that are part of cycles.
- */
+ /// List of slot ids (referring to [UnlinkedExecutable.constCycleSlot])
+ /// corresponding to const constructors that are part of cycles.
constCycles:[uint] (id: 2);
- /**
- * List of slot ids (referring to [UnlinkedParam.inheritsCovariantSlot] or
- * [UnlinkedVariable.inheritsCovariantSlot]) corresponding to parameters
- * that inherit `@covariant` behavior from a base class.
- */
+ /// List of slot ids (referring to [UnlinkedParam.inheritsCovariantSlot] or
+ /// [UnlinkedVariable.inheritsCovariantSlot]) corresponding to parameters
+ /// that inherit `@covariant` behavior from a base class.
parametersInheritingCovariant:[uint] (id: 3);
- /**
- * Information about the resolution of references within the compilation
- * unit. Each element of [UnlinkedUnit.references] has a corresponding
- * element in this list (at the same index). If this list has additional
- * elements beyond the number of elements in [UnlinkedUnit.references], those
- * additional elements are references that are only referred to implicitly
- * (e.g. elements involved in inferred or propagated types).
- */
+ /// Information about the resolution of references within the compilation
+ /// unit. Each element of [UnlinkedUnit.references] has a corresponding
+ /// element in this list (at the same index). If this list has additional
+ /// elements beyond the number of elements in [UnlinkedUnit.references], those
+ /// additional elements are references that are only referred to implicitly
+ /// (e.g. elements involved in inferred or propagated types).
references:[LinkedReference] (id: 0);
- /**
- * The list of type inference errors.
- */
+ /// The list of type inference errors.
topLevelInferenceErrors:[TopLevelInferenceError] (id: 4);
- /**
- * List associating slot ids found inside the unlinked summary for the
- * compilation unit with propagated and inferred types.
- */
+ /// List associating slot ids found inside the unlinked summary for the
+ /// compilation unit with propagated and inferred types.
types:[EntityRef] (id: 1);
}
-/**
- * Summary information about a package.
- */
+/// Summary information about a package.
table PackageBundle {
- /**
- * MD5 hash of the non-informative fields of the [PackageBundle] (not
- * including this one). This can be used to identify when the API of a
- * package may have changed.
- */
+ /// MD5 hash of the non-informative fields of the [PackageBundle] (not
+ /// including this one). This can be used to identify when the API of a
+ /// package may have changed.
apiSignature:string (id: 7, deprecated);
- /**
- * Information about the packages this package depends on, if known.
- */
+ /// Information about the packages this package depends on, if known.
dependencies:[PackageDependencyInfo] (id: 8, deprecated);
- /**
- * Linked libraries.
- */
+ /// Linked libraries.
linkedLibraries:[LinkedLibrary] (id: 0);
- /**
- * The list of URIs of items in [linkedLibraries], e.g. `dart:core` or
- * `package:foo/bar.dart`.
- */
+ /// The list of URIs of items in [linkedLibraries], e.g. `dart:core` or
+ /// `package:foo/bar.dart`.
linkedLibraryUris:[string] (id: 1);
- /**
- * Major version of the summary format. See
- * [PackageBundleAssembler.currentMajorVersion].
- */
+ /// Major version of the summary format. See
+ /// [PackageBundleAssembler.currentMajorVersion].
majorVersion:uint (id: 5);
- /**
- * Minor version of the summary format. See
- * [PackageBundleAssembler.currentMinorVersion].
- */
+ /// Minor version of the summary format. See
+ /// [PackageBundleAssembler.currentMinorVersion].
minorVersion:uint (id: 6);
- /**
- * List of MD5 hashes of the files listed in [unlinkedUnitUris]. Each hash
- * is encoded as a hexadecimal string using lower case letters.
- */
+ /// List of MD5 hashes of the files listed in [unlinkedUnitUris]. Each hash
+ /// is encoded as a hexadecimal string using lower case letters.
unlinkedUnitHashes:[string] (id: 4, deprecated);
- /**
- * Unlinked information for the compilation units constituting the package.
- */
+ /// Unlinked information for the compilation units constituting the package.
unlinkedUnits:[UnlinkedUnit] (id: 2);
- /**
- * The list of URIs of items in [unlinkedUnits], e.g. `dart:core/bool.dart`.
- */
+ /// The list of URIs of items in [unlinkedUnits], e.g. `dart:core/bool.dart`.
unlinkedUnitUris:[string] (id: 3);
}
-/**
- * Information about a single dependency of a summary package.
- */
+/// Information about a single dependency of a summary package.
table PackageDependencyInfo {
- /**
- * API signature of this dependency.
- */
+ /// API signature of this dependency.
apiSignature:string (id: 0);
- /**
- * If this dependency summarizes any files whose URI takes the form
- * "package:<package_name>/...", a list of all such package names, sorted
- * lexicographically. Otherwise empty.
- */
+ /// If this dependency summarizes any files whose URI takes the form
+ /// "package:<package_name>/...", a list of all such package names, sorted
+ /// lexicographically. Otherwise empty.
includedPackageNames:[string] (id: 2);
- /**
- * Indicates whether this dependency summarizes any files whose URI takes the
- * form "dart:...".
- */
+ /// Indicates whether this dependency summarizes any files whose URI takes the
+ /// form "dart:...".
includesDartUris:bool (id: 4);
- /**
- * Indicates whether this dependency summarizes any files whose URI takes the
- * form "file:...".
- */
+ /// Indicates whether this dependency summarizes any files whose URI takes the
+ /// form "file:...".
includesFileUris:bool (id: 3);
- /**
- * Relative path to the summary file for this dependency. This is intended as
- * a hint to help the analysis server locate summaries of dependencies. We
- * don't specify precisely what this path is relative to, but we expect it to
- * be relative to a directory the analysis server can find (e.g. for projects
- * built using Bazel, it would be relative to the "bazel-bin" directory).
- *
- * Absent if the path is not known.
- */
+ /// Relative path to the summary file for this dependency. This is intended
+ /// as a hint to help the analysis server locate summaries of dependencies.
+ /// We don't specify precisely what this path is relative to, but we expect
+ /// it to be relative to a directory the analysis server can find (e.g. for
+ /// projects built using Bazel, it would be relative to the "bazel-bin"
+ /// directory).
+ ///
+ /// Absent if the path is not known.
summaryPath:string (id: 1);
}
-/**
- * Index information about a package.
- */
+/// Index information about a package.
table PackageIndex {
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the kind of the synthetic element.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the kind of the synthetic element.
elementKinds:[IndexSyntheticElementKind] (id: 5);
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the class member element name, or `null` if the element
- * is a top-level element. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this
- * [PackageIndex].
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the class member element name, or `null` if the element
+ /// is a top-level element. The list is sorted in ascending order, so that
+ /// the client can quickly check whether an element is referenced in this
+ /// [PackageIndex].
elementNameClassMemberIds:[uint] (id: 7);
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the named parameter name, or `null` if the element is not
- * a named parameter. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this
- * [PackageIndex].
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the named parameter name, or `null` if the element is
+ /// not a named parameter. The list is sorted in ascending order, so that the
+ /// client can quickly check whether an element is referenced in this
+ /// [PackageIndex].
elementNameParameterIds:[uint] (id: 8);
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the top-level element name, or `null` if the element is
- * the unit. The list is sorted in ascending order, so that the client can
- * quickly check whether an element is referenced in this [PackageIndex].
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the top-level element name, or `null` if the element is
+ /// the unit. The list is sorted in ascending order, so that the client can
+ /// quickly check whether an element is referenced in this [PackageIndex].
elementNameUnitMemberIds:[uint] (id: 1);
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the index into [unitLibraryUris] and [unitUnitUris] for the library
- * specific unit where the element is declared.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the index into [unitLibraryUris] and [unitUnitUris] for the library
+ /// specific unit where the element is declared.
elementUnits:[uint] (id: 0);
- /**
- * List of unique element strings used in this [PackageIndex]. The list is
- * sorted in ascending order, so that the client can quickly check the
- * presence of a string in this [PackageIndex].
- */
+ /// List of unique element strings used in this [PackageIndex]. The list is
+ /// sorted in ascending order, so that the client can quickly check the
+ /// presence of a string in this [PackageIndex].
strings:[string] (id: 6);
- /**
- * Each item of this list corresponds to the library URI of a unique library
- * specific unit referenced in the [PackageIndex]. It is an index into
- * [strings] list.
- */
+ /// Each item of this list corresponds to the library URI of a unique library
+ /// specific unit referenced in the [PackageIndex]. It is an index into
+ /// [strings] list.
unitLibraryUris:[uint] (id: 2);
- /**
- * List of indexes of each unit in this [PackageIndex].
- */
+ /// List of indexes of each unit in this [PackageIndex].
units:[UnitIndex] (id: 4);
- /**
- * Each item of this list corresponds to the unit URI of a unique library
- * specific unit referenced in the [PackageIndex]. It is an index into
- * [strings] list.
- */
+ /// Each item of this list corresponds to the unit URI of a unique library
+ /// specific unit referenced in the [PackageIndex]. It is an index into
+ /// [strings] list.
unitUnitUris:[uint] (id: 3);
}
-/**
- * Summary information about a top-level type inference error.
- */
+/// Summary information about a top-level type inference error.
table TopLevelInferenceError {
- /**
- * The [kind] specific arguments.
- */
+ /// The [kind] specific arguments.
arguments:[string] (id: 2);
- /**
- * The kind of the error.
- */
+ /// The kind of the error.
kind:TopLevelInferenceErrorKind (id: 1);
- /**
- * The slot id (which is unique within the compilation unit) identifying the
- * target of type inference with which this [TopLevelInferenceError] is
- * associated.
- */
+ /// The slot id (which is unique within the compilation unit) identifying the
+ /// target of type inference with which this [TopLevelInferenceError] is
+ /// associated.
slot:uint (id: 0);
}
-/**
- * Index information about a unit in a [PackageIndex].
- */
+/// Index information about a unit in a [PackageIndex].
table UnitIndex {
- /**
- * Each item of this list is the kind of an element defined in this unit.
- */
+ /// Each item of this list is the kind of an element defined in this unit.
definedNameKinds:[IndexNameKind] (id: 6);
- /**
- * Each item of this list is the name offset of an element defined in this
- * unit relative to the beginning of the file.
- */
+ /// Each item of this list is the name offset of an element defined in this
+ /// unit relative to the beginning of the file.
definedNameOffsets:[uint] (id: 7);
- /**
- * Each item of this list corresponds to an element defined in this unit. It
- * is an index into [PackageIndex.strings] list. The list is sorted in
- * ascending order, so that the client can quickly find name definitions in
- * this [UnitIndex].
- */
+ /// Each item of this list corresponds to an element defined in this unit. It
+ /// is an index into [PackageIndex.strings] list. The list is sorted in
+ /// ascending order, so that the client can quickly find name definitions in
+ /// this [UnitIndex].
definedNames:[uint] (id: 5);
- /**
- * Index into [PackageIndex.unitLibraryUris] and [PackageIndex.unitUnitUris]
- * for the library specific unit that corresponds to this [UnitIndex].
- */
+ /// Index into [PackageIndex.unitLibraryUris] and [PackageIndex.unitUnitUris]
+ /// for the library specific unit that corresponds to this [UnitIndex].
unit:uint (id: 0);
- /**
- * Each item of this list is the `true` if the corresponding element usage
- * is qualified with some prefix.
- */
+ /// Each item of this list is the `true` if the corresponding element usage
+ /// is qualified with some prefix.
usedElementIsQualifiedFlags:[ubyte] (id: 11);
- /**
- * Each item of this list is the kind of the element usage.
- */
+ /// Each item of this list is the kind of the element usage.
usedElementKinds:[IndexRelationKind] (id: 4);
- /**
- * Each item of this list is the length of the element usage.
- */
+ /// Each item of this list is the length of the element usage.
usedElementLengths:[uint] (id: 1);
- /**
- * Each item of this list is the offset of the element usage relative to the
- * beginning of the file.
- */
+ /// Each item of this list is the offset of the element usage relative to the
+ /// beginning of the file.
usedElementOffsets:[uint] (id: 2);
- /**
- * Each item of this list is the index into [PackageIndex.elementUnits] and
- * [PackageIndex.elementOffsets]. The list is sorted in ascending order, so
- * that the client can quickly find element references in this [UnitIndex].
- */
+ /// Each item of this list is the index into [PackageIndex.elementUnits] and
+ /// [PackageIndex.elementOffsets]. The list is sorted in ascending order, so
+ /// that the client can quickly find element references in this [UnitIndex].
usedElements:[uint] (id: 3);
- /**
- * Each item of this list is the `true` if the corresponding name usage
- * is qualified with some prefix.
- */
+ /// Each item of this list is the `true` if the corresponding name usage
+ /// is qualified with some prefix.
usedNameIsQualifiedFlags:[ubyte] (id: 12);
- /**
- * Each item of this list is the kind of the name usage.
- */
+ /// Each item of this list is the kind of the name usage.
usedNameKinds:[IndexRelationKind] (id: 10);
- /**
- * Each item of this list is the offset of the name usage relative to the
- * beginning of the file.
- */
+ /// Each item of this list is the offset of the name usage relative to the
+ /// beginning of the file.
usedNameOffsets:[uint] (id: 9);
- /**
- * Each item of this list is the index into [PackageIndex.strings] for a
- * used name. The list is sorted in ascending order, so that the client can
- * quickly find name uses in this [UnitIndex].
- */
+ /// Each item of this list is the index into [PackageIndex.strings] for a
+ /// used name. The list is sorted in ascending order, so that the client can
+ /// quickly find name uses in this [UnitIndex].
usedNames:[uint] (id: 8);
}
-/**
- * Unlinked summary information about a class declaration.
- */
+/// Unlinked summary information about a class declaration.
table UnlinkedClass {
- /**
- * Annotations for this class.
- */
+ /// Annotations for this class.
annotations:[UnlinkedExpr] (id: 5);
- /**
- * Code range of the class.
- */
+ /// Code range of the class.
codeRange:CodeRange (id: 13);
- /**
- * Documentation comment for the class, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the class, or `null` if there is no
+ /// documentation comment.
documentationComment:UnlinkedDocumentationComment (id: 6);
- /**
- * Executable objects (methods, getters, and setters) contained in the class.
- */
+ /// Executable objects (methods, getters, and setters) contained in the class.
executables:[UnlinkedExecutable] (id: 2);
- /**
- * Field declarations contained in the class.
- */
+ /// Field declarations contained in the class.
fields:[UnlinkedVariable] (id: 4);
- /**
- * Indicates whether this class is the core "Object" class (and hence has no
- * supertype)
- */
+ /// Indicates whether this class is the core "Object" class (and hence has no
+ /// supertype)
hasNoSupertype:bool (id: 12);
- /**
- * Interfaces appearing in an `implements` clause, if any.
- */
+ /// Interfaces appearing in an `implements` clause, if any.
interfaces:[EntityRef] (id: 7);
- /**
- * Indicates whether the class is declared with the `abstract` keyword.
- */
+ /// Indicates whether the class is declared with the `abstract` keyword.
isAbstract:bool (id: 8);
- /**
- * Indicates whether the class is declared using mixin application syntax.
- */
+ /// Indicates whether the class is declared using mixin application syntax.
isMixinApplication:bool (id: 11);
- /**
- * Mixins appearing in a `with` clause, if any.
- */
+ /// Mixins appearing in a `with` clause, if any.
mixins:[EntityRef] (id: 10);
- /**
- * Name of the class.
- */
+ /// Name of the class.
name:string (id: 0);
- /**
- * Offset of the class name relative to the beginning of the file.
- */
+ /// Offset of the class name relative to the beginning of the file.
nameOffset:uint (id: 1);
- /**
- * Superclass constraints for this mixin declaration. The list will be empty
- * if this class is not a mixin declaration, or if the declaration does not
- * have an `on` clause (in which case the type `Object` is implied).
- */
+ /// Superclass constraints for this mixin declaration. The list will be empty
+ /// if this class is not a mixin declaration, or if the declaration does not
+ /// have an `on` clause (in which case the type `Object` is implied).
superclassConstraints:[EntityRef] (id: 14);
- /**
- * Names of methods, getters, setters, and operators that this mixin
- * declaration super-invokes. For setters this includes the trailing "=".
- * The list will be empty if this class is not a mixin declaration.
- */
+ /// Names of methods, getters, setters, and operators that this mixin
+ /// declaration super-invokes. For setters this includes the trailing "=".
+ /// The list will be empty if this class is not a mixin declaration.
superInvokedNames:[string] (id: 15);
- /**
- * Supertype of the class, or `null` if either (a) the class doesn't
- * explicitly declare a supertype (and hence has supertype `Object`), or (b)
- * the class *is* `Object` (and hence has no supertype).
- */
+ /// Supertype of the class, or `null` if either (a) the class doesn't
+ /// explicitly declare a supertype (and hence has supertype `Object`), or (b)
+ /// the class *is* `Object` (and hence has no supertype).
supertype:EntityRef (id: 3);
- /**
- * Type parameters of the class, if any.
- */
+ /// Type parameters of the class, if any.
typeParameters:[UnlinkedTypeParam] (id: 9);
}
-/**
- * Unlinked summary information about a `show` or `hide` combinator in an
- * import or export declaration.
- */
+/// Unlinked summary information about a `show` or `hide` combinator in an
+/// import or export declaration.
table UnlinkedCombinator {
- /**
- * If this is a `show` combinator, offset of the end of the list of shown
- * names. Otherwise zero.
- */
+ /// If this is a `show` combinator, offset of the end of the list of shown
+ /// names. Otherwise zero.
end:uint (id: 3);
- /**
- * List of names which are hidden. Empty if this is a `show` combinator.
- */
+ /// List of names which are hidden. Empty if this is a `show` combinator.
hides:[string] (id: 1);
- /**
- * If this is a `show` combinator, offset of the `show` keyword. Otherwise
- * zero.
- */
+ /// If this is a `show` combinator, offset of the `show` keyword. Otherwise
+ /// zero.
offset:uint (id: 2);
- /**
- * List of names which are shown. Empty if this is a `hide` combinator.
- */
+ /// List of names which are shown. Empty if this is a `hide` combinator.
shows:[string] (id: 0);
}
-/**
- * Unlinked summary information about a single import or export configuration.
- */
+/// Unlinked summary information about a single import or export configuration.
table UnlinkedConfiguration {
- /**
- * The name of the declared variable whose value is being used in the
- * condition.
- */
+ /// The name of the declared variable whose value is being used in the
+ /// condition.
name:string (id: 0);
- /**
- * The URI of the implementation library to be used if the condition is true.
- */
+ /// The URI of the implementation library to be used if the condition is true.
uri:string (id: 2);
- /**
- * The value to which the value of the declared variable will be compared,
- * or `true` if the condition does not include an equality test.
- */
+ /// The value to which the value of the declared variable will be compared,
+ /// or `true` if the condition does not include an equality test.
value:string (id: 1);
}
-/**
- * Unlinked summary information about a constructor initializer.
- */
+/// Unlinked summary information about a constructor initializer.
table UnlinkedConstructorInitializer {
- /**
- * If there are `m` [arguments] and `n` [argumentNames], then each argument
- * from [arguments] with index `i` such that `n + i - m >= 0`, should be used
- * with the name at `n + i - m`.
- */
+ /// If there are `m` [arguments] and `n` [argumentNames], then each argument
+ /// from [arguments] with index `i` such that `n + i - m >= 0`, should be used
+ /// with the name at `n + i - m`.
argumentNames:[string] (id: 4);
- /**
- * If [kind] is `thisInvocation` or `superInvocation`, the arguments of the
- * invocation. Otherwise empty.
- */
+ /// If [kind] is `thisInvocation` or `superInvocation`, the arguments of the
+ /// invocation. Otherwise empty.
arguments:[UnlinkedExpr] (id: 3);
- /**
- * If [kind] is `field`, the expression of the field initializer.
- * Otherwise `null`.
- */
+ /// If [kind] is `field`, the expression of the field initializer.
+ /// Otherwise `null`.
expression:UnlinkedExpr (id: 1);
- /**
- * The kind of the constructor initializer (field, redirect, super).
- */
+ /// The kind of the constructor initializer (field, redirect, super).
kind:UnlinkedConstructorInitializerKind (id: 2);
- /**
- * If [kind] is `field`, the name of the field declared in the class. If
- * [kind] is `thisInvocation`, the name of the constructor, declared in this
- * class, to redirect to. If [kind] is `superInvocation`, the name of the
- * constructor, declared in the superclass, to invoke.
- */
+ /// If [kind] is `field`, the name of the field declared in the class. If
+ /// [kind] is `thisInvocation`, the name of the constructor, declared in this
+ /// class, to redirect to. If [kind] is `superInvocation`, the name of the
+ /// constructor, declared in the superclass, to invoke.
name:string (id: 0);
}
-/**
- * Unlinked summary information about a documentation comment.
- */
+/// Unlinked summary information about a documentation comment.
table UnlinkedDocumentationComment {
- /**
- * Length of the documentation comment (prior to replacing '\r\n' with '\n').
- */
+ /// Length of the documentation comment (prior to replacing '\r\n' with '\n').
length:uint (id: 0, deprecated);
- /**
- * Offset of the beginning of the documentation comment relative to the
- * beginning of the file.
- */
+ /// Offset of the beginning of the documentation comment relative to the
+ /// beginning of the file.
offset:uint (id: 2, deprecated);
- /**
- * Text of the documentation comment, with '\r\n' replaced by '\n'.
- *
- * References appearing within the doc comment in square brackets are not
- * specially encoded.
- */
+ /// Text of the documentation comment, with '\r\n' replaced by '\n'.
+ ///
+ /// References appearing within the doc comment in square brackets are not
+ /// specially encoded.
text:string (id: 1);
}
-/**
- * Unlinked summary information about an enum declaration.
- */
+/// Unlinked summary information about an enum declaration.
table UnlinkedEnum {
- /**
- * Annotations for this enum.
- */
+ /// Annotations for this enum.
annotations:[UnlinkedExpr] (id: 4);
- /**
- * Code range of the enum.
- */
+ /// Code range of the enum.
codeRange:CodeRange (id: 5);
- /**
- * Documentation comment for the enum, or `null` if there is no documentation
- * comment.
- */
+ /// Documentation comment for the enum, or `null` if there is no documentation
+ /// comment.
documentationComment:UnlinkedDocumentationComment (id: 3);
- /**
- * Name of the enum type.
- */
+ /// Name of the enum type.
name:string (id: 0);
- /**
- * Offset of the enum name relative to the beginning of the file.
- */
+ /// Offset of the enum name relative to the beginning of the file.
nameOffset:uint (id: 1);
- /**
- * Values listed in the enum declaration, in declaration order.
- */
+ /// Values listed in the enum declaration, in declaration order.
values:[UnlinkedEnumValue] (id: 2);
}
-/**
- * Unlinked summary information about a single enumerated value in an enum
- * declaration.
- */
+/// Unlinked summary information about a single enumerated value in an enum
+/// declaration.
table UnlinkedEnumValue {
- /**
- * Annotations for this value.
- */
+ /// Annotations for this value.
annotations:[UnlinkedExpr] (id: 3);
- /**
- * Documentation comment for the enum value, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the enum value, or `null` if there is no
+ /// documentation comment.
documentationComment:UnlinkedDocumentationComment (id: 2);
- /**
- * Name of the enumerated value.
- */
+ /// Name of the enumerated value.
name:string (id: 0);
- /**
- * Offset of the enum value name relative to the beginning of the file.
- */
+ /// Offset of the enum value name relative to the beginning of the file.
nameOffset:uint (id: 1);
}
-/**
- * Unlinked summary information about a function, method, getter, or setter
- * declaration.
- */
+/// Unlinked summary information about a function, method, getter, or setter
+/// declaration.
table UnlinkedExecutable {
- /**
- * Annotations for this executable.
- */
+ /// Annotations for this executable.
annotations:[UnlinkedExpr] (id: 6);
- /**
- * If this executable's function body is declared using `=>`, the expression
- * to the right of the `=>`. May be omitted if neither type inference nor
- * constant evaluation depends on the function body.
- */
+ /// If this executable's function body is declared using `=>`, the expression
+ /// to the right of the `=>`. May be omitted if neither type inference nor
+ /// constant evaluation depends on the function body.
bodyExpr:UnlinkedExpr (id: 29);
- /**
- * Code range of the executable.
- */
+ /// Code range of the executable.
codeRange:CodeRange (id: 26);
- /**
- * If a constant [UnlinkedExecutableKind.constructor], the constructor
- * initializers. Otherwise empty.
- */
+ /// If a constant [UnlinkedExecutableKind.constructor], the constructor
+ /// initializers. Otherwise empty.
constantInitializers:[UnlinkedConstructorInitializer] (id: 14);
- /**
- * If [kind] is [UnlinkedExecutableKind.constructor] and [isConst] is `true`,
- * a nonzero slot id which is unique within this compilation unit. If this id
- * is found in [LinkedUnit.constCycles], then this constructor is part of a
- * cycle.
- *
- * Otherwise, zero.
- */
+ /// If [kind] is [UnlinkedExecutableKind.constructor] and [isConst] is `true`,
+ /// a nonzero slot id which is unique within this compilation unit. If this
+ /// id is found in [LinkedUnit.constCycles], then this constructor is part of
+ /// a cycle.
+ ///
+ /// Otherwise, zero.
constCycleSlot:uint (id: 25);
- /**
- * Documentation comment for the executable, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the executable, or `null` if there is no
+ /// documentation comment.
documentationComment:UnlinkedDocumentationComment (id: 7);
- /**
- * If this executable's return type is inferable, nonzero slot id
- * identifying which entry in [LinkedUnit.types] contains the inferred
- * return type. If there is no matching entry in [LinkedUnit.types], then
- * no return type was inferred for this variable, so its static type is
- * `dynamic`.
- */
+ /// If this executable's return type is inferable, nonzero slot id
+ /// identifying which entry in [LinkedUnit.types] contains the inferred
+ /// return type. If there is no matching entry in [LinkedUnit.types], then
+ /// no return type was inferred for this variable, so its static type is
+ /// `dynamic`.
inferredReturnTypeSlot:uint (id: 5);
- /**
- * Indicates whether the executable is declared using the `abstract` keyword.
- */
+ /// Indicates whether the executable is declared using the `abstract` keyword.
isAbstract:bool (id: 10);
- /**
- * Indicates whether the executable has body marked as being asynchronous.
- */
+ /// Indicates whether the executable has body marked as being asynchronous.
isAsynchronous:bool (id: 27);
- /**
- * Indicates whether the executable is declared using the `const` keyword.
- */
+ /// Indicates whether the executable is declared using the `const` keyword.
isConst:bool (id: 12);
- /**
- * Indicates whether the executable is declared using the `external` keyword.
- */
+ /// Indicates whether the executable is declared using the `external` keyword.
isExternal:bool (id: 11);
- /**
- * Indicates whether the executable is declared using the `factory` keyword.
- */
+ /// Indicates whether the executable is declared using the `factory` keyword.
isFactory:bool (id: 8);
- /**
- * Indicates whether the executable has body marked as being a generator.
- */
+ /// Indicates whether the executable has body marked as being a generator.
isGenerator:bool (id: 28);
- /**
- * Indicates whether the executable is a redirected constructor.
- */
+ /// Indicates whether the executable is a redirected constructor.
isRedirectedConstructor:bool (id: 13);
- /**
- * Indicates whether the executable is declared using the `static` keyword.
- *
- * Note that for top level executables, this flag is false, since they are
- * not declared using the `static` keyword (even though they are considered
- * static for semantic purposes).
- */
+ /// Indicates whether the executable is declared using the `static` keyword.
+ ///
+ /// Note that for top level executables, this flag is false, since they are
+ /// not declared using the `static` keyword (even though they are considered
+ /// static for semantic purposes).
isStatic:bool (id: 9);
- /**
- * The kind of the executable (function/method, getter, setter, or
- * constructor).
- */
+ /// The kind of the executable (function/method, getter, setter, or
+ /// constructor).
kind:UnlinkedExecutableKind (id: 4);
- /**
- * The list of local functions.
- */
+ /// The list of local functions.
localFunctions:[UnlinkedExecutable] (id: 18);
- /**
- * The list of local labels.
- */
+ /// The list of local labels.
localLabels:[string] (id: 22, deprecated);
- /**
- * The list of local variables.
- */
+ /// The list of local variables.
localVariables:[UnlinkedVariable] (id: 19, deprecated);
- /**
- * Name of the executable. For setters, this includes the trailing "=". For
- * named constructors, this excludes the class name and excludes the ".".
- * For unnamed constructors, this is the empty string.
- */
+ /// Name of the executable. For setters, this includes the trailing "=". For
+ /// named constructors, this excludes the class name and excludes the ".".
+ /// For unnamed constructors, this is the empty string.
name:string (id: 1);
- /**
- * If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
- * the offset of the end of the constructor name. Otherwise zero.
- */
+ /// If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
+ /// the offset of the end of the constructor name. Otherwise zero.
nameEnd:uint (id: 23);
- /**
- * Offset of the executable name relative to the beginning of the file. For
- * named constructors, this excludes the class name and excludes the ".".
- * For unnamed constructors, this is the offset of the class name (i.e. the
- * offset of the second "C" in "class C { C(); }").
- */
+ /// Offset of the executable name relative to the beginning of the file. For
+ /// named constructors, this excludes the class name and excludes the ".".
+ /// For unnamed constructors, this is the offset of the class name (i.e. the
+ /// offset of the second "C" in "class C { C(); }").
nameOffset:uint (id: 0);
- /**
- * Parameters of the executable, if any. Note that getters have no
- * parameters (hence this will be the empty list), and setters have a single
- * parameter.
- */
+ /// Parameters of the executable, if any. Note that getters have no
+ /// parameters (hence this will be the empty list), and setters have a single
+ /// parameter.
parameters:[UnlinkedParam] (id: 2);
- /**
- * If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
- * the offset of the period before the constructor name. Otherwise zero.
- */
+ /// If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
+ /// the offset of the period before the constructor name. Otherwise zero.
periodOffset:uint (id: 24);
- /**
- * If [isRedirectedConstructor] and [isFactory] are both `true`, the
- * constructor to which this constructor redirects; otherwise empty.
- */
+ /// If [isRedirectedConstructor] and [isFactory] are both `true`, the
+ /// constructor to which this constructor redirects; otherwise empty.
redirectedConstructor:EntityRef (id: 15);
- /**
- * If [isRedirectedConstructor] is `true` and [isFactory] is `false`, the
- * name of the constructor that this constructor redirects to; otherwise
- * empty.
- */
+ /// If [isRedirectedConstructor] is `true` and [isFactory] is `false`, the
+ /// name of the constructor that this constructor redirects to; otherwise
+ /// empty.
redirectedConstructorName:string (id: 17);
- /**
- * Declared return type of the executable. Absent if the executable is a
- * constructor or the return type is implicit. Absent for executables
- * associated with variable initializers and closures, since these
- * executables may have return types that are not accessible via direct
- * imports.
- */
+ /// Declared return type of the executable. Absent if the executable is a
+ /// constructor or the return type is implicit. Absent for executables
+ /// associated with variable initializers and closures, since these
+ /// executables may have return types that are not accessible via direct
+ /// imports.
returnType:EntityRef (id: 3);
- /**
- * Type parameters of the executable, if any. Empty if support for generic
- * method syntax is disabled.
- */
+ /// Type parameters of the executable, if any. Empty if support for generic
+ /// method syntax is disabled.
typeParameters:[UnlinkedTypeParam] (id: 16);
- /**
- * If a local function, the length of the visible range; zero otherwise.
- */
+ /// If a local function, the length of the visible range; zero otherwise.
visibleLength:uint (id: 20);
- /**
- * If a local function, the beginning of the visible range; zero otherwise.
- */
+ /// If a local function, the beginning of the visible range; zero otherwise.
visibleOffset:uint (id: 21);
}
-/**
- * Unlinked summary information about an export declaration (stored outside
- * [UnlinkedPublicNamespace]).
- */
+/// Unlinked summary information about an export declaration (stored outside
+/// [UnlinkedPublicNamespace]).
table UnlinkedExportNonPublic {
- /**
- * Annotations for this export directive.
- */
+ /// Annotations for this export directive.
annotations:[UnlinkedExpr] (id: 3);
- /**
- * Offset of the "export" keyword.
- */
+ /// Offset of the "export" keyword.
offset:uint (id: 0);
- /**
- * End of the URI string (including quotes) relative to the beginning of the
- * file.
- */
+ /// End of the URI string (including quotes) relative to the beginning of the
+ /// file.
uriEnd:uint (id: 1);
- /**
- * Offset of the URI string (including quotes) relative to the beginning of
- * the file.
- */
+ /// Offset of the URI string (including quotes) relative to the beginning of
+ /// the file.
uriOffset:uint (id: 2);
}
-/**
- * Unlinked summary information about an export declaration (stored inside
- * [UnlinkedPublicNamespace]).
- */
+/// Unlinked summary information about an export declaration (stored inside
+/// [UnlinkedPublicNamespace]).
table UnlinkedExportPublic {
- /**
- * Combinators contained in this export declaration.
- */
+ /// Combinators contained in this export declaration.
combinators:[UnlinkedCombinator] (id: 1);
- /**
- * Configurations used to control which library will actually be loaded at
- * run-time.
- */
+ /// Configurations used to control which library will actually be loaded at
+ /// run-time.
configurations:[UnlinkedConfiguration] (id: 2);
- /**
- * URI used in the source code to reference the exported library.
- */
+ /// URI used in the source code to reference the exported library.
uri:string (id: 0);
}
-/**
- * Unlinked summary information about an expression.
- *
- * Expressions are represented using a simple stack-based language
- * where [operations] is a sequence of operations to execute starting with an
- * empty stack. Once all operations have been executed, the stack should
- * contain a single value which is the value of the constant. Note that some
- * operations consume additional data from the other fields of this class.
- */
+/// Unlinked summary information about an expression.
+///
+/// Expressions are represented using a simple stack-based language
+/// where [operations] is a sequence of operations to execute starting with an
+/// empty stack. Once all operations have been executed, the stack should
+/// contain a single value which is the value of the constant. Note that some
+/// operations consume additional data from the other fields of this class.
table UnlinkedExpr {
- /**
- * Sequence of operators used by assignment operations.
- */
+ /// Sequence of operators used by assignment operations.
assignmentOperators:[UnlinkedExprAssignOperator] (id: 6);
- /**
- * Sequence of 64-bit doubles consumed by the operation `pushDouble`.
- */
+ /// Sequence of 64-bit doubles consumed by the operation `pushDouble`.
doubles:[double] (id: 4);
- /**
- * Sequence of unsigned 32-bit integers consumed by the operations
- * `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
- * `makeList`, and `makeMap`.
- */
+ /// Sequence of unsigned 32-bit integers consumed by the operations
+ /// `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
+ /// `makeList`, and `makeMap`.
ints:[uint] (id: 1);
- /**
- * Indicates whether the expression is a valid potentially constant
- * expression.
- */
+ /// Indicates whether the expression is a valid potentially constant
+ /// expression.
isValidConst:bool (id: 5);
- /**
- * Sequence of operations to execute (starting with an empty stack) to form
- * the constant value.
- */
+ /// Sequence of operations to execute (starting with an empty stack) to form
+ /// the constant value.
operations:[UnlinkedExprOperation] (id: 0);
- /**
- * Sequence of language constructs consumed by the operations
- * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
- * that in the case of `pushReference` (and sometimes `invokeConstructor` the
- * actual entity being referred to may be something other than a type.
- */
+ /// Sequence of language constructs consumed by the operations
+ /// `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
+ /// that in the case of `pushReference` (and sometimes `invokeConstructor` the
+ /// actual entity being referred to may be something other than a type.
references:[EntityRef] (id: 2);
- /**
- * Sequence of strings consumed by the operations `pushString` and
- * `invokeConstructor`.
- */
+ /// Sequence of strings consumed by the operations `pushString` and
+ /// `invokeConstructor`.
strings:[string] (id: 3);
}
-/**
- * Unlinked summary information about an import declaration.
- */
+/// Unlinked summary information about an import declaration.
table UnlinkedImport {
- /**
- * Annotations for this import declaration.
- */
+ /// Annotations for this import declaration.
annotations:[UnlinkedExpr] (id: 8);
- /**
- * Combinators contained in this import declaration.
- */
+ /// Combinators contained in this import declaration.
combinators:[UnlinkedCombinator] (id: 4);
- /**
- * Configurations used to control which library will actually be loaded at
- * run-time.
- */
+ /// Configurations used to control which library will actually be loaded at
+ /// run-time.
configurations:[UnlinkedConfiguration] (id: 10);
- /**
- * Indicates whether the import declaration uses the `deferred` keyword.
- */
+ /// Indicates whether the import declaration uses the `deferred` keyword.
isDeferred:bool (id: 9);
- /**
- * Indicates whether the import declaration is implicit.
- */
+ /// Indicates whether the import declaration is implicit.
isImplicit:bool (id: 5);
- /**
- * If [isImplicit] is false, offset of the "import" keyword. If [isImplicit]
- * is true, zero.
- */
+ /// If [isImplicit] is false, offset of the "import" keyword. If [isImplicit]
+ /// is true, zero.
offset:uint (id: 0);
- /**
- * Offset of the prefix name relative to the beginning of the file, or zero
- * if there is no prefix.
- */
+ /// Offset of the prefix name relative to the beginning of the file, or zero
+ /// if there is no prefix.
prefixOffset:uint (id: 6);
- /**
- * Index into [UnlinkedUnit.references] of the prefix declared by this
- * import declaration, or zero if this import declaration declares no prefix.
- *
- * Note that multiple imports can declare the same prefix.
- */
+ /// Index into [UnlinkedUnit.references] of the prefix declared by this
+ /// import declaration, or zero if this import declaration declares no prefix.
+ ///
+ /// Note that multiple imports can declare the same prefix.
prefixReference:uint (id: 7);
- /**
- * URI used in the source code to reference the imported library.
- */
+ /// URI used in the source code to reference the imported library.
uri:string (id: 1);
- /**
- * End of the URI string (including quotes) relative to the beginning of the
- * file. If [isImplicit] is true, zero.
- */
+ /// End of the URI string (including quotes) relative to the beginning of the
+ /// file. If [isImplicit] is true, zero.
uriEnd:uint (id: 2);
- /**
- * Offset of the URI string (including quotes) relative to the beginning of
- * the file. If [isImplicit] is true, zero.
- */
+ /// Offset of the URI string (including quotes) relative to the beginning of
+ /// the file. If [isImplicit] is true, zero.
uriOffset:uint (id: 3);
}
-/**
- * Unlinked summary information about a function parameter.
- */
+/// Unlinked summary information about a function parameter.
table UnlinkedParam {
- /**
- * Annotations for this parameter.
- */
+ /// Annotations for this parameter.
annotations:[UnlinkedExpr] (id: 9);
- /**
- * Code range of the parameter.
- */
+ /// Code range of the parameter.
codeRange:CodeRange (id: 7);
- /**
- * If the parameter has a default value, the source text of the constant
- * expression in the default value. Otherwise the empty string.
- */
+ /// If the parameter has a default value, the source text of the constant
+ /// expression in the default value. Otherwise the empty string.
defaultValueCode:string (id: 13);
- /**
- * If this parameter's type is inferable, nonzero slot id identifying which
- * entry in [LinkedLibrary.types] contains the inferred type. If there is no
- * matching entry in [LinkedLibrary.types], then no type was inferred for
- * this variable, so its static type is `dynamic`.
- *
- * Note that although strong mode considers initializing formals to be
- * inferable, they are not marked as such in the summary; if their type is
- * not specified, they always inherit the static type of the corresponding
- * field.
- */
+ /// If this parameter's type is inferable, nonzero slot id identifying which
+ /// entry in [LinkedLibrary.types] contains the inferred type. If there is no
+ /// matching entry in [LinkedLibrary.types], then no type was inferred for
+ /// this variable, so its static type is `dynamic`.
+ ///
+ /// Note that although strong mode considers initializing formals to be
+ /// inferable, they are not marked as such in the summary; if their type is
+ /// not specified, they always inherit the static type of the corresponding
+ /// field.
inferredTypeSlot:uint (id: 2);
- /**
- * If this is a parameter of an instance method, a nonzero slot id which is
- * unique within this compilation unit. If this id is found in
- * [LinkedUnit.parametersInheritingCovariant], then this parameter inherits
- * `@covariant` behavior from a base class.
- *
- * Otherwise, zero.
- */
+ /// If this is a parameter of an instance method, a nonzero slot id which is
+ /// unique within this compilation unit. If this id is found in
+ /// [LinkedUnit.parametersInheritingCovariant], then this parameter inherits
+ /// `@covariant` behavior from a base class.
+ ///
+ /// Otherwise, zero.
inheritsCovariantSlot:uint (id: 14);
- /**
- * The synthetic initializer function of the parameter. Absent if the
- * variable does not have an initializer.
- */
+ /// The synthetic initializer function of the parameter. Absent if the
+ /// variable does not have an initializer.
initializer:UnlinkedExecutable (id: 12);
- /**
- * Indicates whether this parameter is explicitly marked as being covariant.
- */
+ /// Indicates whether this parameter is explicitly marked as being covariant.
isExplicitlyCovariant:bool (id: 15);
- /**
- * Indicates whether the parameter is declared using the `final` keyword.
- */
+ /// Indicates whether the parameter is declared using the `final` keyword.
isFinal:bool (id: 16);
- /**
- * Indicates whether this is a function-typed parameter. A parameter is
- * function-typed if the declaration of the parameter has explicit formal
- * parameters
- * ```
- * int functionTyped(int p)
- * ```
- * but is not function-typed if it does not, even if the type of the parameter
- * is a function type.
- */
+ /// Indicates whether this is a function-typed parameter. A parameter is
+ /// function-typed if the declaration of the parameter has explicit formal
+ /// parameters
+ /// ```
+ /// int functionTyped(int p)
+ /// ```
+ /// but is not function-typed if it does not, even if the type of the
+ /// parameter is a function type.
isFunctionTyped:bool (id: 5);
- /**
- * Indicates whether this is an initializing formal parameter (i.e. it is
- * declared using `this.` syntax).
- */
+ /// Indicates whether this is an initializing formal parameter (i.e. it is
+ /// declared using `this.` syntax).
isInitializingFormal:bool (id: 6);
- /**
- * Kind of the parameter.
- */
+ /// Kind of the parameter.
kind:UnlinkedParamKind (id: 4);
- /**
- * Name of the parameter.
- */
+ /// Name of the parameter.
name:string (id: 0);
- /**
- * Offset of the parameter name relative to the beginning of the file.
- */
+ /// Offset of the parameter name relative to the beginning of the file.
nameOffset:uint (id: 1);
- /**
- * If [isFunctionTyped] is `true`, the parameters of the function type.
- */
+ /// If [isFunctionTyped] is `true`, the parameters of the function type.
parameters:[UnlinkedParam] (id: 8);
- /**
- * If [isFunctionTyped] is `true`, the declared return type. If
- * [isFunctionTyped] is `false`, the declared type. Absent if the type is
- * implicit.
- */
+ /// If [isFunctionTyped] is `true`, the declared return type. If
+ /// [isFunctionTyped] is `false`, the declared type. Absent if the type is
+ /// implicit.
type:EntityRef (id: 3);
- /**
- * The length of the visible range.
- */
+ /// The length of the visible range.
visibleLength:uint (id: 10);
- /**
- * The beginning of the visible range.
- */
+ /// The beginning of the visible range.
visibleOffset:uint (id: 11);
}
-/**
- * Unlinked summary information about a part declaration.
- */
+/// Unlinked summary information about a part declaration.
table UnlinkedPart {
- /**
- * Annotations for this part declaration.
- */
+ /// Annotations for this part declaration.
annotations:[UnlinkedExpr] (id: 2);
- /**
- * End of the URI string (including quotes) relative to the beginning of the
- * file.
- */
+ /// End of the URI string (including quotes) relative to the beginning of the
+ /// file.
uriEnd:uint (id: 0);
- /**
- * Offset of the URI string (including quotes) relative to the beginning of
- * the file.
- */
+ /// Offset of the URI string (including quotes) relative to the beginning of
+ /// the file.
uriOffset:uint (id: 1);
}
-/**
- * Unlinked summary information about a specific name contributed by a
- * compilation unit to a library's public namespace.
- *
- * TODO(paulberry): some of this information is redundant with information
- * elsewhere in the summary. Consider reducing the redundancy to reduce
- * summary size.
- */
+/// Unlinked summary information about a specific name contributed by a
+/// compilation unit to a library's public namespace.
+///
+/// TODO(paulberry): some of this information is redundant with information
+/// elsewhere in the summary. Consider reducing the redundancy to reduce
+/// summary size.
table UnlinkedPublicName {
- /**
- * The kind of object referred to by the name.
- */
+ /// The kind of object referred to by the name.
kind:ReferenceKind (id: 1);
- /**
- * If this [UnlinkedPublicName] is a class, the list of members which can be
- * referenced statically - static fields, static methods, and constructors.
- * Otherwise empty.
- *
- * Unnamed constructors are not included since they do not constitute a
- * separate name added to any namespace.
- */
+ /// If this [UnlinkedPublicName] is a class, the list of members which can be
+ /// referenced statically - static fields, static methods, and constructors.
+ /// Otherwise empty.
+ ///
+ /// Unnamed constructors are not included since they do not constitute a
+ /// separate name added to any namespace.
members:[UnlinkedPublicName] (id: 2);
- /**
- * The name itself.
- */
+ /// The name itself.
name:string (id: 0);
- /**
- * If the entity being referred to is generic, the number of type parameters
- * it accepts. Otherwise zero.
- */
+ /// If the entity being referred to is generic, the number of type parameters
+ /// it accepts. Otherwise zero.
numTypeParameters:uint (id: 3);
}
-/**
- * Unlinked summary information about what a compilation unit contributes to a
- * library's public namespace. This is the subset of [UnlinkedUnit] that is
- * required from dependent libraries in order to perform prelinking.
- */
+/// Unlinked summary information about what a compilation unit contributes to a
+/// library's public namespace. This is the subset of [UnlinkedUnit] that is
+/// required from dependent libraries in order to perform prelinking.
table UnlinkedPublicNamespace {
- /**
- * Export declarations in the compilation unit.
- */
+ /// Export declarations in the compilation unit.
exports:[UnlinkedExportPublic] (id: 2);
- /**
- * Public names defined in the compilation unit.
- *
- * TODO(paulberry): consider sorting these names to reduce unnecessary
- * relinking.
- */
+ /// Public names defined in the compilation unit.
+ ///
+ /// TODO(paulberry): consider sorting these names to reduce unnecessary
+ /// relinking.
names:[UnlinkedPublicName] (id: 0);
- /**
- * URIs referenced by part declarations in the compilation unit.
- */
+ /// URIs referenced by part declarations in the compilation unit.
parts:[string] (id: 1);
}
-/**
- * Unlinked summary information about a name referred to in one library that
- * might be defined in another.
- */
+/// Unlinked summary information about a name referred to in one library that
+/// might be defined in another.
table UnlinkedReference {
- /**
- * Name of the entity being referred to. For the pseudo-type `dynamic`, the
- * string is "dynamic". For the pseudo-type `void`, the string is "void".
- * For the pseudo-type `bottom`, the string is "*bottom*".
- */
+ /// Name of the entity being referred to. For the pseudo-type `dynamic`, the
+ /// string is "dynamic". For the pseudo-type `void`, the string is "void".
+ /// For the pseudo-type `bottom`, the string is "*bottom*".
name:string (id: 0);
- /**
- * Prefix used to refer to the entity, or zero if no prefix is used. This is
- * an index into [UnlinkedUnit.references].
- *
- * Prefix references must always point backward; that is, for all i, if
- * UnlinkedUnit.references[i].prefixReference != 0, then
- * UnlinkedUnit.references[i].prefixReference < i.
- */
+ /// Prefix used to refer to the entity, or zero if no prefix is used. This is
+ /// an index into [UnlinkedUnit.references].
+ ///
+ /// Prefix references must always point backward; that is, for all i, if
+ /// UnlinkedUnit.references[i].prefixReference != 0, then
+ /// UnlinkedUnit.references[i].prefixReference < i.
prefixReference:uint (id: 1);
}
-/**
- * Unlinked summary information about a typedef declaration.
- */
+/// Unlinked summary information about a typedef declaration.
table UnlinkedTypedef {
- /**
- * Annotations for this typedef.
- */
+ /// Annotations for this typedef.
annotations:[UnlinkedExpr] (id: 4);
- /**
- * Code range of the typedef.
- */
+ /// Code range of the typedef.
codeRange:CodeRange (id: 7);
- /**
- * Documentation comment for the typedef, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the typedef, or `null` if there is no
+ /// documentation comment.
documentationComment:UnlinkedDocumentationComment (id: 6);
- /**
- * Name of the typedef.
- */
+ /// Name of the typedef.
name:string (id: 0);
- /**
- * Offset of the typedef name relative to the beginning of the file.
- */
+ /// Offset of the typedef name relative to the beginning of the file.
nameOffset:uint (id: 1);
- /**
- * Parameters of the executable, if any.
- */
+ /// Parameters of the executable, if any.
parameters:[UnlinkedParam] (id: 3);
- /**
- * If [style] is [TypedefStyle.functionType], the return type of the typedef.
- * If [style] is [TypedefStyle.genericFunctionType], the function type being
- * defined.
- */
+ /// If [style] is [TypedefStyle.functionType], the return type of the typedef.
+ /// If [style] is [TypedefStyle.genericFunctionType], the function type being
+ /// defined.
returnType:EntityRef (id: 2);
- /**
- * The style of the typedef.
- */
+ /// The style of the typedef.
style:TypedefStyle (id: 8);
- /**
- * Type parameters of the typedef, if any.
- */
+ /// Type parameters of the typedef, if any.
typeParameters:[UnlinkedTypeParam] (id: 5);
}
-/**
- * Unlinked summary information about a type parameter declaration.
- */
+/// Unlinked summary information about a type parameter declaration.
table UnlinkedTypeParam {
- /**
- * Annotations for this type parameter.
- */
+ /// Annotations for this type parameter.
annotations:[UnlinkedExpr] (id: 3);
- /**
- * Bound of the type parameter, if a bound is explicitly declared. Otherwise
- * null.
- */
+ /// Bound of the type parameter, if a bound is explicitly declared. Otherwise
+ /// null.
bound:EntityRef (id: 2);
- /**
- * Code range of the type parameter.
- */
+ /// Code range of the type parameter.
codeRange:CodeRange (id: 4);
- /**
- * Name of the type parameter.
- */
+ /// Name of the type parameter.
name:string (id: 0);
- /**
- * Offset of the type parameter name relative to the beginning of the file.
- */
+ /// Offset of the type parameter name relative to the beginning of the file.
nameOffset:uint (id: 1);
}
-/**
- * Unlinked summary information about a compilation unit ("part file").
- */
+/// Unlinked summary information about a compilation unit ("part file").
table UnlinkedUnit {
- /**
- * MD5 hash of the non-informative fields of the [UnlinkedUnit] (not
- * including this one) as 16 unsigned 8-bit integer values. This can be used
- * to identify when the API of a unit may have changed.
- */
+ /// MD5 hash of the non-informative fields of the [UnlinkedUnit] (not
+ /// including this one) as 16 unsigned 8-bit integer values. This can be used
+ /// to identify when the API of a unit may have changed.
apiSignature:[uint] (id: 19);
- /**
- * Classes declared in the compilation unit.
- */
+ /// Classes declared in the compilation unit.
classes:[UnlinkedClass] (id: 2);
- /**
- * Code range of the unit.
- */
+ /// Code range of the unit.
codeRange:CodeRange (id: 15);
- /**
- * Enums declared in the compilation unit.
- */
+ /// Enums declared in the compilation unit.
enums:[UnlinkedEnum] (id: 12);
- /**
- * Top level executable objects (functions, getters, and setters) declared in
- * the compilation unit.
- */
+ /// Top level executable objects (functions, getters, and setters) declared in
+ /// the compilation unit.
executables:[UnlinkedExecutable] (id: 4);
- /**
- * Export declarations in the compilation unit.
- */
+ /// Export declarations in the compilation unit.
exports:[UnlinkedExportNonPublic] (id: 13);
- /**
- * If this compilation unit was summarized in fallback mode, the path where
- * the compilation unit may be found on disk. Otherwise empty.
- *
- * When this field is non-empty, all other fields in the data structure have
- * their default values.
- */
+ /// If this compilation unit was summarized in fallback mode, the path where
+ /// the compilation unit may be found on disk. Otherwise empty.
+ ///
+ /// When this field is non-empty, all other fields in the data structure have
+ /// their default values.
fallbackModePath:string (id: 16, deprecated);
- /**
- * Import declarations in the compilation unit.
- */
+ /// Import declarations in the compilation unit.
imports:[UnlinkedImport] (id: 5);
- /**
- * Indicates whether the unit contains a "part of" declaration.
- */
+ /// Indicates whether the unit contains a "part of" declaration.
isPartOf:bool (id: 18);
- /**
- * Annotations for the library declaration, or the empty list if there is no
- * library declaration.
- */
+ /// Annotations for the library declaration, or the empty list if there is no
+ /// library declaration.
libraryAnnotations:[UnlinkedExpr] (id: 14);
- /**
- * Documentation comment for the library, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the library, or `null` if there is no
+ /// documentation comment.
libraryDocumentationComment:UnlinkedDocumentationComment (id: 9);
- /**
- * Name of the library (from a "library" declaration, if present).
- */
+ /// Name of the library (from a "library" declaration, if present).
libraryName:string (id: 6);
- /**
- * Length of the library name as it appears in the source code (or 0 if the
- * library has no name).
- */
+ /// Length of the library name as it appears in the source code (or 0 if the
+ /// library has no name).
libraryNameLength:uint (id: 7);
- /**
- * Offset of the library name relative to the beginning of the file (or 0 if
- * the library has no name).
- */
+ /// Offset of the library name relative to the beginning of the file (or 0 if
+ /// the library has no name).
libraryNameOffset:uint (id: 8);
- /**
- * Offsets of the first character of each line in the source code.
- */
+ /// Offsets of the first character of each line in the source code.
lineStarts:[uint] (id: 17);
- /**
- * Mixins declared in the compilation unit.
- */
+ /// Mixins declared in the compilation unit.
mixins:[UnlinkedClass] (id: 20);
- /**
- * Part declarations in the compilation unit.
- */
+ /// Part declarations in the compilation unit.
parts:[UnlinkedPart] (id: 11);
- /**
- * Unlinked public namespace of this compilation unit.
- */
+ /// Unlinked public namespace of this compilation unit.
publicNamespace:UnlinkedPublicNamespace (id: 0);
- /**
- * Top level and prefixed names referred to by this compilation unit. The
- * zeroth element of this array is always populated and is used to represent
- * the absence of a reference in places where a reference is optional (for
- * example [UnlinkedReference.prefixReference or
- * UnlinkedImport.prefixReference]).
- */
+ /// Top level and prefixed names referred to by this compilation unit. The
+ /// zeroth element of this array is always populated and is used to represent
+ /// the absence of a reference in places where a reference is optional (for
+ /// example [UnlinkedReference.prefixReference or
+ /// UnlinkedImport.prefixReference]).
references:[UnlinkedReference] (id: 1);
- /**
- * Typedefs declared in the compilation unit.
- */
+ /// Typedefs declared in the compilation unit.
typedefs:[UnlinkedTypedef] (id: 10);
- /**
- * Top level variables declared in the compilation unit.
- */
+ /// Top level variables declared in the compilation unit.
variables:[UnlinkedVariable] (id: 3);
}
-/**
- * Unlinked summary information about a top level variable, local variable, or
- * a field.
- */
+/// Unlinked summary information about a top level variable, local variable, or
+/// a field.
table UnlinkedVariable {
- /**
- * Annotations for this variable.
- */
+ /// Annotations for this variable.
annotations:[UnlinkedExpr] (id: 8);
- /**
- * Code range of the variable.
- */
+ /// Code range of the variable.
codeRange:CodeRange (id: 5);
- /**
- * Documentation comment for the variable, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the variable, or `null` if there is no
+ /// documentation comment.
documentationComment:UnlinkedDocumentationComment (id: 10);
- /**
- * If this variable is inferable, nonzero slot id identifying which entry in
- * [LinkedLibrary.types] contains the inferred type for this variable. If
- * there is no matching entry in [LinkedLibrary.types], then no type was
- * inferred for this variable, so its static type is `dynamic`.
- */
+ /// If this variable is inferable, nonzero slot id identifying which entry in
+ /// [LinkedLibrary.types] contains the inferred type for this variable. If
+ /// there is no matching entry in [LinkedLibrary.types], then no type was
+ /// inferred for this variable, so its static type is `dynamic`.
inferredTypeSlot:uint (id: 9);
- /**
- * If this is an instance non-final field, a nonzero slot id which is unique
- * within this compilation unit. If this id is found in
- * [LinkedUnit.parametersInheritingCovariant], then the parameter of the
- * synthetic setter inherits `@covariant` behavior from a base class.
- *
- * Otherwise, zero.
- */
+ /// If this is an instance non-final field, a nonzero slot id which is unique
+ /// within this compilation unit. If this id is found in
+ /// [LinkedUnit.parametersInheritingCovariant], then the parameter of the
+ /// synthetic setter inherits `@covariant` behavior from a base class.
+ ///
+ /// Otherwise, zero.
inheritsCovariantSlot:uint (id: 15);
- /**
- * The synthetic initializer function of the variable. Absent if the variable
- * does not have an initializer.
- */
+ /// The synthetic initializer function of the variable. Absent if the
+ /// variable does not have an initializer.
initializer:UnlinkedExecutable (id: 13);
- /**
- * Indicates whether the variable is declared using the `const` keyword.
- */
+ /// Indicates whether the variable is declared using the `const` keyword.
isConst:bool (id: 6);
- /**
- * Indicates whether this variable is declared using the `covariant` keyword.
- * This should be false for everything except instance fields.
- */
+ /// Indicates whether this variable is declared using the `covariant` keyword.
+ /// This should be false for everything except instance fields.
isCovariant:bool (id: 14);
- /**
- * Indicates whether the variable is declared using the `final` keyword.
- */
+ /// Indicates whether the variable is declared using the `final` keyword.
isFinal:bool (id: 7);
- /**
- * Indicates whether the variable is declared using the `static` keyword.
- *
- * Note that for top level variables, this flag is false, since they are not
- * declared using the `static` keyword (even though they are considered
- * static for semantic purposes).
- */
+ /// Indicates whether the variable is declared using the `static` keyword.
+ ///
+ /// Note that for top level variables, this flag is false, since they are not
+ /// declared using the `static` keyword (even though they are considered
+ /// static for semantic purposes).
isStatic:bool (id: 4);
- /**
- * Name of the variable.
- */
+ /// Name of the variable.
name:string (id: 0);
- /**
- * Offset of the variable name relative to the beginning of the file.
- */
+ /// Offset of the variable name relative to the beginning of the file.
nameOffset:uint (id: 1);
- /**
- * If this variable is propagable, nonzero slot id identifying which entry in
- * [LinkedLibrary.types] contains the propagated type for this variable. If
- * there is no matching entry in [LinkedLibrary.types], then this variable's
- * propagated type is the same as its declared type.
- *
- * Non-propagable variables have a [propagatedTypeSlot] of zero.
- */
+ /// If this variable is propagable, nonzero slot id identifying which entry in
+ /// [LinkedLibrary.types] contains the propagated type for this variable. If
+ /// there is no matching entry in [LinkedLibrary.types], then this variable's
+ /// propagated type is the same as its declared type.
+ ///
+ /// Non-propagable variables have a [propagatedTypeSlot] of zero.
propagatedTypeSlot:uint (id: 2);
- /**
- * Declared type of the variable. Absent if the type is implicit.
- */
+ /// Declared type of the variable. Absent if the type is implicit.
type:EntityRef (id: 3);
- /**
- * If a local variable, the length of the visible range; zero otherwise.
- */
+ /// If a local variable, the length of the visible range; zero otherwise.
visibleLength:uint (id: 11, deprecated);
- /**
- * If a local variable, the beginning of the visible range; zero otherwise.
- */
+ /// If a local variable, the beginning of the visible range; zero otherwise.
visibleOffset:uint (id: 12, deprecated);
}
diff --git a/pkg/analyzer/lib/src/summary/idl.dart b/pkg/analyzer/lib/src/summary/idl.dart
index 4a9640c..01c2a7c 100644
--- a/pkg/analyzer/lib/src/summary/idl.dart
+++ b/pkg/analyzer/lib/src/summary/idl.dart
@@ -2,43 +2,41 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-/**
- * This file is an "idl" style description of the summary format. It
- * contains abstract classes which declare the interface for reading data from
- * summaries. It is parsed and transformed into code that implements the
- * summary format.
- *
- * The code generation process introduces the following semantics:
- * - Getters of type List never return null, and have a default value of the
- * empty list.
- * - Getters of type int return unsigned 32-bit integers, never null, and have
- * a default value of zero.
- * - Getters of type String never return null, and have a default value of ''.
- * - Getters of type bool never return null, and have a default value of false.
- * - Getters whose type is an enum never return null, and have a default value
- * of the first value declared in the enum.
- *
- * Terminology used in this document:
- * - "Unlinked" refers to information that can be determined from reading a
- * single .dart file in isolation.
- * - "Prelinked" refers to information that can be determined from the defining
- * compilation unit of a library, plus direct imports, plus the transitive
- * closure of exports reachable from those libraries, plus all part files
- * constituting those libraries.
- * - "Linked" refers to all other information; in theory, this information may
- * depend on all files in the transitive import/export closure. However, in
- * practice we expect that the number of additional dependencies will usually
- * be small, since the additional dependencies only need to be consulted for
- * type propagation, type inference, and constant evaluation, which typically
- * have short dependency chains.
- *
- * Since we expect "linked" and "prelinked" dependencies to be similar, we only
- * rarely distinguish between them; most information is that is not "unlinked"
- * is typically considered "linked" for simplicity.
- *
- * Except as otherwise noted, synthetic elements are not stored in the summary;
- * they are re-synthesized at the time the summary is read.
- */
+/// This file is an "idl" style description of the summary format. It
+/// contains abstract classes which declare the interface for reading data from
+/// summaries. It is parsed and transformed into code that implements the
+/// summary format.
+///
+/// The code generation process introduces the following semantics:
+/// - Getters of type List never return null, and have a default value of the
+/// empty list.
+/// - Getters of type int return unsigned 32-bit integers, never null, and have
+/// a default value of zero.
+/// - Getters of type String never return null, and have a default value of ''.
+/// - Getters of type bool never return null, and have a default value of false.
+/// - Getters whose type is an enum never return null, and have a default value
+/// of the first value declared in the enum.
+///
+/// Terminology used in this document:
+/// - "Unlinked" refers to information that can be determined from reading a
+/// single .dart file in isolation.
+/// - "Prelinked" refers to information that can be determined from the defining
+/// compilation unit of a library, plus direct imports, plus the transitive
+/// closure of exports reachable from those libraries, plus all part files
+/// constituting those libraries.
+/// - "Linked" refers to all other information; in theory, this information may
+/// depend on all files in the transitive import/export closure. However, in
+/// practice we expect that the number of additional dependencies will usually
+/// be small, since the additional dependencies only need to be consulted for
+/// type propagation, type inference, and constant evaluation, which typically
+/// have short dependency chains.
+///
+/// Since we expect "linked" and "prelinked" dependencies to be similar, we only
+/// rarely distinguish between them; most information is that is not "unlinked"
+/// is typically considered "linked" for simplicity.
+///
+/// Except as otherwise noted, synthetic elements are not stored in the summary;
+/// they are re-synthesized at the time the summary is read.
library analyzer.tool.summary.idl;
import 'package:analyzer/dart/element/element.dart';
@@ -47,1192 +45,869 @@
import 'base.dart' show Id, TopLevel;
import 'format.dart' as generated;
-/**
- * Annotation describing information which is not part of Dart semantics; in
- * other words, if this information (or any information it refers to) changes,
- * static analysis and runtime behavior of the library are unaffected.
- *
- * Information that has purely local effect (in other words, it does not affect
- * the API of the code being analyzed) is also marked as `informative`.
- */
+/// Annotation describing information which is not part of Dart semantics; in
+/// other words, if this information (or any information it refers to) changes,
+/// static analysis and runtime behavior of the library are unaffected.
+///
+/// Information that has purely local effect (in other words, it does not affect
+/// the API of the code being analyzed) is also marked as `informative`.
const informative = null;
-/**
- * Information about the context of an exception in analysis driver.
- */
+/// Information about the context of an exception in analysis driver.
@TopLevel('ADEC')
abstract class AnalysisDriverExceptionContext extends base.SummaryClass {
factory AnalysisDriverExceptionContext.fromBuffer(List<int> buffer) =>
generated.readAnalysisDriverExceptionContext(buffer);
- /**
- * The exception string.
- */
+ /// The exception string.
@Id(1)
String get exception;
- /**
- * The state of files when the exception happened.
- */
+ /// The state of files when the exception happened.
@Id(3)
List<AnalysisDriverExceptionFile> get files;
- /**
- * The path of the file being analyzed when the exception happened.
- */
+ /// The path of the file being analyzed when the exception happened.
@Id(0)
String get path;
- /**
- * The exception stack trace string.
- */
+ /// The exception stack trace string.
@Id(2)
String get stackTrace;
}
-/**
- * Information about a single file in [AnalysisDriverExceptionContext].
- */
+/// Information about a single file in [AnalysisDriverExceptionContext].
abstract class AnalysisDriverExceptionFile extends base.SummaryClass {
- /**
- * The content of the file.
- */
+ /// The content of the file.
@Id(1)
String get content;
- /**
- * The path of the file.
- */
+ /// The path of the file.
@Id(0)
String get path;
}
-/**
- * Information about a resolved unit.
- */
+/// Information about a resolved unit.
@TopLevel('ADRU')
abstract class AnalysisDriverResolvedUnit extends base.SummaryClass {
factory AnalysisDriverResolvedUnit.fromBuffer(List<int> buffer) =>
generated.readAnalysisDriverResolvedUnit(buffer);
- /**
- * The full list of analysis errors, both syntactic and semantic.
- */
+ /// The full list of analysis errors, both syntactic and semantic.
@Id(0)
List<AnalysisDriverUnitError> get errors;
- /**
- * The index of the unit.
- */
+ /// The index of the unit.
@Id(1)
AnalysisDriverUnitIndex get index;
}
-/**
- * Information about a subtype of one or more classes.
- */
+/// Information about a subtype of one or more classes.
abstract class AnalysisDriverSubtype extends base.SummaryClass {
- /**
- * The names of defined instance members.
- * They are indexes into [AnalysisDriverUnitError.strings] list.
- * The list is sorted in ascending order.
- */
+ /// The names of defined instance members.
+ /// They are indexes into [AnalysisDriverUnitError.strings] list.
+ /// The list is sorted in ascending order.
@Id(1)
List<int> get members;
- /**
- * The name of the class.
- * It is an index into [AnalysisDriverUnitError.strings] list.
- */
+ /// The name of the class.
+ /// It is an index into [AnalysisDriverUnitError.strings] list.
@Id(0)
int get name;
}
-/**
- * Information about an error in a resolved unit.
- */
+/// Information about an error in a resolved unit.
abstract class AnalysisDriverUnitError extends base.SummaryClass {
- /**
- * The optional correction hint for the error.
- */
+ /// The optional correction hint for the error.
@Id(4)
String get correction;
- /**
- * The length of the error in the file.
- */
+ /// The length of the error in the file.
@Id(1)
int get length;
- /**
- * The message of the error.
- */
+ /// The message of the error.
@Id(3)
String get message;
- /**
- * The offset from the beginning of the file.
- */
+ /// The offset from the beginning of the file.
@Id(0)
int get offset;
- /**
- * The unique name of the error code.
- */
+ /// The unique name of the error code.
@Id(2)
String get uniqueName;
}
-/**
- * Information about a resolved unit.
- */
+/// Information about a resolved unit.
@TopLevel('ADUI')
abstract class AnalysisDriverUnitIndex extends base.SummaryClass {
factory AnalysisDriverUnitIndex.fromBuffer(List<int> buffer) =>
generated.readAnalysisDriverUnitIndex(buffer);
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the kind of the synthetic element.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the kind of the synthetic element.
@Id(4)
List<IndexSyntheticElementKind> get elementKinds;
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the class member element name, or `null` if the element
- * is a top-level element. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this index.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the class member element name, or `null` if the element
+ /// is a top-level element. The list is sorted in ascending order, so that
+ /// the client can quickly check whether an element is referenced in this
+ /// index.
@Id(7)
List<int> get elementNameClassMemberIds;
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the named parameter name, or `null` if the element is not
- * a named parameter. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this index.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the named parameter name, or `null` if the element is
+ /// not a named parameter. The list is sorted in ascending order, so that the
+ /// client can quickly check whether an element is referenced in this index.
@Id(8)
List<int> get elementNameParameterIds;
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the top-level element name, or `null` if the element is
- * the unit. The list is sorted in ascending order, so that the client can
- * quickly check whether an element is referenced in this index.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the top-level element name, or `null` if the element is
+ /// the unit. The list is sorted in ascending order, so that the client can
+ /// quickly check whether an element is referenced in this index.
@Id(6)
List<int> get elementNameUnitMemberIds;
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the index into [unitLibraryUris] and [unitUnitUris] for the library
- * specific unit where the element is declared.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the index into [unitLibraryUris] and [unitUnitUris] for the library
+ /// specific unit where the element is declared.
@Id(5)
List<int> get elementUnits;
- /**
- * Identifier of the null string in [strings].
- */
+ /// Identifier of the null string in [strings].
@Id(1)
int get nullStringId;
- /**
- * List of unique element strings used in this index. The list is sorted in
- * ascending order, so that the client can quickly check the presence of a
- * string in this index.
- */
+ /// List of unique element strings used in this index. The list is sorted in
+ /// ascending order, so that the client can quickly check the presence of a
+ /// string in this index.
@Id(0)
List<String> get strings;
- /**
- * The list of classes declared in the unit.
- */
+ /// The list of classes declared in the unit.
@Id(19)
List<AnalysisDriverSubtype> get subtypes;
- /**
- * The identifiers of supertypes of elements at corresponding indexes
- * in [subtypes]. They are indexes into [strings] list. The list is sorted
- * in ascending order. There might be more than one element with the same
- * value if there is more than one subtype of this supertype.
- */
+ /// The identifiers of supertypes of elements at corresponding indexes
+ /// in [subtypes]. They are indexes into [strings] list. The list is sorted
+ /// in ascending order. There might be more than one element with the same
+ /// value if there is more than one subtype of this supertype.
@Id(18)
List<int> get supertypes;
- /**
- * Each item of this list corresponds to the library URI of a unique library
- * specific unit referenced in the index. It is an index into [strings] list.
- */
+ /// Each item of this list corresponds to the library URI of a unique library
+ /// specific unit referenced in the index. It is an index into [strings]
+ /// list.
@Id(2)
List<int> get unitLibraryUris;
- /**
- * Each item of this list corresponds to the unit URI of a unique library
- * specific unit referenced in the index. It is an index into [strings] list.
- */
+ /// Each item of this list corresponds to the unit URI of a unique library
+ /// specific unit referenced in the index. It is an index into [strings]
+ /// list.
@Id(3)
List<int> get unitUnitUris;
- /**
- * Each item of this list is the `true` if the corresponding element usage
- * is qualified with some prefix.
- */
+ /// Each item of this list is the `true` if the corresponding element usage
+ /// is qualified with some prefix.
@Id(13)
List<bool> get usedElementIsQualifiedFlags;
- /**
- * Each item of this list is the kind of the element usage.
- */
+ /// Each item of this list is the kind of the element usage.
@Id(10)
List<IndexRelationKind> get usedElementKinds;
- /**
- * Each item of this list is the length of the element usage.
- */
+ /// Each item of this list is the length of the element usage.
@Id(12)
List<int> get usedElementLengths;
- /**
- * Each item of this list is the offset of the element usage relative to the
- * beginning of the file.
- */
+ /// Each item of this list is the offset of the element usage relative to the
+ /// beginning of the file.
@Id(11)
List<int> get usedElementOffsets;
- /**
- * Each item of this list is the index into [elementUnits],
- * [elementNameUnitMemberIds], [elementNameClassMemberIds] and
- * [elementNameParameterIds]. The list is sorted in ascending order, so
- * that the client can quickly find element references in this index.
- */
+ /// Each item of this list is the index into [elementUnits],
+ /// [elementNameUnitMemberIds], [elementNameClassMemberIds] and
+ /// [elementNameParameterIds]. The list is sorted in ascending order, so
+ /// that the client can quickly find element references in this index.
@Id(9)
List<int> get usedElements;
- /**
- * Each item of this list is the `true` if the corresponding name usage
- * is qualified with some prefix.
- */
+ /// Each item of this list is the `true` if the corresponding name usage
+ /// is qualified with some prefix.
@Id(17)
List<bool> get usedNameIsQualifiedFlags;
- /**
- * Each item of this list is the kind of the name usage.
- */
+ /// Each item of this list is the kind of the name usage.
@Id(15)
List<IndexRelationKind> get usedNameKinds;
- /**
- * Each item of this list is the offset of the name usage relative to the
- * beginning of the file.
- */
+ /// Each item of this list is the offset of the name usage relative to the
+ /// beginning of the file.
@Id(16)
List<int> get usedNameOffsets;
- /**
- * Each item of this list is the index into [strings] for a used name. The
- * list is sorted in ascending order, so that the client can quickly find
- * whether a name is used in this index.
- */
+ /// Each item of this list is the index into [strings] for a used name. The
+ /// list is sorted in ascending order, so that the client can quickly find
+ /// whether a name is used in this index.
@Id(14)
List<int> get usedNames;
}
-/**
- * Information about an unlinked unit.
- */
+/// Information about an unlinked unit.
@TopLevel('ADUU')
abstract class AnalysisDriverUnlinkedUnit extends base.SummaryClass {
factory AnalysisDriverUnlinkedUnit.fromBuffer(List<int> buffer) =>
generated.readAnalysisDriverUnlinkedUnit(buffer);
- /**
- * List of class member names defined by the unit.
- */
+ /// List of class member names defined by the unit.
@Id(3)
List<String> get definedClassMemberNames;
- /**
- * List of top-level names defined by the unit.
- */
+ /// List of top-level names defined by the unit.
@Id(2)
List<String> get definedTopLevelNames;
- /**
- * List of external names referenced by the unit.
- */
+ /// List of external names referenced by the unit.
@Id(0)
List<String> get referencedNames;
- /**
- * List of names which are used in `extends`, `with` or `implements` clauses
- * in the file. Import prefixes and type arguments are not included.
- */
+ /// List of names which are used in `extends`, `with` or `implements` clauses
+ /// in the file. Import prefixes and type arguments are not included.
@Id(4)
List<String> get subtypedNames;
- /**
- * Unlinked information for the unit.
- */
+ /// Unlinked information for the unit.
@Id(1)
UnlinkedUnit get unit;
}
-/**
- * Information about an element code range.
- */
+/// Information about an element code range.
abstract class CodeRange extends base.SummaryClass {
- /**
- * Length of the element code.
- */
+ /// Length of the element code.
@Id(1)
int get length;
- /**
- * Offset of the element code relative to the beginning of the file.
- */
+ /// Offset of the element code relative to the beginning of the file.
@Id(0)
int get offset;
}
-/**
- * Summary information about a reference to an entity such as a type, top level
- * executable, or executable within a class.
- */
+/// Summary information about a reference to an entity such as a type, top level
+/// executable, or executable within a class.
abstract class EntityRef extends base.SummaryClass {
- /**
- * The kind of entity being represented.
- */
+ /// The kind of entity being represented.
@Id(8)
EntityRefKind get entityKind;
- /**
- * Notice: This will be deprecated. However, its not deprecated yet, as we're
- * keeping it for backwards compatibilty, and marking it deprecated makes it
- * unreadable.
- *
- * TODO(mfairhurst) mark this deprecated, and remove its logic.
- *
- * If this is a reference to a function type implicitly defined by a
- * function-typed parameter, a list of zero-based indices indicating the path
- * from the entity referred to by [reference] to the appropriate type
- * parameter. Otherwise the empty list.
- *
- * If there are N indices in this list, then the entity being referred to is
- * the function type implicitly defined by a function-typed parameter of a
- * function-typed parameter, to N levels of nesting. The first index in the
- * list refers to the outermost level of nesting; for example if [reference]
- * refers to the entity defined by:
- *
- * void f(x, void g(y, z, int h(String w))) { ... }
- *
- * Then to refer to the function type implicitly defined by parameter `h`
- * (which is parameter 2 of parameter 1 of `f`), then
- * [implicitFunctionTypeIndices] should be [1, 2].
- *
- * Note that if the entity being referred to is a generic method inside a
- * generic class, then the type arguments in [typeArguments] are applied
- * first to the class and then to the method.
- */
+ /// Notice: This will be deprecated. However, its not deprecated yet, as we're
+ /// keeping it for backwards compatibilty, and marking it deprecated makes it
+ /// unreadable.
+ ///
+ /// TODO(mfairhurst) mark this deprecated, and remove its logic.
+ ///
+ /// If this is a reference to a function type implicitly defined by a
+ /// function-typed parameter, a list of zero-based indices indicating the path
+ /// from the entity referred to by [reference] to the appropriate type
+ /// parameter. Otherwise the empty list.
+ ///
+ /// If there are N indices in this list, then the entity being referred to is
+ /// the function type implicitly defined by a function-typed parameter of a
+ /// function-typed parameter, to N levels of nesting. The first index in the
+ /// list refers to the outermost level of nesting; for example if [reference]
+ /// refers to the entity defined by:
+ ///
+ /// void f(x, void g(y, z, int h(String w))) { ... }
+ ///
+ /// Then to refer to the function type implicitly defined by parameter `h`
+ /// (which is parameter 2 of parameter 1 of `f`), then
+ /// [implicitFunctionTypeIndices] should be [1, 2].
+ ///
+ /// Note that if the entity being referred to is a generic method inside a
+ /// generic class, then the type arguments in [typeArguments] are applied
+ /// first to the class and then to the method.
@Id(4)
List<int> get implicitFunctionTypeIndices;
- /**
- * If this is a reference to a type parameter, one-based index into the list
- * of [UnlinkedTypeParam]s currently in effect. Indexing is done using De
- * Bruijn index conventions; that is, innermost parameters come first, and
- * if a class or method has multiple parameters, they are indexed from right
- * to left. So for instance, if the enclosing declaration is
- *
- * class C<T,U> {
- * m<V,W> {
- * ...
- * }
- * }
- *
- * Then [paramReference] values of 1, 2, 3, and 4 represent W, V, U, and T,
- * respectively.
- *
- * If the type being referred to is not a type parameter, [paramReference] is
- * zero.
- */
+ /// If this is a reference to a type parameter, one-based index into the list
+ /// of [UnlinkedTypeParam]s currently in effect. Indexing is done using De
+ /// Bruijn index conventions; that is, innermost parameters come first, and
+ /// if a class or method has multiple parameters, they are indexed from right
+ /// to left. So for instance, if the enclosing declaration is
+ ///
+ /// class C<T,U> {
+ /// m<V,W> {
+ /// ...
+ /// }
+ /// }
+ ///
+ /// Then [paramReference] values of 1, 2, 3, and 4 represent W, V, U, and T,
+ /// respectively.
+ ///
+ /// If the type being referred to is not a type parameter, [paramReference] is
+ /// zero.
@Id(3)
int get paramReference;
- /**
- * Index into [UnlinkedUnit.references] for the entity being referred to, or
- * zero if this is a reference to a type parameter.
- */
+ /// Index into [UnlinkedUnit.references] for the entity being referred to, or
+ /// zero if this is a reference to a type parameter.
@Id(0)
int get reference;
- /**
- * If this [EntityRef] appears in a syntactic context where its type arguments
- * might need to be inferred by a method other than instantiate-to-bounds,
- * and [typeArguments] is empty, a slot id (which is unique within the
- * compilation unit). If an entry appears in [LinkedUnit.types] whose [slot]
- * matches this value, that entry will contain the complete inferred type.
- *
- * This is called `refinedSlot` to clarify that if it points to an inferred
- * type, it points to a type that is a "refinement" of this one (one in which
- * some type arguments have been inferred).
- */
+ /// If this [EntityRef] appears in a syntactic context where its type
+ /// arguments might need to be inferred by a method other than
+ /// instantiate-to-bounds, and [typeArguments] is empty, a slot id (which is
+ /// unique within the compilation unit). If an entry appears in
+ /// [LinkedUnit.types] whose [slot] matches this value, that entry will
+ /// contain the complete inferred type.
+ ///
+ /// This is called `refinedSlot` to clarify that if it points to an inferred
+ /// type, it points to a type that is a "refinement" of this one (one in which
+ /// some type arguments have been inferred).
@Id(9)
int get refinedSlot;
- /**
- * If this [EntityRef] is contained within [LinkedUnit.types], slot id (which
- * is unique within the compilation unit) identifying the target of type
- * propagation or type inference with which this [EntityRef] is associated.
- *
- * Otherwise zero.
- */
+ /// If this [EntityRef] is contained within [LinkedUnit.types], slot id (which
+ /// is unique within the compilation unit) identifying the target of type
+ /// propagation or type inference with which this [EntityRef] is associated.
+ ///
+ /// Otherwise zero.
@Id(2)
int get slot;
- /**
- * If this [EntityRef] is a reference to a function type whose
- * [FunctionElement] is not in any library (e.g. a function type that was
- * synthesized by a LUB computation), the function parameters. Otherwise
- * empty.
- */
+ /// If this [EntityRef] is a reference to a function type whose
+ /// [FunctionElement] is not in any library (e.g. a function type that was
+ /// synthesized by a LUB computation), the function parameters. Otherwise
+ /// empty.
@Id(6)
List<UnlinkedParam> get syntheticParams;
- /**
- * If this [EntityRef] is a reference to a function type whose
- * [FunctionElement] is not in any library (e.g. a function type that was
- * synthesized by a LUB computation), the return type of the function.
- * Otherwise `null`.
- */
+ /// If this [EntityRef] is a reference to a function type whose
+ /// [FunctionElement] is not in any library (e.g. a function type that was
+ /// synthesized by a LUB computation), the return type of the function.
+ /// Otherwise `null`.
@Id(5)
EntityRef get syntheticReturnType;
- /**
- * If this is an instantiation of a generic type or generic executable, the
- * type arguments used to instantiate it (if any).
- */
+ /// If this is an instantiation of a generic type or generic executable, the
+ /// type arguments used to instantiate it (if any).
@Id(1)
List<EntityRef> get typeArguments;
- /**
- * If this is a function type, the type parameters defined for the function
- * type (if any).
- */
+ /// If this is a function type, the type parameters defined for the function
+ /// type (if any).
@Id(7)
List<UnlinkedTypeParam> get typeParameters;
}
-/**
- * Enum used to indicate the kind of an entity reference.
- */
+/// Enum used to indicate the kind of an entity reference.
enum EntityRefKind {
- /**
- * The entity represents a named type.
- */
+ /// The entity represents a named type.
named,
- /**
- * The entity represents a generic function type.
- */
+ /// The entity represents a generic function type.
genericFunctionType,
- /**
- * The entity represents a function type that was synthesized by a LUB
- * computation.
- */
+ /// The entity represents a function type that was synthesized by a LUB
+ /// computation.
syntheticFunction
}
-/**
- * Enum used to indicate the kind of a name in index.
- */
+/// Enum used to indicate the kind of a name in index.
enum IndexNameKind {
- /**
- * A top-level element.
- */
+ /// A top-level element.
topLevel,
- /**
- * A class member.
- */
+ /// A class member.
classMember
}
-/**
- * Enum used to indicate the kind of an index relation.
- */
+/// Enum used to indicate the kind of an index relation.
enum IndexRelationKind {
- /**
- * Left: class.
- * Is ancestor of (is extended or implemented, directly or indirectly).
- * Right: other class declaration.
- */
+ /// Left: class.
+ /// Is ancestor of (is extended or implemented, directly or indirectly).
+ /// Right: other class declaration.
IS_ANCESTOR_OF,
- /**
- * Left: class.
- * Is extended by.
- * Right: other class declaration.
- */
+ /// Left: class.
+ /// Is extended by.
+ /// Right: other class declaration.
IS_EXTENDED_BY,
- /**
- * Left: class.
- * Is implemented by.
- * Right: other class declaration.
- */
+ /// Left: class.
+ /// Is implemented by.
+ /// Right: other class declaration.
IS_IMPLEMENTED_BY,
- /**
- * Left: class.
- * Is mixed into.
- * Right: other class declaration.
- */
+ /// Left: class.
+ /// Is mixed into.
+ /// Right: other class declaration.
IS_MIXED_IN_BY,
- /**
- * Left: method, property accessor, function, variable.
- * Is invoked at.
- * Right: location.
- */
+ /// Left: method, property accessor, function, variable.
+ /// Is invoked at.
+ /// Right: location.
IS_INVOKED_BY,
- /**
- * Left: any element.
- * Is referenced (and not invoked, read/written) at.
- * Right: location.
- */
+ /// Left: any element.
+ /// Is referenced (and not invoked, read/written) at.
+ /// Right: location.
IS_REFERENCED_BY,
- /**
- * Left: unresolved member name.
- * Is read at.
- * Right: location.
- */
+ /// Left: unresolved member name.
+ /// Is read at.
+ /// Right: location.
IS_READ_BY,
- /**
- * Left: unresolved member name.
- * Is both read and written at.
- * Right: location.
- */
+ /// Left: unresolved member name.
+ /// Is both read and written at.
+ /// Right: location.
IS_READ_WRITTEN_BY,
- /**
- * Left: unresolved member name.
- * Is written at.
- * Right: location.
- */
+ /// Left: unresolved member name.
+ /// Is written at.
+ /// Right: location.
IS_WRITTEN_BY
}
-/**
- * When we need to reference a synthetic element in [PackageIndex] we use a
- * value of this enum to specify which kind of the synthetic element we
- * actually reference.
- */
+/// When we need to reference a synthetic element in [PackageIndex] we use a
+/// value of this enum to specify which kind of the synthetic element we
+/// actually reference.
enum IndexSyntheticElementKind {
- /**
- * Not a synthetic element.
- */
+ /// Not a synthetic element.
notSynthetic,
- /**
- * The unnamed synthetic constructor a class element.
- */
+ /// The unnamed synthetic constructor a class element.
constructor,
- /**
- * The synthetic field element.
- */
+ /// The synthetic field element.
field,
- /**
- * The synthetic getter of a property introducing element.
- */
+ /// The synthetic getter of a property introducing element.
getter,
- /**
- * The synthetic setter of a property introducing element.
- */
+ /// The synthetic setter of a property introducing element.
setter,
- /**
- * The synthetic top-level variable element.
- */
+ /// The synthetic top-level variable element.
topLevelVariable,
- /**
- * The synthetic `loadLibrary` element.
- */
+ /// The synthetic `loadLibrary` element.
loadLibrary,
- /**
- * The synthetic `index` getter of an enum.
- */
+ /// The synthetic `index` getter of an enum.
enumIndex,
- /**
- * The synthetic `values` getter of an enum.
- */
+ /// The synthetic `values` getter of an enum.
enumValues,
- /**
- * The containing unit itself.
- */
+ /// The containing unit itself.
unit
}
-/**
- * Information about a dependency that exists between one library and another
- * due to an "import" declaration.
- */
+/// Information about a dependency that exists between one library and another
+/// due to an "import" declaration.
abstract class LinkedDependency extends base.SummaryClass {
- /**
- * Absolute URI for the compilation units listed in the library's `part`
- * declarations, empty string for invalid URI.
- */
+ /// Absolute URI for the compilation units listed in the library's `part`
+ /// declarations, empty string for invalid URI.
@Id(1)
List<String> get parts;
- /**
- * The absolute URI of the dependent library, e.g. `package:foo/bar.dart`.
- */
+ /// The absolute URI of the dependent library, e.g. `package:foo/bar.dart`.
@Id(0)
String get uri;
}
-/**
- * Information about a single name in the export namespace of the library that
- * is not in the public namespace.
- */
+/// Information about a single name in the export namespace of the library that
+/// is not in the public namespace.
abstract class LinkedExportName extends base.SummaryClass {
- /**
- * Index into [LinkedLibrary.dependencies] for the library in which the
- * entity is defined.
- */
+ /// Index into [LinkedLibrary.dependencies] for the library in which the
+ /// entity is defined.
@Id(0)
int get dependency;
- /**
- * The kind of the entity being referred to.
- */
+ /// The kind of the entity being referred to.
@Id(3)
ReferenceKind get kind;
- /**
- * Name of the exported entity. For an exported setter, this name includes
- * the trailing '='.
- */
+ /// Name of the exported entity. For an exported setter, this name includes
+ /// the trailing '='.
@Id(1)
String get name;
- /**
- * Integer index indicating which unit in the exported library contains the
- * definition of the entity. As with indices into [LinkedLibrary.units],
- * zero represents the defining compilation unit, and nonzero values
- * represent parts in the order of the corresponding `part` declarations.
- */
+ /// Integer index indicating which unit in the exported library contains the
+ /// definition of the entity. As with indices into [LinkedLibrary.units],
+ /// zero represents the defining compilation unit, and nonzero values
+ /// represent parts in the order of the corresponding `part` declarations.
@Id(2)
int get unit;
}
-/**
- * Linked summary of a library.
- */
+/// Linked summary of a library.
@TopLevel('LLib')
abstract class LinkedLibrary extends base.SummaryClass {
factory LinkedLibrary.fromBuffer(List<int> buffer) =>
generated.readLinkedLibrary(buffer);
- /**
- * The libraries that this library depends on (either via an explicit import
- * statement or via the implicit dependencies on `dart:core` and
- * `dart:async`). The first element of this array is a pseudo-dependency
- * representing the library itself (it is also used for `dynamic` and
- * `void`). This is followed by elements representing "prelinked"
- * dependencies (direct imports and the transitive closure of exports).
- * After the prelinked dependencies are elements representing "linked"
- * dependencies.
- *
- * A library is only included as a "linked" dependency if it is a true
- * dependency (e.g. a propagated or inferred type or constant value
- * implicitly refers to an element declared in the library) or
- * anti-dependency (e.g. the result of type propagation or type inference
- * depends on the lack of a certain declaration in the library).
- */
+ /// The libraries that this library depends on (either via an explicit import
+ /// statement or via the implicit dependencies on `dart:core` and
+ /// `dart:async`). The first element of this array is a pseudo-dependency
+ /// representing the library itself (it is also used for `dynamic` and
+ /// `void`). This is followed by elements representing "prelinked"
+ /// dependencies (direct imports and the transitive closure of exports).
+ /// After the prelinked dependencies are elements representing "linked"
+ /// dependencies.
+ ///
+ /// A library is only included as a "linked" dependency if it is a true
+ /// dependency (e.g. a propagated or inferred type or constant value
+ /// implicitly refers to an element declared in the library) or
+ /// anti-dependency (e.g. the result of type propagation or type inference
+ /// depends on the lack of a certain declaration in the library).
@Id(0)
List<LinkedDependency> get dependencies;
- /**
- * For each export in [UnlinkedUnit.exports], an index into [dependencies]
- * of the library being exported.
- */
+ /// For each export in [UnlinkedUnit.exports], an index into [dependencies]
+ /// of the library being exported.
@Id(6)
List<int> get exportDependencies;
- /**
- * Information about entities in the export namespace of the library that are
- * not in the public namespace of the library (that is, entities that are
- * brought into the namespace via `export` directives).
- *
- * Sorted by name.
- */
+ /// Information about entities in the export namespace of the library that are
+ /// not in the public namespace of the library (that is, entities that are
+ /// brought into the namespace via `export` directives).
+ ///
+ /// Sorted by name.
@Id(4)
List<LinkedExportName> get exportNames;
- /**
- * Indicates whether this library was summarized in "fallback mode". If
- * true, all other fields in the data structure have their default values.
- */
+ /// Indicates whether this library was summarized in "fallback mode". If
+ /// true, all other fields in the data structure have their default values.
@deprecated
@Id(5)
bool get fallbackMode;
- /**
- * For each import in [UnlinkedUnit.imports], an index into [dependencies]
- * of the library being imported.
- */
+ /// For each import in [UnlinkedUnit.imports], an index into [dependencies]
+ /// of the library being imported.
@Id(1)
List<int> get importDependencies;
- /**
- * The number of elements in [dependencies] which are not "linked"
- * dependencies (that is, the number of libraries in the direct imports plus
- * the transitive closure of exports, plus the library itself).
- */
+ /// The number of elements in [dependencies] which are not "linked"
+ /// dependencies (that is, the number of libraries in the direct imports plus
+ /// the transitive closure of exports, plus the library itself).
@Id(2)
int get numPrelinkedDependencies;
- /**
- * The linked summary of all the compilation units constituting the
- * library. The summary of the defining compilation unit is listed first,
- * followed by the summary of each part, in the order of the `part`
- * declarations in the defining compilation unit.
- */
+ /// The linked summary of all the compilation units constituting the
+ /// library. The summary of the defining compilation unit is listed first,
+ /// followed by the summary of each part, in the order of the `part`
+ /// declarations in the defining compilation unit.
@Id(3)
List<LinkedUnit> get units;
}
-/**
- * Information about the resolution of an [UnlinkedReference].
- */
+/// Information about the resolution of an [UnlinkedReference].
abstract class LinkedReference extends base.SummaryClass {
- /**
- * If this [LinkedReference] doesn't have an associated [UnlinkedReference],
- * and the entity being referred to is contained within another entity, index
- * of the containing entity. This behaves similarly to
- * [UnlinkedReference.prefixReference], however it is only used for class
- * members, not for prefixed imports.
- *
- * Containing references must always point backward; that is, for all i, if
- * LinkedUnit.references[i].containingReference != 0, then
- * LinkedUnit.references[i].containingReference < i.
- */
+ /// If this [LinkedReference] doesn't have an associated [UnlinkedReference],
+ /// and the entity being referred to is contained within another entity, index
+ /// of the containing entity. This behaves similarly to
+ /// [UnlinkedReference.prefixReference], however it is only used for class
+ /// members, not for prefixed imports.
+ ///
+ /// Containing references must always point backward; that is, for all i, if
+ /// LinkedUnit.references[i].containingReference != 0, then
+ /// LinkedUnit.references[i].containingReference < i.
@Id(5)
int get containingReference;
- /**
- * Index into [LinkedLibrary.dependencies] indicating which imported library
- * declares the entity being referred to.
- *
- * Zero if this entity is contained within another entity (e.g. a class
- * member), or if [kind] is [ReferenceKind.prefix].
- */
+ /// Index into [LinkedLibrary.dependencies] indicating which imported library
+ /// declares the entity being referred to.
+ ///
+ /// Zero if this entity is contained within another entity (e.g. a class
+ /// member), or if [kind] is [ReferenceKind.prefix].
@Id(1)
int get dependency;
- /**
- * The kind of the entity being referred to. For the pseudo-types `dynamic`
- * and `void`, the kind is [ReferenceKind.classOrEnum].
- */
+ /// The kind of the entity being referred to. For the pseudo-types `dynamic`
+ /// and `void`, the kind is [ReferenceKind.classOrEnum].
@Id(2)
ReferenceKind get kind;
- /**
- * If [kind] is [ReferenceKind.function] (that is, the entity being referred
- * to is a local function), the index of the function within
- * [UnlinkedExecutable.localFunctions]. Otherwise zero.
- */
+ /// If [kind] is [ReferenceKind.function] (that is, the entity being referred
+ /// to is a local function), the index of the function within
+ /// [UnlinkedExecutable.localFunctions]. Otherwise zero.
@deprecated
@Id(6)
int get localIndex;
- /**
- * If this [LinkedReference] doesn't have an associated [UnlinkedReference],
- * name of the entity being referred to. For the pseudo-type `dynamic`, the
- * string is "dynamic". For the pseudo-type `void`, the string is "void".
- */
+ /// If this [LinkedReference] doesn't have an associated [UnlinkedReference],
+ /// name of the entity being referred to. For the pseudo-type `dynamic`, the
+ /// string is "dynamic". For the pseudo-type `void`, the string is "void".
@Id(3)
String get name;
- /**
- * If the entity being referred to is generic, the number of type parameters
- * it declares (does not include type parameters of enclosing entities).
- * Otherwise zero.
- */
+ /// If the entity being referred to is generic, the number of type parameters
+ /// it declares (does not include type parameters of enclosing entities).
+ /// Otherwise zero.
@Id(4)
int get numTypeParameters;
- /**
- * Integer index indicating which unit in the imported library contains the
- * definition of the entity. As with indices into [LinkedLibrary.units],
- * zero represents the defining compilation unit, and nonzero values
- * represent parts in the order of the corresponding `part` declarations.
- *
- * Zero if this entity is contained within another entity (e.g. a class
- * member).
- */
+ /// Integer index indicating which unit in the imported library contains the
+ /// definition of the entity. As with indices into [LinkedLibrary.units],
+ /// zero represents the defining compilation unit, and nonzero values
+ /// represent parts in the order of the corresponding `part` declarations.
+ ///
+ /// Zero if this entity is contained within another entity (e.g. a class
+ /// member).
@Id(0)
int get unit;
}
-/**
- * Linked summary of a compilation unit.
- */
+/// Linked summary of a compilation unit.
abstract class LinkedUnit extends base.SummaryClass {
- /**
- * List of slot ids (referring to [UnlinkedExecutable.constCycleSlot])
- * corresponding to const constructors that are part of cycles.
- */
+ /// List of slot ids (referring to [UnlinkedExecutable.constCycleSlot])
+ /// corresponding to const constructors that are part of cycles.
@Id(2)
List<int> get constCycles;
- /**
- * List of slot ids (referring to [UnlinkedParam.inheritsCovariantSlot] or
- * [UnlinkedVariable.inheritsCovariantSlot]) corresponding to parameters
- * that inherit `@covariant` behavior from a base class.
- */
+ /// List of slot ids (referring to [UnlinkedParam.inheritsCovariantSlot] or
+ /// [UnlinkedVariable.inheritsCovariantSlot]) corresponding to parameters
+ /// that inherit `@covariant` behavior from a base class.
@Id(3)
List<int> get parametersInheritingCovariant;
- /**
- * Information about the resolution of references within the compilation
- * unit. Each element of [UnlinkedUnit.references] has a corresponding
- * element in this list (at the same index). If this list has additional
- * elements beyond the number of elements in [UnlinkedUnit.references], those
- * additional elements are references that are only referred to implicitly
- * (e.g. elements involved in inferred or propagated types).
- */
+ /// Information about the resolution of references within the compilation
+ /// unit. Each element of [UnlinkedUnit.references] has a corresponding
+ /// element in this list (at the same index). If this list has additional
+ /// elements beyond the number of elements in [UnlinkedUnit.references], those
+ /// additional elements are references that are only referred to implicitly
+ /// (e.g. elements involved in inferred or propagated types).
@Id(0)
List<LinkedReference> get references;
- /**
- * The list of type inference errors.
- */
+ /// The list of type inference errors.
@Id(4)
List<TopLevelInferenceError> get topLevelInferenceErrors;
- /**
- * List associating slot ids found inside the unlinked summary for the
- * compilation unit with propagated and inferred types.
- */
+ /// List associating slot ids found inside the unlinked summary for the
+ /// compilation unit with propagated and inferred types.
@Id(1)
List<EntityRef> get types;
}
-/**
- * Summary information about a package.
- */
+/// Summary information about a package.
@TopLevel('PBdl')
abstract class PackageBundle extends base.SummaryClass {
factory PackageBundle.fromBuffer(List<int> buffer) =>
generated.readPackageBundle(buffer);
- /**
- * MD5 hash of the non-informative fields of the [PackageBundle] (not
- * including this one). This can be used to identify when the API of a
- * package may have changed.
- */
+ /// MD5 hash of the non-informative fields of the [PackageBundle] (not
+ /// including this one). This can be used to identify when the API of a
+ /// package may have changed.
@Id(7)
@deprecated
String get apiSignature;
- /**
- * Information about the packages this package depends on, if known.
- */
+ /// Information about the packages this package depends on, if known.
@Id(8)
@informative
@deprecated
List<PackageDependencyInfo> get dependencies;
- /**
- * Linked libraries.
- */
+ /// Linked libraries.
@Id(0)
List<LinkedLibrary> get linkedLibraries;
- /**
- * The list of URIs of items in [linkedLibraries], e.g. `dart:core` or
- * `package:foo/bar.dart`.
- */
+ /// The list of URIs of items in [linkedLibraries], e.g. `dart:core` or
+ /// `package:foo/bar.dart`.
@Id(1)
List<String> get linkedLibraryUris;
- /**
- * Major version of the summary format. See
- * [PackageBundleAssembler.currentMajorVersion].
- */
+ /// Major version of the summary format. See
+ /// [PackageBundleAssembler.currentMajorVersion].
@Id(5)
int get majorVersion;
- /**
- * Minor version of the summary format. See
- * [PackageBundleAssembler.currentMinorVersion].
- */
+ /// Minor version of the summary format. See
+ /// [PackageBundleAssembler.currentMinorVersion].
@Id(6)
int get minorVersion;
- /**
- * List of MD5 hashes of the files listed in [unlinkedUnitUris]. Each hash
- * is encoded as a hexadecimal string using lower case letters.
- */
+ /// List of MD5 hashes of the files listed in [unlinkedUnitUris]. Each hash
+ /// is encoded as a hexadecimal string using lower case letters.
@Id(4)
@deprecated
@informative
List<String> get unlinkedUnitHashes;
- /**
- * Unlinked information for the compilation units constituting the package.
- */
+ /// Unlinked information for the compilation units constituting the package.
@Id(2)
List<UnlinkedUnit> get unlinkedUnits;
- /**
- * The list of URIs of items in [unlinkedUnits], e.g. `dart:core/bool.dart`.
- */
+ /// The list of URIs of items in [unlinkedUnits], e.g. `dart:core/bool.dart`.
@Id(3)
List<String> get unlinkedUnitUris;
}
-/**
- * Information about a single dependency of a summary package.
- */
+/// Information about a single dependency of a summary package.
@deprecated
abstract class PackageDependencyInfo extends base.SummaryClass {
- /**
- * API signature of this dependency.
- */
+ /// API signature of this dependency.
@Id(0)
String get apiSignature;
- /**
- * If this dependency summarizes any files whose URI takes the form
- * "package:<package_name>/...", a list of all such package names, sorted
- * lexicographically. Otherwise empty.
- */
+ /// If this dependency summarizes any files whose URI takes the form
+ /// "package:<package_name>/...", a list of all such package names, sorted
+ /// lexicographically. Otherwise empty.
@Id(2)
List<String> get includedPackageNames;
- /**
- * Indicates whether this dependency summarizes any files whose URI takes the
- * form "dart:...".
- */
+ /// Indicates whether this dependency summarizes any files whose URI takes the
+ /// form "dart:...".
@Id(4)
bool get includesDartUris;
- /**
- * Indicates whether this dependency summarizes any files whose URI takes the
- * form "file:...".
- */
+ /// Indicates whether this dependency summarizes any files whose URI takes the
+ /// form "file:...".
@Id(3)
bool get includesFileUris;
- /**
- * Relative path to the summary file for this dependency. This is intended as
- * a hint to help the analysis server locate summaries of dependencies. We
- * don't specify precisely what this path is relative to, but we expect it to
- * be relative to a directory the analysis server can find (e.g. for projects
- * built using Bazel, it would be relative to the "bazel-bin" directory).
- *
- * Absent if the path is not known.
- */
+ /// Relative path to the summary file for this dependency. This is intended
+ /// as a hint to help the analysis server locate summaries of dependencies.
+ /// We don't specify precisely what this path is relative to, but we expect
+ /// it to be relative to a directory the analysis server can find (e.g. for
+ /// projects built using Bazel, it would be relative to the "bazel-bin"
+ /// directory).
+ ///
+ /// Absent if the path is not known.
@Id(1)
String get summaryPath;
}
-/**
- * Index information about a package.
- */
+/// Index information about a package.
@TopLevel('Indx')
abstract class PackageIndex extends base.SummaryClass {
factory PackageIndex.fromBuffer(List<int> buffer) =>
generated.readPackageIndex(buffer);
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the kind of the synthetic element.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the kind of the synthetic element.
@Id(5)
List<IndexSyntheticElementKind> get elementKinds;
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the class member element name, or `null` if the element
- * is a top-level element. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this
- * [PackageIndex].
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the class member element name, or `null` if the element
+ /// is a top-level element. The list is sorted in ascending order, so that
+ /// the client can quickly check whether an element is referenced in this
+ /// [PackageIndex].
@Id(7)
List<int> get elementNameClassMemberIds;
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the named parameter name, or `null` if the element is not
- * a named parameter. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this
- * [PackageIndex].
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the named parameter name, or `null` if the element is
+ /// not a named parameter. The list is sorted in ascending order, so that the
+ /// client can quickly check whether an element is referenced in this
+ /// [PackageIndex].
@Id(8)
List<int> get elementNameParameterIds;
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the top-level element name, or `null` if the element is
- * the unit. The list is sorted in ascending order, so that the client can
- * quickly check whether an element is referenced in this [PackageIndex].
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the identifier of the top-level element name, or `null` if the element is
+ /// the unit. The list is sorted in ascending order, so that the client can
+ /// quickly check whether an element is referenced in this [PackageIndex].
@Id(1)
List<int> get elementNameUnitMemberIds;
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the index into [unitLibraryUris] and [unitUnitUris] for the library
- * specific unit where the element is declared.
- */
+ /// Each item of this list corresponds to a unique referenced element. It is
+ /// the index into [unitLibraryUris] and [unitUnitUris] for the library
+ /// specific unit where the element is declared.
@Id(0)
List<int> get elementUnits;
- /**
- * List of unique element strings used in this [PackageIndex]. The list is
- * sorted in ascending order, so that the client can quickly check the
- * presence of a string in this [PackageIndex].
- */
+ /// List of unique element strings used in this [PackageIndex]. The list is
+ /// sorted in ascending order, so that the client can quickly check the
+ /// presence of a string in this [PackageIndex].
@Id(6)
List<String> get strings;
- /**
- * Each item of this list corresponds to the library URI of a unique library
- * specific unit referenced in the [PackageIndex]. It is an index into
- * [strings] list.
- */
+ /// Each item of this list corresponds to the library URI of a unique library
+ /// specific unit referenced in the [PackageIndex]. It is an index into
+ /// [strings] list.
@Id(2)
List<int> get unitLibraryUris;
- /**
- * List of indexes of each unit in this [PackageIndex].
- */
+ /// List of indexes of each unit in this [PackageIndex].
@Id(4)
List<UnitIndex> get units;
- /**
- * Each item of this list corresponds to the unit URI of a unique library
- * specific unit referenced in the [PackageIndex]. It is an index into
- * [strings] list.
- */
+ /// Each item of this list corresponds to the unit URI of a unique library
+ /// specific unit referenced in the [PackageIndex]. It is an index into
+ /// [strings] list.
@Id(3)
List<int> get unitUnitUris;
}
-/**
- * Enum used to indicate the kind of entity referred to by a
- * [LinkedReference].
- */
+/// Enum used to indicate the kind of entity referred to by a
+/// [LinkedReference].
enum ReferenceKind {
- /**
- * The entity is a class or enum.
- */
+ /// The entity is a class or enum.
classOrEnum,
- /**
- * The entity is a constructor.
- */
+ /// The entity is a constructor.
constructor,
- /**
- * The entity is a getter or setter inside a class. Note: this is used in
- * the case where a constant refers to a static const declared inside a
- * class.
- */
+ /// The entity is a getter or setter inside a class. Note: this is used in
+ /// the case where a constant refers to a static const declared inside a
+ /// class.
propertyAccessor,
- /**
- * The entity is a method.
- */
+ /// The entity is a method.
method,
- /**
- * The entity is a typedef.
- */
+ /// The entity is a typedef.
typedef,
- /**
- * The entity is a local function.
- */
+ /// The entity is a local function.
function,
- /**
- * The entity is a local variable.
- */
+ /// The entity is a local variable.
variable,
- /**
- * The entity is a top level function.
- */
+ /// The entity is a top level function.
topLevelFunction,
- /**
- * The entity is a top level getter or setter.
- */
+ /// The entity is a top level getter or setter.
topLevelPropertyAccessor,
- /**
- * The entity is a prefix.
- */
+ /// The entity is a prefix.
prefix,
- /**
- * The entity being referred to does not exist.
- */
+ /// The entity being referred to does not exist.
unresolved,
- /**
- * The entity is a typedef expressed using generic function type syntax.
- */
+ /// The entity is a typedef expressed using generic function type syntax.
genericFunctionTypedef
}
-/**
- * Summary information about a top-level type inference error.
- */
+/// Summary information about a top-level type inference error.
abstract class TopLevelInferenceError extends base.SummaryClass {
- /**
- * The [kind] specific arguments.
- */
+ /// The [kind] specific arguments.
@Id(2)
List<String> get arguments;
- /**
- * The kind of the error.
- */
+ /// The kind of the error.
@Id(1)
TopLevelInferenceErrorKind get kind;
- /**
- * The slot id (which is unique within the compilation unit) identifying the
- * target of type inference with which this [TopLevelInferenceError] is
- * associated.
- */
+ /// The slot id (which is unique within the compilation unit) identifying the
+ /// target of type inference with which this [TopLevelInferenceError] is
+ /// associated.
@Id(0)
int get slot;
}
-/**
- * Enum used to indicate the kind of the error during top-level inference.
- */
+/// Enum used to indicate the kind of the error during top-level inference.
enum TopLevelInferenceErrorKind {
assignment,
instanceGetter,
@@ -1242,2177 +917,1567 @@
overrideConflictParameterType
}
-/**
- * Enum used to indicate the style of a typedef.
- */
+/// Enum used to indicate the style of a typedef.
enum TypedefStyle {
- /**
- * A typedef that defines a non-generic function type. The syntax is
- * ```
- * 'typedef' returnType? identifier typeParameters? formalParameterList ';'
- * ```
- * The typedef can have type parameters associated with it, but the function
- * type that results from applying type arguments does not.
- */
+ /// A typedef that defines a non-generic function type. The syntax is
+ /// ```
+ /// 'typedef' returnType? identifier typeParameters? formalParameterList ';'
+ /// ```
+ /// The typedef can have type parameters associated with it, but the function
+ /// type that results from applying type arguments does not.
functionType,
- /**
- * A typedef expressed using generic function type syntax. The syntax is
- * ```
- * typeAlias ::=
- * 'typedef' identifier typeParameters? '=' genericFunctionType ';'
- * genericFunctionType ::=
- * returnType? 'Function' typeParameters? parameterTypeList
- * ```
- * Both the typedef itself and the function type that results from applying
- * type arguments can have type parameters.
- */
+ /// A typedef expressed using generic function type syntax. The syntax is
+ /// ```
+ /// typeAlias ::=
+ /// 'typedef' identifier typeParameters? '=' genericFunctionType ';'
+ /// genericFunctionType ::=
+ /// returnType? 'Function' typeParameters? parameterTypeList
+ /// ```
+ /// Both the typedef itself and the function type that results from applying
+ /// type arguments can have type parameters.
genericFunctionType
}
-/**
- * Index information about a unit in a [PackageIndex].
- */
+/// Index information about a unit in a [PackageIndex].
abstract class UnitIndex extends base.SummaryClass {
- /**
- * Each item of this list is the kind of an element defined in this unit.
- */
+ /// Each item of this list is the kind of an element defined in this unit.
@Id(6)
List<IndexNameKind> get definedNameKinds;
- /**
- * Each item of this list is the name offset of an element defined in this
- * unit relative to the beginning of the file.
- */
+ /// Each item of this list is the name offset of an element defined in this
+ /// unit relative to the beginning of the file.
@Id(7)
List<int> get definedNameOffsets;
- /**
- * Each item of this list corresponds to an element defined in this unit. It
- * is an index into [PackageIndex.strings] list. The list is sorted in
- * ascending order, so that the client can quickly find name definitions in
- * this [UnitIndex].
- */
+ /// Each item of this list corresponds to an element defined in this unit. It
+ /// is an index into [PackageIndex.strings] list. The list is sorted in
+ /// ascending order, so that the client can quickly find name definitions in
+ /// this [UnitIndex].
@Id(5)
List<int> get definedNames;
- /**
- * Index into [PackageIndex.unitLibraryUris] and [PackageIndex.unitUnitUris]
- * for the library specific unit that corresponds to this [UnitIndex].
- */
+ /// Index into [PackageIndex.unitLibraryUris] and [PackageIndex.unitUnitUris]
+ /// for the library specific unit that corresponds to this [UnitIndex].
@Id(0)
int get unit;
- /**
- * Each item of this list is the `true` if the corresponding element usage
- * is qualified with some prefix.
- */
+ /// Each item of this list is the `true` if the corresponding element usage
+ /// is qualified with some prefix.
@Id(11)
List<bool> get usedElementIsQualifiedFlags;
- /**
- * Each item of this list is the kind of the element usage.
- */
+ /// Each item of this list is the kind of the element usage.
@Id(4)
List<IndexRelationKind> get usedElementKinds;
- /**
- * Each item of this list is the length of the element usage.
- */
+ /// Each item of this list is the length of the element usage.
@Id(1)
List<int> get usedElementLengths;
- /**
- * Each item of this list is the offset of the element usage relative to the
- * beginning of the file.
- */
+ /// Each item of this list is the offset of the element usage relative to the
+ /// beginning of the file.
@Id(2)
List<int> get usedElementOffsets;
- /**
- * Each item of this list is the index into [PackageIndex.elementUnits] and
- * [PackageIndex.elementOffsets]. The list is sorted in ascending order, so
- * that the client can quickly find element references in this [UnitIndex].
- */
+ /// Each item of this list is the index into [PackageIndex.elementUnits] and
+ /// [PackageIndex.elementOffsets]. The list is sorted in ascending order, so
+ /// that the client can quickly find element references in this [UnitIndex].
@Id(3)
List<int> get usedElements;
- /**
- * Each item of this list is the `true` if the corresponding name usage
- * is qualified with some prefix.
- */
+ /// Each item of this list is the `true` if the corresponding name usage
+ /// is qualified with some prefix.
@Id(12)
List<bool> get usedNameIsQualifiedFlags;
- /**
- * Each item of this list is the kind of the name usage.
- */
+ /// Each item of this list is the kind of the name usage.
@Id(10)
List<IndexRelationKind> get usedNameKinds;
- /**
- * Each item of this list is the offset of the name usage relative to the
- * beginning of the file.
- */
+ /// Each item of this list is the offset of the name usage relative to the
+ /// beginning of the file.
@Id(9)
List<int> get usedNameOffsets;
- /**
- * Each item of this list is the index into [PackageIndex.strings] for a
- * used name. The list is sorted in ascending order, so that the client can
- * quickly find name uses in this [UnitIndex].
- */
+ /// Each item of this list is the index into [PackageIndex.strings] for a
+ /// used name. The list is sorted in ascending order, so that the client can
+ /// quickly find name uses in this [UnitIndex].
@Id(8)
List<int> get usedNames;
}
-/**
- * Unlinked summary information about a class declaration.
- */
+/// Unlinked summary information about a class declaration.
abstract class UnlinkedClass extends base.SummaryClass {
- /**
- * Annotations for this class.
- */
+ /// Annotations for this class.
@Id(5)
List<UnlinkedExpr> get annotations;
- /**
- * Code range of the class.
- */
+ /// Code range of the class.
@informative
@Id(13)
CodeRange get codeRange;
- /**
- * Documentation comment for the class, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the class, or `null` if there is no
+ /// documentation comment.
@informative
@Id(6)
UnlinkedDocumentationComment get documentationComment;
- /**
- * Executable objects (methods, getters, and setters) contained in the class.
- */
+ /// Executable objects (methods, getters, and setters) contained in the class.
@Id(2)
List<UnlinkedExecutable> get executables;
- /**
- * Field declarations contained in the class.
- */
+ /// Field declarations contained in the class.
@Id(4)
List<UnlinkedVariable> get fields;
- /**
- * Indicates whether this class is the core "Object" class (and hence has no
- * supertype)
- */
+ /// Indicates whether this class is the core "Object" class (and hence has no
+ /// supertype)
@Id(12)
bool get hasNoSupertype;
- /**
- * Interfaces appearing in an `implements` clause, if any.
- */
+ /// Interfaces appearing in an `implements` clause, if any.
@Id(7)
List<EntityRef> get interfaces;
- /**
- * Indicates whether the class is declared with the `abstract` keyword.
- */
+ /// Indicates whether the class is declared with the `abstract` keyword.
@Id(8)
bool get isAbstract;
- /**
- * Indicates whether the class is declared using mixin application syntax.
- */
+ /// Indicates whether the class is declared using mixin application syntax.
@Id(11)
bool get isMixinApplication;
- /**
- * Mixins appearing in a `with` clause, if any.
- */
+ /// Mixins appearing in a `with` clause, if any.
@Id(10)
List<EntityRef> get mixins;
- /**
- * Name of the class.
- */
+ /// Name of the class.
@Id(0)
String get name;
- /**
- * Offset of the class name relative to the beginning of the file.
- */
+ /// Offset of the class name relative to the beginning of the file.
@informative
@Id(1)
int get nameOffset;
- /**
- * Superclass constraints for this mixin declaration. The list will be empty
- * if this class is not a mixin declaration, or if the declaration does not
- * have an `on` clause (in which case the type `Object` is implied).
- */
+ /// Superclass constraints for this mixin declaration. The list will be empty
+ /// if this class is not a mixin declaration, or if the declaration does not
+ /// have an `on` clause (in which case the type `Object` is implied).
@Id(14)
List<EntityRef> get superclassConstraints;
- /**
- * Names of methods, getters, setters, and operators that this mixin
- * declaration super-invokes. For setters this includes the trailing "=".
- * The list will be empty if this class is not a mixin declaration.
- */
+ /// Names of methods, getters, setters, and operators that this mixin
+ /// declaration super-invokes. For setters this includes the trailing "=".
+ /// The list will be empty if this class is not a mixin declaration.
@Id(15)
List<String> get superInvokedNames;
- /**
- * Supertype of the class, or `null` if either (a) the class doesn't
- * explicitly declare a supertype (and hence has supertype `Object`), or (b)
- * the class *is* `Object` (and hence has no supertype).
- */
+ /// Supertype of the class, or `null` if either (a) the class doesn't
+ /// explicitly declare a supertype (and hence has supertype `Object`), or (b)
+ /// the class *is* `Object` (and hence has no supertype).
@Id(3)
EntityRef get supertype;
- /**
- * Type parameters of the class, if any.
- */
+ /// Type parameters of the class, if any.
@Id(9)
List<UnlinkedTypeParam> get typeParameters;
}
-/**
- * Unlinked summary information about a `show` or `hide` combinator in an
- * import or export declaration.
- */
+/// Unlinked summary information about a `show` or `hide` combinator in an
+/// import or export declaration.
abstract class UnlinkedCombinator extends base.SummaryClass {
- /**
- * If this is a `show` combinator, offset of the end of the list of shown
- * names. Otherwise zero.
- */
+ /// If this is a `show` combinator, offset of the end of the list of shown
+ /// names. Otherwise zero.
@informative
@Id(3)
int get end;
- /**
- * List of names which are hidden. Empty if this is a `show` combinator.
- */
+ /// List of names which are hidden. Empty if this is a `show` combinator.
@Id(1)
List<String> get hides;
- /**
- * If this is a `show` combinator, offset of the `show` keyword. Otherwise
- * zero.
- */
+ /// If this is a `show` combinator, offset of the `show` keyword. Otherwise
+ /// zero.
@informative
@Id(2)
int get offset;
- /**
- * List of names which are shown. Empty if this is a `hide` combinator.
- */
+ /// List of names which are shown. Empty if this is a `hide` combinator.
@Id(0)
List<String> get shows;
}
-/**
- * Unlinked summary information about a single import or export configuration.
- */
+/// Unlinked summary information about a single import or export configuration.
abstract class UnlinkedConfiguration extends base.SummaryClass {
- /**
- * The name of the declared variable whose value is being used in the
- * condition.
- */
+ /// The name of the declared variable whose value is being used in the
+ /// condition.
@Id(0)
String get name;
- /**
- * The URI of the implementation library to be used if the condition is true.
- */
+ /// The URI of the implementation library to be used if the condition is true.
@Id(2)
String get uri;
- /**
- * The value to which the value of the declared variable will be compared,
- * or `true` if the condition does not include an equality test.
- */
+ /// The value to which the value of the declared variable will be compared,
+ /// or `true` if the condition does not include an equality test.
@Id(1)
String get value;
}
-/**
- * Unlinked summary information about a constructor initializer.
- */
+/// Unlinked summary information about a constructor initializer.
abstract class UnlinkedConstructorInitializer extends base.SummaryClass {
- /**
- * If there are `m` [arguments] and `n` [argumentNames], then each argument
- * from [arguments] with index `i` such that `n + i - m >= 0`, should be used
- * with the name at `n + i - m`.
- */
+ /// If there are `m` [arguments] and `n` [argumentNames], then each argument
+ /// from [arguments] with index `i` such that `n + i - m >= 0`, should be used
+ /// with the name at `n + i - m`.
@Id(4)
List<String> get argumentNames;
- /**
- * If [kind] is `thisInvocation` or `superInvocation`, the arguments of the
- * invocation. Otherwise empty.
- */
+ /// If [kind] is `thisInvocation` or `superInvocation`, the arguments of the
+ /// invocation. Otherwise empty.
@Id(3)
List<UnlinkedExpr> get arguments;
- /**
- * If [kind] is `field`, the expression of the field initializer.
- * Otherwise `null`.
- */
+ /// If [kind] is `field`, the expression of the field initializer.
+ /// Otherwise `null`.
@Id(1)
UnlinkedExpr get expression;
- /**
- * The kind of the constructor initializer (field, redirect, super).
- */
+ /// The kind of the constructor initializer (field, redirect, super).
@Id(2)
UnlinkedConstructorInitializerKind get kind;
- /**
- * If [kind] is `field`, the name of the field declared in the class. If
- * [kind] is `thisInvocation`, the name of the constructor, declared in this
- * class, to redirect to. If [kind] is `superInvocation`, the name of the
- * constructor, declared in the superclass, to invoke.
- */
+ /// If [kind] is `field`, the name of the field declared in the class. If
+ /// [kind] is `thisInvocation`, the name of the constructor, declared in this
+ /// class, to redirect to. If [kind] is `superInvocation`, the name of the
+ /// constructor, declared in the superclass, to invoke.
@Id(0)
String get name;
}
-/**
- * Enum used to indicate the kind of an constructor initializer.
- */
+/// Enum used to indicate the kind of an constructor initializer.
enum UnlinkedConstructorInitializerKind {
- /**
- * Initialization of a field.
- */
+ /// Initialization of a field.
field,
- /**
- * Invocation of a constructor in the same class.
- */
+ /// Invocation of a constructor in the same class.
thisInvocation,
- /**
- * Invocation of a superclass' constructor.
- */
+ /// Invocation of a superclass' constructor.
superInvocation,
- /**
- * Invocation of `assert`.
- */
+ /// Invocation of `assert`.
assertInvocation
}
-/**
- * Unlinked summary information about a documentation comment.
- */
+/// Unlinked summary information about a documentation comment.
abstract class UnlinkedDocumentationComment extends base.SummaryClass {
- /**
- * Length of the documentation comment (prior to replacing '\r\n' with '\n').
- */
+ /// Length of the documentation comment (prior to replacing '\r\n' with '\n').
@Id(0)
@deprecated
int get length;
- /**
- * Offset of the beginning of the documentation comment relative to the
- * beginning of the file.
- */
+ /// Offset of the beginning of the documentation comment relative to the
+ /// beginning of the file.
@Id(2)
@deprecated
int get offset;
- /**
- * Text of the documentation comment, with '\r\n' replaced by '\n'.
- *
- * References appearing within the doc comment in square brackets are not
- * specially encoded.
- */
+ /// Text of the documentation comment, with '\r\n' replaced by '\n'.
+ ///
+ /// References appearing within the doc comment in square brackets are not
+ /// specially encoded.
@Id(1)
String get text;
}
-/**
- * Unlinked summary information about an enum declaration.
- */
+/// Unlinked summary information about an enum declaration.
abstract class UnlinkedEnum extends base.SummaryClass {
- /**
- * Annotations for this enum.
- */
+ /// Annotations for this enum.
@Id(4)
List<UnlinkedExpr> get annotations;
- /**
- * Code range of the enum.
- */
+ /// Code range of the enum.
@informative
@Id(5)
CodeRange get codeRange;
- /**
- * Documentation comment for the enum, or `null` if there is no documentation
- * comment.
- */
+ /// Documentation comment for the enum, or `null` if there is no documentation
+ /// comment.
@informative
@Id(3)
UnlinkedDocumentationComment get documentationComment;
- /**
- * Name of the enum type.
- */
+ /// Name of the enum type.
@Id(0)
String get name;
- /**
- * Offset of the enum name relative to the beginning of the file.
- */
+ /// Offset of the enum name relative to the beginning of the file.
@informative
@Id(1)
int get nameOffset;
- /**
- * Values listed in the enum declaration, in declaration order.
- */
+ /// Values listed in the enum declaration, in declaration order.
@Id(2)
List<UnlinkedEnumValue> get values;
}
-/**
- * Unlinked summary information about a single enumerated value in an enum
- * declaration.
- */
+/// Unlinked summary information about a single enumerated value in an enum
+/// declaration.
abstract class UnlinkedEnumValue extends base.SummaryClass {
- /**
- * Annotations for this value.
- */
+ /// Annotations for this value.
@Id(3)
List<UnlinkedExpr> get annotations;
- /**
- * Documentation comment for the enum value, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the enum value, or `null` if there is no
+ /// documentation comment.
@informative
@Id(2)
UnlinkedDocumentationComment get documentationComment;
- /**
- * Name of the enumerated value.
- */
+ /// Name of the enumerated value.
@Id(0)
String get name;
- /**
- * Offset of the enum value name relative to the beginning of the file.
- */
+ /// Offset of the enum value name relative to the beginning of the file.
@informative
@Id(1)
int get nameOffset;
}
-/**
- * Unlinked summary information about a function, method, getter, or setter
- * declaration.
- */
+/// Unlinked summary information about a function, method, getter, or setter
+/// declaration.
abstract class UnlinkedExecutable extends base.SummaryClass {
- /**
- * Annotations for this executable.
- */
+ /// Annotations for this executable.
@Id(6)
List<UnlinkedExpr> get annotations;
- /**
- * If this executable's function body is declared using `=>`, the expression
- * to the right of the `=>`. May be omitted if neither type inference nor
- * constant evaluation depends on the function body.
- */
+ /// If this executable's function body is declared using `=>`, the expression
+ /// to the right of the `=>`. May be omitted if neither type inference nor
+ /// constant evaluation depends on the function body.
@Id(29)
UnlinkedExpr get bodyExpr;
- /**
- * Code range of the executable.
- */
+ /// Code range of the executable.
@informative
@Id(26)
CodeRange get codeRange;
- /**
- * If a constant [UnlinkedExecutableKind.constructor], the constructor
- * initializers. Otherwise empty.
- */
+ /// If a constant [UnlinkedExecutableKind.constructor], the constructor
+ /// initializers. Otherwise empty.
@Id(14)
List<UnlinkedConstructorInitializer> get constantInitializers;
- /**
- * If [kind] is [UnlinkedExecutableKind.constructor] and [isConst] is `true`,
- * a nonzero slot id which is unique within this compilation unit. If this id
- * is found in [LinkedUnit.constCycles], then this constructor is part of a
- * cycle.
- *
- * Otherwise, zero.
- */
+ /// If [kind] is [UnlinkedExecutableKind.constructor] and [isConst] is `true`,
+ /// a nonzero slot id which is unique within this compilation unit. If this
+ /// id is found in [LinkedUnit.constCycles], then this constructor is part of
+ /// a cycle.
+ ///
+ /// Otherwise, zero.
@Id(25)
int get constCycleSlot;
- /**
- * Documentation comment for the executable, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the executable, or `null` if there is no
+ /// documentation comment.
@informative
@Id(7)
UnlinkedDocumentationComment get documentationComment;
- /**
- * If this executable's return type is inferable, nonzero slot id
- * identifying which entry in [LinkedUnit.types] contains the inferred
- * return type. If there is no matching entry in [LinkedUnit.types], then
- * no return type was inferred for this variable, so its static type is
- * `dynamic`.
- */
+ /// If this executable's return type is inferable, nonzero slot id
+ /// identifying which entry in [LinkedUnit.types] contains the inferred
+ /// return type. If there is no matching entry in [LinkedUnit.types], then
+ /// no return type was inferred for this variable, so its static type is
+ /// `dynamic`.
@Id(5)
int get inferredReturnTypeSlot;
- /**
- * Indicates whether the executable is declared using the `abstract` keyword.
- */
+ /// Indicates whether the executable is declared using the `abstract` keyword.
@Id(10)
bool get isAbstract;
- /**
- * Indicates whether the executable has body marked as being asynchronous.
- */
+ /// Indicates whether the executable has body marked as being asynchronous.
@informative
@Id(27)
bool get isAsynchronous;
- /**
- * Indicates whether the executable is declared using the `const` keyword.
- */
+ /// Indicates whether the executable is declared using the `const` keyword.
@Id(12)
bool get isConst;
- /**
- * Indicates whether the executable is declared using the `external` keyword.
- */
+ /// Indicates whether the executable is declared using the `external` keyword.
@Id(11)
bool get isExternal;
- /**
- * Indicates whether the executable is declared using the `factory` keyword.
- */
+ /// Indicates whether the executable is declared using the `factory` keyword.
@Id(8)
bool get isFactory;
- /**
- * Indicates whether the executable has body marked as being a generator.
- */
+ /// Indicates whether the executable has body marked as being a generator.
@informative
@Id(28)
bool get isGenerator;
- /**
- * Indicates whether the executable is a redirected constructor.
- */
+ /// Indicates whether the executable is a redirected constructor.
@Id(13)
bool get isRedirectedConstructor;
- /**
- * Indicates whether the executable is declared using the `static` keyword.
- *
- * Note that for top level executables, this flag is false, since they are
- * not declared using the `static` keyword (even though they are considered
- * static for semantic purposes).
- */
+ /// Indicates whether the executable is declared using the `static` keyword.
+ ///
+ /// Note that for top level executables, this flag is false, since they are
+ /// not declared using the `static` keyword (even though they are considered
+ /// static for semantic purposes).
@Id(9)
bool get isStatic;
- /**
- * The kind of the executable (function/method, getter, setter, or
- * constructor).
- */
+ /// The kind of the executable (function/method, getter, setter, or
+ /// constructor).
@Id(4)
UnlinkedExecutableKind get kind;
- /**
- * The list of local functions.
- */
+ /// The list of local functions.
@Id(18)
List<UnlinkedExecutable> get localFunctions;
- /**
- * The list of local labels.
- */
+ /// The list of local labels.
@informative
@deprecated
@Id(22)
List<String> get localLabels;
- /**
- * The list of local variables.
- */
+ /// The list of local variables.
@informative
@deprecated
@Id(19)
List<UnlinkedVariable> get localVariables;
- /**
- * Name of the executable. For setters, this includes the trailing "=". For
- * named constructors, this excludes the class name and excludes the ".".
- * For unnamed constructors, this is the empty string.
- */
+ /// Name of the executable. For setters, this includes the trailing "=". For
+ /// named constructors, this excludes the class name and excludes the ".".
+ /// For unnamed constructors, this is the empty string.
@Id(1)
String get name;
- /**
- * If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
- * the offset of the end of the constructor name. Otherwise zero.
- */
+ /// If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
+ /// the offset of the end of the constructor name. Otherwise zero.
@informative
@Id(23)
int get nameEnd;
- /**
- * Offset of the executable name relative to the beginning of the file. For
- * named constructors, this excludes the class name and excludes the ".".
- * For unnamed constructors, this is the offset of the class name (i.e. the
- * offset of the second "C" in "class C { C(); }").
- */
+ /// Offset of the executable name relative to the beginning of the file. For
+ /// named constructors, this excludes the class name and excludes the ".".
+ /// For unnamed constructors, this is the offset of the class name (i.e. the
+ /// offset of the second "C" in "class C { C(); }").
@informative
@Id(0)
int get nameOffset;
- /**
- * Parameters of the executable, if any. Note that getters have no
- * parameters (hence this will be the empty list), and setters have a single
- * parameter.
- */
+ /// Parameters of the executable, if any. Note that getters have no
+ /// parameters (hence this will be the empty list), and setters have a single
+ /// parameter.
@Id(2)
List<UnlinkedParam> get parameters;
- /**
- * If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
- * the offset of the period before the constructor name. Otherwise zero.
- */
+ /// If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
+ /// the offset of the period before the constructor name. Otherwise zero.
@informative
@Id(24)
int get periodOffset;
- /**
- * If [isRedirectedConstructor] and [isFactory] are both `true`, the
- * constructor to which this constructor redirects; otherwise empty.
- */
+ /// If [isRedirectedConstructor] and [isFactory] are both `true`, the
+ /// constructor to which this constructor redirects; otherwise empty.
@Id(15)
EntityRef get redirectedConstructor;
- /**
- * If [isRedirectedConstructor] is `true` and [isFactory] is `false`, the
- * name of the constructor that this constructor redirects to; otherwise
- * empty.
- */
+ /// If [isRedirectedConstructor] is `true` and [isFactory] is `false`, the
+ /// name of the constructor that this constructor redirects to; otherwise
+ /// empty.
@Id(17)
String get redirectedConstructorName;
- /**
- * Declared return type of the executable. Absent if the executable is a
- * constructor or the return type is implicit. Absent for executables
- * associated with variable initializers and closures, since these
- * executables may have return types that are not accessible via direct
- * imports.
- */
+ /// Declared return type of the executable. Absent if the executable is a
+ /// constructor or the return type is implicit. Absent for executables
+ /// associated with variable initializers and closures, since these
+ /// executables may have return types that are not accessible via direct
+ /// imports.
@Id(3)
EntityRef get returnType;
- /**
- * Type parameters of the executable, if any. Empty if support for generic
- * method syntax is disabled.
- */
+ /// Type parameters of the executable, if any. Empty if support for generic
+ /// method syntax is disabled.
@Id(16)
List<UnlinkedTypeParam> get typeParameters;
- /**
- * If a local function, the length of the visible range; zero otherwise.
- */
+ /// If a local function, the length of the visible range; zero otherwise.
@informative
@Id(20)
int get visibleLength;
- /**
- * If a local function, the beginning of the visible range; zero otherwise.
- */
+ /// If a local function, the beginning of the visible range; zero otherwise.
@informative
@Id(21)
int get visibleOffset;
}
-/**
- * Enum used to indicate the kind of an executable.
- */
+/// Enum used to indicate the kind of an executable.
enum UnlinkedExecutableKind {
- /**
- * Executable is a function or method.
- */
+ /// Executable is a function or method.
functionOrMethod,
- /**
- * Executable is a getter.
- */
+ /// Executable is a getter.
getter,
- /**
- * Executable is a setter.
- */
+ /// Executable is a setter.
setter,
- /**
- * Executable is a constructor.
- */
+ /// Executable is a constructor.
constructor
}
-/**
- * Unlinked summary information about an export declaration (stored outside
- * [UnlinkedPublicNamespace]).
- */
+/// Unlinked summary information about an export declaration (stored outside
+/// [UnlinkedPublicNamespace]).
abstract class UnlinkedExportNonPublic extends base.SummaryClass {
- /**
- * Annotations for this export directive.
- */
+ /// Annotations for this export directive.
@Id(3)
List<UnlinkedExpr> get annotations;
- /**
- * Offset of the "export" keyword.
- */
+ /// Offset of the "export" keyword.
@informative
@Id(0)
int get offset;
- /**
- * End of the URI string (including quotes) relative to the beginning of the
- * file.
- */
+ /// End of the URI string (including quotes) relative to the beginning of the
+ /// file.
@informative
@Id(1)
int get uriEnd;
- /**
- * Offset of the URI string (including quotes) relative to the beginning of
- * the file.
- */
+ /// Offset of the URI string (including quotes) relative to the beginning of
+ /// the file.
@informative
@Id(2)
int get uriOffset;
}
-/**
- * Unlinked summary information about an export declaration (stored inside
- * [UnlinkedPublicNamespace]).
- */
+/// Unlinked summary information about an export declaration (stored inside
+/// [UnlinkedPublicNamespace]).
abstract class UnlinkedExportPublic extends base.SummaryClass {
- /**
- * Combinators contained in this export declaration.
- */
+ /// Combinators contained in this export declaration.
@Id(1)
List<UnlinkedCombinator> get combinators;
- /**
- * Configurations used to control which library will actually be loaded at
- * run-time.
- */
+ /// Configurations used to control which library will actually be loaded at
+ /// run-time.
@Id(2)
List<UnlinkedConfiguration> get configurations;
- /**
- * URI used in the source code to reference the exported library.
- */
+ /// URI used in the source code to reference the exported library.
@Id(0)
String get uri;
}
-/**
- * Unlinked summary information about an expression.
- *
- * Expressions are represented using a simple stack-based language
- * where [operations] is a sequence of operations to execute starting with an
- * empty stack. Once all operations have been executed, the stack should
- * contain a single value which is the value of the constant. Note that some
- * operations consume additional data from the other fields of this class.
- */
+/// Unlinked summary information about an expression.
+///
+/// Expressions are represented using a simple stack-based language
+/// where [operations] is a sequence of operations to execute starting with an
+/// empty stack. Once all operations have been executed, the stack should
+/// contain a single value which is the value of the constant. Note that some
+/// operations consume additional data from the other fields of this class.
abstract class UnlinkedExpr extends base.SummaryClass {
- /**
- * Sequence of operators used by assignment operations.
- */
+ /// Sequence of operators used by assignment operations.
@Id(6)
List<UnlinkedExprAssignOperator> get assignmentOperators;
- /**
- * Sequence of 64-bit doubles consumed by the operation `pushDouble`.
- */
+ /// Sequence of 64-bit doubles consumed by the operation `pushDouble`.
@Id(4)
List<double> get doubles;
- /**
- * Sequence of unsigned 32-bit integers consumed by the operations
- * `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
- * `makeList`, and `makeMap`.
- */
+ /// Sequence of unsigned 32-bit integers consumed by the operations
+ /// `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
+ /// `makeList`, and `makeMap`.
@Id(1)
List<int> get ints;
- /**
- * Indicates whether the expression is a valid potentially constant
- * expression.
- */
+ /// Indicates whether the expression is a valid potentially constant
+ /// expression.
@Id(5)
bool get isValidConst;
- /**
- * Sequence of operations to execute (starting with an empty stack) to form
- * the constant value.
- */
+ /// Sequence of operations to execute (starting with an empty stack) to form
+ /// the constant value.
@Id(0)
List<UnlinkedExprOperation> get operations;
- /**
- * Sequence of language constructs consumed by the operations
- * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
- * that in the case of `pushReference` (and sometimes `invokeConstructor` the
- * actual entity being referred to may be something other than a type.
- */
+ /// Sequence of language constructs consumed by the operations
+ /// `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
+ /// that in the case of `pushReference` (and sometimes `invokeConstructor` the
+ /// actual entity being referred to may be something other than a type.
@Id(2)
List<EntityRef> get references;
- /**
- * Sequence of strings consumed by the operations `pushString` and
- * `invokeConstructor`.
- */
+ /// Sequence of strings consumed by the operations `pushString` and
+ /// `invokeConstructor`.
@Id(3)
List<String> get strings;
}
-/**
- * Enum representing the various kinds of assignment operations combined
- * with:
- * [UnlinkedExprOperation.assignToRef],
- * [UnlinkedExprOperation.assignToProperty],
- * [UnlinkedExprOperation.assignToIndex].
- */
+/// Enum representing the various kinds of assignment operations combined
+/// with:
+/// [UnlinkedExprOperation.assignToRef],
+/// [UnlinkedExprOperation.assignToProperty],
+/// [UnlinkedExprOperation.assignToIndex].
enum UnlinkedExprAssignOperator {
- /**
- * Perform simple assignment `target = operand`.
- */
+ /// Perform simple assignment `target = operand`.
assign,
- /**
- * Perform `target ??= operand`.
- */
+ /// Perform `target ??= operand`.
ifNull,
- /**
- * Perform `target *= operand`.
- */
+ /// Perform `target *= operand`.
multiply,
- /**
- * Perform `target /= operand`.
- */
+ /// Perform `target /= operand`.
divide,
- /**
- * Perform `target ~/= operand`.
- */
+ /// Perform `target ~/= operand`.
floorDivide,
- /**
- * Perform `target %= operand`.
- */
+ /// Perform `target %= operand`.
modulo,
- /**
- * Perform `target += operand`.
- */
+ /// Perform `target += operand`.
plus,
- /**
- * Perform `target -= operand`.
- */
+ /// Perform `target -= operand`.
minus,
- /**
- * Perform `target <<= operand`.
- */
+ /// Perform `target <<= operand`.
shiftLeft,
- /**
- * Perform `target >>= operand`.
- */
+ /// Perform `target >>= operand`.
shiftRight,
- /**
- * Perform `target &= operand`.
- */
+ /// Perform `target &= operand`.
bitAnd,
- /**
- * Perform `target ^= operand`.
- */
+ /// Perform `target ^= operand`.
bitXor,
- /**
- * Perform `target |= operand`.
- */
+ /// Perform `target |= operand`.
bitOr,
- /**
- * Perform `++target`.
- */
+ /// Perform `++target`.
prefixIncrement,
- /**
- * Perform `--target`.
- */
+ /// Perform `--target`.
prefixDecrement,
- /**
- * Perform `target++`.
- */
+ /// Perform `target++`.
postfixIncrement,
- /**
- * Perform `target++`.
- */
+ /// Perform `target++`.
postfixDecrement,
}
-/**
- * Enum representing the various kinds of operations which may be performed to
- * in an expression. These options are assumed to execute in the
- * context of a stack which is initially empty.
- */
+/// Enum representing the various kinds of operations which may be performed to
+/// in an expression. These options are assumed to execute in the
+/// context of a stack which is initially empty.
enum UnlinkedExprOperation {
- /**
- * Push the next value from [UnlinkedExpr.ints] (a 32-bit unsigned integer)
- * onto the stack.
- *
- * Note that Dart supports integers larger than 32 bits; these are
- * represented by composing 32-bit values using the [pushLongInt] operation.
- */
+ /// Push the next value from [UnlinkedExpr.ints] (a 32-bit unsigned integer)
+ /// onto the stack.
+ ///
+ /// Note that Dart supports integers larger than 32 bits; these are
+ /// represented by composing 32-bit values using the [pushLongInt] operation.
pushInt,
- /**
- * Get the number of components from [UnlinkedExpr.ints], then do this number
- * of times the following operations: multiple the current value by 2^32, "or"
- * it with the next value in [UnlinkedExpr.ints]. The initial value is zero.
- * Push the result into the stack.
- */
+ /// Get the number of components from [UnlinkedExpr.ints], then do this number
+ /// of times the following operations: multiple the current value by 2^32,
+ /// "or" it with the next value in [UnlinkedExpr.ints]. The initial value is
+ /// zero. Push the result into the stack.
pushLongInt,
- /**
- * Push the next value from [UnlinkedExpr.doubles] (a double precision
- * floating point value) onto the stack.
- */
+ /// Push the next value from [UnlinkedExpr.doubles] (a double precision
+ /// floating point value) onto the stack.
pushDouble,
- /**
- * Push the constant `true` onto the stack.
- */
+ /// Push the constant `true` onto the stack.
pushTrue,
- /**
- * Push the constant `false` onto the stack.
- */
+ /// Push the constant `false` onto the stack.
pushFalse,
- /**
- * Push the next value from [UnlinkedExpr.strings] onto the stack.
- */
+ /// Push the next value from [UnlinkedExpr.strings] onto the stack.
pushString,
- /**
- * Pop the top n values from the stack (where n is obtained from
- * [UnlinkedExpr.ints]), convert them to strings (if they aren't already),
- * concatenate them into a single string, and push it back onto the stack.
- *
- * This operation is used to represent constants whose value is a literal
- * string containing string interpolations.
- */
+ /// Pop the top n values from the stack (where n is obtained from
+ /// [UnlinkedExpr.ints]), convert them to strings (if they aren't already),
+ /// concatenate them into a single string, and push it back onto the stack.
+ ///
+ /// This operation is used to represent constants whose value is a literal
+ /// string containing string interpolations.
concatenate,
- /**
- * Get the next value from [UnlinkedExpr.strings], convert it to a symbol,
- * and push it onto the stack.
- */
+ /// Get the next value from [UnlinkedExpr.strings], convert it to a symbol,
+ /// and push it onto the stack.
makeSymbol,
- /**
- * Push the constant `null` onto the stack.
- */
+ /// Push the constant `null` onto the stack.
pushNull,
- /**
- * Push the value of the function parameter with the name obtained from
- * [UnlinkedExpr.strings].
- */
+ /// Push the value of the function parameter with the name obtained from
+ /// [UnlinkedExpr.strings].
pushParameter,
- /**
- * Evaluate a (potentially qualified) identifier expression and push the
- * resulting value onto the stack. The identifier to be evaluated is
- * obtained from [UnlinkedExpr.references].
- *
- * This operation is used to represent the following kinds of constants
- * (which are indistinguishable from an unresolved AST alone):
- *
- * - A qualified reference to a static constant variable (e.g. `C.v`, where
- * C is a class and `v` is a constant static variable in `C`).
- * - An identifier expression referring to a constant variable.
- * - A simple or qualified identifier denoting a class or type alias.
- * - A simple or qualified identifier denoting a top-level function or a
- * static method.
- */
+ /// Evaluate a (potentially qualified) identifier expression and push the
+ /// resulting value onto the stack. The identifier to be evaluated is
+ /// obtained from [UnlinkedExpr.references].
+ ///
+ /// This operation is used to represent the following kinds of constants
+ /// (which are indistinguishable from an unresolved AST alone):
+ ///
+ /// - A qualified reference to a static constant variable (e.g. `C.v`, where
+ /// C is a class and `v` is a constant static variable in `C`).
+ /// - An identifier expression referring to a constant variable.
+ /// - A simple or qualified identifier denoting a class or type alias.
+ /// - A simple or qualified identifier denoting a top-level function or a
+ /// static method.
pushReference,
- /**
- * Pop the top value from the stack, extract the value of the property with
- * the name obtained from [UnlinkedExpr.strings], and push the result back
- * onto the stack.
- */
+ /// Pop the top value from the stack, extract the value of the property with
+ /// the name obtained from [UnlinkedExpr.strings], and push the result back
+ /// onto the stack.
extractProperty,
- /**
- * Pop the top `n` values from the stack (where `n` is obtained from
- * [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
- * `n` values from [UnlinkedExpr.strings] and use the lists of names and
- * values to create named arguments. Then pop the top `m` values from the
- * stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
- * from the end) and use them as positional arguments. Use the lists of
- * positional and names arguments to invoke a constant constructor obtained
- * from [UnlinkedExpr.references], and push the resulting value back onto the
- * stack.
- *
- * Arguments are skipped, and `0` are specified as the numbers of arguments
- * on the stack, if the expression is not a constant. We store expression of
- * variable initializers to perform top-level inference, and arguments are
- * never used to infer types.
- *
- * Note that for an invocation of the form `const a.b(...)` (where no type
- * arguments are specified), it is impossible to tell from the unresolved AST
- * alone whether `a` is a class name and `b` is a constructor name, or `a` is
- * a prefix name and `b` is a class name. For consistency between AST based
- * and elements based summaries, references to default constructors are always
- * recorded as references to corresponding classes.
- */
+ /// Pop the top `n` values from the stack (where `n` is obtained from
+ /// [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
+ /// `n` values from [UnlinkedExpr.strings] and use the lists of names and
+ /// values to create named arguments. Then pop the top `m` values from the
+ /// stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
+ /// from the end) and use them as positional arguments. Use the lists of
+ /// positional and names arguments to invoke a constant constructor obtained
+ /// from [UnlinkedExpr.references], and push the resulting value back onto the
+ /// stack.
+ ///
+ /// Arguments are skipped, and `0` are specified as the numbers of arguments
+ /// on the stack, if the expression is not a constant. We store expression of
+ /// variable initializers to perform top-level inference, and arguments are
+ /// never used to infer types.
+ ///
+ /// Note that for an invocation of the form `const a.b(...)` (where no type
+ /// arguments are specified), it is impossible to tell from the unresolved AST
+ /// alone whether `a` is a class name and `b` is a constructor name, or `a` is
+ /// a prefix name and `b` is a class name. For consistency between AST based
+ /// and elements based summaries, references to default constructors are
+ /// always recorded as references to corresponding classes.
invokeConstructor,
- /**
- * Pop the top n values from the stack (where n is obtained from
- * [UnlinkedExpr.ints]), place them in a [List], and push the result back
- * onto the stack. The type parameter for the [List] is implicitly `dynamic`.
- */
+ /// Pop the top n values from the stack (where n is obtained from
+ /// [UnlinkedExpr.ints]), place them in a [List], and push the result back
+ /// onto the stack. The type parameter for the [List] is implicitly
+ /// `dynamic`.
makeUntypedList,
- /**
- * Pop the top 2*n values from the stack (where n is obtained from
- * [UnlinkedExpr.ints]), interpret them as key/value pairs, place them in a
- * [Map], and push the result back onto the stack. The two type parameters
- * for the [Map] are implicitly `dynamic`.
- */
+ /// Pop the top 2*n values from the stack (where n is obtained from
+ /// [UnlinkedExpr.ints]), interpret them as key/value pairs, place them in a
+ /// [Map], and push the result back onto the stack. The two type parameters
+ /// for the [Map] are implicitly `dynamic`.
makeUntypedMap,
- /**
- * Pop the top n values from the stack (where n is obtained from
- * [UnlinkedExpr.ints]), place them in a [List], and push the result back
- * onto the stack. The type parameter for the [List] is obtained from
- * [UnlinkedExpr.references].
- */
+ /// Pop the top n values from the stack (where n is obtained from
+ /// [UnlinkedExpr.ints]), place them in a [List], and push the result back
+ /// onto the stack. The type parameter for the [List] is obtained from
+ /// [UnlinkedExpr.references].
makeTypedList,
- /**
- * Pop the top 2*n values from the stack (where n is obtained from
- * [UnlinkedExpr.ints]), interpret them as key/value pairs, place them in a
- * [Map], and push the result back onto the stack. The two type parameters
- * for the [Map] are obtained from [UnlinkedExpr.references].
- */
+ /// Pop the top 2*n values from the stack (where n is obtained from
+ /// [UnlinkedExpr.ints]), interpret them as key/value pairs, place them in a
+ /// [Map], and push the result back onto the stack. The two type parameters
+ /// for the [Map] are obtained from [UnlinkedExpr.references].
makeTypedMap,
- /**
- * Pop the top 2 values from the stack, evaluate `v1 == v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, evaluate `v1 == v2`, and push the
+ /// result back onto the stack.
equal,
- /**
- * Pop the top 2 values from the stack, evaluate `v1 != v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, evaluate `v1 != v2`, and push the
+ /// result back onto the stack.
notEqual,
- /**
- * Pop the top value from the stack, compute its boolean negation, and push
- * the result back onto the stack.
- */
+ /// Pop the top value from the stack, compute its boolean negation, and push
+ /// the result back onto the stack.
not,
- /**
- * Pop the top 2 values from the stack, compute `v1 && v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 && v2`, and push the
+ /// result back onto the stack.
and,
- /**
- * Pop the top 2 values from the stack, compute `v1 || v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 || v2`, and push the
+ /// result back onto the stack.
or,
- /**
- * Pop the top value from the stack, compute its integer complement, and push
- * the result back onto the stack.
- */
+ /// Pop the top value from the stack, compute its integer complement, and push
+ /// the result back onto the stack.
complement,
- /**
- * Pop the top 2 values from the stack, compute `v1 ^ v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 ^ v2`, and push the
+ /// result back onto the stack.
bitXor,
- /**
- * Pop the top 2 values from the stack, compute `v1 & v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 & v2`, and push the
+ /// result back onto the stack.
bitAnd,
- /**
- * Pop the top 2 values from the stack, compute `v1 | v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 | v2`, and push the
+ /// result back onto the stack.
bitOr,
- /**
- * Pop the top 2 values from the stack, compute `v1 >> v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 >> v2`, and push the
+ /// result back onto the stack.
bitShiftRight,
- /**
- * Pop the top 2 values from the stack, compute `v1 << v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 << v2`, and push the
+ /// result back onto the stack.
bitShiftLeft,
- /**
- * Pop the top 2 values from the stack, compute `v1 + v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 + v2`, and push the
+ /// result back onto the stack.
add,
- /**
- * Pop the top value from the stack, compute its integer negation, and push
- * the result back onto the stack.
- */
+ /// Pop the top value from the stack, compute its integer negation, and push
+ /// the result back onto the stack.
negate,
- /**
- * Pop the top 2 values from the stack, compute `v1 - v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 - v2`, and push the
+ /// result back onto the stack.
subtract,
- /**
- * Pop the top 2 values from the stack, compute `v1 * v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 * v2`, and push the
+ /// result back onto the stack.
multiply,
- /**
- * Pop the top 2 values from the stack, compute `v1 / v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 / v2`, and push the
+ /// result back onto the stack.
divide,
- /**
- * Pop the top 2 values from the stack, compute `v1 ~/ v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 ~/ v2`, and push the
+ /// result back onto the stack.
floorDivide,
- /**
- * Pop the top 2 values from the stack, compute `v1 > v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 > v2`, and push the
+ /// result back onto the stack.
greater,
- /**
- * Pop the top 2 values from the stack, compute `v1 < v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 < v2`, and push the
+ /// result back onto the stack.
less,
- /**
- * Pop the top 2 values from the stack, compute `v1 >= v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 >= v2`, and push the
+ /// result back onto the stack.
greaterEqual,
- /**
- * Pop the top 2 values from the stack, compute `v1 <= v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 <= v2`, and push the
+ /// result back onto the stack.
lessEqual,
- /**
- * Pop the top 2 values from the stack, compute `v1 % v2`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 2 values from the stack, compute `v1 % v2`, and push the
+ /// result back onto the stack.
modulo,
- /**
- * Pop the top 3 values from the stack, compute `v1 ? v2 : v3`, and push the
- * result back onto the stack.
- */
+ /// Pop the top 3 values from the stack, compute `v1 ? v2 : v3`, and push the
+ /// result back onto the stack.
conditional,
- /**
- * Pop from the stack `value` and get the next `target` reference from
- * [UnlinkedExpr.references] - a top-level variable (prefixed or not), an
- * assignable field of a class (prefixed or not), or a sequence of getters
- * ending with an assignable property `a.b.b.c.d.e`. In general `a.b` cannot
- * not be distinguished between: `a` is a prefix and `b` is a top-level
- * variable; or `a` is an object and `b` is the name of a property. Perform
- * `reference op= value` where `op` is the next assignment operator from
- * [UnlinkedExpr.assignmentOperators]. Push `value` back into the stack.
- *
- * If the assignment operator is a prefix/postfix increment/decrement, then
- * `value` is not present in the stack, so it should not be popped and the
- * corresponding value of the `target` after/before update is pushed into the
- * stack instead.
- */
+ /// Pop from the stack `value` and get the next `target` reference from
+ /// [UnlinkedExpr.references] - a top-level variable (prefixed or not), an
+ /// assignable field of a class (prefixed or not), or a sequence of getters
+ /// ending with an assignable property `a.b.b.c.d.e`. In general `a.b` cannot
+ /// not be distinguished between: `a` is a prefix and `b` is a top-level
+ /// variable; or `a` is an object and `b` is the name of a property. Perform
+ /// `reference op= value` where `op` is the next assignment operator from
+ /// [UnlinkedExpr.assignmentOperators]. Push `value` back into the stack.
+ ///
+ /// If the assignment operator is a prefix/postfix increment/decrement, then
+ /// `value` is not present in the stack, so it should not be popped and the
+ /// corresponding value of the `target` after/before update is pushed into the
+ /// stack instead.
assignToRef,
- /**
- * Pop from the stack `target` and `value`. Get the name of the property from
- * `UnlinkedConst.strings` and assign the `value` to the named property of the
- * `target`. This operation is used when we know that the `target` is an
- * object reference expression, e.g. `new Foo().a.b.c` or `a.b[0].c.d`.
- * Perform `target.property op= value` where `op` is the next assignment
- * operator from [UnlinkedExpr.assignmentOperators]. Push `value` back into
- * the stack.
- *
- * If the assignment operator is a prefix/postfix increment/decrement, then
- * `value` is not present in the stack, so it should not be popped and the
- * corresponding value of the `target` after/before update is pushed into the
- * stack instead.
- */
+ /// Pop from the stack `target` and `value`. Get the name of the property
+ /// from `UnlinkedConst.strings` and assign the `value` to the named property
+ /// of the `target`. This operation is used when we know that the `target`
+ /// is an object reference expression, e.g. `new Foo().a.b.c` or `a.b[0].c.d`.
+ /// Perform `target.property op= value` where `op` is the next assignment
+ /// operator from [UnlinkedExpr.assignmentOperators]. Push `value` back into
+ /// the stack.
+ ///
+ /// If the assignment operator is a prefix/postfix increment/decrement, then
+ /// `value` is not present in the stack, so it should not be popped and the
+ /// corresponding value of the `target` after/before update is pushed into the
+ /// stack instead.
assignToProperty,
- /**
- * Pop from the stack `index`, `target` and `value`. Perform
- * `target[index] op= value` where `op` is the next assignment operator from
- * [UnlinkedExpr.assignmentOperators]. Push `value` back into the stack.
- *
- * If the assignment operator is a prefix/postfix increment/decrement, then
- * `value` is not present in the stack, so it should not be popped and the
- * corresponding value of the `target` after/before update is pushed into the
- * stack instead.
- */
+ /// Pop from the stack `index`, `target` and `value`. Perform
+ /// `target[index] op= value` where `op` is the next assignment operator from
+ /// [UnlinkedExpr.assignmentOperators]. Push `value` back into the stack.
+ ///
+ /// If the assignment operator is a prefix/postfix increment/decrement, then
+ /// `value` is not present in the stack, so it should not be popped and the
+ /// corresponding value of the `target` after/before update is pushed into the
+ /// stack instead.
assignToIndex,
- /**
- * Pop from the stack `index` and `target`. Push into the stack the result
- * of evaluation of `target[index]`.
- */
+ /// Pop from the stack `index` and `target`. Push into the stack the result
+ /// of evaluation of `target[index]`.
extractIndex,
- /**
- * Pop the top `n` values from the stack (where `n` is obtained from
- * [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
- * `n` values from [UnlinkedExpr.strings] and use the lists of names and
- * values to create named arguments. Then pop the top `m` values from the
- * stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
- * from the end) and use them as positional arguments. Use the lists of
- * positional and names arguments to invoke a method (or a function) with
- * the reference from [UnlinkedExpr.references]. If `k` is nonzero (where
- * `k` is obtained from [UnlinkedExpr.ints]), obtain `k` type arguments from
- * [UnlinkedExpr.references] and use them as generic type arguments for the
- * aforementioned method or function. Push the result of the invocation onto
- * the stack.
- *
- * Arguments are skipped, and `0` are specified as the numbers of arguments
- * on the stack, if the expression is not a constant. We store expression of
- * variable initializers to perform top-level inference, and arguments are
- * never used to infer types.
- *
- * In general `a.b` cannot not be distinguished between: `a` is a prefix and
- * `b` is a top-level function; or `a` is an object and `b` is the name of a
- * method. This operation should be used for a sequence of identifiers
- * `a.b.b.c.d.e` ending with an invokable result.
- */
+ /// Pop the top `n` values from the stack (where `n` is obtained from
+ /// [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
+ /// `n` values from [UnlinkedExpr.strings] and use the lists of names and
+ /// values to create named arguments. Then pop the top `m` values from the
+ /// stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
+ /// from the end) and use them as positional arguments. Use the lists of
+ /// positional and names arguments to invoke a method (or a function) with
+ /// the reference from [UnlinkedExpr.references]. If `k` is nonzero (where
+ /// `k` is obtained from [UnlinkedExpr.ints]), obtain `k` type arguments from
+ /// [UnlinkedExpr.references] and use them as generic type arguments for the
+ /// aforementioned method or function. Push the result of the invocation onto
+ /// the stack.
+ ///
+ /// Arguments are skipped, and `0` are specified as the numbers of arguments
+ /// on the stack, if the expression is not a constant. We store expression of
+ /// variable initializers to perform top-level inference, and arguments are
+ /// never used to infer types.
+ ///
+ /// In general `a.b` cannot not be distinguished between: `a` is a prefix and
+ /// `b` is a top-level function; or `a` is an object and `b` is the name of a
+ /// method. This operation should be used for a sequence of identifiers
+ /// `a.b.b.c.d.e` ending with an invokable result.
invokeMethodRef,
- /**
- * Pop the top `n` values from the stack (where `n` is obtained from
- * [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
- * `n` values from [UnlinkedExpr.strings] and use the lists of names and
- * values to create named arguments. Then pop the top `m` values from the
- * stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
- * from the end) and use them as positional arguments. Use the lists of
- * positional and names arguments to invoke the method with the name from
- * [UnlinkedExpr.strings] of the target popped from the stack. If `k` is
- * nonzero (where `k` is obtained from [UnlinkedExpr.ints]), obtain `k` type
- * arguments from [UnlinkedExpr.references] and use them as generic type
- * arguments for the aforementioned method. Push the result of the
- * invocation onto the stack.
- *
- * Arguments are skipped, and `0` are specified as the numbers of arguments
- * on the stack, if the expression is not a constant. We store expression of
- * variable initializers to perform top-level inference, and arguments are
- * never used to infer types.
- *
- * This operation should be used for invocation of a method invocation
- * where `target` is known to be an object instance.
- */
+ /// Pop the top `n` values from the stack (where `n` is obtained from
+ /// [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
+ /// `n` values from [UnlinkedExpr.strings] and use the lists of names and
+ /// values to create named arguments. Then pop the top `m` values from the
+ /// stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
+ /// from the end) and use them as positional arguments. Use the lists of
+ /// positional and names arguments to invoke the method with the name from
+ /// [UnlinkedExpr.strings] of the target popped from the stack. If `k` is
+ /// nonzero (where `k` is obtained from [UnlinkedExpr.ints]), obtain `k` type
+ /// arguments from [UnlinkedExpr.references] and use them as generic type
+ /// arguments for the aforementioned method. Push the result of the
+ /// invocation onto the stack.
+ ///
+ /// Arguments are skipped, and `0` are specified as the numbers of arguments
+ /// on the stack, if the expression is not a constant. We store expression of
+ /// variable initializers to perform top-level inference, and arguments are
+ /// never used to infer types.
+ ///
+ /// This operation should be used for invocation of a method invocation
+ /// where `target` is known to be an object instance.
invokeMethod,
- /**
- * Begin a new cascade section. Duplicate the top value of the stack.
- */
+ /// Begin a new cascade section. Duplicate the top value of the stack.
cascadeSectionBegin,
- /**
- * End a new cascade section. Pop the top value from the stack and throw it
- * away.
- */
+ /// End a new cascade section. Pop the top value from the stack and throw it
+ /// away.
cascadeSectionEnd,
- /**
- * Pop the top value from the stack and cast it to the type with reference
- * from [UnlinkedExpr.references], push the result into the stack.
- */
+ /// Pop the top value from the stack and cast it to the type with reference
+ /// from [UnlinkedExpr.references], push the result into the stack.
typeCast,
- /**
- * Pop the top value from the stack and check whether it is a subclass of the
- * type with reference from [UnlinkedExpr.references], push the result into
- * the stack.
- */
+ /// Pop the top value from the stack and check whether it is a subclass of the
+ /// type with reference from [UnlinkedExpr.references], push the result into
+ /// the stack.
typeCheck,
- /**
- * Pop the top value from the stack and raise an exception with this value.
- */
+ /// Pop the top value from the stack and raise an exception with this value.
throwException,
- /**
- * Obtain two values `n` and `m` from [UnlinkedExpr.ints]. Then, starting at
- * the executable element for the expression being evaluated, if n > 0, pop to
- * the nth enclosing function element. Then, push the mth local function of
- * that element onto the stack.
- */
+ /// Obtain two values `n` and `m` from [UnlinkedExpr.ints]. Then, starting at
+ /// the executable element for the expression being evaluated, if n > 0, pop
+ /// to the nth enclosing function element. Then, push the mth local function
+ /// of that element onto the stack.
pushLocalFunctionReference,
- /**
- * Pop the top two values from the stack. If the first value is non-null,
- * keep it and discard the second. Otherwise, keep the second and discard the
- * first.
- */
+ /// Pop the top two values from the stack. If the first value is non-null,
+ /// keep it and discard the second. Otherwise, keep the second and discard
+ /// the first.
ifNull,
- /**
- * Pop the top value from the stack. Treat it as a Future and await its
- * completion. Then push the awaited value onto the stack.
- */
+ /// Pop the top value from the stack. Treat it as a Future and await its
+ /// completion. Then push the awaited value onto the stack.
await,
- /**
- * Push an abstract value onto the stack. Abstract values mark the presence of
- * a value, but whose details are not included.
- *
- * This is not used by the summary generators today, but it will be used to
- * experiment with prunning the initializer expression tree, so only
- * information that is necessary gets included in the output summary file.
- */
+ /// Push an abstract value onto the stack. Abstract values mark the presence
+ /// of a value, but whose details are not included.
+ ///
+ /// This is not used by the summary generators today, but it will be used to
+ /// experiment with prunning the initializer expression tree, so only
+ /// information that is necessary gets included in the output summary file.
pushUntypedAbstract,
- /**
- * Get the next type reference from [UnlinkedExpr.references] and push an
- * abstract value onto the stack that has that type.
- *
- * Like [pushUntypedAbstract], this is also not used by the summary generators
- * today. The plan is to experiment with prunning the initializer expression
- * tree, and include just enough type information to perform strong-mode type
- * inference, but not all the details of how this type was obtained.
- */
+ /// Get the next type reference from [UnlinkedExpr.references] and push an
+ /// abstract value onto the stack that has that type.
+ ///
+ /// Like [pushUntypedAbstract], this is also not used by the summary
+ /// generators today. The plan is to experiment with prunning the initializer
+ /// expression tree, and include just enough type information to perform
+ /// strong-mode type inference, but not all the details of how this type was
+ /// obtained.
pushTypedAbstract,
- /**
- * Push an error onto the stack.
- *
- * Like [pushUntypedAbstract], this is not used by summary generators today.
- * This will be used to experiment with prunning the const expression tree. If
- * a constant has an error, we can omit the subexpression containing the error
- * and only include a marker that an error was detected.
- */
+ /// Push an error onto the stack.
+ ///
+ /// Like [pushUntypedAbstract], this is not used by summary generators today.
+ /// This will be used to experiment with prunning the const expression tree.
+ /// If a constant has an error, we can omit the subexpression containing the
+ /// error and only include a marker that an error was detected.
pushError,
- /**
- * Push `this` expression onto the stack.
- */
+ /// Push `this` expression onto the stack.
pushThis,
- /**
- * Push `super` expression onto the stack.
- */
+ /// Push `super` expression onto the stack.
pushSuper,
}
-/**
- * Unlinked summary information about an import declaration.
- */
+/// Unlinked summary information about an import declaration.
abstract class UnlinkedImport extends base.SummaryClass {
- /**
- * Annotations for this import declaration.
- */
+ /// Annotations for this import declaration.
@Id(8)
List<UnlinkedExpr> get annotations;
- /**
- * Combinators contained in this import declaration.
- */
+ /// Combinators contained in this import declaration.
@Id(4)
List<UnlinkedCombinator> get combinators;
- /**
- * Configurations used to control which library will actually be loaded at
- * run-time.
- */
+ /// Configurations used to control which library will actually be loaded at
+ /// run-time.
@Id(10)
List<UnlinkedConfiguration> get configurations;
- /**
- * Indicates whether the import declaration uses the `deferred` keyword.
- */
+ /// Indicates whether the import declaration uses the `deferred` keyword.
@Id(9)
bool get isDeferred;
- /**
- * Indicates whether the import declaration is implicit.
- */
+ /// Indicates whether the import declaration is implicit.
@Id(5)
bool get isImplicit;
- /**
- * If [isImplicit] is false, offset of the "import" keyword. If [isImplicit]
- * is true, zero.
- */
+ /// If [isImplicit] is false, offset of the "import" keyword. If [isImplicit]
+ /// is true, zero.
@informative
@Id(0)
int get offset;
- /**
- * Offset of the prefix name relative to the beginning of the file, or zero
- * if there is no prefix.
- */
+ /// Offset of the prefix name relative to the beginning of the file, or zero
+ /// if there is no prefix.
@informative
@Id(6)
int get prefixOffset;
- /**
- * Index into [UnlinkedUnit.references] of the prefix declared by this
- * import declaration, or zero if this import declaration declares no prefix.
- *
- * Note that multiple imports can declare the same prefix.
- */
+ /// Index into [UnlinkedUnit.references] of the prefix declared by this
+ /// import declaration, or zero if this import declaration declares no prefix.
+ ///
+ /// Note that multiple imports can declare the same prefix.
@Id(7)
int get prefixReference;
- /**
- * URI used in the source code to reference the imported library.
- */
+ /// URI used in the source code to reference the imported library.
@Id(1)
String get uri;
- /**
- * End of the URI string (including quotes) relative to the beginning of the
- * file. If [isImplicit] is true, zero.
- */
+ /// End of the URI string (including quotes) relative to the beginning of the
+ /// file. If [isImplicit] is true, zero.
@informative
@Id(2)
int get uriEnd;
- /**
- * Offset of the URI string (including quotes) relative to the beginning of
- * the file. If [isImplicit] is true, zero.
- */
+ /// Offset of the URI string (including quotes) relative to the beginning of
+ /// the file. If [isImplicit] is true, zero.
@informative
@Id(3)
int get uriOffset;
}
-/**
- * Unlinked summary information about a function parameter.
- */
+/// Unlinked summary information about a function parameter.
abstract class UnlinkedParam extends base.SummaryClass {
- /**
- * Annotations for this parameter.
- */
+ /// Annotations for this parameter.
@Id(9)
List<UnlinkedExpr> get annotations;
- /**
- * Code range of the parameter.
- */
+ /// Code range of the parameter.
@informative
@Id(7)
CodeRange get codeRange;
- /**
- * If the parameter has a default value, the source text of the constant
- * expression in the default value. Otherwise the empty string.
- */
+ /// If the parameter has a default value, the source text of the constant
+ /// expression in the default value. Otherwise the empty string.
@informative
@Id(13)
String get defaultValueCode;
- /**
- * If this parameter's type is inferable, nonzero slot id identifying which
- * entry in [LinkedLibrary.types] contains the inferred type. If there is no
- * matching entry in [LinkedLibrary.types], then no type was inferred for
- * this variable, so its static type is `dynamic`.
- *
- * Note that although strong mode considers initializing formals to be
- * inferable, they are not marked as such in the summary; if their type is
- * not specified, they always inherit the static type of the corresponding
- * field.
- */
+ /// If this parameter's type is inferable, nonzero slot id identifying which
+ /// entry in [LinkedLibrary.types] contains the inferred type. If there is no
+ /// matching entry in [LinkedLibrary.types], then no type was inferred for
+ /// this variable, so its static type is `dynamic`.
+ ///
+ /// Note that although strong mode considers initializing formals to be
+ /// inferable, they are not marked as such in the summary; if their type is
+ /// not specified, they always inherit the static type of the corresponding
+ /// field.
@Id(2)
int get inferredTypeSlot;
- /**
- * If this is a parameter of an instance method, a nonzero slot id which is
- * unique within this compilation unit. If this id is found in
- * [LinkedUnit.parametersInheritingCovariant], then this parameter inherits
- * `@covariant` behavior from a base class.
- *
- * Otherwise, zero.
- */
+ /// If this is a parameter of an instance method, a nonzero slot id which is
+ /// unique within this compilation unit. If this id is found in
+ /// [LinkedUnit.parametersInheritingCovariant], then this parameter inherits
+ /// `@covariant` behavior from a base class.
+ ///
+ /// Otherwise, zero.
@Id(14)
int get inheritsCovariantSlot;
- /**
- * The synthetic initializer function of the parameter. Absent if the
- * variable does not have an initializer.
- */
+ /// The synthetic initializer function of the parameter. Absent if the
+ /// variable does not have an initializer.
@Id(12)
UnlinkedExecutable get initializer;
- /**
- * Indicates whether this parameter is explicitly marked as being covariant.
- */
+ /// Indicates whether this parameter is explicitly marked as being covariant.
@Id(15)
bool get isExplicitlyCovariant;
- /**
- * Indicates whether the parameter is declared using the `final` keyword.
- */
+ /// Indicates whether the parameter is declared using the `final` keyword.
@Id(16)
bool get isFinal;
- /**
- * Indicates whether this is a function-typed parameter. A parameter is
- * function-typed if the declaration of the parameter has explicit formal
- * parameters
- * ```
- * int functionTyped(int p)
- * ```
- * but is not function-typed if it does not, even if the type of the parameter
- * is a function type.
- */
+ /// Indicates whether this is a function-typed parameter. A parameter is
+ /// function-typed if the declaration of the parameter has explicit formal
+ /// parameters
+ /// ```
+ /// int functionTyped(int p)
+ /// ```
+ /// but is not function-typed if it does not, even if the type of the
+ /// parameter is a function type.
@Id(5)
bool get isFunctionTyped;
- /**
- * Indicates whether this is an initializing formal parameter (i.e. it is
- * declared using `this.` syntax).
- */
+ /// Indicates whether this is an initializing formal parameter (i.e. it is
+ /// declared using `this.` syntax).
@Id(6)
bool get isInitializingFormal;
- /**
- * Kind of the parameter.
- */
+ /// Kind of the parameter.
@Id(4)
UnlinkedParamKind get kind;
- /**
- * Name of the parameter.
- */
+ /// Name of the parameter.
@Id(0)
String get name;
- /**
- * Offset of the parameter name relative to the beginning of the file.
- */
+ /// Offset of the parameter name relative to the beginning of the file.
@informative
@Id(1)
int get nameOffset;
- /**
- * If [isFunctionTyped] is `true`, the parameters of the function type.
- */
+ /// If [isFunctionTyped] is `true`, the parameters of the function type.
@Id(8)
List<UnlinkedParam> get parameters;
- /**
- * If [isFunctionTyped] is `true`, the declared return type. If
- * [isFunctionTyped] is `false`, the declared type. Absent if the type is
- * implicit.
- */
+ /// If [isFunctionTyped] is `true`, the declared return type. If
+ /// [isFunctionTyped] is `false`, the declared type. Absent if the type is
+ /// implicit.
@Id(3)
EntityRef get type;
- /**
- * The length of the visible range.
- */
+ /// The length of the visible range.
@informative
@Id(10)
int get visibleLength;
- /**
- * The beginning of the visible range.
- */
+ /// The beginning of the visible range.
@informative
@Id(11)
int get visibleOffset;
}
-/**
- * Enum used to indicate the kind of a parameter.
- */
+/// Enum used to indicate the kind of a parameter.
enum UnlinkedParamKind {
- /**
- * Parameter is required.
- */
+ /// Parameter is required.
required,
- /**
- * Parameter is positional optional (enclosed in `[]`)
- */
+ /// Parameter is positional optional (enclosed in `[]`)
positional,
- /**
- * Parameter is named optional (enclosed in `{}`)
- */
+ /// Parameter is named optional (enclosed in `{}`)
named
}
-/**
- * Unlinked summary information about a part declaration.
- */
+/// Unlinked summary information about a part declaration.
abstract class UnlinkedPart extends base.SummaryClass {
- /**
- * Annotations for this part declaration.
- */
+ /// Annotations for this part declaration.
@Id(2)
List<UnlinkedExpr> get annotations;
- /**
- * End of the URI string (including quotes) relative to the beginning of the
- * file.
- */
+ /// End of the URI string (including quotes) relative to the beginning of the
+ /// file.
@informative
@Id(0)
int get uriEnd;
- /**
- * Offset of the URI string (including quotes) relative to the beginning of
- * the file.
- */
+ /// Offset of the URI string (including quotes) relative to the beginning of
+ /// the file.
@informative
@Id(1)
int get uriOffset;
}
-/**
- * Unlinked summary information about a specific name contributed by a
- * compilation unit to a library's public namespace.
- *
- * TODO(paulberry): some of this information is redundant with information
- * elsewhere in the summary. Consider reducing the redundancy to reduce
- * summary size.
- */
+/// Unlinked summary information about a specific name contributed by a
+/// compilation unit to a library's public namespace.
+///
+/// TODO(paulberry): some of this information is redundant with information
+/// elsewhere in the summary. Consider reducing the redundancy to reduce
+/// summary size.
abstract class UnlinkedPublicName extends base.SummaryClass {
- /**
- * The kind of object referred to by the name.
- */
+ /// The kind of object referred to by the name.
@Id(1)
ReferenceKind get kind;
- /**
- * If this [UnlinkedPublicName] is a class, the list of members which can be
- * referenced statically - static fields, static methods, and constructors.
- * Otherwise empty.
- *
- * Unnamed constructors are not included since they do not constitute a
- * separate name added to any namespace.
- */
+ /// If this [UnlinkedPublicName] is a class, the list of members which can be
+ /// referenced statically - static fields, static methods, and constructors.
+ /// Otherwise empty.
+ ///
+ /// Unnamed constructors are not included since they do not constitute a
+ /// separate name added to any namespace.
@Id(2)
List<UnlinkedPublicName> get members;
- /**
- * The name itself.
- */
+ /// The name itself.
@Id(0)
String get name;
- /**
- * If the entity being referred to is generic, the number of type parameters
- * it accepts. Otherwise zero.
- */
+ /// If the entity being referred to is generic, the number of type parameters
+ /// it accepts. Otherwise zero.
@Id(3)
int get numTypeParameters;
}
-/**
- * Unlinked summary information about what a compilation unit contributes to a
- * library's public namespace. This is the subset of [UnlinkedUnit] that is
- * required from dependent libraries in order to perform prelinking.
- */
+/// Unlinked summary information about what a compilation unit contributes to a
+/// library's public namespace. This is the subset of [UnlinkedUnit] that is
+/// required from dependent libraries in order to perform prelinking.
@TopLevel('UPNS')
abstract class UnlinkedPublicNamespace extends base.SummaryClass {
factory UnlinkedPublicNamespace.fromBuffer(List<int> buffer) =>
generated.readUnlinkedPublicNamespace(buffer);
- /**
- * Export declarations in the compilation unit.
- */
+ /// Export declarations in the compilation unit.
@Id(2)
List<UnlinkedExportPublic> get exports;
- /**
- * Public names defined in the compilation unit.
- *
- * TODO(paulberry): consider sorting these names to reduce unnecessary
- * relinking.
- */
+ /// Public names defined in the compilation unit.
+ ///
+ /// TODO(paulberry): consider sorting these names to reduce unnecessary
+ /// relinking.
@Id(0)
List<UnlinkedPublicName> get names;
- /**
- * URIs referenced by part declarations in the compilation unit.
- */
+ /// URIs referenced by part declarations in the compilation unit.
@Id(1)
List<String> get parts;
}
-/**
- * Unlinked summary information about a name referred to in one library that
- * might be defined in another.
- */
+/// Unlinked summary information about a name referred to in one library that
+/// might be defined in another.
abstract class UnlinkedReference extends base.SummaryClass {
- /**
- * Name of the entity being referred to. For the pseudo-type `dynamic`, the
- * string is "dynamic". For the pseudo-type `void`, the string is "void".
- * For the pseudo-type `bottom`, the string is "*bottom*".
- */
+ /// Name of the entity being referred to. For the pseudo-type `dynamic`, the
+ /// string is "dynamic". For the pseudo-type `void`, the string is "void".
+ /// For the pseudo-type `bottom`, the string is "*bottom*".
@Id(0)
String get name;
- /**
- * Prefix used to refer to the entity, or zero if no prefix is used. This is
- * an index into [UnlinkedUnit.references].
- *
- * Prefix references must always point backward; that is, for all i, if
- * UnlinkedUnit.references[i].prefixReference != 0, then
- * UnlinkedUnit.references[i].prefixReference < i.
- */
+ /// Prefix used to refer to the entity, or zero if no prefix is used. This is
+ /// an index into [UnlinkedUnit.references].
+ ///
+ /// Prefix references must always point backward; that is, for all i, if
+ /// UnlinkedUnit.references[i].prefixReference != 0, then
+ /// UnlinkedUnit.references[i].prefixReference < i.
@Id(1)
int get prefixReference;
}
-/**
- * Unlinked summary information about a typedef declaration.
- */
+/// Unlinked summary information about a typedef declaration.
abstract class UnlinkedTypedef extends base.SummaryClass {
- /**
- * Annotations for this typedef.
- */
+ /// Annotations for this typedef.
@Id(4)
List<UnlinkedExpr> get annotations;
- /**
- * Code range of the typedef.
- */
+ /// Code range of the typedef.
@informative
@Id(7)
CodeRange get codeRange;
- /**
- * Documentation comment for the typedef, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the typedef, or `null` if there is no
+ /// documentation comment.
@informative
@Id(6)
UnlinkedDocumentationComment get documentationComment;
- /**
- * Name of the typedef.
- */
+ /// Name of the typedef.
@Id(0)
String get name;
- /**
- * Offset of the typedef name relative to the beginning of the file.
- */
+ /// Offset of the typedef name relative to the beginning of the file.
@informative
@Id(1)
int get nameOffset;
- /**
- * Parameters of the executable, if any.
- */
+ /// Parameters of the executable, if any.
@Id(3)
List<UnlinkedParam> get parameters;
- /**
- * If [style] is [TypedefStyle.functionType], the return type of the typedef.
- * If [style] is [TypedefStyle.genericFunctionType], the function type being
- * defined.
- */
+ /// If [style] is [TypedefStyle.functionType], the return type of the typedef.
+ /// If [style] is [TypedefStyle.genericFunctionType], the function type being
+ /// defined.
@Id(2)
EntityRef get returnType;
- /**
- * The style of the typedef.
- */
+ /// The style of the typedef.
@Id(8)
TypedefStyle get style;
- /**
- * Type parameters of the typedef, if any.
- */
+ /// Type parameters of the typedef, if any.
@Id(5)
List<UnlinkedTypeParam> get typeParameters;
}
-/**
- * Unlinked summary information about a type parameter declaration.
- */
+/// Unlinked summary information about a type parameter declaration.
abstract class UnlinkedTypeParam extends base.SummaryClass {
- /**
- * Annotations for this type parameter.
- */
+ /// Annotations for this type parameter.
@Id(3)
List<UnlinkedExpr> get annotations;
- /**
- * Bound of the type parameter, if a bound is explicitly declared. Otherwise
- * null.
- */
+ /// Bound of the type parameter, if a bound is explicitly declared. Otherwise
+ /// null.
@Id(2)
EntityRef get bound;
- /**
- * Code range of the type parameter.
- */
+ /// Code range of the type parameter.
@informative
@Id(4)
CodeRange get codeRange;
- /**
- * Name of the type parameter.
- */
+ /// Name of the type parameter.
@Id(0)
String get name;
- /**
- * Offset of the type parameter name relative to the beginning of the file.
- */
+ /// Offset of the type parameter name relative to the beginning of the file.
@informative
@Id(1)
int get nameOffset;
}
-/**
- * Unlinked summary information about a compilation unit ("part file").
- */
+/// Unlinked summary information about a compilation unit ("part file").
@TopLevel('UUnt')
abstract class UnlinkedUnit extends base.SummaryClass {
factory UnlinkedUnit.fromBuffer(List<int> buffer) =>
generated.readUnlinkedUnit(buffer);
- /**
- * MD5 hash of the non-informative fields of the [UnlinkedUnit] (not
- * including this one) as 16 unsigned 8-bit integer values. This can be used
- * to identify when the API of a unit may have changed.
- */
+ /// MD5 hash of the non-informative fields of the [UnlinkedUnit] (not
+ /// including this one) as 16 unsigned 8-bit integer values. This can be used
+ /// to identify when the API of a unit may have changed.
@Id(19)
List<int> get apiSignature;
- /**
- * Classes declared in the compilation unit.
- */
+ /// Classes declared in the compilation unit.
@Id(2)
List<UnlinkedClass> get classes;
- /**
- * Code range of the unit.
- */
+ /// Code range of the unit.
@informative
@Id(15)
CodeRange get codeRange;
- /**
- * Enums declared in the compilation unit.
- */
+ /// Enums declared in the compilation unit.
@Id(12)
List<UnlinkedEnum> get enums;
- /**
- * Top level executable objects (functions, getters, and setters) declared in
- * the compilation unit.
- */
+ /// Top level executable objects (functions, getters, and setters) declared in
+ /// the compilation unit.
@Id(4)
List<UnlinkedExecutable> get executables;
- /**
- * Export declarations in the compilation unit.
- */
+ /// Export declarations in the compilation unit.
@Id(13)
List<UnlinkedExportNonPublic> get exports;
- /**
- * If this compilation unit was summarized in fallback mode, the path where
- * the compilation unit may be found on disk. Otherwise empty.
- *
- * When this field is non-empty, all other fields in the data structure have
- * their default values.
- */
+ /// If this compilation unit was summarized in fallback mode, the path where
+ /// the compilation unit may be found on disk. Otherwise empty.
+ ///
+ /// When this field is non-empty, all other fields in the data structure have
+ /// their default values.
@deprecated
@Id(16)
String get fallbackModePath;
- /**
- * Import declarations in the compilation unit.
- */
+ /// Import declarations in the compilation unit.
@Id(5)
List<UnlinkedImport> get imports;
- /**
- * Indicates whether the unit contains a "part of" declaration.
- */
+ /// Indicates whether the unit contains a "part of" declaration.
@Id(18)
bool get isPartOf;
- /**
- * Annotations for the library declaration, or the empty list if there is no
- * library declaration.
- */
+ /// Annotations for the library declaration, or the empty list if there is no
+ /// library declaration.
@Id(14)
List<UnlinkedExpr> get libraryAnnotations;
- /**
- * Documentation comment for the library, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the library, or `null` if there is no
+ /// documentation comment.
@informative
@Id(9)
UnlinkedDocumentationComment get libraryDocumentationComment;
- /**
- * Name of the library (from a "library" declaration, if present).
- */
+ /// Name of the library (from a "library" declaration, if present).
@Id(6)
String get libraryName;
- /**
- * Length of the library name as it appears in the source code (or 0 if the
- * library has no name).
- */
+ /// Length of the library name as it appears in the source code (or 0 if the
+ /// library has no name).
@informative
@Id(7)
int get libraryNameLength;
- /**
- * Offset of the library name relative to the beginning of the file (or 0 if
- * the library has no name).
- */
+ /// Offset of the library name relative to the beginning of the file (or 0 if
+ /// the library has no name).
@informative
@Id(8)
int get libraryNameOffset;
- /**
- * Offsets of the first character of each line in the source code.
- */
+ /// Offsets of the first character of each line in the source code.
@informative
@Id(17)
List<int> get lineStarts;
- /**
- * Mixins declared in the compilation unit.
- */
+ /// Mixins declared in the compilation unit.
@Id(20)
List<UnlinkedClass> get mixins;
- /**
- * Part declarations in the compilation unit.
- */
+ /// Part declarations in the compilation unit.
@Id(11)
List<UnlinkedPart> get parts;
- /**
- * Unlinked public namespace of this compilation unit.
- */
+ /// Unlinked public namespace of this compilation unit.
@Id(0)
UnlinkedPublicNamespace get publicNamespace;
- /**
- * Top level and prefixed names referred to by this compilation unit. The
- * zeroth element of this array is always populated and is used to represent
- * the absence of a reference in places where a reference is optional (for
- * example [UnlinkedReference.prefixReference or
- * UnlinkedImport.prefixReference]).
- */
+ /// Top level and prefixed names referred to by this compilation unit. The
+ /// zeroth element of this array is always populated and is used to represent
+ /// the absence of a reference in places where a reference is optional (for
+ /// example [UnlinkedReference.prefixReference or
+ /// UnlinkedImport.prefixReference]).
@Id(1)
List<UnlinkedReference> get references;
- /**
- * Typedefs declared in the compilation unit.
- */
+ /// Typedefs declared in the compilation unit.
@Id(10)
List<UnlinkedTypedef> get typedefs;
- /**
- * Top level variables declared in the compilation unit.
- */
+ /// Top level variables declared in the compilation unit.
@Id(3)
List<UnlinkedVariable> get variables;
}
-/**
- * Unlinked summary information about a top level variable, local variable, or
- * a field.
- */
+/// Unlinked summary information about a top level variable, local variable, or
+/// a field.
abstract class UnlinkedVariable extends base.SummaryClass {
- /**
- * Annotations for this variable.
- */
+ /// Annotations for this variable.
@Id(8)
List<UnlinkedExpr> get annotations;
- /**
- * Code range of the variable.
- */
+ /// Code range of the variable.
@informative
@Id(5)
CodeRange get codeRange;
- /**
- * Documentation comment for the variable, or `null` if there is no
- * documentation comment.
- */
+ /// Documentation comment for the variable, or `null` if there is no
+ /// documentation comment.
@informative
@Id(10)
UnlinkedDocumentationComment get documentationComment;
- /**
- * If this variable is inferable, nonzero slot id identifying which entry in
- * [LinkedLibrary.types] contains the inferred type for this variable. If
- * there is no matching entry in [LinkedLibrary.types], then no type was
- * inferred for this variable, so its static type is `dynamic`.
- */
+ /// If this variable is inferable, nonzero slot id identifying which entry in
+ /// [LinkedLibrary.types] contains the inferred type for this variable. If
+ /// there is no matching entry in [LinkedLibrary.types], then no type was
+ /// inferred for this variable, so its static type is `dynamic`.
@Id(9)
int get inferredTypeSlot;
- /**
- * If this is an instance non-final field, a nonzero slot id which is unique
- * within this compilation unit. If this id is found in
- * [LinkedUnit.parametersInheritingCovariant], then the parameter of the
- * synthetic setter inherits `@covariant` behavior from a base class.
- *
- * Otherwise, zero.
- */
+ /// If this is an instance non-final field, a nonzero slot id which is unique
+ /// within this compilation unit. If this id is found in
+ /// [LinkedUnit.parametersInheritingCovariant], then the parameter of the
+ /// synthetic setter inherits `@covariant` behavior from a base class.
+ ///
+ /// Otherwise, zero.
@Id(15)
int get inheritsCovariantSlot;
- /**
- * The synthetic initializer function of the variable. Absent if the variable
- * does not have an initializer.
- */
+ /// The synthetic initializer function of the variable. Absent if the
+ /// variable does not have an initializer.
@Id(13)
UnlinkedExecutable get initializer;
- /**
- * Indicates whether the variable is declared using the `const` keyword.
- */
+ /// Indicates whether the variable is declared using the `const` keyword.
@Id(6)
bool get isConst;
- /**
- * Indicates whether this variable is declared using the `covariant` keyword.
- * This should be false for everything except instance fields.
- */
+ /// Indicates whether this variable is declared using the `covariant` keyword.
+ /// This should be false for everything except instance fields.
@Id(14)
bool get isCovariant;
- /**
- * Indicates whether the variable is declared using the `final` keyword.
- */
+ /// Indicates whether the variable is declared using the `final` keyword.
@Id(7)
bool get isFinal;
- /**
- * Indicates whether the variable is declared using the `static` keyword.
- *
- * Note that for top level variables, this flag is false, since they are not
- * declared using the `static` keyword (even though they are considered
- * static for semantic purposes).
- */
+ /// Indicates whether the variable is declared using the `static` keyword.
+ ///
+ /// Note that for top level variables, this flag is false, since they are not
+ /// declared using the `static` keyword (even though they are considered
+ /// static for semantic purposes).
@Id(4)
bool get isStatic;
- /**
- * Name of the variable.
- */
+ /// Name of the variable.
@Id(0)
String get name;
- /**
- * Offset of the variable name relative to the beginning of the file.
- */
+ /// Offset of the variable name relative to the beginning of the file.
@informative
@Id(1)
int get nameOffset;
- /**
- * If this variable is propagable, nonzero slot id identifying which entry in
- * [LinkedLibrary.types] contains the propagated type for this variable. If
- * there is no matching entry in [LinkedLibrary.types], then this variable's
- * propagated type is the same as its declared type.
- *
- * Non-propagable variables have a [propagatedTypeSlot] of zero.
- */
+ /// If this variable is propagable, nonzero slot id identifying which entry in
+ /// [LinkedLibrary.types] contains the propagated type for this variable. If
+ /// there is no matching entry in [LinkedLibrary.types], then this variable's
+ /// propagated type is the same as its declared type.
+ ///
+ /// Non-propagable variables have a [propagatedTypeSlot] of zero.
@Id(2)
int get propagatedTypeSlot;
- /**
- * Declared type of the variable. Absent if the type is implicit.
- */
+ /// Declared type of the variable. Absent if the type is implicit.
@Id(3)
EntityRef get type;
- /**
- * If a local variable, the length of the visible range; zero otherwise.
- */
+ /// If a local variable, the length of the visible range; zero otherwise.
@deprecated
@informative
@Id(11)
int get visibleLength;
- /**
- * If a local variable, the beginning of the visible range; zero otherwise.
- */
+ /// If a local variable, the beginning of the visible range; zero otherwise.
@deprecated
@informative
@Id(12)
diff --git a/pkg/analyzer/tool/summary/generate.dart b/pkg/analyzer/tool/summary/generate.dart
index 6005e83..04b8fef 100644
--- a/pkg/analyzer/tool/summary/generate.dart
+++ b/pkg/analyzer/tool/summary/generate.dart
@@ -1002,16 +1002,21 @@
*/
String _getNodeDoc(AnnotatedNode node) {
Comment comment = node.documentationComment;
- if (comment != null &&
- comment.isDocumentation &&
- comment.tokens.length == 1 &&
- comment.tokens.first.lexeme.startsWith('/*')) {
- Token token = comment.tokens.first;
- return token.lexeme.split('\n').map((String line) {
- line = line.trimLeft();
- if (line.startsWith('*')) line = ' ' + line;
- return line;
- }).join('\n');
+ if (comment != null && comment.isDocumentation) {
+ if (comment.tokens.length == 1 &&
+ comment.tokens.first.lexeme.startsWith('/*')) {
+ Token token = comment.tokens.first;
+ return token.lexeme.split('\n').map((String line) {
+ line = line.trimLeft();
+ if (line.startsWith('*')) line = ' ' + line;
+ return line;
+ }).join('\n');
+ } else if (comment.tokens
+ .every((token) => token.lexeme.startsWith('///'))) {
+ return comment.tokens
+ .map((token) => token.lexeme.trimLeft())
+ .join('\n');
+ }
}
return null;
}