Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elements. Migrate lib/src/model/model_element.dart #3988

Merged
merged 1 commit into from
Feb 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions lib/src/element_type.dart
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ mixin Aliased implements ElementType {
bool get isTypedef => true;

late final ModelElement aliasElement =
ModelElement.forElement2(typeAliasElement2, packageGraph);
ModelElement.forElement(typeAliasElement2, packageGraph);

late final List<ElementType> aliasArguments = type.alias!.typeArguments
.map((f) => getTypeFor(f, library))
Expand Down Expand Up @@ -322,7 +322,7 @@ abstract class DefinedElementType extends ElementType {
@internal
@override
CommentReferable get definingCommentReferable =>
ModelElement.forElement2(modelElement.element2, packageGraph);
ModelElement.forElement(modelElement.element2, packageGraph);
}

/// Any callable [ElementType] will mix-in this class, whether anonymous or not,
Expand Down
215 changes: 132 additions & 83 deletions lib/src/generator/templates.runtime_renderers.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3505,6 +3505,34 @@ class _Renderer_Constructor extends RendererBase<Constructor> {
);
},
),
'element2': Property(
getValue: (CT_ c) => c.element2,
renderVariable:
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
self.renderSimpleVariable(
c,
remainingNames,
'ConstructorElement2',
),

isNullValue: (CT_ c) => false,

renderValue: (
CT_ c,
RendererBase<CT_> r,
List<MustachioNode> ast,
StringSink sink,
) {
renderSimple(
c.element2,
ast,
r.template,
sink,
parent: r,
getters: _invisibleGetters['ConstructorElement2']!,
);
},
),
'enclosingElement': Property(
getValue: (CT_ c) => c.enclosingElement,
renderVariable: (
Expand Down Expand Up @@ -13345,34 +13373,6 @@ class _Renderer_Library extends RendererBase<Library> {
);
},
),
'compilationUnitElement': Property(
getValue: (CT_ c) => c.compilationUnitElement,
renderVariable:
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
self.renderSimpleVariable(
c,
remainingNames,
'CompilationUnitElement',
),

isNullValue: (CT_ c) => false,

renderValue: (
CT_ c,
RendererBase<CT_> r,
List<MustachioNode> ast,
StringSink sink,
) {
renderSimple(
c.compilationUnitElement,
ast,
r.template,
sink,
parent: r,
getters: _invisibleGetters['CompilationUnitElement']!,
);
},
),
'constants': Property(
getValue: (CT_ c) => c.constants,
renderVariable:
Expand Down Expand Up @@ -14212,6 +14212,34 @@ class _Renderer_Library extends RendererBase<Library> {
);
},
),
'unitElement': Property(
getValue: (CT_ c) => c.unitElement,
renderVariable:
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
self.renderSimpleVariable(
c,
remainingNames,
'LibraryFragment',
),

isNullValue: (CT_ c) => false,

renderValue: (
CT_ c,
RendererBase<CT_> r,
List<MustachioNode> ast,
StringSink sink,
) {
renderSimple(
c.unitElement,
ast,
r.template,
sink,
parent: r,
getters: _invisibleGetters['LibraryFragment']!,
);
},
),
},
)
as Map<String, Property<CT_>>;
Expand Down Expand Up @@ -14411,7 +14439,7 @@ class _Renderer_LibraryContainer extends RendererBase<LibraryContainer> {
}
}

String renderLibrary(LibraryTemplateData context, Template template) {
String renderLibraryRedirect(LibraryTemplateData context, Template template) {
var buffer = StringBuffer();
_render_LibraryTemplateData(context, template.ast, template, buffer);
return buffer.toString();
Expand Down Expand Up @@ -14657,7 +14685,7 @@ class _Renderer_LibraryTemplateData extends RendererBase<LibraryTemplateData> {
}
}

String renderLibraryRedirect(LibraryTemplateData context, Template template) {
String renderLibrary(LibraryTemplateData context, Template template) {
var buffer = StringBuffer();
_render_LibraryTemplateData(context, template.ast, template, buffer);
return buffer.toString();
Expand Down Expand Up @@ -16856,34 +16884,6 @@ class _Renderer_ModelElement extends RendererBase<ModelElement> {
);
},
),
'compilationUnitElement': Property(
getValue: (CT_ c) => c.compilationUnitElement,
renderVariable:
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
self.renderSimpleVariable(
c,
remainingNames,
'CompilationUnitElement',
),

isNullValue: (CT_ c) => false,

renderValue: (
CT_ c,
RendererBase<CT_> r,
List<MustachioNode> ast,
StringSink sink,
) {
renderSimple(
c.compilationUnitElement,
ast,
r.template,
sink,
parent: r,
getters: _invisibleGetters['CompilationUnitElement']!,
);
},
),
'config': Property(
getValue: (CT_ c) => c.config,
renderVariable:
Expand Down Expand Up @@ -18013,6 +18013,34 @@ class _Renderer_ModelElement extends RendererBase<ModelElement> {
);
},
),
'unitElement': Property(
getValue: (CT_ c) => c.unitElement,
renderVariable:
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
self.renderSimpleVariable(
c,
remainingNames,
'LibraryFragment',
),

isNullValue: (CT_ c) => false,

renderValue: (
CT_ c,
RendererBase<CT_> r,
List<MustachioNode> ast,
StringSink sink,
) {
renderSimple(
c.unitElement,
ast,
r.template,
sink,
parent: r,
getters: _invisibleGetters['LibraryFragment']!,
);
},
),
},
)
as Map<String, Property<CT_>>;
Expand Down Expand Up @@ -20353,7 +20381,7 @@ class _Renderer_Package extends RendererBase<Package> {
}
}

String renderError(PackageTemplateData context, Template template) {
String renderIndex(PackageTemplateData context, Template template) {
var buffer = StringBuffer();
_render_PackageTemplateData(context, template.ast, template, buffer);
return buffer.toString();
Expand Down Expand Up @@ -20710,13 +20738,13 @@ class _Renderer_PackageTemplateData extends RendererBase<PackageTemplateData> {
}
}

String renderSearchPage(PackageTemplateData context, Template template) {
String renderError(PackageTemplateData context, Template template) {
var buffer = StringBuffer();
_render_PackageTemplateData(context, template.ast, template, buffer);
return buffer.toString();
}

String renderIndex(PackageTemplateData context, Template template) {
String renderSearchPage(PackageTemplateData context, Template template) {
var buffer = StringBuffer();
_render_PackageTemplateData(context, template.ast, template, buffer);
return buffer.toString();
Expand Down Expand Up @@ -26196,28 +26224,6 @@ const _invisibleGetters = {
'referenceParents',
'scope',
},
'CompilationUnitElement': {
'accessibleExtensions',
'accessors',
'classes',
'enclosingElement3',
'enums',
'extensionTypes',
'extensions',
'functions',
'hashCode',
'libraryExports',
'libraryImportPrefixes',
'libraryImports',
'lineInfo',
'mixins',
'parts',
'runtimeType',
'scope',
'session',
'topLevelVariables',
'typeAliases',
},
'Constructable': {
'constructors',
'extraReferenceChildren',
Expand All @@ -26243,6 +26249,22 @@ const _invisibleGetters = {
'runtimeType',
'superConstructor',
},
'ConstructorElement2': {
'baseElement',
'enclosingElement2',
'firstFragment',
'fragments',
'hashCode',
'isConst',
'isDefaultConstructor',
'isFactory',
'isGenerative',
'name3',
'redirectedConstructor2',
'returnType',
'runtimeType',
'superConstructor2',
},
'ContainerModifier': {
'displayName',
'hashCode',
Expand Down Expand Up @@ -26761,6 +26783,33 @@ const _invisibleGetters = {
'typeSystem',
'uri',
},
'LibraryFragment': {
'accessibleExtensions2',
'classes2',
'element',
'enclosingFragment',
'enums2',
'extensionTypes2',
'extensions2',
'functions2',
'getters',
'hashCode',
'importedLibraries2',
'libraryExports2',
'libraryImports2',
'lineInfo',
'mixins2',
'nextFragment',
'partIncludes',
'prefixes',
'previousFragment',
'runtimeType',
'scope',
'setters',
'source',
'topLevelVariables2',
'typeAliases2',
},
'List': {'hashCode', 'length', 'reversed', 'runtimeType'},
'Locatable': {
'documentationFrom',
Expand Down
2 changes: 1 addition & 1 deletion lib/src/model/canonicalization.dart
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Library? canonicalLibraryCandidate(ModelElement modelElement) {
}

var topLevelModelElement =
ModelElement.forElement2(topLevelElement, modelElement.packageGraph);
ModelElement.forElement(topLevelElement, modelElement.packageGraph);

return _Canonicalization(topLevelModelElement)
.canonicalLibraryCandidate(candidateLibraries);
Expand Down
10 changes: 8 additions & 2 deletions lib/src/model/constructor.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
// ignore_for_file: analyzer_use_new_elements

import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/source/line_info.dart';
// ignore: implementation_imports
import 'package:analyzer/src/utilities/extensions/element.dart';
import 'package:dartdoc/src/element_type.dart';
import 'package:dartdoc/src/model/comment_referable.dart';
import 'package:dartdoc/src/model/kind.dart';
Expand All @@ -14,9 +17,12 @@ import 'package:dartdoc/src/model_utils.dart';

class Constructor extends ModelElement with ContainerMember, TypeParameters {
@override
final ConstructorElement element;
ConstructorElement get element => element2.asElement;

Constructor(this.element, super.library, super.packageGraph);
@override
final ConstructorElement2 element2;

Constructor(this.element2, super.library, super.packageGraph);

@override
CharacterLocation? get characterLocation {
Expand Down
4 changes: 2 additions & 2 deletions lib/src/model/extension.dart
Original file line number Diff line number Diff line change
Expand Up @@ -110,12 +110,12 @@ class Extension extends Container {
ContainerAccessor? getter, setter;
final fieldGetter = field.getter2;
if (fieldGetter != null) {
getter = ModelElement.for2_(fieldGetter, library, packageGraph,
getter = ModelElement.for_(fieldGetter, library, packageGraph,
enclosingContainer: this) as ContainerAccessor;
}
final fieldSetter = field.setter2;
if (fieldSetter != null) {
setter = ModelElement.for2_(fieldSetter, library, packageGraph,
setter = ModelElement.for_(fieldSetter, library, packageGraph,
enclosingContainer: this) as ContainerAccessor;
}
return getModelForPropertyInducingElement(field.asElement, library,
Expand Down
7 changes: 3 additions & 4 deletions lib/src/model/extension_type.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,15 @@ import 'package:meta/meta.dart';

class ExtensionType extends InheritingContainer with Constructable {
@override
final ExtensionTypeElement element;
ExtensionTypeElement get element => element2.asElement;

@override
ExtensionTypeElement2 get element2 =>
element.asElement2 as ExtensionTypeElement2;
final ExtensionTypeElement2 element2;

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

ExtensionType(this.element, super.library, super.packageGraph);
ExtensionType(this.element2, super.library, super.packageGraph);

@override
Library get enclosingElement => library;
Expand Down
Loading