| Index: pkg/analyzer/tool/summary/idl.dart
|
| diff --git a/pkg/analyzer/tool/summary/idl.dart b/pkg/analyzer/tool/summary/idl.dart
|
| index 0eb13f6b485fdefec3a45bdffaabed2ab21f22e1..37b9341e3710f8b1db3b18c02533f74000482e88 100644
|
| --- a/pkg/analyzer/tool/summary/idl.dart
|
| +++ b/pkg/analyzer/tool/summary/idl.dart
|
| @@ -108,6 +108,30 @@ class EntityRef {
|
| int paramReference;
|
|
|
| /**
|
| + * 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.
|
| + */
|
| + List<int> implicitFunctionTypeIndices;
|
| +
|
| + /**
|
| * If this is an instantiation of a generic type or generic executable, the
|
| * type arguments used to instantiate it. Trailing type arguments of type
|
| * `dynamic` are omitted.
|
| @@ -228,6 +252,9 @@ class LinkedReference {
|
| /**
|
| * 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).
|
| */
|
| int dependency;
|
|
|
| @@ -242,6 +269,9 @@ class LinkedReference {
|
| * 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).
|
| */
|
| int unit;
|
|
|
| @@ -257,6 +287,19 @@ class LinkedReference {
|
| * string is "dynamic". For the pseudo-type `void`, the string is "void".
|
| */
|
| String name;
|
| +
|
| + /**
|
| + * 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.
|
| + */
|
| + int containingReference;
|
| }
|
|
|
| /**
|
|
|