Skip to content

Commit 86e8e24

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Write directives text.
Change-Id: I5f7a0f039c2118f943c72b541b1571139695caf5 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/425983 Reviewed-by: Paul Berry <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 24261bd commit 86e8e24

File tree

10 files changed

+495
-4
lines changed

10 files changed

+495
-4
lines changed

pkg/analyzer/test/src/summary/element_text.dart

Lines changed: 50 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1281,6 +1281,18 @@ class _Element2Writer extends _AbstractElementWriter {
12811281
});
12821282
}
12831283

1284+
void _writeLibraryExport(LibraryExportElementImpl e) {
1285+
_sink.writeIndentedLine(() {
1286+
_writeDirectiveUri(e.uri);
1287+
});
1288+
1289+
_sink.withIndent(() {
1290+
_writeReference(e);
1291+
_writeMetadata(e.metadata2);
1292+
_writeNamespaceCombinators(e.combinators);
1293+
});
1294+
}
1295+
12841296
void _writeLibraryFragment(LibraryFragmentImpl f) {
12851297
var reference = f.reference!;
12861298
_sink.writeIndentedLine(() {
@@ -1305,9 +1317,8 @@ class _Element2Writer extends _AbstractElementWriter {
13051317
_writeList('libraryImports', imports, _writeLibraryImport);
13061318
}
13071319
_writeElementList('prefixes', f.element, f.prefixes, _writePrefixElement);
1308-
// _writeList(
1309-
// 'libraryExports', f.libraryExports, _writeLibraryExportElement);
1310-
// _writeList('parts', f.parts, _writePartElement);
1320+
_writeList('libraryExports', f.libraryExports, _writeLibraryExport);
1321+
_writeList('parts', f.parts, _writePartInclude);
13111322

13121323
_writeFragmentList('classes', f, f.classes2, _writeInstanceFragment);
13131324
_writeFragmentList('enums', f, f.enums2, _writeInstanceFragment);
@@ -1356,7 +1367,7 @@ class _Element2Writer extends _AbstractElementWriter {
13561367

13571368
_sink.withIndent(() {
13581369
_writeMetadata(e.metadata2);
1359-
// _writeNamespaceCombinators(e.combinators);
1370+
_writeNamespaceCombinators(e.combinators);
13601371
});
13611372
}
13621373

@@ -1478,10 +1489,45 @@ class _Element2Writer extends _AbstractElementWriter {
14781489
});
14791490
}
14801491

1492+
void _writeNamespaceCombinator(NamespaceCombinator e) {
1493+
_sink.writeIndentedLine(() {
1494+
switch (e) {
1495+
case ShowElementCombinator():
1496+
_sink.write('show: ');
1497+
_sink.write(e.shownNames.join(', '));
1498+
case HideElementCombinator():
1499+
_sink.write('hide: ');
1500+
_sink.write(e.hiddenNames.join(', '));
1501+
}
1502+
});
1503+
}
1504+
1505+
void _writeNamespaceCombinators(List<NamespaceCombinator> elements) {
1506+
_writeList('combinators', elements, _writeNamespaceCombinator);
1507+
}
1508+
14811509
void _writeNotSimplyBounded(InterfaceElementImpl2 e) {
14821510
_sink.writeIf(!e.isSimplyBounded, 'notSimplyBounded ');
14831511
}
14841512

1513+
void _writePartInclude(PartElementImpl e) {
1514+
_sink.writelnWithIndent(_idMap[e]);
1515+
1516+
_sink.withIndent(() {
1517+
var uri = e.uri;
1518+
_sink.writeIndentedLine(() {
1519+
_sink.write('uri: ');
1520+
_writeDirectiveUri(e.uri);
1521+
});
1522+
1523+
_writeMetadata(e.metadata2);
1524+
1525+
if (uri is DirectiveUriWithUnitImpl) {
1526+
_elementPrinter.writeNamedFragment('unit', uri.libraryFragment);
1527+
}
1528+
});
1529+
}
1530+
14851531
void _writePrefixElement(PrefixElementImpl2 e) {
14861532
_sink.writeIndent();
14871533
_elementPrinter.writeElement2(e);

pkg/analyzer/test/src/summary/elements/class_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9558,6 +9558,10 @@ library
95589558
<testLibraryFragment> (offset=8)
95599559
element: <testLibrary>
95609560
nextFragment: <testLibrary>::@fragment::package:test/a.dart
9561+
parts
9562+
part_0
9563+
uri: package:test/a.dart
9564+
unit: <testLibrary>::@fragment::package:test/a.dart
95619565
classes
95629566
class C @34
95639567
reference: <testLibraryFragment>::@class::C

0 commit comments

Comments
 (0)