Chromium Code Reviews| Index: pkg/analyzer/tool/summary/idl.dart |
| diff --git a/pkg/analyzer/tool/summary/idl.dart b/pkg/analyzer/tool/summary/idl.dart |
| index 39e7a4a8aff9f1c79c4fd1cfc30cda706574e4fa..6f63532ea56af7de46d6377af4d356cb287d015f 100644 |
| --- a/pkg/analyzer/tool/summary/idl.dart |
| +++ b/pkg/analyzer/tool/summary/idl.dart |
| @@ -84,6 +84,37 @@ class PrelinkedDependency { |
| } |
| /** |
| + * Information about a single name in the export namespace of the library that |
| + * is not in the public namespace. |
| + */ |
| +class PrelinkedExportName { |
| + /** |
| + * Name of the exported entity. TODO(paulberry): do we include the trailing |
| + * '=' for a setter? |
| + */ |
| + String name; |
| + |
| + /** |
| + * Index into [PrelinkedLibrary.dependencies] for the library in which the |
| + * entity is defined. |
| + */ |
| + int dependency; |
| + |
| + /** |
| + * Integer index indicating which unit in the imported library contains the |
|
scheglov
2016/01/13 20:59:35
"in the exported library"?
Paul Berry
2016/01/13 21:15:24
Done.
|
| + * definition of the entity. As with indices into [PrelinkedLibrary.units], |
| + * zero represents the defining compilation unit, and nonzero values |
| + * represent parts in the order of the corresponding `part` declarations. |
| + */ |
| + int unit; |
| + |
| + /** |
| + * The kind of the entity being referred to. |
| + */ |
| + PrelinkedReferenceKind kind; |
| +} |
| + |
| +/** |
| * Pre-linked summary of a library. |
| */ |
| @topLevel |
| @@ -115,6 +146,15 @@ class PrelinkedLibrary { |
| * well, since there will effectively be a one-to-one mapping. |
| */ |
| List<int> importDependencies; |
| + |
| + /** |
| + * 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. |
| + */ |
| + List<PrelinkedExportName> exportNames; |
| } |
| /** |
| @@ -164,9 +204,14 @@ enum PrelinkedReferenceKind { |
| typedef, |
| /** |
| - * The entity is a variable or executable. |
| + * The entity is a top level function. |
| + */ |
| + topLevelFunction, |
| + |
| + /** |
| + * The entity is a top level getter or setter. |
| */ |
| - other, |
| + topLevelPropertyAccessor, |
| /** |
| * The entity is a prefix. |