Skip to content

Update to full Dart 3.10#179

Merged
btr-rmconsole-3[bot] merged 3 commits into
masterfrom
allow_newer_analyzer
Feb 15, 2026
Merged

Update to full Dart 3.10#179
btr-rmconsole-3[bot] merged 3 commits into
masterfrom
allow_newer_analyzer

Conversation

@robbecker-wf
Copy link
Copy Markdown
Member

@robbecker-wf robbecker-wf commented Feb 10, 2026

Summary

Update to Dart 3.10.9, analyzer 10, and latest build packages

QA

  • CI passes on Dart 3.10.9

@robbecker-wf robbecker-wf changed the title Allow newer analyzer Update to full Dart 3.10 Feb 11, 2026
Comment thread example/example.dart
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only dart format changes

Comment thread lib/generator.dart
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only dart file with changes that aren't just formatting

Comment thread lib/generator.dart
ActionsClass _actionsClassFromElement(ClassElement element, bool nndbEnabled) =>
ActionsClass(
element.name,
element.name!,
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀

Comment thread lib/generator.dart
bool nndbEnabled,
) => element.fields
.where((f) => _isReduxActions(f.type.element))
.map((f) => ComposedActionClass(f.name!, f.type.getDisplayString()));
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀
Note the ! and the removal of withNullability: nndbEnabled

Comment thread lib/generator.dart
.map((s) => s.element is ClassElement ? s.element : null)
.whereType<ClassElement>()
.where(_isReduxActions)
.map((it) => _actionsClassFromElement(it, nndbEnabled));
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

formatting

Comment thread lib/generator.dart
Comment on lines +66 to +67
'${element.name!}-${field.name!}',
field.name!,
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀 !s

Comment thread lib/generator.dart
Comment on lines +78 to +82
final fragment = field.firstFragment;
return _getGenerics(
fragment.libraryFragment.source.contents.data,
fragment.nameOffset!,
);
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

field.source and field.nameOffset are gone ... so now we're calling those on field.firstFragment.

Comment thread lib/generator.dart
Comment on lines +86 to +91
final method = element.getGetter(field.name!);
final fragment = method!.firstFragment;
return _getGenerics(
fragment.libraryFragment.source.contents.data,
fragment.nameOffset!,
);
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same where with the deprecation removals

Comment thread lib/generator.dart
Comment on lines -82 to +102
final trimBeforeActionDispatcher =
trimAfterName.substring(trimAfterName.lastIndexOf('ActionDispatcher'));
final trimBeforeActionDispatcher = trimAfterName.substring(
trimAfterName.lastIndexOf('ActionDispatcher'),
);
return trimBeforeActionDispatcher.substring(
trimBeforeActionDispatcher.indexOf('<') + 1,
trimBeforeActionDispatcher.lastIndexOf('>'));
trimBeforeActionDispatcher.indexOf('<') + 1,
trimBeforeActionDispatcher.lastIndexOf('>'),
);
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

formatting

Comment thread lib/generator.dart
element is ClassElement && _hasSuperType(element, 'ReduxActions');

bool _isActionDispatcher(FieldElement element) => element.type
.getDisplayString(withNullability: true)
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed withNullability: true

Comment thread lib/generator.dart
.any((interfaceType) => interfaceType.element.name == type) &&
classElement.allSupertypes.any(
(interfaceType) => interfaceType.element.name == type,
) &&
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

formatting

Comment thread lib/generator.dart
ActionsClass actionsClass,
) => element.constructors.length > 1
? _actionDispatcherClassTemplate(actionsClass)
: '';
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

formatting

Comment thread lib/generator.dart

String _actionDispatcherClassTemplate(ActionsClass actionsClass) => '''
String _actionDispatcherClassTemplate(ActionsClass actionsClass) =>
'''
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here and all below is just formatting changes

Copy link
Copy Markdown

@greglittlefield-wf greglittlefield-wf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes LGTM

Comment thread lib/generator.dart
var hasWrittenHeaders = false;
final nndbEnabled = await buildStep.inputLibrary
.then((value) => value.featureSet.isEnabled(Feature.non_nullable));
final nndbEnabled = await buildStep.inputLibrary.then(
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#nit If this version only supports Dart >=3, then this will always be true, and could be removed

@robbecker-wf
Copy link
Copy Markdown
Member Author

QA +1 CI passes under Dart 3.10.9. Manual testing passes.

@robbecker-wf robbecker-wf marked this pull request as ready for review February 15, 2026 14:21
@robbecker-wf
Copy link
Copy Markdown
Member Author

@Workiva/release-management-p

Copy link
Copy Markdown

@rmconsole-wf rmconsole-wf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 from RM

@btr-rmconsole-3 btr-rmconsole-3 Bot merged commit 31b0377 into master Feb 15, 2026
3 checks passed
@btr-rmconsole-3 btr-rmconsole-3 Bot deleted the allow_newer_analyzer branch February 15, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants