Skip to content

Commit 03c0855

Browse files
srawlinsCommit Queue
authored andcommitted
DAS: Tidy snippet_producer.dart
While fixing the doc comments for DartSnippetProducer.addImports, I saw that it references two methods only found in the subclass, FlutterSnippetProducer ("Adds public imports for any elements fetched by [getClass] and [getMixin]"). It turns out that the `addImports` method and the `requiredElementImports` are only needed in the subclass, FlutterSnippetProducer, so I just moved them over. Now the doc comment references resolve correctly. Change-Id: Id90e8257b4096308b8cd3ce19b14708ca1b5e365 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/407960 Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Samuel Rawlins <[email protected]>
1 parent 143dc05 commit 03c0855

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

pkg/analysis_server/lib/src/services/snippets/snippet_producer.dart

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,6 @@ abstract class DartSnippetProducer extends SnippetProducer {
2424
final LibraryElement2 libraryElement;
2525
final bool useSuperParams;
2626

27-
/// Elements that need to be imported for generated code to be valid.
28-
///
29-
/// Calling [addImports] will add any required imports to the supplied
30-
/// builder.
31-
final Set<Element2> requiredElementImports = {};
32-
3327
/// A cache of mappings from Elements to their public Library Elements.
3428
///
3529
/// Callers can share this cache across multiple snippet producers to avoid
@@ -53,40 +47,46 @@ abstract class DartSnippetProducer extends SnippetProducer {
5347
.codeStyleOptions;
5448

5549
bool get isInTestDirectory => request.unit.unit.inTestDir;
50+
}
51+
52+
abstract class FlutterSnippetProducer extends DartSnippetProducer {
53+
late ClassElement2? _classWidget;
54+
late ClassElement2? _classPlaceholder;
55+
56+
/// Elements that need to be imported for generated code to be valid.
57+
///
58+
/// Calling [addImports] will add any required imports to the supplied
59+
/// builder.
60+
final Set<Element2> _requiredElementImports = {};
61+
62+
FlutterSnippetProducer(super.request, {required super.elementImportCache});
5663

5764
/// Adds public imports for any elements fetched by [getClass] and [getMixin]
5865
/// to [builder].
5966
Future<void> addImports(DartFileEditBuilder builder) async {
6067
var dartBuilder = builder as DartFileEditBuilderImpl;
6168
await Future.wait(
62-
requiredElementImports.map(
69+
_requiredElementImports.map(
6370
(element) => dartBuilder.importElementLibrary(
6471
element,
6572
resultCache: _elementImportCache,
6673
),
6774
),
6875
);
6976
}
70-
}
71-
72-
abstract class FlutterSnippetProducer extends DartSnippetProducer {
73-
late ClassElement2? classWidget;
74-
late ClassElement2? classPlaceholder;
75-
76-
FlutterSnippetProducer(super.request, {required super.elementImportCache});
7777

7878
Future<ClassElement2?> getClass(String name) async {
7979
var class_ = await sessionHelper.getFlutterClass(name);
8080
if (class_ != null) {
81-
requiredElementImports.add(class_);
81+
_requiredElementImports.add(class_);
8282
}
8383
return class_;
8484
}
8585

8686
Future<MixinElement2?> getMixin(String name) async {
8787
var mixin = await sessionHelper.getMixin(widgetsUri, name);
8888
if (mixin != null) {
89-
requiredElementImports.add(mixin);
89+
_requiredElementImports.add(mixin);
9090
}
9191
return mixin;
9292
}
@@ -102,11 +102,11 @@ abstract class FlutterSnippetProducer extends DartSnippetProducer {
102102
@override
103103
@mustCallSuper
104104
Future<bool> isValid() async {
105-
if ((classWidget = await getClass('Widget')) == null) {
105+
if ((_classWidget = await getClass('Widget')) == null) {
106106
return false;
107107
}
108108

109-
if ((classPlaceholder = await getClass('Placeholder')) == null) {
109+
if ((_classPlaceholder = await getClass('Placeholder')) == null) {
110110
return false;
111111
}
112112

@@ -124,8 +124,8 @@ mixin FlutterWidgetSnippetProducerMixin on FlutterSnippetProducer {
124124
void writeBuildMethod(DartEditBuilder builder) {
125125
// Checked by isValid() before this will be called.
126126
var classBuildContext = this.classBuildContext!;
127-
var classWidget = this.classWidget!;
128-
var classPlaceholder = this.classPlaceholder!;
127+
var classWidget = _classWidget!;
128+
var classPlaceholder = _classPlaceholder!;
129129

130130
// Add the build method.
131131
builder.writeln(' @override');

0 commit comments

Comments
 (0)