Skip to content

Commit

Permalink
Elements. Migrate lib/src/model/model_element.dart (#3988)
Browse files Browse the repository at this point in the history
  • Loading branch information
keertip authored Feb 5, 2025
1 parent b4242c7 commit a1e234e
Show file tree
Hide file tree
Showing 10 changed files with 291 additions and 248 deletions.
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

0 comments on commit a1e234e

Please sign in to comment.