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

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

Issue 1691923002: Make summary format stable when adding getters to idl. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/lib/src/summary/format.dart ('k') | pkg/analyzer/tool/summary/generate.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/summary/idl.dart
diff --git a/pkg/analyzer/lib/src/summary/idl.dart b/pkg/analyzer/lib/src/summary/idl.dart
index b671751c71b08b0c3e0ab61d4fe2a13f5d295791..70ab7c1b1c933ac453ed3feb10fa3274c0ab4842 100644
--- a/pkg/analyzer/lib/src/summary/idl.dart
+++ b/pkg/analyzer/lib/src/summary/idl.dart
@@ -42,6 +42,7 @@
library analyzer.tool.summary.idl;
import 'base.dart' as base;
+import 'base.dart' show Id;
import 'format.dart' as generated;
/**
@@ -84,6 +85,7 @@ abstract class EntityRef extends base.SummaryClass {
* generic class, then the type arguments in [typeArguments] are applied
* first to the class and then to the method.
*/
+ @Id(4)
Paul Berry 2016/02/11 19:10:27 Note: I used smaller ids for the most frequently u
List<int> get implicitFunctionTypeIndices;
/**
@@ -105,12 +107,14 @@ abstract class EntityRef extends base.SummaryClass {
* 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.
*/
+ @Id(0)
int get reference;
/**
@@ -120,6 +124,7 @@ abstract class EntityRef extends base.SummaryClass {
*
* Otherwise zero.
*/
+ @Id(2)
int get slot;
/**
@@ -127,6 +132,7 @@ abstract class EntityRef extends base.SummaryClass {
* type arguments used to instantiate it. Trailing type arguments of type
* `dynamic` are omitted.
*/
+ @Id(1)
List<EntityRef> get typeArguments;
}
@@ -139,6 +145,7 @@ abstract class LinkedDependency extends base.SummaryClass {
* URI for the compilation units listed in the library's `part` declarations.
* These URIs are relative to the importing library.
*/
+ @Id(1)
List<String> get parts;
/**
@@ -148,6 +155,7 @@ abstract class LinkedDependency extends base.SummaryClass {
* `d/e.dart`, the URI listed for `a.dart`'s dependency on `e.dart` will be
* `b/d/e.dart`.
*/
+ @Id(0)
String get uri;
}
@@ -160,17 +168,20 @@ abstract class LinkedExportName extends base.SummaryClass {
* 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.
*/
+ @Id(3)
ReferenceKind get kind;
/**
* Name of the exported entity. For an exported setter, this name includes
* the trailing '='.
*/
+ @Id(1)
String get name;
/**
@@ -179,6 +190,7 @@ abstract class LinkedExportName extends base.SummaryClass {
* zero represents the defining compilation unit, and nonzero values
* represent parts in the order of the corresponding `part` declarations.
*/
+ @Id(2)
int get unit;
}
@@ -206,6 +218,7 @@ abstract class LinkedLibrary extends base.SummaryClass {
* 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;
/**
@@ -215,12 +228,14 @@ abstract class LinkedLibrary extends base.SummaryClass {
*
* Sorted by name.
*/
+ @Id(4)
List<LinkedExportName> get exportNames;
/**
* For each import in [UnlinkedUnit.imports], an index into [dependencies]
* of the library being imported.
*/
+ @Id(1)
List<int> get importDependencies;
/**
@@ -228,6 +243,7 @@ abstract class LinkedLibrary extends base.SummaryClass {
* 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;
/**
@@ -236,6 +252,7 @@ abstract class LinkedLibrary extends base.SummaryClass {
* 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;
}
@@ -254,6 +271,7 @@ abstract class LinkedReference extends base.SummaryClass {
* LinkedUnit.references[i].containingReference != 0, then
* LinkedUnit.references[i].containingReference < i.
*/
+ @Id(5)
int get containingReference;
/**
@@ -263,12 +281,14 @@ abstract class LinkedReference extends base.SummaryClass {
* 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].
*/
+ @Id(2)
ReferenceKind get kind;
/**
@@ -276,12 +296,14 @@ abstract class LinkedReference 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".
*/
+ @Id(3)
String get name;
/**
* If the entity being referred to is generic, the number of type parameters
* it accepts. Otherwise zero.
*/
+ @Id(4)
int get numTypeParameters;
/**
@@ -293,6 +315,7 @@ abstract class LinkedReference extends base.SummaryClass {
* Zero if this entity is contained within another entity (e.g. a class
* member).
*/
+ @Id(0)
int get unit;
}
@@ -308,12 +331,14 @@ abstract class LinkedUnit extends base.SummaryClass {
* 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;
/**
* List associating slot ids found inside the unlinked summary for the
* compilation unit with propagated and inferred types.
*/
+ @Id(1)
List<EntityRef> get types;
}
@@ -386,21 +411,25 @@ abstract class SdkBundle extends base.SummaryClass {
/**
* Linked libraries.
*/
+ @Id(0)
List<LinkedLibrary> get linkedLibraries;
/**
* The list of URIs of items in [linkedLibraries], e.g. `dart:core`.
*/
+ @Id(1)
List<String> get linkedLibraryUris;
/**
* Unlinked information for the compilation units constituting the SDK.
*/
+ @Id(2)
List<UnlinkedUnit> get unlinkedUnits;
/**
* The list of URIs of items in [unlinkedUnits], e.g. `dart:core/bool.dart`.
*/
+ @Id(3)
List<String> get unlinkedUnitUris;
}
@@ -411,6 +440,7 @@ abstract class UnlinkedClass extends base.SummaryClass {
/**
* Annotations for this class.
*/
+ @Id(5)
List<UnlinkedConst> get annotations;
/**
@@ -418,53 +448,63 @@ abstract class UnlinkedClass extends base.SummaryClass {
* documentation comment.
*/
@informative
+ @Id(6)
UnlinkedDocumentationComment get documentationComment;
/**
* Executable objects (methods, getters, and setters) contained in the class.
*/
+ @Id(2)
List<UnlinkedExecutable> get executables;
/**
* 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)
*/
+ @Id(12)
bool get hasNoSupertype;
/**
* Interfaces appearing in an `implements` clause, if any.
*/
+ @Id(7)
List<EntityRef> get interfaces;
/**
* 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.
*/
+ @Id(11)
bool get isMixinApplication;
/**
* Mixins appearing in a `with` clause, if any.
*/
+ @Id(10)
List<EntityRef> get mixins;
/**
* Name of the class.
*/
+ @Id(0)
String get name;
/**
* Offset of the class name relative to the beginning of the file.
*/
@informative
+ @Id(1)
int get nameOffset;
/**
@@ -472,11 +512,13 @@ abstract class UnlinkedClass extends base.SummaryClass {
* 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.
*/
+ @Id(9)
List<UnlinkedTypeParam> get typeParameters;
}
@@ -488,11 +530,13 @@ abstract class UnlinkedCombinator extends base.SummaryClass {
/**
* List of names which are hidden. Empty if this is a `show` combinator.
*/
+ @Id(1)
List<String> get hides;
/**
* List of names which are shown. Empty if this is a `hide` combinator.
*/
+ @Id(0)
List<String> get shows;
}
@@ -510,6 +554,7 @@ abstract class UnlinkedConst extends base.SummaryClass {
/**
* Sequence of 64-bit doubles consumed by the operation `pushDouble`.
*/
+ @Id(4)
List<double> get doubles;
/**
@@ -517,18 +562,21 @@ abstract class UnlinkedConst extends base.SummaryClass {
* `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
* `makeList`, and `makeMap`.
*/
+ @Id(1)
List<int> get ints;
/**
* Indicates whether the expression is not a valid potentially constant
* expression.
*/
+ @Id(5)
bool get isInvalid;
/**
* Sequence of operations to execute (starting with an empty stack) to form
* the constant value.
*/
+ @Id(0)
List<UnlinkedConstOperation> get operations;
/**
@@ -537,12 +585,14 @@ abstract class UnlinkedConst extends base.SummaryClass {
* 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`.
*/
+ @Id(3)
List<String> get strings;
}
@@ -844,17 +894,20 @@ abstract class UnlinkedConstructorInitializer extends base.SummaryClass {
* If [kind] is `thisInvocation` or `superInvocation`, the arguments of the
* invocation. Otherwise empty.
*/
+ @Id(3)
List<UnlinkedConst> get arguments;
/**
* If [kind] is `field`, the expression of the field initializer.
* Otherwise `null`.
*/
+ @Id(1)
UnlinkedConst get expression;
/**
* The kind of the constructor initializer (field, redirect, super).
*/
+ @Id(2)
UnlinkedConstructorInitializerKind get kind;
/**
@@ -863,6 +916,7 @@ abstract class UnlinkedConstructorInitializer extends base.SummaryClass {
* class, to redirect to. If [kind] is `superInvocation`, the name of the
* constructor, declared in the superclass, to invoke.
*/
+ @Id(0)
String get name;
}
@@ -893,12 +947,14 @@ abstract class UnlinkedDocumentationComment extends base.SummaryClass {
/**
* Length of the documentation comment (prior to replacing '\r\n' with '\n').
*/
+ @Id(0)
int get length;
/**
* Offset of the beginning of the documentation comment relative to the
* beginning of the file.
*/
+ @Id(2)
int get offset;
/**
@@ -907,6 +963,7 @@ abstract class UnlinkedDocumentationComment extends base.SummaryClass {
* References appearing within the doc comment in square brackets are not
* specially encoded.
*/
+ @Id(1)
String get text;
}
@@ -917,6 +974,7 @@ abstract class UnlinkedEnum extends base.SummaryClass {
/**
* Annotations for this enum.
*/
+ @Id(4)
List<UnlinkedConst> get annotations;
/**
@@ -924,22 +982,26 @@ abstract class UnlinkedEnum extends base.SummaryClass {
* comment.
*/
@informative
+ @Id(3)
UnlinkedDocumentationComment get documentationComment;
/**
* Name of the enum type.
*/
+ @Id(0)
String get name;
/**
* 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.
*/
+ @Id(2)
List<UnlinkedEnumValue> get values;
}
@@ -953,17 +1015,20 @@ abstract class UnlinkedEnumValue extends base.SummaryClass {
* documentation comment.
*/
@informative
+ @Id(2)
UnlinkedDocumentationComment get documentationComment;
/**
* Name of the enumerated value.
*/
+ @Id(0)
String get name;
/**
* Offset of the enum value name relative to the beginning of the file.
*/
@informative
+ @Id(1)
int get nameOffset;
}
@@ -975,12 +1040,14 @@ abstract class UnlinkedExecutable extends base.SummaryClass {
/**
* Annotations for this executable.
*/
+ @Id(6)
List<UnlinkedConst> get annotations;
/**
* If a constant [UnlinkedExecutableKind.constructor], the constructor
* initializers. Otherwise empty.
*/
+ @Id(14)
List<UnlinkedConstructorInitializer> get constantInitializers;
/**
@@ -988,6 +1055,7 @@ abstract class UnlinkedExecutable extends base.SummaryClass {
* documentation comment.
*/
@informative
+ @Id(7)
UnlinkedDocumentationComment get documentationComment;
/**
@@ -997,31 +1065,37 @@ abstract class UnlinkedExecutable extends base.SummaryClass {
* 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.
*/
+ @Id(10)
bool get isAbstract;
/**
* 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.
*/
+ @Id(11)
bool get isExternal;
/**
* Indicates whether the executable is declared using the `factory` keyword.
*/
+ @Id(8)
bool get isFactory;
/**
* Indicates whether the executable is a redirected constructor.
*/
+ @Id(13)
bool get isRedirectedConstructor;
/**
@@ -1031,12 +1105,14 @@ abstract class UnlinkedExecutable extends base.SummaryClass {
* 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).
*/
+ @Id(4)
UnlinkedExecutableKind get kind;
/**
@@ -1044,6 +1120,7 @@ abstract class UnlinkedExecutable extends base.SummaryClass {
* named constructors, this excludes the class name and excludes the ".".
* For unnamed constructors, this is the empty string.
*/
+ @Id(1)
String get name;
/**
@@ -1053,6 +1130,7 @@ abstract class UnlinkedExecutable extends base.SummaryClass {
* offset of the second "C" in "class C { C(); }").
*/
@informative
+ @Id(0)
int get nameOffset;
/**
@@ -1060,12 +1138,14 @@ abstract class UnlinkedExecutable extends base.SummaryClass {
* parameters (hence this will be the empty list), and setters have a single
* parameter.
*/
+ @Id(2)
List<UnlinkedParam> get parameters;
/**
* If [isRedirectedConstructor] and [isFactory] are both `true`, the
* constructor to which this constructor redirects; otherwise empty.
*/
+ @Id(15)
EntityRef get redirectedConstructor;
/**
@@ -1073,18 +1153,21 @@ abstract class UnlinkedExecutable extends base.SummaryClass {
* 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.
*/
+ @Id(3)
EntityRef get returnType;
/**
* Type parameters of the executable, if any. Empty if support for generic
* method syntax is disabled.
*/
+ @Id(16)
List<UnlinkedTypeParam> get typeParameters;
}
@@ -1121,12 +1204,14 @@ abstract class UnlinkedExportNonPublic extends base.SummaryClass {
/**
* Annotations for this export directive.
*/
+ @Id(3)
List<UnlinkedConst> get annotations;
/**
* Offset of the "export" keyword.
*/
@informative
+ @Id(0)
int get offset;
/**
@@ -1134,6 +1219,7 @@ abstract class UnlinkedExportNonPublic extends base.SummaryClass {
* file.
*/
@informative
+ @Id(1)
int get uriEnd;
/**
@@ -1141,6 +1227,7 @@ abstract class UnlinkedExportNonPublic extends base.SummaryClass {
* the file.
*/
@informative
+ @Id(2)
int get uriOffset;
}
@@ -1152,11 +1239,13 @@ abstract class UnlinkedExportPublic extends base.SummaryClass {
/**
* Combinators contained in this import declaration.
*/
+ @Id(1)
List<UnlinkedCombinator> get combinators;
/**
* URI used in the source code to reference the exported library.
*/
+ @Id(0)
String get uri;
}
@@ -1167,21 +1256,25 @@ abstract class UnlinkedImport extends base.SummaryClass {
/**
* Annotations for this import declaration.
*/
+ @Id(8)
List<UnlinkedConst> get annotations;
/**
* Combinators contained in this import declaration.
*/
+ @Id(4)
List<UnlinkedCombinator> get combinators;
/**
* Indicates whether the import declaration uses the `deferred` keyword.
*/
+ @Id(9)
bool get isDeferred;
/**
* Indicates whether the import declaration is implicit.
*/
+ @Id(5)
bool get isImplicit;
/**
@@ -1189,6 +1282,7 @@ abstract class UnlinkedImport extends base.SummaryClass {
* is true, zero.
*/
@informative
+ @Id(0)
int get offset;
/**
@@ -1196,6 +1290,7 @@ abstract class UnlinkedImport extends base.SummaryClass {
* if there is no prefix.
*/
@informative
+ @Id(6)
int get prefixOffset;
/**
@@ -1204,11 +1299,13 @@ abstract class UnlinkedImport extends base.SummaryClass {
*
* 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.
*/
+ @Id(1)
String get uri;
/**
@@ -1216,6 +1313,7 @@ abstract class UnlinkedImport extends base.SummaryClass {
* file. If [isImplicit] is true, zero.
*/
@informative
+ @Id(2)
int get uriEnd;
/**
@@ -1223,6 +1321,7 @@ abstract class UnlinkedImport extends base.SummaryClass {
* the file. If [isImplicit] is true, zero.
*/
@informative
+ @Id(3)
int get uriOffset;
}
@@ -1233,6 +1332,7 @@ abstract class UnlinkedParam extends base.SummaryClass {
/**
* Annotations for this parameter.
*/
+ @Id(9)
List<UnlinkedConst> get annotations;
/**
@@ -1240,6 +1340,7 @@ abstract class UnlinkedParam extends base.SummaryClass {
* default value. Note that the presence of this expression does not mean
* that it is a valid, check [UnlinkedConst.isInvalid].
*/
+ @Id(7)
UnlinkedConst get defaultValue;
/**
@@ -1253,38 +1354,45 @@ abstract class UnlinkedParam extends base.SummaryClass {
* not specified, they always inherit the static type of the corresponding
* field.
*/
+ @Id(2)
int get inferredTypeSlot;
/**
* Indicates whether this is a function-typed parameter.
*/
+ @Id(5)
bool get isFunctionTyped;
/**
* 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.
*/
+ @Id(4)
UnlinkedParamKind get kind;
/**
* Name of the parameter.
*/
+ @Id(0)
String get name;
/**
* 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.
*/
+ @Id(8)
List<UnlinkedParam> get parameters;
/**
@@ -1292,6 +1400,7 @@ abstract class UnlinkedParam extends base.SummaryClass {
* [isFunctionTyped] is `false`, the declared type. Absent if the type is
* implicit.
*/
+ @Id(3)
EntityRef get type;
}
@@ -1322,6 +1431,7 @@ abstract class UnlinkedPart extends base.SummaryClass {
/**
* Annotations for this part declaration.
*/
+ @Id(2)
List<UnlinkedConst> get annotations;
/**
@@ -1329,6 +1439,7 @@ abstract class UnlinkedPart extends base.SummaryClass {
* file.
*/
@informative
+ @Id(0)
int get uriEnd;
/**
@@ -1336,6 +1447,7 @@ abstract class UnlinkedPart extends base.SummaryClass {
* the file.
*/
@informative
+ @Id(1)
int get uriOffset;
}
@@ -1351,6 +1463,7 @@ abstract class UnlinkedPublicName extends base.SummaryClass {
/**
* The kind of object referred to by the name.
*/
+ @Id(1)
ReferenceKind get kind;
/**
@@ -1361,17 +1474,20 @@ abstract class UnlinkedPublicName extends base.SummaryClass {
* 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.
*/
+ @Id(0)
String get name;
/**
* If the entity being referred to is generic, the number of type parameters
* it accepts. Otherwise zero.
*/
+ @Id(3)
int get numTypeParameters;
}
@@ -1388,6 +1504,7 @@ abstract class UnlinkedPublicNamespace extends base.SummaryClass {
/**
* Export declarations in the compilation unit.
*/
+ @Id(2)
List<UnlinkedExportPublic> get exports;
/**
@@ -1396,11 +1513,13 @@ abstract class UnlinkedPublicNamespace extends base.SummaryClass {
* 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.
*/
+ @Id(1)
List<String> get parts;
}
@@ -1413,6 +1532,7 @@ 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".
*/
+ @Id(0)
String get name;
/**
@@ -1423,6 +1543,7 @@ abstract class UnlinkedReference extends base.SummaryClass {
* UnlinkedUnit.references[i].prefixReference != 0, then
* UnlinkedUnit.references[i].prefixReference < i.
*/
+ @Id(1)
int get prefixReference;
}
@@ -1433,6 +1554,7 @@ abstract class UnlinkedTypedef extends base.SummaryClass {
/**
* Annotations for this typedef.
*/
+ @Id(4)
List<UnlinkedConst> get annotations;
/**
@@ -1440,32 +1562,38 @@ abstract class UnlinkedTypedef extends base.SummaryClass {
* documentation comment.
*/
@informative
+ @Id(6)
UnlinkedDocumentationComment get documentationComment;
/**
* Name of the typedef.
*/
+ @Id(0)
String get name;
/**
* Offset of the typedef name relative to the beginning of the file.
*/
@informative
+ @Id(1)
int get nameOffset;
/**
* Parameters of the executable, if any.
*/
+ @Id(3)
List<UnlinkedParam> get parameters;
/**
* Return type of the typedef.
*/
+ @Id(2)
EntityRef get returnType;
/**
* Type parameters of the typedef, if any.
*/
+ @Id(5)
List<UnlinkedTypeParam> get typeParameters;
}
@@ -1476,23 +1604,27 @@ abstract class UnlinkedTypeParam extends base.SummaryClass {
/**
* Annotations for this type parameter.
*/
+ @Id(3)
List<UnlinkedConst> get annotations;
/**
* Bound of the type parameter, if a bound is explicitly declared. Otherwise
* null.
*/
+ @Id(2)
EntityRef get bound;
/**
* Name of the type parameter.
*/
+ @Id(0)
String get name;
/**
* Offset of the type parameter name relative to the beginning of the file.
*/
@informative
+ @Id(1)
int get nameOffset;
}
@@ -1507,33 +1639,39 @@ abstract class UnlinkedUnit extends base.SummaryClass {
/**
* Classes declared in the compilation unit.
*/
+ @Id(2)
List<UnlinkedClass> get classes;
/**
* 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.
*/
+ @Id(4)
List<UnlinkedExecutable> get executables;
/**
* Export declarations in the compilation unit.
*/
+ @Id(13)
List<UnlinkedExportNonPublic> get exports;
/**
* Import declarations in the compilation unit.
*/
+ @Id(5)
List<UnlinkedImport> get imports;
/**
* Annotations for the library declaration, or the empty list if there is no
* library declaration.
*/
+ @Id(14)
List<UnlinkedConst> get libraryAnnotations;
/**
@@ -1541,11 +1679,13 @@ abstract class UnlinkedUnit extends base.SummaryClass {
* documentation comment.
*/
@informative
+ @Id(9)
UnlinkedDocumentationComment get libraryDocumentationComment;
/**
* Name of the library (from a "library" declaration, if present).
*/
+ @Id(6)
String get libraryName;
/**
@@ -1553,6 +1693,7 @@ abstract class UnlinkedUnit extends base.SummaryClass {
* library has no name).
*/
@informative
+ @Id(7)
int get libraryNameLength;
/**
@@ -1560,16 +1701,19 @@ abstract class UnlinkedUnit extends base.SummaryClass {
* the library has no name).
*/
@informative
+ @Id(8)
int get libraryNameOffset;
/**
* Part declarations in the compilation unit.
*/
+ @Id(11)
List<UnlinkedPart> get parts;
/**
* Unlinked public namespace of this compilation unit.
*/
+ @Id(0)
UnlinkedPublicNamespace get publicNamespace;
/**
@@ -1579,16 +1723,19 @@ abstract class UnlinkedUnit extends base.SummaryClass {
* example [UnlinkedReference.prefixReference or
* UnlinkedImport.prefixReference]).
*/
+ @Id(1)
List<UnlinkedReference> get references;
/**
* Typedefs declared in the compilation unit.
*/
+ @Id(10)
List<UnlinkedTypedef> get typedefs;
/**
* Top level variables declared in the compilation unit.
*/
+ @Id(3)
List<UnlinkedVariable> get variables;
}
@@ -1600,6 +1747,7 @@ abstract class UnlinkedVariable extends base.SummaryClass {
/**
* Annotations for this variable.
*/
+ @Id(8)
List<UnlinkedConst> get annotations;
/**
@@ -1607,6 +1755,7 @@ abstract class UnlinkedVariable extends base.SummaryClass {
* expression in the initializer. Note that the presence of this expression
* does not mean that it is a valid, check [UnlinkedConst.isInvalid].
*/
+ @Id(5)
UnlinkedConst get constExpr;
/**
@@ -1614,6 +1763,7 @@ abstract class UnlinkedVariable extends base.SummaryClass {
* documentation comment.
*/
@informative
+ @Id(10)
UnlinkedDocumentationComment get documentationComment;
/**
@@ -1622,16 +1772,19 @@ abstract class UnlinkedVariable extends base.SummaryClass {
* 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;
/**
* Indicates whether the variable is declared using the `const` keyword.
*/
+ @Id(6)
bool get isConst;
/**
* Indicates whether the variable is declared using the `final` keyword.
*/
+ @Id(7)
bool get isFinal;
/**
@@ -1641,17 +1794,20 @@ abstract class UnlinkedVariable extends base.SummaryClass {
* declared using the `static` keyword (even though they are considered
* static for semantic purposes).
*/
+ @Id(4)
bool get isStatic;
/**
* Name of the variable.
*/
+ @Id(0)
String get name;
/**
* Offset of the variable name relative to the beginning of the file.
*/
@informative
+ @Id(1)
int get nameOffset;
/**
@@ -1662,10 +1818,12 @@ abstract class UnlinkedVariable extends base.SummaryClass {
*
* Non-propagable variables have a [propagatedTypeSlot] of zero.
*/
+ @Id(2)
int get propagatedTypeSlot;
/**
* Declared type of the variable. Absent if the type is implicit.
*/
+ @Id(3)
EntityRef get type;
}
« no previous file with comments | « pkg/analyzer/lib/src/summary/format.dart ('k') | pkg/analyzer/tool/summary/generate.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698