Skip to content

Commit

Permalink
Elements. Migrate MakeFieldNotFinal.
Browse files Browse the repository at this point in the history
Change-Id: Ieefeb8122fb4d1239058689fd613b62791dc640a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/387404
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
  • Loading branch information
scheglov authored and Commit Queue committed Sep 30, 2024
1 parent 0065726 commit 1d90288
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 9 deletions.
1 change: 1 addition & 0 deletions pkg/analysis_server/analyzer_use_new_elements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,7 @@ lib/src/services/correction/dart/join_if_with_outer.dart
lib/src/services/correction/dart/join_variable_declaration.dart
lib/src/services/correction/dart/make_class_abstract.dart
lib/src/services/correction/dart/make_conditional_on_debug_mode.dart
lib/src/services/correction/dart/make_field_not_final.dart
lib/src/services/correction/dart/make_field_public.dart
lib/src/services/correction/dart/make_final.dart
lib/src/services/correction/dart/make_required_named_parameters_first.dart
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import 'package:analysis_server/src/services/correction/fix.dart';
import 'package:analysis_server/src/utilities/extensions/ast.dart';
import 'package:analysis_server_plugin/edit/dart/correction_producer.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/src/dart/ast/extensions.dart';
import 'package:analyzer_plugin/utilities/change_builder/change_builder_core.dart';
import 'package:analyzer_plugin/utilities/fixes/fixes.dart';
Expand Down Expand Up @@ -35,18 +35,15 @@ class MakeFieldNotFinal extends ResolvedCorrectionProducer {
return;
}

var getter = node.writeOrReadElement;
if (getter is! PropertyAccessorElement) {
return;
}
var getter = node.writeOrReadElement2;

// The accessor must be a getter, and it must be synthetic.
if (!(getter.isGetter && getter.isSynthetic)) {
if (!(getter is GetterElement && getter.isSynthetic)) {
return;
}

// The variable must be not synthetic, and have no setter yet.
var variable = getter.variable2;
var variable = getter.variable3;
if (variable == null) {
return;
}
Expand All @@ -55,11 +52,12 @@ class MakeFieldNotFinal extends ResolvedCorrectionProducer {
}

// It must be a field declaration.
if (getter.enclosingElement3 is! ClassElement) {
if (getter.enclosingElement2 is! ClassElement2) {
return;
}

var declaration = await sessionHelper.getElementDeclaration(variable);
var declaration =
await sessionHelper.getElementDeclaration2(variable.firstFragment!);
var variableNode = declaration?.node;
if (variableNode is! VariableDeclaration) {
return;
Expand Down

0 comments on commit 1d90288

Please sign in to comment.