Skip to content

Commit 6a2774f

Browse files
committed
Bump flutter version to 3.38.1
- support analyzer 8.0 - support dot shorthands
1 parent ffb0c4a commit 6a2774f

File tree

10 files changed

+126
-167
lines changed

10 files changed

+126
-167
lines changed

lib/models/ast_node_info.dart

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,6 @@ class AstNodeInfo {
145145
final AssertStatement node => AstNodeInfo._fromAssertStatement(node),
146146
final AssignedVariablePattern node => AstNodeInfo._fromAssignedVariablePattern(node),
147147
final AssignmentExpression node => AstNodeInfo._fromAssignmentExpression(node),
148-
final AugmentedExpression node => AstNodeInfo._fromAugmentedExpression(node),
149-
final AugmentedInvocation node => AstNodeInfo._fromAugmentedInvocation(node),
150148
final AwaitExpression node => AstNodeInfo._fromAwaitExpression(node),
151149
final BinaryExpression node => AstNodeInfo._fromBinaryExpression(node),
152150
final Block node => AstNodeInfo._fromBlock(node),
@@ -176,6 +174,7 @@ class AstNodeInfo {
176174
final DeclaredVariablePattern node => AstNodeInfo._fromDeclaredVariablePattern(node),
177175
final DefaultFormalParameter node => AstNodeInfo._fromDefaultFormalParameter(node),
178176
final DoStatement node => AstNodeInfo._fromDoStatement(node),
177+
final DotShorthandConstructorInvocation node => AstNodeInfo._fromDotShorthandConstructorInvocation(node),
179178
final DotShorthandInvocation node => AstNodeInfo._fromDotShorthandInvocation(node),
180179
final DotShorthandPropertyAccess node => AstNodeInfo._fromDotShorthandPropertyAccess(node),
181180
final DottedName node => AstNodeInfo._fromDottedName(node),
@@ -431,29 +430,6 @@ class AstNodeInfo {
431430
);
432431
}
433432

434-
factory AstNodeInfo._fromAugmentedExpression(AugmentedExpression node) {
435-
return AstNodeInfo(
436-
node: node,
437-
);
438-
}
439-
440-
factory AstNodeInfo._fromAugmentedInvocation(AugmentedInvocation node) {
441-
return AstNodeInfo(
442-
node: node,
443-
nodeEntries: [
444-
SingleNodeEntry('arguments', node.arguments),
445-
SingleNodeEntry('typeArguments', node.typeArguments),
446-
],
447-
tokenEntries: [
448-
TokenEntry('augmentedKeyword', node.augmentedKeyword),
449-
],
450-
propertyEntries: [
451-
PropertyEntry('inConstantContext', node.inConstantContext),
452-
PropertyEntry('isAssignable', node.isAssignable),
453-
],
454-
);
455-
}
456-
457433
factory AstNodeInfo._fromAwaitExpression(AwaitExpression node) {
458434
return AstNodeInfo(
459435
node: node,
@@ -925,6 +901,20 @@ class AstNodeInfo {
925901
);
926902
}
927903

904+
factory AstNodeInfo._fromDotShorthandConstructorInvocation(DotShorthandConstructorInvocation node) {
905+
return AstNodeInfo(
906+
node: node,
907+
nodeEntries: [
908+
SingleNodeEntry('typeArguments', node.typeArguments),
909+
SingleNodeEntry('argumentList', node.argumentList),
910+
SingleNodeEntry('constructorName', node.constructorName),
911+
],
912+
tokenEntries: [
913+
TokenEntry('period', node.period),
914+
],
915+
);
916+
}
917+
928918
factory AstNodeInfo._fromDotShorthandInvocation(DotShorthandInvocation node) {
929919
return AstNodeInfo(
930920
node: node,
@@ -1779,7 +1769,7 @@ class AstNodeInfo {
17791769
nodeEntries: [
17801770
SingleNodeEntry('documentationComment', node.documentationComment),
17811771
NodeListEntry('metadata', node.metadata),
1782-
SingleNodeEntry('name2', node.name2),
1772+
SingleNodeEntry('name', node.name),
17831773
],
17841774
tokenEntries: [
17851775
TokenEntry('firstTokenAfterCommentAndMetadata', node.firstTokenAfterCommentAndMetadata),
@@ -2015,7 +2005,7 @@ class AstNodeInfo {
20152005
SingleNodeEntry('typeArguments', node.typeArguments),
20162006
],
20172007
tokenEntries: [
2018-
TokenEntry('name2', node.name2),
2008+
TokenEntry('name', node.name),
20192009
TokenEntry('question', node.question),
20202010
],
20212011
propertyEntries: [

lib/models/ast_node_kind.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,8 @@ enum AstNodeKind {
170170
whileStatement(whileStatementExample),
171171
wildcardPattern(wildcardPatternExample),
172172
withClause(withClauseExample),
173-
yieldStatement(yieldStatementExample);
173+
yieldStatement(yieldStatementExample)
174+
;
174175

175176
final String example;
176177

lib/pages/home_page.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:analyzer/dart/analysis/results.dart' show ParseStringResult;
22
import 'package:analyzer/dart/ast/ast.dart' show AstNode;
33
import 'package:analyzer/dart/ast/syntactic_entity.dart';
4-
import 'package:analyzer/error/error.dart' show AnalysisError;
4+
import 'package:analyzer/diagnostic/diagnostic.dart';
55
import 'package:analyzer/source/line_info.dart' show LineInfo;
66
import 'package:flutter/material.dart';
77
import 'package:flutter_riverpod/flutter_riverpod.dart';
@@ -36,7 +36,7 @@ class _HomePageState extends State<HomePage> {
3636
String _content = demoCode;
3737
late final CodeLineEditingController _controller;
3838
SyntacticEntity? _selectedSyntacticEntity;
39-
AnalysisError? _selectedError;
39+
Diagnostic? _selectedError;
4040
late ParseStringResult _parsedResult;
4141
late TreeNode<AstNode> _treeNode;
4242

@@ -92,7 +92,7 @@ class _HomePageState extends State<HomePage> {
9292
}
9393

9494
void _onAnalysisErrorChanged({
95-
required AnalysisError? error,
95+
required Diagnostic? error,
9696
required LineInfo lineInfo,
9797
}) {
9898
if (_selectedError == error) return;

lib/themes/code_theme.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ enum LightCodeTheme {
9090
stackoverflowLight('stackoverflow-light', stackoverflowLightTheme),
9191
tokyoNightLight('tokyo-night-light', tokyoNightLightTheme),
9292
vs('vs', vsTheme),
93-
xcode('xcode', xcodeTheme);
93+
xcode('xcode', xcodeTheme)
94+
;
9495

9596
final String label;
9697
final Map<String, TextStyle> value;
@@ -152,7 +153,8 @@ enum DarkCodeTheme {
152153
tomorrowNightBlue('tomorrow-night-blue', tomorrowNightBlueTheme),
153154
tomorrowNightBright('tomorrow-night-bright', tomorrowNightBrightTheme),
154155
vs2015('vs2015', vs2015Theme),
155-
xt256('xt256', xt256Theme);
156+
xt256('xt256', xt256Theme)
157+
;
156158

157159
final String label;
158160
final Map<String, TextStyle> value;

lib/utils/utils.dart

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
import 'package:analyzer/dart/analysis/features.dart';
12
import 'package:analyzer/dart/analysis/results.dart';
23
import 'package:analyzer/dart/analysis/utilities.dart';
34
import 'package:analyzer/dart/ast/ast.dart';
45
import 'package:analyzer/dart/ast/syntactic_entity.dart';
5-
import 'package:analyzer/error/error.dart';
6+
import 'package:analyzer/diagnostic/diagnostic.dart';
67
import 'package:analyzer/source/line_info.dart';
8+
import 'package:pub_semver/pub_semver.dart';
79
import 'package:re_editor/re_editor.dart';
810

911
import '../models/tree_node.dart';
@@ -13,6 +15,12 @@ ParseStringResult parseCode(String content) {
1315
final result = parseString(
1416
content: content,
1517
throwIfDiagnostics: false,
18+
featureSet: FeatureSet.fromEnableFlags2(
19+
sdkLanguageVersion: Version(3, 10, 0),
20+
flags: [
21+
Feature.dot_shorthands.enableString,
22+
]
23+
),
1624
);
1725

1826
return result;
@@ -47,11 +55,11 @@ CodeLineSelection getCodeLineSelectionFromSyntacticEntity({
4755
);
4856
}
4957

50-
/// Get [CodeLineSelection] from [AnalysisError].
58+
/// Get [CodeLineSelection] from [Diagnostic].
5159
///
5260
/// [LineInfo] is required to calculate the line number and column number
5361
CodeLineSelection getCodeLineSelectionFromAnalysisError({
54-
required AnalysisError error,
62+
required Diagnostic error,
5563
required LineInfo lineInfo,
5664
}) {
5765
return getCodeLineSelectionFromOffsetAndLength(
@@ -97,8 +105,6 @@ String getAstNodeTypeName(AstNode node) {
97105
final AssertStatement _ => 'AssertStatement',
98106
final AssignedVariablePattern _ => 'AssignedVariablePattern',
99107
final AssignmentExpression _ => 'AssignmentExpression',
100-
final AugmentedExpression _ => 'AugmentedExpression',
101-
final AugmentedInvocation _ => 'AugmentedInvocation',
102108
final AwaitExpression _ => 'AwaitExpression',
103109
final BinaryExpression _ => 'BinaryExpression',
104110
final Block _ => 'Block',
@@ -128,6 +134,7 @@ String getAstNodeTypeName(AstNode node) {
128134
final DeclaredVariablePattern _ => 'DeclaredVariablePattern',
129135
final DefaultFormalParameter _ => 'DefaultFormalParameter',
130136
final DoStatement _ => 'DoStatement',
137+
final DotShorthandConstructorInvocation _ => 'DotShorthandConstructorInvocation',
131138
final DotShorthandInvocation _ => 'DotShorthandInvocation',
132139
final DotShorthandPropertyAccess _ => 'DotShorthandPropertyAccess',
133140
final DottedName _ => 'DottedName',

lib/utils/visitor.dart

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -120,32 +120,6 @@ class AstTreeNodeVisitor extends SimpleAstVisitor<TreeNode<AstNode>> {
120120
);
121121
}
122122

123-
@override
124-
TreeNode<AstNode>? visitAugmentedExpression(AugmentedExpression node) {
125-
final unParenthesized = _visitNode(node.unParenthesized);
126-
127-
return TreeNode<AstNode>(
128-
node,
129-
children: [
130-
?unParenthesized,
131-
],
132-
);
133-
}
134-
135-
@override
136-
TreeNode<AstNode>? visitAugmentedInvocation(AugmentedInvocation node) {
137-
final arguments = _visitNode(node.arguments);
138-
final typeArguments = _visitNode(node.typeArguments);
139-
140-
return TreeNode<AstNode>(
141-
node,
142-
children: [
143-
?arguments,
144-
?typeArguments,
145-
],
146-
);
147-
}
148-
149123
@override
150124
TreeNode<AstNode>? visitAwaitExpression(AwaitExpression node) {
151125
final expression = _visitNode(node.expression);
@@ -556,6 +530,22 @@ class AstTreeNodeVisitor extends SimpleAstVisitor<TreeNode<AstNode>> {
556530
);
557531
}
558532

533+
@override
534+
TreeNode<AstNode>? visitDotShorthandConstructorInvocation(DotShorthandConstructorInvocation node) {
535+
final constructorName = _visitNode(node.constructorName);
536+
final typeArguments = _visitNode(node.typeArguments);
537+
final argumentList = _visitNode(node.argumentList);
538+
539+
return TreeNode<AstNode>(
540+
node,
541+
children: [
542+
?constructorName,
543+
?typeArguments,
544+
?argumentList,
545+
],
546+
);
547+
}
548+
559549
@override
560550
TreeNode<AstNode>? visitDotShorthandInvocation(DotShorthandInvocation node) {
561551
final memberName = _visitNode(node.memberName);
@@ -1332,14 +1322,14 @@ class AstTreeNodeVisitor extends SimpleAstVisitor<TreeNode<AstNode>> {
13321322
TreeNode<AstNode>? visitLibraryDirective(LibraryDirective node) {
13331323
final documentationComment = _visitNode(node.documentationComment);
13341324
final metadata = _visitNodeList(node.metadata);
1335-
final name2 = _visitNode(node.name2);
1325+
final name = _visitNode(node.name);
13361326

13371327
return TreeNode<AstNode>(
13381328
node,
13391329
children: [
13401330
?documentationComment,
13411331
if (metadata != null) ...metadata,
1342-
?name2,
1332+
?name,
13431333
],
13441334
);
13451335
}

lib/widgets/analysis_error_list_view.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import 'package:analyzer/error/error.dart' show AnalysisError;
1+
import 'package:analyzer/diagnostic/diagnostic.dart';
22
import 'package:flutter/material.dart';
33

44
import 'app_decorated_box.dart';
55

6-
typedef AnalysisErrorCallback = void Function(AnalysisError error);
6+
typedef AnalysisErrorCallback = void Function(Diagnostic error);
77

88
class AnalysisErrorListView extends StatelessWidget {
99
const AnalysisErrorListView({
@@ -13,8 +13,8 @@ class AnalysisErrorListView extends StatelessWidget {
1313
required this.onErrorSelected,
1414
});
1515

16-
final List<AnalysisError> errors;
17-
final AnalysisError? selectedError;
16+
final List<Diagnostic> errors;
17+
final Diagnostic? selectedError;
1818
final AnalysisErrorCallback onErrorSelected;
1919

2020
@override
@@ -42,13 +42,13 @@ class _AnalysisErrorCard extends StatelessWidget {
4242
required this.onErrorSelected,
4343
});
4444

45-
final AnalysisError error;
45+
final Diagnostic error;
4646
final bool selected;
4747
final AnalysisErrorCallback onErrorSelected;
4848

4949
@override
5050
Widget build(BuildContext context) {
51-
final correctionMessage = error.errorCode.correctionMessage;
51+
final correctionMessage = error.diagnosticCode.correctionMessage;
5252

5353
return Card(
5454
child: ListTile(

mise.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
[tools]
2-
flutter = "3.35.3-stable"
2+
flutter = "3.38.1-stable"

0 commit comments

Comments
 (0)