Skip to content

Commit c224112

Browse files
authored
Remove some unused fields from ElementType (#3558)
1 parent 97ae9fe commit c224112

File tree

3 files changed

+16
-38
lines changed

3 files changed

+16
-38
lines changed

lib/src/element_type.dart

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -283,25 +283,21 @@ abstract class DefinedElementType extends ElementType {
283283
f as ParameterizedType, library, packageGraph, modelElement);
284284
}
285285

286-
Element get element => modelElement.element;
287-
288286
@override
289287
String get name => type.documentableElement!.name!;
290288

291289
@override
292290
String get fullyQualifiedName => modelElement.fullyQualifiedName;
293291

294-
bool get isParameterType => type is TypeParameterType;
295-
296292
/// Whether the underlying, canonical element is public.
297293
///
298294
/// This avoids discarding the resolved type information as canonicalization
299295
/// would ordinarily do.
300296
@override
301297
bool get isPublic {
302-
var canonicalClass = modelElement.packageGraph
303-
.findCanonicalModelElementFor(modelElement.element) ??
304-
modelElement;
298+
var canonicalClass =
299+
packageGraph.findCanonicalModelElementFor(modelElement.element) ??
300+
modelElement;
305301
return canonicalClass.isPublic;
306302
}
307303

@@ -360,7 +356,7 @@ abstract class DefinedElementType extends ElementType {
360356
@internal
361357
@override
362358
CommentReferable get definingCommentReferable =>
363-
modelBuilder.fromElement(element);
359+
modelBuilder.fromElement(modelElement.element);
364360
}
365361

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

lib/src/generator/templates.runtime_renderers.dart

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3753,18 +3753,6 @@ class _Renderer_DefinedElementType extends RendererBase<DefinedElementType> {
37533753
CT_,
37543754
() => {
37553755
..._Renderer_ElementType.propertyMap<CT_>(),
3756-
'element': Property(
3757-
getValue: (CT_ c) => c.element,
3758-
renderVariable: (CT_ c, Property<CT_> self,
3759-
List<String> remainingNames) =>
3760-
self.renderSimpleVariable(c, remainingNames, 'Element'),
3761-
isNullValue: (CT_ c) => false,
3762-
renderValue: (CT_ c, RendererBase<CT_> r,
3763-
List<MustachioNode> ast, StringSink sink) {
3764-
renderSimple(c.element, ast, r.template, sink,
3765-
parent: r, getters: _invisibleGetters['Element']!);
3766-
},
3767-
),
37683756
'fullyQualifiedName': Property(
37693757
getValue: (CT_ c) => c.fullyQualifiedName,
37703758
renderVariable:
@@ -3799,13 +3787,6 @@ class _Renderer_DefinedElementType extends RendererBase<DefinedElementType> {
37993787
parent: r, getters: _invisibleGetters['DartType']!);
38003788
},
38013789
),
3802-
'isParameterType': Property(
3803-
getValue: (CT_ c) => c.isParameterType,
3804-
renderVariable: (CT_ c, Property<CT_> self,
3805-
List<String> remainingNames) =>
3806-
self.renderSimpleVariable(c, remainingNames, 'bool'),
3807-
getBool: (CT_ c) => c.isParameterType == true,
3808-
),
38093790
'isPublic': Property(
38103791
getValue: (CT_ c) => c.isPublic,
38113792
renderVariable: (CT_ c, Property<CT_> self,

lib/src/model/inheriting_container.dart

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -361,18 +361,19 @@ abstract class InheritingContainer extends Container
361361
while (parent != null) {
362362
typeChain.add(parent);
363363
final parentType = parent.type;
364-
if (parentType is InterfaceType) {
365-
// Avoid adding [Object] to the [superChain] ([_supertype] already has
366-
// this check).
367-
if (parentType.superclass?.superclass == null) {
368-
break;
369-
} else {
370-
parent = modelBuilder.typeFrom(parentType.superclass!, library)
371-
as DefinedElementType?;
372-
}
373-
} else {
374-
parent = (parent.modelElement as Class).supertype;
364+
if (parentType is! InterfaceType) {
365+
throw StateError('ancestor of $this is $parent with model element '
366+
'${parent.modelElement}');
367+
}
368+
369+
var superclass = parentType.superclass;
370+
// Avoid adding [Object] to the [superChain] ([_supertype] already has
371+
// this check).
372+
if (superclass == null || superclass.superclass == null) {
373+
break;
375374
}
375+
parent =
376+
modelBuilder.typeFrom(superclass, library) as DefinedElementType?;
376377
}
377378
return typeChain;
378379
}

0 commit comments

Comments
 (0)