Skip to content

Commit 25a479b

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Remove V1 CompilationUnitElement.
Change-Id: I9efdbd57bfabab0f7830a3e765e81da5cd4afc15 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/423423 Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 5404357 commit 25a479b

File tree

8 files changed

+28
-120
lines changed

8 files changed

+28
-120
lines changed

pkg/analyzer/api.txt

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2971,16 +2971,6 @@ package:analyzer/dart/element/element.dart:
29712971
new (constructor: ClassMemberElement Function())
29722972
enclosingElement3 (getter: Element)
29732973
isStatic (getter: bool)
2974-
CompilationUnitElement (class extends Object implements UriReferencedElement, deprecated):
2975-
new (constructor: CompilationUnitElement Function())
2976-
enclosingElement3 (getter: CompilationUnitElement?)
2977-
libraryExports (getter: List<LibraryExportElement>)
2978-
libraryImportPrefixes (getter: List<PrefixElement>)
2979-
libraryImports (getter: List<LibraryImportElement>)
2980-
lineInfo (getter: LineInfo)
2981-
parts (getter: List<PartElement>)
2982-
scope (getter: Scope)
2983-
session (getter: AnalysisSession)
29842974
DeferredImportElementPrefix (class extends Object implements ImportElementPrefix, deprecated):
29852975
new (constructor: DeferredImportElementPrefix Function())
29862976
DirectiveUri (class extends Object):
@@ -3001,7 +2991,6 @@ package:analyzer/dart/element/element.dart:
30012991
DirectiveUriWithUnit (class extends DirectiveUriWithSource):
30022992
new (constructor: DirectiveUriWithUnit Function())
30032993
libraryFragment (getter: LibraryFragment, experimental)
3004-
unit (getter: CompilationUnitElement, deprecated)
30052994
Element (class extends Object implements AnalysisTarget, deprecated):
30062995
new (constructor: Element Function())
30072996
context (getter: AnalysisContext@2)
@@ -3149,7 +3138,6 @@ package:analyzer/dart/element/element.dart:
31493138
element (getter: PrefixElement)
31503139
LibraryElement (class extends Object implements _ExistingElement, deprecated):
31513140
new (constructor: LibraryElement Function())
3152-
definingCompilationUnit (getter: CompilationUnitElement, deprecated)
31533141
enclosingElement3 (getter: Null)
31543142
exportNamespace (getter: Namespace)
31553143
exportedLibraries (getter: List<LibraryElement>)
@@ -3167,18 +3155,15 @@ package:analyzer/dart/element/element.dart:
31673155
topLevelElements (getter: Iterable<Element>)
31683156
typeProvider (getter: TypeProvider)
31693157
typeSystem (getter: TypeSystem)
3170-
units (getter: List<CompilationUnitElement>, deprecated)
31713158
LibraryExportElement (class extends Object implements _ExistingElement, deprecated):
31723159
new (constructor: LibraryExportElement Function())
31733160
combinators (getter: List<NamespaceCombinator>)
3174-
enclosingElement3 (getter: CompilationUnitElement, deprecated)
31753161
exportKeywordOffset (getter: int)
31763162
exportedLibrary (getter: LibraryElement?)
31773163
uri (getter: DirectiveUri)
31783164
LibraryImportElement (class extends Object implements _ExistingElement, deprecated):
31793165
new (constructor: LibraryImportElement Function())
31803166
combinators (getter: List<NamespaceCombinator>)
3181-
enclosingElement3 (getter: CompilationUnitElement, deprecated)
31823167
importKeywordOffset (getter: int)
31833168
importedLibrary (getter: LibraryElement?)
31843169
namespace (getter: Namespace)
@@ -3224,7 +3209,6 @@ package:analyzer/dart/element/element.dart:
32243209
uri (getter: DirectiveUri)
32253210
PrefixElement (class extends Object implements _ExistingElement, deprecated):
32263211
new (constructor: PrefixElement Function())
3227-
enclosingElement3 (getter: CompilationUnitElement, deprecated)
32283212
imports (getter: List<LibraryImportElement>)
32293213
name (getter: String)
32303214
scope (getter: Scope)

pkg/analyzer/lib/dart/element/element.dart

Lines changed: 0 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ import 'package:analyzer/dart/element/type.dart';
4747
import 'package:analyzer/dart/element/type_provider.dart';
4848
import 'package:analyzer/dart/element/type_system.dart';
4949
import 'package:analyzer/error/error.dart';
50-
import 'package:analyzer/source/line_info.dart';
5150
import 'package:analyzer/source/source.dart';
5251
import 'package:analyzer/src/dart/constant/evaluation.dart';
5352
import 'package:analyzer/src/dart/element/element.dart'
@@ -84,43 +83,6 @@ abstract class ClassMemberElement implements Element {
8483
bool get isStatic;
8584
}
8685

87-
/// An element representing a compilation unit.
88-
///
89-
/// Clients may not extend, implement or mix-in this class.
90-
@Deprecated(elementModelDeprecationMsg)
91-
abstract class CompilationUnitElement implements UriReferencedElement {
92-
/// The [CompilationUnitElement] that uses `part` directive to include this
93-
/// element, or `null` if this element is the defining unit of the library.
94-
@override
95-
CompilationUnitElement? get enclosingElement3;
96-
97-
/// The libraries exported by this unit.
98-
List<LibraryExportElement> get libraryExports;
99-
100-
/// The prefixes used by [libraryImports].
101-
///
102-
/// Each prefix can be used in more than one `import` directive.
103-
List<PrefixElement> get libraryImportPrefixes;
104-
105-
/// The libraries imported by this unit.
106-
List<LibraryImportElement> get libraryImports;
107-
108-
/// The [LineInfo] for the [source].
109-
LineInfo get lineInfo;
110-
111-
/// The parts included by this unit.
112-
List<PartElement> get parts;
113-
114-
/// The scope used to resolve names within this compilation unit.
115-
///
116-
/// It includes all of the elements that are declared in the library, and all
117-
/// of the elements imported into this unit or parent units.
118-
Scope get scope;
119-
120-
@override
121-
AnalysisSession get session;
122-
}
123-
12486
/// [ImportElementPrefix] that is used together with `deferred`.
12587
///
12688
/// Clients may not extend, implement or mix-in this class.
@@ -176,10 +138,6 @@ abstract class DirectiveUriWithUnit extends DirectiveUriWithSource {
176138
/// The library fragment referenced by the [source].
177139
@experimental
178140
LibraryFragment get libraryFragment;
179-
180-
/// The unit referenced by the [source].
181-
@Deprecated('Use libraryFragment instead')
182-
CompilationUnitElement get unit;
183141
}
184142

185143
/// The base class for all of the elements in the element model. Generally
@@ -816,10 +774,6 @@ abstract class ImportElementPrefix {
816774
/// Clients may not extend, implement or mix-in this class.
817775
@Deprecated('Use LibraryElement2 instead')
818776
abstract class LibraryElement implements _ExistingElement {
819-
/// The compilation unit that defines this library.
820-
@Deprecated(elementModelDeprecationMsg)
821-
CompilationUnitElement get definingCompilationUnit;
822-
823777
/// Returns `null`, because libraries are the top-level elements in the model.
824778
@override
825779
Null get enclosingElement3;
@@ -883,13 +837,6 @@ abstract class LibraryElement implements _ExistingElement {
883837

884838
/// The [TypeSystem] that is used in this library.
885839
TypeSystem get typeSystem;
886-
887-
/// The compilation units this library consists of.
888-
///
889-
/// This includes the defining compilation unit and units included using the
890-
/// `part` directive.
891-
@Deprecated(elementModelDeprecationMsg)
892-
List<CompilationUnitElement> get units;
893840
}
894841

895842
/// A single export directive within a library.
@@ -901,10 +848,6 @@ abstract class LibraryExportElement implements _ExistingElement {
901848
/// the order in which they were specified.
902849
List<NamespaceCombinator> get combinators;
903850

904-
@Deprecated(elementModelDeprecationMsg)
905-
@override
906-
CompilationUnitElement get enclosingElement3;
907-
908851
/// The [LibraryElement], if [uri] is a [DirectiveUriWithLibrary].
909852
LibraryElement? get exportedLibrary;
910853

@@ -924,10 +867,6 @@ abstract class LibraryImportElement implements _ExistingElement {
924867
/// the order in which they were specified.
925868
List<NamespaceCombinator> get combinators;
926869

927-
@Deprecated(elementModelDeprecationMsg)
928-
@override
929-
CompilationUnitElement get enclosingElement3;
930-
931870
/// The [LibraryElement], if [uri] is a [DirectiveUriWithLibrary].
932871
LibraryElement? get importedLibrary;
933872

@@ -1109,10 +1048,6 @@ abstract class PartElement implements _ExistingElement {
11091048
/// Clients may not extend, implement or mix-in this class.
11101049
@Deprecated('Use PrefixElement2 instead')
11111050
abstract class PrefixElement implements _ExistingElement {
1112-
@Deprecated(elementModelDeprecationMsg)
1113-
@override
1114-
CompilationUnitElement get enclosingElement3;
1115-
11161051
/// The imports that share this prefix.
11171052
List<LibraryImportElement> get imports;
11181053

pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ class LibraryAnalyzer {
266266
if (directive is PartDirectiveImpl) {
267267
var uri = directive.partInclude?.uri;
268268
if (uri is DirectiveUriWithUnitImpl) {
269-
var partUnit = elementToUnit[uri.unit];
269+
var partUnit = elementToUnit[uri.libraryFragment];
270270
if (partUnit != null) {
271271
var shouldReport = false;
272272
var partOverrideToken = partUnit.languageVersionToken;
@@ -1102,7 +1102,7 @@ class LibraryAnalyzer {
11021102
_resolveDirectives(
11031103
enclosingFile: enclosingFile,
11041104
fileKind: includedKind,
1105-
fileElement: partElementUri.unit,
1105+
fileElement: partElementUri.libraryFragment,
11061106
);
11071107
}
11081108

pkg/analyzer/lib/src/dart/element/display_string_builder.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ class ElementDisplayStringBuilder {
433433

434434
void _writeDirectiveUri(DirectiveUri uri) {
435435
if (uri is DirectiveUriWithUnitImpl) {
436-
_write('unit ${uri.unit.source.uri}');
436+
_write('unit ${uri.libraryFragment.source.uri}');
437437
} else if (uri is DirectiveUriWithSourceImpl) {
438438
_write('source ${uri.source}');
439439
} else {

pkg/analyzer/lib/src/dart/element/element.dart

Lines changed: 22 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -688,10 +688,7 @@ abstract class ClassOrMixinElementImpl extends InterfaceElementImpl {
688688

689689
/// A concrete implementation of [LibraryFragment].
690690
class CompilationUnitElementImpl extends UriReferencedElementImpl
691-
implements
692-
// ignore:deprecated_member_use_from_same_package,analyzer_use_new_elements
693-
CompilationUnitElement,
694-
LibraryFragment {
691+
implements LibraryFragment {
695692
/// The source that corresponds to this compilation unit.
696693
@override
697694
final Source source;
@@ -914,7 +911,7 @@ class CompilationUnitElementImpl extends UriReferencedElementImpl
914911
@override
915912
ElementKind get kind => ElementKind.COMPILATION_UNIT;
916913

917-
@override
914+
/// The libraries exported by this unit.
918915
List<LibraryExportElementImpl> get libraryExports {
919916
linkedData?.read(this);
920917
return _libraryExports;
@@ -938,12 +935,14 @@ class CompilationUnitElementImpl extends UriReferencedElementImpl
938935
@override
939936
LibraryFragment get libraryFragment => this;
940937

941-
@override
938+
/// The prefixes used by [libraryImports].
939+
///
940+
/// Each prefix can be used in more than one `import` directive.
942941
List<PrefixElementImpl> get libraryImportPrefixes {
943942
return _libraryImportPrefixes ??= _buildLibraryImportPrefixes();
944943
}
945944

946-
@override
945+
/// The libraries imported by this unit.
947946
List<LibraryImportElementImpl> get libraryImports {
948947
linkedData?.read(this);
949948
return _libraryImports;
@@ -1018,15 +1017,15 @@ class CompilationUnitElementImpl extends UriReferencedElementImpl
10181017
@override
10191018
List<PartInclude> get partIncludes => parts.cast<PartInclude>();
10201019

1021-
@override
1020+
/// The parts included by this unit.
10221021
List<PartElementImpl> get parts => _parts;
10231022

10241023
set parts(List<PartElementImpl> parts) {
10251024
for (var part in parts) {
10261025
part.enclosingElement3 = this;
10271026
var uri = part.uri;
10281027
if (uri is DirectiveUriWithUnitImpl) {
1029-
uri.unit.enclosingElement3 = this;
1028+
uri.libraryFragment.enclosingElement3 = this;
10301029
}
10311030
}
10321031
_parts = parts;
@@ -1907,19 +1906,16 @@ class DirectiveUriWithSourceImpl extends DirectiveUriWithRelativeUriImpl
19071906
class DirectiveUriWithUnitImpl extends DirectiveUriWithRelativeUriImpl
19081907
implements DirectiveUriWithUnit {
19091908
@override
1910-
final CompilationUnitElementImpl unit;
1909+
final CompilationUnitElementImpl libraryFragment;
19111910

19121911
DirectiveUriWithUnitImpl({
19131912
required super.relativeUriString,
19141913
required super.relativeUri,
1915-
required this.unit,
1914+
required this.libraryFragment,
19161915
});
19171916

19181917
@override
1919-
CompilationUnitElementImpl get libraryFragment => unit;
1920-
1921-
@override
1922-
Source get source => unit.source;
1918+
Source get source => libraryFragment.source;
19231919
}
19241920

19251921
/// The synthetic element representing the declaration of the type `dynamic`.
@@ -6568,7 +6564,7 @@ class LibraryElementImpl extends ElementImpl
65686564
AnalysisSessionImpl session;
65696565

65706566
/// The compilation unit that defines this library.
6571-
late CompilationUnitElementImpl _definingCompilationUnit;
6567+
late CompilationUnitElementImpl definingCompilationUnit;
65726568

65736569
/// The language version for the library.
65746570
LibraryLanguageVersion? _languageVersion;
@@ -6672,16 +6668,6 @@ class LibraryElementImpl extends ElementImpl
66726668
];
66736669
}
66746670

6675-
@override
6676-
CompilationUnitElementImpl get definingCompilationUnit =>
6677-
_definingCompilationUnit;
6678-
6679-
/// Set the compilation unit that defines this library to the given
6680-
/// compilation[unit].
6681-
set definingCompilationUnit(CompilationUnitElementImpl unit) {
6682-
_definingCompilationUnit = unit;
6683-
}
6684-
66856671
@override
66866672
Null get enclosingElement2 => null;
66876673

@@ -6690,7 +6676,7 @@ class LibraryElementImpl extends ElementImpl
66906676

66916677
@override
66926678
CompilationUnitElementImpl get enclosingUnit {
6693-
return _definingCompilationUnit;
6679+
return definingCompilationUnit;
66946680
}
66956681

66966682
@override
@@ -6765,7 +6751,7 @@ class LibraryElementImpl extends ElementImpl
67656751
@override
67666752
List<CompilationUnitElementImpl> get fragments {
67676753
return [
6768-
_definingCompilationUnit,
6754+
definingCompilationUnit,
67696755
..._partUnits,
67706756
];
67716757
}
@@ -6790,7 +6776,7 @@ class LibraryElementImpl extends ElementImpl
67906776
}
67916777

67926778
@override
6793-
String get identifier => '${_definingCompilationUnit.source.uri}';
6779+
String get identifier => '${definingCompilationUnit.source.uri}';
67946780

67956781
@override
67966782
List<LibraryElementImpl> get importedLibraries {
@@ -6890,7 +6876,7 @@ class LibraryElementImpl extends ElementImpl
68906876

68916877
@override
68926878
Source get source {
6893-
return _definingCompilationUnit.source;
6879+
return definingCompilationUnit.source;
68946880
}
68956881

68966882
@override
@@ -6908,10 +6894,13 @@ class LibraryElementImpl extends ElementImpl
69086894
}
69096895
}
69106896

6911-
@override
6897+
/// The compilation units this library consists of.
6898+
///
6899+
/// This includes the defining compilation unit and units included using the
6900+
/// `part` directive.
69126901
List<CompilationUnitElementImpl> get units {
69136902
return [
6914-
_definingCompilationUnit,
6903+
definingCompilationUnit,
69156904
..._partUnits,
69166905
];
69176906
}
@@ -6925,7 +6914,7 @@ class LibraryElementImpl extends ElementImpl
69256914
void visitParts(CompilationUnitElementImpl unit) {
69266915
for (var part in unit.parts) {
69276916
if (part.uri case DirectiveUriWithUnitImpl uri) {
6928-
var unit = uri.unit;
6917+
var unit = uri.libraryFragment;
69296918
result.add(unit);
69306919
visitParts(unit);
69316920
}

pkg/analyzer/lib/src/summary2/bundle_reader.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -842,7 +842,7 @@ class LibraryReader {
842842
return DirectiveUriWithUnitImpl(
843843
relativeUriString: parent.relativeUriString,
844844
relativeUri: parent.relativeUri,
845-
unit: unitElement,
845+
libraryFragment: unitElement,
846846
);
847847
case DirectiveUriKind.withSource:
848848
return readWithSource();

pkg/analyzer/lib/src/summary2/bundle_writer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ class BundleWriter {
196196
} else if (element is DirectiveUriWithUnitImpl) {
197197
_sink.writeByte(DirectiveUriKind.withUnit.index);
198198
writeWithSource(element);
199-
_writeUnitElement(element.unit);
199+
_writeUnitElement(element.libraryFragment);
200200
} else if (element is DirectiveUriWithSource) {
201201
_sink.writeByte(DirectiveUriKind.withSource.index);
202202
writeWithSource(element);

0 commit comments

Comments
 (0)