Skip to content

Commit fa3a351

Browse files
authored
Privatize GetterSetterCombo.constantInitializer (dart-lang#3898)
1 parent 5c114a9 commit fa3a351

File tree

2 files changed

+14
-38
lines changed

2 files changed

+14
-38
lines changed

lib/src/generator/templates.runtime_renderers.dart

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6331,19 +6331,6 @@ class _Renderer_GetterSetterCombo extends RendererBase<GetterSetterCombo> {
63316331
getters: _invisibleGetters['CharacterLocation']!);
63326332
},
63336333
),
6334-
'constantInitializer': Property(
6335-
getValue: (CT_ c) => c.constantInitializer,
6336-
renderVariable: (CT_ c, Property<CT_> self,
6337-
List<String> remainingNames) =>
6338-
self.renderSimpleVariable(
6339-
c, remainingNames, 'Expression'),
6340-
isNullValue: (CT_ c) => c.constantInitializer == null,
6341-
renderValue: (CT_ c, RendererBase<CT_> r,
6342-
List<MustachioNode> ast, StringSink sink) {
6343-
renderSimple(c.constantInitializer, ast, r.template, sink,
6344-
parent: r, getters: _invisibleGetters['Expression']!);
6345-
},
6346-
),
63476334
'constantValue': Property(
63486335
getValue: (CT_ c) => c.constantValue,
63496336
renderVariable:
@@ -12244,7 +12231,7 @@ class _Renderer_Package extends RendererBase<Package> {
1224412231
}
1224512232
}
1224612233

12247-
String renderSearchPage(PackageTemplateData context, Template template) {
12234+
String renderIndex(PackageTemplateData context, Template template) {
1224812235
var buffer = StringBuffer();
1224912236
_render_PackageTemplateData(context, template.ast, template, buffer);
1225012237
return buffer.toString();
@@ -12482,7 +12469,7 @@ class _Renderer_PackageTemplateData extends RendererBase<PackageTemplateData> {
1248212469
}
1248312470
}
1248412471

12485-
String renderIndex(PackageTemplateData context, Template template) {
12472+
String renderSearchPage(PackageTemplateData context, Template template) {
1248612473
var buffer = StringBuffer();
1248712474
_render_PackageTemplateData(context, template.ast, template, buffer);
1248812475
return buffer.toString();
@@ -16109,17 +16096,6 @@ const _invisibleGetters = {
1610916096
'typeParameters',
1611016097
'typeParameters2'
1611116098
},
16112-
'Expression': {
16113-
'correspondingParameter',
16114-
'hashCode',
16115-
'inConstantContext',
16116-
'isAssignable',
16117-
'precedence',
16118-
'runtimeType',
16119-
'staticParameterElement',
16120-
'staticType',
16121-
'unParenthesized'
16122-
},
1612316099
'ExtensionElement': {
1612416100
'augmentation',
1612516101
'augmentationTarget',
@@ -16195,7 +16171,6 @@ const _invisibleGetters = {
1619516171
'arrow',
1619616172
'characterLocation',
1619716173
'comboAttributes',
16198-
'constantInitializer',
1619916174
'constantValue',
1620016175
'constantValueBase',
1620116176
'constantValueTruncated',

lib/src/model/getter_setter_combo.dart

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'dart:convert';
66

77
import 'package:analyzer/dart/ast/ast.dart'
88
show Expression, InstanceCreationExpression;
9-
import 'package:analyzer/dart/element/element.dart';
109
import 'package:analyzer/source/line_info.dart';
1110
// ignore: implementation_imports
1211
import '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

Comments
 (0)