@@ -6,7 +6,6 @@ import 'dart:convert';
66
77import 'package:analyzer/dart/ast/ast.dart'
88 show Expression, InstanceCreationExpression;
9- import 'package:analyzer/dart/element/element.dart' ;
109import 'package:analyzer/source/line_info.dart' ;
1110// ignore: implementation_imports
1211import 'package:analyzer/src/dart/element/element.dart'
@@ -67,18 +66,20 @@ mixin GetterSetterCombo on ModelElement {
6766 /// Whether this has a constant value which should be displayed.
6867 bool get hasConstantValueForDisplay => false ;
6968
70- Expression ? get constantInitializer =>
69+ late final Expression ? _constantInitializer =
7170 (element as ConstVariableElement ).constantInitializer;
7271
7372 String linkifyConstantValue (String original) {
74- if (constantInitializer is ! InstanceCreationExpression ) return original;
75- var creationExpression = constantInitializer as InstanceCreationExpression ;
76- var constructorName = creationExpression .constructorName.toString ();
77- Element ? staticElement = creationExpression .constructorName.staticElement;
73+ if (_constantInitializer is ! InstanceCreationExpression ) return original;
74+
75+ var constructorName = _constantInitializer .constructorName.toString ();
76+ var staticElement = _constantInitializer .constructorName.staticElement;
7877 if (staticElement == null ) return original;
78+
7979 var target = getModelForElement (staticElement) as Constructor ;
8080 var enclosingElement = target.enclosingElement;
8181 if (enclosingElement is ! Class ) return original;
82+
8283 // TODO(jcollins-g): this logic really should be integrated into
8384 // `Constructor`, but that's not trivial because of `linkedName`'s usage.
8485 if (enclosingElement.name == target.name) {
@@ -114,23 +115,23 @@ mixin GetterSetterCombo on ModelElement {
114115 String get constantValueTruncated =>
115116 linkifyConstantValue (truncateString (constantValueBase, 200 ));
116117
118+ /// The base text for this property's constant value as an unlinked String.
117119 late final String constantValueBase = () {
118- final constantInitializer = this .constantInitializer;
119- if (constantInitializer == null ) {
120+ if (_constantInitializer == null ) {
120121 return '' ;
121122 }
122123
123- var initializerString = constantInitializer .toString ();
124+ var initializerString = _constantInitializer .toString ();
124125
125126 final self = this ;
126127 if (self is ! EnumField ||
127- constantInitializer is ! InstanceCreationExpression ) {
128+ _constantInitializer is ! InstanceCreationExpression ) {
128129 return _htmlEscape.convert (initializerString);
129130 }
130131
131132 initializerString = 'const $initializerString ' ;
132133
133- var isImplicitConstructorCall = constantInitializer
134+ var isImplicitConstructorCall = _constantInitializer
134135 .constructorName.staticElement? .isDefaultConstructor ??
135136 false ;
136137 if (isImplicitConstructorCall) {
0 commit comments