-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
area-devexpFor issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages.For issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages.
Description
When running dart fix . --apply it fails and throws the following exception
Exception while getting bulk fixes: Exception generating fix for specify_nonobvious_local_variable_types in **/project/lib/src/data/async_reference.dart
Stack Overflow
#0 DartEditBuilderImpl._getVisibleType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#1 DartEditBuilderImpl._getVisibleType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#2 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#3 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#4 ListBase.every (dart:collection/list.dart)
#5 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#6 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#7 ListBase.every (dart:collection/list.dart)
#8 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#9 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#10 ListBase.every (dart:collection/list.dart)
#11 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#12 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#13 ListBase.every (dart:collection/list.dart)
#14 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#15 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#16 ListBase.every (dart:collection/list.dart)
#17 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#18 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#19 ListBase.every (dart:collection/list.dart)
#20 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#21 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#22 ListBase.every (dart:collection/list.dart)
#23 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#24 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#25 ListBase.every (dart:collection/list.dart)
#26 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#27 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#28 ListBase.every (dart:collection/list.dart)
#29 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#30 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#31 ListBase.every (dart:collection/list.dart)
#32 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#33 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#34 ListBase.every (dart:collection/list.dart)
#35 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#36 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#37 ListBase.every (dart:collection/list.dart)
#38 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#39 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#40 ListBase.every (dart:collection/list.dart)
#41 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#42 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#43 ListBase.every (dart:collection/list.dart)
...
...
#19255 ListBase.every (dart:collection/list.dart)
#19256 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#19257 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#19258 ListBase.every (dart:collection/list.dart)
#19259 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#19260 DartEditBuilderImpl._canWriteType.<anonymous closure> (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#19261 ListBase.every (dart:collection/list.dart)
#19262 DartEditBuilderImpl._canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#19263 DartEditBuilderImpl.canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#19264 DartFileEditBuilderImpl.canWriteType (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart)
#19265 AddTypeAnnotation._applyChange.<anonymous closure> (package:analysis_server/src/services/correction/dart/add_type_annotation.dart)
#19266 ChangeBuilderImpl.addDartFileEdit (package:analyzer_plugin/src/utilities/change_builder/change_builder_core.dart)
#19267 _SuspendState._createAsyncStarCallback.<anonymous closure> (dart:async-patch/async_patch.dart)
#19268 _rootRunUnary (dart:async/zone.dart)
#19269 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart)
#19270 Future._propagateToListeners (dart:async/future_impl.dart)
#19271 Future._completeWithValue (dart:async/future_impl.dart)
#19272 _SuspendState._createAsyncStarCallback.<anonymous closure> (dart:async-patch/async_patch.dart)
#19273 _rootRunUnary (dart:async/zone.dart)
#19274 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart)
#19275 Future._propagateToListeners (dart:async/future_impl.dart)
#19276 Future._completeWithValue (dart:async/future_impl.dart)
#19277 _SuspendState._createAsyncStarCallback.<anonymous closure> (dart:async-patch/async_patch.dart)
#19278 _rootRunUnary (dart:async/zone.dart)
#19279 _rootRun (dart:async/zone.dart)
#19280 _CustomZone.run (dart:async/zone.dart)
#19281 _CustomZone.runGuarded (dart:async/zone.dart)
#19282 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart)
#19283 _microtaskLoop (dart:async/schedule_microtask.dart)
#19284 _startMicrotaskLoop (dart:async/schedule_microtask.dart)
#19285 _Timer._runTimers (dart:isolate-patch/timer_impl.dart)
#19286 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart)
#19287 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart)
#0 BulkFixProcessor._fixSingleDiagnostic (package:analysis_server/src/services/correction/bulk_fix_processor.dart:786)
<asynchronous suspension>
#1 BulkFixProcessor._fixErrorsInLibraryUnit (package:analysis_server/src/services/correction/bulk_fix_processor.dart:628)
<asynchronous suspension>
#2 BulkFixProcessor._fixErrorsInLibraryAt (package:analysis_server/src/services/correction/bulk_fix_processor.dart:577)
<asynchronous suspension>
#3 BulkFixProcessor._computeFixes (package:analysis_server/src/services/correction/bulk_fix_processor.dart:510)
<asynchronous suspension>
#4 EditBulkFixes.handle (package:analysis_server/src/handler/legacy/edit_bulk_fixes.dart:58)
<asynchronous suspension>
#5 LegacyAnalysisServer.handleRequest.<anonymous closure>.<anonymous closure> (package:analysis_server/src/legacy_analysis_server.dart:646)
<asynchronous suspension>
#6 OperationPerformanceImpl.runAsync (package:analyzer/src/util/performance/operation_performance.dart:199)
<asynchronous suspension>
#7 LegacyAnalysisServer.handleRequest.<anonymous closure> (package:analysis_server/src/legacy_analysis_server.dart:626)
<asynchronous suspension>
#0 BulkFixProcessor._fixSingleDiagnostic (package:analysis_server/src/services/correction/bulk_fix_processor.dart:786)
<asynchronous suspension>
#1 BulkFixProcessor._fixErrorsInLibraryUnit (package:analysis_server/src/services/correction/bulk_fix_processor.dart:628)
<asynchronous suspension>
#2 BulkFixProcessor._fixErrorsInLibraryAt (package:analysis_server/src/services/correction/bulk_fix_processor.dart:577)
<asynchronous suspension>
#3 BulkFixProcessor._computeFixes (package:analysis_server/src/services/correction/bulk_fix_processor.dart:510)
<asynchronous suspension>
#4 EditBulkFixes.handle (package:analysis_server/src/handler/legacy/edit_bulk_fixes.dart:58)
<asynchronous suspension>
#5 LegacyAnalysisServer.handleRequest.<anonymous closure>.<anonymous closure> (package:analysis_server/src/legacy_analysis_server.dart:646)
<asynchronous suspension>
#6 OperationPerformanceImpl.runAsync (package:analyzer/src/util/performance/operation_performance.dart:199)
<asynchronous suspension>
#7 LegacyAnalysisServer.handleRequest.<anonymous closure> (package:analysis_server/src/legacy_analysis_server.dart:626)
<asynchronous suspension>
When trying to apply a quick fix in Intellij where the warning is related to specify_nonobvious_local_variable_types, it doesn't do anything.
When checking where this happens, it always happens where a generic type is being used. I can not share file's content but I can share some obscured snippets if needed.
In all cases, here are some samples:
Example 1:
final List<void Function(T model)> _onAdded = [];
for (var element in _onAdded) {
final T model = event.modelsNow.firstWhere((T element) => element.id == change.doc.id);
element(model);
}the fix is
final List<void Function(T model)> _onAdded = [];
for (void Function(T model) element in _onAdded) {
final T model = event.modelsNow.firstWhere((T element) => element.id == change.doc.id);
element(model);
}Example 2:
void addAll(Iterable<DocumentReference<T>> elements) {
final newElements = elements.where((e) => state.allElements.contains(e) == false).toList();
if (newElements.isEmpty) return;
final updatedBatches = _addToBatches(state.batches, newElements);
state = state.copyWith(batches: updatedBatches, allElements: {...state.allElements, ...newElements});
}the fix is
void addAll(Iterable<DocumentReference<T>> elements) {
final List<DocumentReference<T>> newElements = elements
.where((e) => state.allElements.contains(e) == false)
.toList();
if (newElements.isEmpty) return;
final List<WhereInBatch<DocumentReference<T>>> updatedBatches = _addToBatches(state.batches, newElements);
state = state.copyWith(batches: updatedBatches, allElements: {...state.allElements, ...newElements});
}dart --version
Dart SDK version: 3.10.0 (stable) (Thu Nov 6 05:24:55 2025 -0800) on "macos_arm64"
*Edit: Moved final List<void Function(T model)> _onAdded = []; from example 2 to example 1 as it was a mistake.
Metadata
Metadata
Assignees
Labels
area-devexpFor issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages.For issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages.