Skip to content

Commit a1e234e

Browse files
authored
Elements. Migrate lib/src/model/model_element.dart (#3988)
1 parent b4242c7 commit a1e234e

10 files changed

+291
-248
lines changed

lib/src/element_type.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ mixin Aliased implements ElementType {
214214
bool get isTypedef => true;
215215

216216
late final ModelElement aliasElement =
217-
ModelElement.forElement2(typeAliasElement2, packageGraph);
217+
ModelElement.forElement(typeAliasElement2, packageGraph);
218218

219219
late final List<ElementType> aliasArguments = type.alias!.typeArguments
220220
.map((f) => getTypeFor(f, library))
@@ -322,7 +322,7 @@ abstract class DefinedElementType extends ElementType {
322322
@internal
323323
@override
324324
CommentReferable get definingCommentReferable =>
325-
ModelElement.forElement2(modelElement.element2, packageGraph);
325+
ModelElement.forElement(modelElement.element2, packageGraph);
326326
}
327327

328328
/// Any callable [ElementType] will mix-in this class, whether anonymous or not,

lib/src/generator/templates.runtime_renderers.dart

+132-83
Original file line numberDiff line numberDiff line change
@@ -3505,6 +3505,34 @@ class _Renderer_Constructor extends RendererBase<Constructor> {
35053505
);
35063506
},
35073507
),
3508+
'element2': Property(
3509+
getValue: (CT_ c) => c.element2,
3510+
renderVariable:
3511+
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
3512+
self.renderSimpleVariable(
3513+
c,
3514+
remainingNames,
3515+
'ConstructorElement2',
3516+
),
3517+
3518+
isNullValue: (CT_ c) => false,
3519+
3520+
renderValue: (
3521+
CT_ c,
3522+
RendererBase<CT_> r,
3523+
List<MustachioNode> ast,
3524+
StringSink sink,
3525+
) {
3526+
renderSimple(
3527+
c.element2,
3528+
ast,
3529+
r.template,
3530+
sink,
3531+
parent: r,
3532+
getters: _invisibleGetters['ConstructorElement2']!,
3533+
);
3534+
},
3535+
),
35083536
'enclosingElement': Property(
35093537
getValue: (CT_ c) => c.enclosingElement,
35103538
renderVariable: (
@@ -13345,34 +13373,6 @@ class _Renderer_Library extends RendererBase<Library> {
1334513373
);
1334613374
},
1334713375
),
13348-
'compilationUnitElement': Property(
13349-
getValue: (CT_ c) => c.compilationUnitElement,
13350-
renderVariable:
13351-
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
13352-
self.renderSimpleVariable(
13353-
c,
13354-
remainingNames,
13355-
'CompilationUnitElement',
13356-
),
13357-
13358-
isNullValue: (CT_ c) => false,
13359-
13360-
renderValue: (
13361-
CT_ c,
13362-
RendererBase<CT_> r,
13363-
List<MustachioNode> ast,
13364-
StringSink sink,
13365-
) {
13366-
renderSimple(
13367-
c.compilationUnitElement,
13368-
ast,
13369-
r.template,
13370-
sink,
13371-
parent: r,
13372-
getters: _invisibleGetters['CompilationUnitElement']!,
13373-
);
13374-
},
13375-
),
1337613376
'constants': Property(
1337713377
getValue: (CT_ c) => c.constants,
1337813378
renderVariable:
@@ -14212,6 +14212,34 @@ class _Renderer_Library extends RendererBase<Library> {
1421214212
);
1421314213
},
1421414214
),
14215+
'unitElement': Property(
14216+
getValue: (CT_ c) => c.unitElement,
14217+
renderVariable:
14218+
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
14219+
self.renderSimpleVariable(
14220+
c,
14221+
remainingNames,
14222+
'LibraryFragment',
14223+
),
14224+
14225+
isNullValue: (CT_ c) => false,
14226+
14227+
renderValue: (
14228+
CT_ c,
14229+
RendererBase<CT_> r,
14230+
List<MustachioNode> ast,
14231+
StringSink sink,
14232+
) {
14233+
renderSimple(
14234+
c.unitElement,
14235+
ast,
14236+
r.template,
14237+
sink,
14238+
parent: r,
14239+
getters: _invisibleGetters['LibraryFragment']!,
14240+
);
14241+
},
14242+
),
1421514243
},
1421614244
)
1421714245
as Map<String, Property<CT_>>;
@@ -14411,7 +14439,7 @@ class _Renderer_LibraryContainer extends RendererBase<LibraryContainer> {
1441114439
}
1441214440
}
1441314441

14414-
String renderLibrary(LibraryTemplateData context, Template template) {
14442+
String renderLibraryRedirect(LibraryTemplateData context, Template template) {
1441514443
var buffer = StringBuffer();
1441614444
_render_LibraryTemplateData(context, template.ast, template, buffer);
1441714445
return buffer.toString();
@@ -14657,7 +14685,7 @@ class _Renderer_LibraryTemplateData extends RendererBase<LibraryTemplateData> {
1465714685
}
1465814686
}
1465914687

14660-
String renderLibraryRedirect(LibraryTemplateData context, Template template) {
14688+
String renderLibrary(LibraryTemplateData context, Template template) {
1466114689
var buffer = StringBuffer();
1466214690
_render_LibraryTemplateData(context, template.ast, template, buffer);
1466314691
return buffer.toString();
@@ -16856,34 +16884,6 @@ class _Renderer_ModelElement extends RendererBase<ModelElement> {
1685616884
);
1685716885
},
1685816886
),
16859-
'compilationUnitElement': Property(
16860-
getValue: (CT_ c) => c.compilationUnitElement,
16861-
renderVariable:
16862-
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
16863-
self.renderSimpleVariable(
16864-
c,
16865-
remainingNames,
16866-
'CompilationUnitElement',
16867-
),
16868-
16869-
isNullValue: (CT_ c) => false,
16870-
16871-
renderValue: (
16872-
CT_ c,
16873-
RendererBase<CT_> r,
16874-
List<MustachioNode> ast,
16875-
StringSink sink,
16876-
) {
16877-
renderSimple(
16878-
c.compilationUnitElement,
16879-
ast,
16880-
r.template,
16881-
sink,
16882-
parent: r,
16883-
getters: _invisibleGetters['CompilationUnitElement']!,
16884-
);
16885-
},
16886-
),
1688716887
'config': Property(
1688816888
getValue: (CT_ c) => c.config,
1688916889
renderVariable:
@@ -18013,6 +18013,34 @@ class _Renderer_ModelElement extends RendererBase<ModelElement> {
1801318013
);
1801418014
},
1801518015
),
18016+
'unitElement': Property(
18017+
getValue: (CT_ c) => c.unitElement,
18018+
renderVariable:
18019+
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
18020+
self.renderSimpleVariable(
18021+
c,
18022+
remainingNames,
18023+
'LibraryFragment',
18024+
),
18025+
18026+
isNullValue: (CT_ c) => false,
18027+
18028+
renderValue: (
18029+
CT_ c,
18030+
RendererBase<CT_> r,
18031+
List<MustachioNode> ast,
18032+
StringSink sink,
18033+
) {
18034+
renderSimple(
18035+
c.unitElement,
18036+
ast,
18037+
r.template,
18038+
sink,
18039+
parent: r,
18040+
getters: _invisibleGetters['LibraryFragment']!,
18041+
);
18042+
},
18043+
),
1801618044
},
1801718045
)
1801818046
as Map<String, Property<CT_>>;
@@ -20353,7 +20381,7 @@ class _Renderer_Package extends RendererBase<Package> {
2035320381
}
2035420382
}
2035520383

20356-
String renderError(PackageTemplateData context, Template template) {
20384+
String renderIndex(PackageTemplateData context, Template template) {
2035720385
var buffer = StringBuffer();
2035820386
_render_PackageTemplateData(context, template.ast, template, buffer);
2035920387
return buffer.toString();
@@ -20710,13 +20738,13 @@ class _Renderer_PackageTemplateData extends RendererBase<PackageTemplateData> {
2071020738
}
2071120739
}
2071220740

20713-
String renderSearchPage(PackageTemplateData context, Template template) {
20741+
String renderError(PackageTemplateData context, Template template) {
2071420742
var buffer = StringBuffer();
2071520743
_render_PackageTemplateData(context, template.ast, template, buffer);
2071620744
return buffer.toString();
2071720745
}
2071820746

20719-
String renderIndex(PackageTemplateData context, Template template) {
20747+
String renderSearchPage(PackageTemplateData context, Template template) {
2072020748
var buffer = StringBuffer();
2072120749
_render_PackageTemplateData(context, template.ast, template, buffer);
2072220750
return buffer.toString();
@@ -26196,28 +26224,6 @@ const _invisibleGetters = {
2619626224
'referenceParents',
2619726225
'scope',
2619826226
},
26199-
'CompilationUnitElement': {
26200-
'accessibleExtensions',
26201-
'accessors',
26202-
'classes',
26203-
'enclosingElement3',
26204-
'enums',
26205-
'extensionTypes',
26206-
'extensions',
26207-
'functions',
26208-
'hashCode',
26209-
'libraryExports',
26210-
'libraryImportPrefixes',
26211-
'libraryImports',
26212-
'lineInfo',
26213-
'mixins',
26214-
'parts',
26215-
'runtimeType',
26216-
'scope',
26217-
'session',
26218-
'topLevelVariables',
26219-
'typeAliases',
26220-
},
2622126227
'Constructable': {
2622226228
'constructors',
2622326229
'extraReferenceChildren',
@@ -26243,6 +26249,22 @@ const _invisibleGetters = {
2624326249
'runtimeType',
2624426250
'superConstructor',
2624526251
},
26252+
'ConstructorElement2': {
26253+
'baseElement',
26254+
'enclosingElement2',
26255+
'firstFragment',
26256+
'fragments',
26257+
'hashCode',
26258+
'isConst',
26259+
'isDefaultConstructor',
26260+
'isFactory',
26261+
'isGenerative',
26262+
'name3',
26263+
'redirectedConstructor2',
26264+
'returnType',
26265+
'runtimeType',
26266+
'superConstructor2',
26267+
},
2624626268
'ContainerModifier': {
2624726269
'displayName',
2624826270
'hashCode',
@@ -26761,6 +26783,33 @@ const _invisibleGetters = {
2676126783
'typeSystem',
2676226784
'uri',
2676326785
},
26786+
'LibraryFragment': {
26787+
'accessibleExtensions2',
26788+
'classes2',
26789+
'element',
26790+
'enclosingFragment',
26791+
'enums2',
26792+
'extensionTypes2',
26793+
'extensions2',
26794+
'functions2',
26795+
'getters',
26796+
'hashCode',
26797+
'importedLibraries2',
26798+
'libraryExports2',
26799+
'libraryImports2',
26800+
'lineInfo',
26801+
'mixins2',
26802+
'nextFragment',
26803+
'partIncludes',
26804+
'prefixes',
26805+
'previousFragment',
26806+
'runtimeType',
26807+
'scope',
26808+
'setters',
26809+
'source',
26810+
'topLevelVariables2',
26811+
'typeAliases2',
26812+
},
2676426813
'List': {'hashCode', 'length', 'reversed', 'runtimeType'},
2676526814
'Locatable': {
2676626815
'documentationFrom',

lib/src/model/canonicalization.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Library? canonicalLibraryCandidate(ModelElement modelElement) {
5858
}
5959

6060
var topLevelModelElement =
61-
ModelElement.forElement2(topLevelElement, modelElement.packageGraph);
61+
ModelElement.forElement(topLevelElement, modelElement.packageGraph);
6262

6363
return _Canonicalization(topLevelModelElement)
6464
.canonicalLibraryCandidate(candidateLibraries);

lib/src/model/constructor.dart

+8-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
// ignore_for_file: analyzer_use_new_elements
66

77
import 'package:analyzer/dart/element/element.dart';
8+
import 'package:analyzer/dart/element/element2.dart';
89
import 'package:analyzer/source/line_info.dart';
10+
// ignore: implementation_imports
11+
import 'package:analyzer/src/utilities/extensions/element.dart';
912
import 'package:dartdoc/src/element_type.dart';
1013
import 'package:dartdoc/src/model/comment_referable.dart';
1114
import 'package:dartdoc/src/model/kind.dart';
@@ -14,9 +17,12 @@ import 'package:dartdoc/src/model_utils.dart';
1417

1518
class Constructor extends ModelElement with ContainerMember, TypeParameters {
1619
@override
17-
final ConstructorElement element;
20+
ConstructorElement get element => element2.asElement;
1821

19-
Constructor(this.element, super.library, super.packageGraph);
22+
@override
23+
final ConstructorElement2 element2;
24+
25+
Constructor(this.element2, super.library, super.packageGraph);
2026

2127
@override
2228
CharacterLocation? get characterLocation {

lib/src/model/extension.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,12 @@ class Extension extends Container {
110110
ContainerAccessor? getter, setter;
111111
final fieldGetter = field.getter2;
112112
if (fieldGetter != null) {
113-
getter = ModelElement.for2_(fieldGetter, library, packageGraph,
113+
getter = ModelElement.for_(fieldGetter, library, packageGraph,
114114
enclosingContainer: this) as ContainerAccessor;
115115
}
116116
final fieldSetter = field.setter2;
117117
if (fieldSetter != null) {
118-
setter = ModelElement.for2_(fieldSetter, library, packageGraph,
118+
setter = ModelElement.for_(fieldSetter, library, packageGraph,
119119
enclosingContainer: this) as ContainerAccessor;
120120
}
121121
return getModelForPropertyInducingElement(field.asElement, library,

lib/src/model/extension_type.dart

+3-4
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,15 @@ import 'package:meta/meta.dart';
1616

1717
class ExtensionType extends InheritingContainer with Constructable {
1818
@override
19-
final ExtensionTypeElement element;
19+
ExtensionTypeElement get element => element2.asElement;
2020

2121
@override
22-
ExtensionTypeElement2 get element2 =>
23-
element.asElement2 as ExtensionTypeElement2;
22+
final ExtensionTypeElement2 element2;
2423

2524
late final ElementType representationType =
2625
getTypeFor(element.representation.type, library);
2726

28-
ExtensionType(this.element, super.library, super.packageGraph);
27+
ExtensionType(this.element2, super.library, super.packageGraph);
2928

3029
@override
3130
Library get enclosingElement => library;

0 commit comments

Comments
 (0)