@@ -14,8 +14,6 @@ import 'package:analyzer/source/line_info.dart';
14
14
// ignore: implementation_imports
15
15
import 'package:analyzer/src/dart/element/member.dart'
16
16
show ExecutableMember, FieldMember, Member, ParameterMember;
17
- // ignore: implementation_imports
18
- import 'package:analyzer/src/utilities/extensions/element.dart' ;
19
17
import 'package:dartdoc/src/dartdoc_options.dart' ;
20
18
import 'package:dartdoc/src/model/annotation.dart' ;
21
19
import 'package:dartdoc/src/model/attribute.dart' ;
@@ -387,7 +385,7 @@ abstract class ModelElement
387
385
/// supposed to be invisible (like `@pragma` ). While `null` elements indicate
388
386
/// invalid code from analyzer's perspective, some are present in `sky_engine`
389
387
/// (`@Native` ) so we don't want to crash here.
390
- late final List <Annotation > annotations = element.metadata
388
+ late final List <Annotation > annotations = element.annotations
391
389
.where ((m) => m.isVisibleAnnotation)
392
390
.map ((m) => Annotation (m, library, packageGraph))
393
391
.toList (growable: false );
@@ -634,13 +632,13 @@ abstract class ModelElement
634
632
bool get isDeprecated {
635
633
// If element.metadata is empty, it might be because this is a property
636
634
// where the metadata belongs to the individual getter/setter
637
- if (element.metadata .isEmpty && element is PropertyInducingElement2 ) {
635
+ if (element.annotations .isEmpty && element is PropertyInducingElement2 ) {
638
636
var pie = element as PropertyInducingElement2 ;
639
637
640
638
// The getter or the setter might be null – so the stored value may be
641
639
// `true`, `false`, or `null`
642
- var getterDeprecated = pie.getter2? .metadata. any ((a) => a.isDeprecated) ;
643
- var setterDeprecated = pie.setter2? .metadata. any ((a) => a.isDeprecated) ;
640
+ var getterDeprecated = pie.getter2? .metadata2.hasDeprecated ;
641
+ var setterDeprecated = pie.setter2? .metadata2.hasDeprecated ;
644
642
645
643
var deprecatedValues = [getterDeprecated, setterDeprecated].nonNulls;
646
644
@@ -651,7 +649,12 @@ abstract class ModelElement
651
649
// deprecated if both are deprecated.
652
650
return deprecatedValues.every ((d) => d);
653
651
}
654
- return element.metadata.any ((a) => a.isDeprecated);
652
+
653
+ if (element case Annotatable element) {
654
+ return element.metadata2.hasDeprecated;
655
+ }
656
+
657
+ return false ;
655
658
}
656
659
657
660
@override
@@ -748,8 +751,7 @@ abstract class ModelElement
748
751
late final List <Parameter > parameters = () {
749
752
final e = element;
750
753
if (! isCallable) {
751
- throw StateError (
752
- '$e (${e .runtimeType }) cannot have parameters' );
754
+ throw StateError ('$e (${e .runtimeType }) cannot have parameters' );
753
755
}
754
756
755
757
final List <FormalParameterElement > params;
@@ -823,3 +825,13 @@ extension on ElementAnnotation {
823
825
return true ;
824
826
}
825
827
}
828
+
829
+ extension on Element2 {
830
+ List <ElementAnnotation > get annotations {
831
+ if (this case Annotatable self) {
832
+ return self.metadata2.annotations;
833
+ } else {
834
+ return const [];
835
+ }
836
+ }
837
+ }
0 commit comments