Skip to content

Commit acdbe88

Browse files
committed
Elements. Migrate test/end2end/model_test.dart
1 parent 114c006 commit acdbe88

File tree

6 files changed

+68
-30
lines changed

6 files changed

+68
-30
lines changed

lib/resources/docs.dart.js

Lines changed: 9 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/resources/docs.dart.js.map

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/src/generator/templates.runtime_renderers.dart

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6396,6 +6396,34 @@ class _Renderer_DocumentationComment
63966396
);
63976397
},
63986398
),
6399+
'element2': Property(
6400+
getValue: (CT_ c) => c.element2,
6401+
renderVariable:
6402+
(CT_ c, Property<CT_> self, List<String> remainingNames) =>
6403+
self.renderSimpleVariable(
6404+
c,
6405+
remainingNames,
6406+
'Element2',
6407+
),
6408+
6409+
isNullValue: (CT_ c) => false,
6410+
6411+
renderValue: (
6412+
CT_ c,
6413+
RendererBase<CT_> r,
6414+
List<MustachioNode> ast,
6415+
StringSink sink,
6416+
) {
6417+
renderSimple(
6418+
c.element2,
6419+
ast,
6420+
r.template,
6421+
sink,
6422+
parent: r,
6423+
getters: _invisibleGetters['Element2']!,
6424+
);
6425+
},
6426+
),
63996427
'elementDocumentation': Property(
64006428
getValue: (CT_ c) => c.elementDocumentation,
64016429
renderVariable:
@@ -25793,6 +25821,7 @@ const _invisibleGetters = {
2579325821
'documentationFrom',
2579425822
'documentationLocal',
2579525823
'element',
25824+
'element2',
2579625825
'elementDocumentation',
2579725826
'hasDocumentationComment',
2579825827
'hasNodoc',

lib/src/model/documentation_comment.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
library;
99

1010
import 'package:analyzer/dart/element/element.dart';
11+
import 'package:analyzer/dart/element/element2.dart';
12+
// ignore: implementation_imports
13+
import 'package:analyzer/src/utilities/extensions/element.dart';
1114
import 'package:args/args.dart';
1215
import 'package:crypto/crypto.dart' as crypto;
1316
import 'package:dartdoc/src/model/documentable.dart';
@@ -45,6 +48,10 @@ mixin DocumentationComment
4548
@override
4649
Element get element;
4750

51+
Element2 get element2 => element.asElement2!;
52+
53+
54+
4855
List<DocumentationComment>? _documentationFrom;
4956

5057
@override

lib/src/model/model_element.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,7 @@ abstract class ModelElement
558558
@override
559559
Element get element;
560560

561+
@override
561562
Element2 get element2 => element.asElement2!;
562563

563564
@override

test/end2end/model_test.dart

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44

55
// ignore_for_file: non_constant_identifier_names
66

7-
// ignore_for_file: analyzer_use_new_elements
8-
9-
import 'package:analyzer/dart/element/element.dart';
7+
import 'package:analyzer/dart/element/element2.dart';
108
import 'package:analyzer/dart/element/type.dart';
119
import 'package:analyzer/source/line_info.dart';
1210
import 'package:async/async.dart';
@@ -181,9 +179,9 @@ void main() async {
181179
'Verify annotations and their type arguments render on type parameters '
182180
'for typedefs',
183181
skip: 'dart-lang/sdk#46064', () {
184-
expect((F.aliasedType as FunctionType).typeFormals.first.metadata,
182+
expect((F.aliasedType as FunctionType).typeParameters.first.metadata2,
185183
isNotEmpty);
186-
expect((F.aliasedType as FunctionType).parameters.first.metadata,
184+
expect((F.aliasedType as FunctionType).formalParameters.first.metadata2,
187185
isNotEmpty);
188186
// TODO(jcollins-g): add rendering verification once we have data from
189187
// analyzer.
@@ -234,7 +232,7 @@ void main() async {
234232
void expectTypedefs(Typedef t, String modelTypeToString,
235233
Iterable<String> genericParameters) {
236234
expect(t.modelType.toString(), equals(modelTypeToString));
237-
expect(t.element.typeParameters.map((p) => p.toString()),
235+
expect(t.element2.typeParameters2.map((p) => p.toString()),
238236
orderedEquals(genericParameters));
239237
}
240238

@@ -909,18 +907,24 @@ void main() async {
909907
});
910908

911909
test('can import other libraries with unusual URIs', () {
910+
final importLists = fakeLibrary.element2.fragments
911+
.map((fragment) => fragment.libraryImports2);
912+
final exportLists = fakeLibrary.element2.fragments
913+
.map((fragment) => fragment.libraryExports2);
912914
final fakeLibraryImportedExported = <Library>{
913-
for (final l in <LibraryElement>{
914-
...fakeLibrary.element.definingCompilationUnit.libraryImports
915+
for (final l in <LibraryElement2>{
916+
...importLists
917+
.expand((imports) => imports)
915918
.map((import) => import.uri)
916919
.whereType<DirectiveUriWithLibrary>()
917-
.map((uri) => uri.library),
918-
...fakeLibrary.element.definingCompilationUnit.libraryExports
919-
.map((import) => import.uri)
920+
.map((uri) => uri.library2),
921+
...exportLists
922+
.expand((exports) => exports)
923+
.map((export) => export.uri)
920924
.whereType<DirectiveUriWithLibrary>()
921-
.map((uri) => uri.library)
925+
.map((uri) => uri.library2)
922926
})
923-
packageGraph.getModelForElement(l) as Library
927+
packageGraph.getModelForElement2(l) as Library
924928
};
925929
expect(fakeLibraryImportedExported.any((l) => l.name == 'import_unusual'),
926930
isTrue);
@@ -1182,7 +1186,7 @@ void main() async {
11821186
contains(
11831187
'<a href="%%__HTMLBASE_dartdoc_internal__%%reexport_two/BaseReexported/action.html">ExtendedBaseReexported.action</a></p>'));
11841188
var doAwesomeStuffWarnings = packageGraph.packageWarningCounter
1185-
.countedWarnings[doAwesomeStuff.element] ??
1189+
.countedWarnings2[doAwesomeStuff.element2] ??
11861190
{};
11871191
expect(
11881192
doAwesomeStuffWarnings,
@@ -1682,7 +1686,7 @@ void main() async {
16821686
fakeLibrary.classes.wherePublic.named('MIEEMixinWithOverride');
16831687
var problematicOperator =
16841688
MIEEMixinWithOverride.inheritedOperators.named('operator []=');
1685-
expect(problematicOperator.element.enclosingElement3.name,
1689+
expect(problematicOperator.element2.enclosingElement2?.name3,
16861690
equals('_MIEEPrivateOverride'));
16871691
expect(problematicOperator.canonicalModelElement!.enclosingElement!.name,
16881692
equals('MIEEMixinWithOverride'));
@@ -3572,7 +3576,7 @@ String? topLevelFunction(int param1, bool param2, Cool coolBeans,
35723576
test('inheritance of docs from SDK works for getter/setter combos', () {
35733577
expect(
35743578
ExtraSpecialListLength
3575-
.getter!.documentationFrom.first.element.library!.name,
3579+
.getter!.documentationFrom.first.element2.library2!.name3,
35763580
equals('dart.core'));
35773581
expect(ExtraSpecialListLength.oneLineDoc == '', isFalse);
35783582
});

0 commit comments

Comments
 (0)