Skip to content

Commit f8c32e3

Browse files
committed
600
1 parent 82b48b5 commit f8c32e3

11 files changed

+62
-66
lines changed

lib/src/dartdoc_options.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ library;
1414

1515
import 'dart:io' show exitCode, stderr, stdout;
1616

17-
import 'package:analyzer/dart/element/element2.dart';
17+
import 'package:analyzer/dart/element/element.dart';
1818
import 'package:analyzer/file_system/file_system.dart';
1919
import 'package:args/args.dart';
2020
import 'package:dartdoc/src/dartdoc.dart' show dartdocVersion, programName;
@@ -1128,18 +1128,18 @@ class DartdocOptionContext extends DartdocOptionContextBase
11281128
/// Build a DartdocOptionContext from an analyzer element (using its source
11291129
/// location).
11301130
factory DartdocOptionContext.fromElement(DartdocOptionSet optionSet,
1131-
LibraryElement2 libraryElement, ResourceProvider resourceProvider) {
1131+
LibraryElement libraryElement, ResourceProvider resourceProvider) {
11321132
return DartdocOptionContext(
11331133
optionSet,
11341134
resourceProvider.getFile(libraryElement.firstFragment.source.fullName),
11351135
resourceProvider);
11361136
}
11371137

11381138
/// Build a DartdocOptionContext from an existing [DartdocOptionContext] and a
1139-
/// new analyzer [Element2].
1139+
/// new analyzer [Element].
11401140
factory DartdocOptionContext.fromContextElement(
11411141
DartdocOptionContext optionContext,
1142-
LibraryElement2 libraryElement,
1142+
LibraryElement libraryElement,
11431143
ResourceProvider resourceProvider) {
11441144
return DartdocOptionContext.fromElement(
11451145
optionContext.optionSet, libraryElement, resourceProvider);

lib/src/element_type.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
/// The only entrypoint for constructing these classes is [ElementType.for_].
88
library;
99

10-
import 'package:analyzer/dart/element/element2.dart';
10+
import 'package:analyzer/dart/element/element.dart';
1111
import 'package:analyzer/dart/element/nullability_suffix.dart';
1212
import 'package:analyzer/dart/element/type.dart';
1313
import 'package:dartdoc/src/model/comment_referable.dart';
@@ -67,7 +67,7 @@ abstract class ElementType with CommentReferable, Nameable {
6767
String toString() => '$type';
6868
}
6969

70-
/// An [ElementType] that isn't pinned to an [Element2] (or one that is, but
70+
/// An [ElementType] that isn't pinned to an [Element] (or one that is, but
7171
/// whose element is irrelevant).
7272
class UndefinedElementType extends ElementType {
7373
UndefinedElementType._(super.type, super.library, super.packageGraph)
@@ -102,9 +102,9 @@ class UndefinedElementType extends ElementType {
102102
// We can not simply throw here because not all SDK libraries resolve
103103
// all types.
104104
if (type is InvalidType) return 'dynamic';
105-
assert(const {'Never'}.contains(type.documentableElement2?.name3),
105+
assert(const {'Never'}.contains(type.documentableElement2?.name),
106106
'Unrecognized type for UndefinedElementType: $type');
107-
return type.documentableElement2!.name3!;
107+
return type.documentableElement2!.name!;
108108
}
109109

110110
@override
@@ -129,7 +129,7 @@ class UndefinedElementType extends ElementType {
129129
Iterable<CommentReferable>? get referenceGrandparentOverrides => null;
130130
}
131131

132-
/// A [FunctionType] that does not have an underpinning [Element2].
132+
/// A [FunctionType] that does not have an underpinning [Element].
133133
class FunctionTypeElementType extends UndefinedElementType
134134
with Rendered, Callable {
135135
FunctionTypeElementType._(
@@ -205,10 +205,10 @@ class ParameterizedElementType extends DefinedElementType with Rendered {
205205

206206
/// An [ElementType] whose underlying type was referred to by a type alias.
207207
mixin Aliased implements ElementType {
208-
Element2 get typeAliasElement2 => type.alias!.element2;
208+
Element get typeAliasElement2 => type.alias!.element;
209209

210210
@override
211-
String get name => typeAliasElement2.name3!;
211+
String get name => typeAliasElement2.name!;
212212

213213
@override
214214
bool get isTypedef => true;
@@ -253,7 +253,7 @@ class TypeParameterElementType extends DefinedElementType {
253253
String get nameWithGenericsPlain => '$name$nullabilitySuffix';
254254
}
255255

256-
/// An [ElementType] associated with an [Element2].
256+
/// An [ElementType] associated with an [Element].
257257
abstract class DefinedElementType extends ElementType {
258258
final ModelElement modelElement;
259259

@@ -263,7 +263,7 @@ abstract class DefinedElementType extends ElementType {
263263

264264
factory DefinedElementType._from(DartType type, ModelElement modelElement,
265265
Library library, PackageGraph packageGraph) {
266-
if (type is! TypeAliasElement2 && type.alias != null) {
266+
if (type is! TypeAliasElement && type.alias != null) {
267267
// Here, `alias.element` signals that this is a type referring to an
268268
// alias. (`TypeAliasElement.alias.element` has different implications.
269269
// In that case it is an actual type alias of some kind (generic or
@@ -288,7 +288,7 @@ abstract class DefinedElementType extends ElementType {
288288
}
289289

290290
@override
291-
String get name => type.documentableElement2!.name3!;
291+
String get name => type.documentableElement2!.name!;
292292

293293
@override
294294
String get fullyQualifiedName => modelElement.fullyQualifiedName;

lib/src/model/accessor.dart

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
import 'dart:convert';
66

7-
import 'package:analyzer/dart/element/element2.dart';
7+
import 'package:analyzer/dart/element/element.dart';
88
import 'package:analyzer/source/line_info.dart';
99
// ignore: implementation_imports
10-
import 'package:analyzer/src/dart/element/member.dart' show ExecutableMember;
10+
import 'package:analyzer/src/dart/element/member.dart' show SubstitutedExecutableElementImpl;
1111
import 'package:collection/collection.dart' show IterableExtension;
1212
import 'package:dartdoc/src/element_type.dart';
1313
import 'package:dartdoc/src/model/comment_referable.dart';
@@ -20,7 +20,7 @@ import 'package:dartdoc/src/warnings.dart';
2020
class Accessor extends ModelElement {
2121

2222
@override
23-
final PropertyAccessorElement2 element;
23+
final PropertyAccessorElement element;
2424

2525
/// The combo ([Field] or [TopLevelVariable]) containing this accessor.
2626
///
@@ -31,16 +31,16 @@ class Accessor extends ModelElement {
3131
late final GetterSetterCombo enclosingCombo;
3232

3333
Accessor(this.element, super.library, super.packageGraph,
34-
{ExecutableMember? super.originalMember});
34+
{SubstitutedExecutableElementImpl? super.originalMember});
3535

3636
@override
3737
CharacterLocation? get characterLocation => element.isSynthetic
3838
? enclosingCombo.characterLocation
3939
: super.characterLocation;
4040

4141
@override
42-
ExecutableMember? get originalMember =>
43-
super.originalMember as ExecutableMember?;
42+
SubstitutedExecutableElementImpl? get originalMember =>
43+
super.originalMember as SubstitutedExecutableElementImpl?;
4444

4545
late final Callable modelType =
4646
getTypeFor((originalMember ?? element).type, library) as Callable;
@@ -49,7 +49,7 @@ class Accessor extends ModelElement {
4949

5050
/// The [enclosingCombo] where this element was defined.
5151
late final GetterSetterCombo definingCombo =
52-
getModelForElement(element.variable3!) as GetterSetterCombo;
52+
getModelForElement(element.variable) as GetterSetterCombo;
5353

5454
String get _sourceCode {
5555
if (!isSynthetic) {
@@ -117,10 +117,10 @@ class Accessor extends ModelElement {
117117
}
118118

119119
@override
120-
ModelElement get enclosingElement => switch (element.enclosingElement2) {
120+
ModelElement get enclosingElement => switch (element.enclosingElement) {
121121
LibraryFragment enclosingCompilationUnit =>
122122
getModelForElement(enclosingCompilationUnit.element),
123-
_ => getModelFor(element.enclosingElement2, library)
123+
_ => getModelFor(element.enclosingElement, library)
124124
};
125125

126126
@override
@@ -207,8 +207,8 @@ class ContainerAccessor extends Accessor with ContainerMember, Inheritable {
207207
@override
208208
ContainerAccessor? get overriddenElement {
209209
assert(packageGraph.allLibrariesAdded);
210-
final parent = element.enclosingElement2;
211-
if (parent is! InterfaceElement2) {
210+
final parent = element.enclosingElement;
211+
if (parent is! InterfaceElement) {
212212
return null;
213213
}
214214
for (final supertype in parent.allSupertypes) {
@@ -223,12 +223,12 @@ class ContainerAccessor extends Accessor with ContainerMember, Inheritable {
223223
continue;
224224
}
225225
final parentContainer =
226-
getModelForElement(supertype.element3) as InheritingContainer;
226+
getModelForElement(supertype.element) as InheritingContainer;
227227
final possibleFields =
228228
parentContainer.declaredFields.where((f) => !f.isStatic);
229229
final fieldName = accessor.lookupName?.replaceFirst('=', '');
230230
final foundField =
231-
possibleFields.firstWhereOrNull((f) => f.element.name3 == fieldName);
231+
possibleFields.firstWhereOrNull((f) => f.element.name == fieldName);
232232
if (foundField == null) {
233233
continue;
234234
}

lib/src/model/annotation.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ final class Annotation extends Attribute {
4646
: _modelType.linkedName;
4747

4848
late final ElementType _modelType = switch (_annotation.element2) {
49-
ConstructorElement2(:var returnType) =>
49+
ConstructorElement(:var returnType) =>
5050
_packageGraph.getTypeFor(returnType, _library),
51-
PropertyAccessorElement2(:var variable3?) =>
52-
(_packageGraph.getModelForElement(variable3) as GetterSetterCombo)
51+
PropertyAccessorElement(:var variable) =>
52+
(_packageGraph.getModelForElement(variable) as GetterSetterCombo)
5353
.modelType,
5454
_ => throw StateError(
5555
'non-callable element used as annotation?: ${_annotation.element2}')

lib/src/model/canonicalization.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Library? canonicalLibraryCandidate(ModelElement modelElement) {
3636
if (modelElement is Library) return true;
3737
var lookup = l.element.exportNamespace.definedNames2[topLevelElementName];
3838
return topLevelElement ==
39-
(lookup is PropertyAccessorElement2 ? lookup.variable3 : lookup);
39+
(lookup is PropertyAccessorElement ? lookup.variable : lookup);
4040
}).toList(growable: true);
4141

4242
if (candidateLibraries.isEmpty) {

lib/src/model/comment_referable.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,8 @@ mixin CommentReferable implements Nameable {
126126
}
127127

128128
ModelElement result;
129-
if (resultElement is PropertyAccessorElement2) {
130-
final variable = resultElement.variable3!;
129+
if (resultElement is PropertyAccessorElement) {
130+
final variable = resultElement.variable;
131131
if (variable.isSynthetic) {
132132
// First, cache the synthetic variable, so that the
133133
// PropertyAccessorElement getter and/or setter are set (see

lib/src/model/documentation_comment.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,7 @@ mixin DocumentationComment
7070

7171
/// The rawest form of the documentation comment, including comment delimiters
7272
/// like `///`, `//`, `/*`, `*/`.
73-
String get documentationComment => (element is Annotatable)
74-
? (element as Annotatable).documentationComment ?? ''
75-
: '';
73+
String get documentationComment => element.documentationComment ?? '';
7674

7775
/// Whether `this` has a synthetic/inherited or local documentation comment,
7876
/// and false otherwise.

lib/src/model/inheriting_container.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -541,9 +541,9 @@ abstract class InheritingContainer extends Container {
541541
// Pick an appropriate [FieldElement] to represent this element.
542542
// Only hard when dealing with a synthetic [Field].
543543
if (getter != null && setter == null) {
544-
field = getterElement!.variable3 as FieldElement2;
544+
field = getterElement!.variable as FieldElement;
545545
} else if (getter == null && setter != null) {
546-
field = setterElement!.variable3 as FieldElement2;
546+
field = setterElement!.variable as FieldElement;
547547
} else {
548548
// In this case: `getter != null && setter != null`.
549549
getter!;
@@ -556,9 +556,9 @@ abstract class InheritingContainer extends Container {
556556
if (setterEnclosingElement is Class &&
557557
setterEnclosingElement._isInheritingFrom(
558558
getter.enclosingElement as InheritingContainer)) {
559-
field = setterElement!.variable3 as FieldElement2;
559+
field = setterElement!.variable3 as FieldElement;
560560
} else {
561-
field = getterElement!.variable3 as FieldElement2;
561+
field = getterElement!.variable3 as FieldElement;
562562
}
563563
}
564564
}

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ environment:
77
sdk: ^3.6.0
88

99
dependencies:
10-
analyzer: ^7.4.4
10+
analyzer: ^8.1.1
1111
args: ^2.4.1
1212
collection: ^1.17.0
1313
crypto: ^3.0.3

tool/mustachio/codegen_runtime_renderer.dart

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ library;
77

88
import 'dart:collection';
99

10-
import 'package:analyzer/dart/element/element2.dart';
10+
import 'package:analyzer/dart/element/element.dart';
1111
import 'package:analyzer/dart/element/nullability_suffix.dart';
1212
import 'package:analyzer/dart/element/type.dart';
1313
import 'package:analyzer/dart/element/type_provider.dart';
@@ -48,18 +48,18 @@ class RuntimeRenderersBuilder {
4848

4949
/// Maps a type to the name of the render function which can render that type
5050
/// as a context type.
51-
final _typeToRenderFunctionName = <InterfaceElement2, String>{};
51+
final _typeToRenderFunctionName = <InterfaceElement, String>{};
5252

5353
/// Maps a type to the name of the renderer class which can render that type
5454
/// as a context type.
55-
final _typeToRendererClassName = <InterfaceElement2, String>{};
55+
final _typeToRendererClassName = <InterfaceElement, String>{};
5656

5757
final Uri _sourceUri;
5858

5959
final TypeProvider _typeProvider;
6060
final TypeSystem _typeSystem;
6161

62-
final Set<Element2> _allVisibleElements;
62+
final Set<Element> _allVisibleElements;
6363

6464
/// Whether renderer classes are public. This should only be true for testing.
6565
final bool _rendererClassesArePublic;
@@ -104,7 +104,7 @@ import '${path.basename(_sourceUri.path)}';
104104
''');
105105

106106
specs.forEach(_addTypesForRendererSpec);
107-
var builtRenderers = <InterfaceElement2>{};
107+
var builtRenderers = <InterfaceElement>{};
108108
var elementsToProcess = _typesToProcess.toList()
109109
..sort((a, b) => a._typeName.compareTo(b._typeName));
110110

@@ -135,21 +135,21 @@ import '${path.basename(_sourceUri.path)}';
135135
spec.contextType.getters.forEach(_addPropertyToProcess);
136136

137137
for (var mixin in spec.contextElement.mixins) {
138-
_addTypeToProcess(mixin.element3,
138+
_addTypeToProcess(mixin.element,
139139
isFullRenderer: true, includeRenderFunction: false);
140140
}
141141
var superclass = spec.contextElement.supertype;
142142

143143
while (superclass != null) {
144144
// Any type specified with a renderer spec (`@Renderer`) is full.
145-
_addTypeToProcess(superclass.element3,
145+
_addTypeToProcess(superclass.element,
146146
isFullRenderer: true, includeRenderFunction: false);
147-
for (var mixin in superclass.element3.mixins) {
148-
_addTypeToProcess(mixin.element3,
147+
for (var mixin in superclass.element.mixins) {
148+
_addTypeToProcess(mixin.element,
149149
isFullRenderer: true, includeRenderFunction: false);
150150
}
151151
superclass.getters.forEach(_addPropertyToProcess);
152-
superclass = superclass.element3.supertype;
152+
superclass = superclass.element.supertype;
153153
}
154154
}
155155

@@ -717,17 +717,15 @@ extension on InterfaceElement2 {
717717
extension on GetterElement {
718718
// Whether this getter should be omitted from the runtime renderer code.
719719
bool get shouldBeOmitted {
720-
var variable = variable3;
721720
return isPrivate ||
722721
isStatic ||
723-
metadata2.hasInternal ||
724-
metadata2.hasProtected ||
725-
metadata2.hasVisibleForOverriding ||
726-
metadata2.hasVisibleForTesting ||
727-
variable == null ||
728-
variable.metadata2.hasInternal ||
729-
variable.metadata2.hasProtected ||
730-
variable.metadata2.hasVisibleForOverriding ||
731-
variable.metadata2.hasVisibleForTesting;
722+
metadata.hasInternal ||
723+
metadata.hasProtected ||
724+
metadata.hasVisibleForOverriding ||
725+
metadata.hasVisibleForTesting ||
726+
variable.metadata.hasInternal ||
727+
variable.metadata.hasProtected ||
728+
variable.metadata.hasVisibleForOverriding ||
729+
variable.metadata.hasVisibleForTesting;
732730
}
733731
}

0 commit comments

Comments
 (0)