Make export/import combinators required parameters.

Change-Id: Ie1e4655f6612e55951cda3ce21a49e0449ddd97e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/252041
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
Konstantin Shcheglov 2022-07-19 21:48:04 +00:00 committed by Commit Bot
parent 017401cb35
commit c19ab3751a
5 changed files with 27 additions and 32 deletions

View file

@ -85,7 +85,7 @@ import 'package:analyzer/src/util/performance/operation_performance.dart';
/// TODO(scheglov) Clean up the list of implicitly analyzed files.
class AnalysisDriver implements AnalysisDriverGeneric {
/// The version of data format, should be incremented on every format change.
static const int DATA_VERSION = 236;
static const int DATA_VERSION = 237;
/// The number of exception contexts allowed to write. Once this field is
/// zero, we stop writing any new exception contexts in this process.

View file

@ -4387,7 +4387,7 @@ class LibraryElementImpl extends LibraryOrAugmentationElementImpl
class LibraryExportElementImpl extends _ExistingElementImpl
implements LibraryExportElement {
@override
List<NamespaceCombinator> combinators = const [];
final List<NamespaceCombinator> combinators;
@override
final int exportKeywordOffset;
@ -4396,6 +4396,7 @@ class LibraryExportElementImpl extends _ExistingElementImpl
final DirectiveUri uri;
LibraryExportElementImpl({
required this.combinators,
required this.exportKeywordOffset,
required this.uri,
}) : super(null, exportKeywordOffset);
@ -4434,7 +4435,7 @@ class LibraryExportElementImpl extends _ExistingElementImpl
class LibraryImportElementImpl extends _ExistingElementImpl
implements LibraryImportElement {
@override
List<NamespaceCombinator> combinators = const [];
final List<NamespaceCombinator> combinators;
@override
final int importKeywordOffset;
@ -4448,6 +4449,7 @@ class LibraryImportElementImpl extends _ExistingElementImpl
Namespace? _namespace;
LibraryImportElementImpl({
required this.combinators,
required this.importKeywordOffset,
required this.prefix,
required this.uri,

View file

@ -824,17 +824,13 @@ class LibraryReader {
LibraryExportElementImpl _readExportElement({
required LibraryOrAugmentationElementImpl container,
}) {
final uri = _readDirectiveUri(
container: container,
);
// TODO(scheglov) pass to the constructor
final combinators = _reader.readTypedList(_readNamespaceCombinator);
final element = LibraryExportElementImpl(
return LibraryExportElementImpl(
combinators: _reader.readTypedList(_readNamespaceCombinator),
exportKeywordOffset: -1,
uri: uri,
)..combinators = combinators;
return element;
uri: _readDirectiveUri(
container: container,
),
);
}
ExportLocation _readExportLocation() {
@ -986,19 +982,16 @@ class LibraryReader {
LibraryImportElementImpl _readImportElement({
required LibraryOrAugmentationElementImpl container,
}) {
final uri = _readDirectiveUri(
container: container,
);
final prefix = _readImportElementPrefix(
container: container,
);
final combinators = _reader.readTypedList(_readNamespaceCombinator);
final element = LibraryImportElementImpl(
combinators: _reader.readTypedList(_readNamespaceCombinator),
importKeywordOffset: -1,
uri: uri,
prefix: prefix,
)..combinators = combinators;
prefix: _readImportElementPrefix(
container: container,
),
uri: _readDirectiveUri(
container: container,
),
);
ImportElementFlags.read(_reader, element);
return element;
}

View file

@ -274,8 +274,8 @@ class BundleWriter {
void _writeExportElement(LibraryExportElement element) {
element as LibraryExportElementImpl;
_resolutionSink._writeAnnotationList(element.metadata);
_writeDirectiveUri(element.uri);
_sink.writeList(element.combinators, _writeNamespaceCombinator);
_writeDirectiveUri(element.uri);
}
void _writeExportLocation(ExportLocation location) {
@ -342,9 +342,9 @@ class BundleWriter {
void _writeImportElement(LibraryImportElement element) {
element as LibraryImportElementImpl;
_resolutionSink._writeAnnotationList(element.metadata);
_writeDirectiveUri(element.uri);
_writeImportElementPrefix(element.prefix);
_sink.writeList(element.combinators, _writeNamespaceCombinator);
_writeImportElementPrefix(element.prefix);
_writeDirectiveUri(element.uri);
ImportElementFlags.write(_sink, element);
}

View file

@ -615,9 +615,10 @@ class LibraryBuilder {
}
return LibraryExportElementImpl(
combinators: combinators,
exportKeywordOffset: state.unlinked.exportKeywordOffset,
uri: uri,
)..combinators = combinators;
);
}
LibraryImportElementImpl _buildImport({
@ -702,12 +703,11 @@ class LibraryBuilder {
}
return LibraryImportElementImpl(
combinators: combinators,
importKeywordOffset: state.unlinked.importKeywordOffset,
uri: uri,
prefix: importPrefix,
)
..combinators = combinators
..isSynthetic = state.isSyntheticDartCore;
uri: uri,
)..isSynthetic = state.isSyntheticDartCore;
}
PrefixElementImpl _buildPrefix({