[pigeon] Require analyzer 4.4.0, stop using deprecated APIs. (#2422)
diff --git a/packages/pigeon/CHANGELOG.md b/packages/pigeon/CHANGELOG.md
index ed7bc41..0bc6ef8 100644
--- a/packages/pigeon/CHANGELOG.md
+++ b/packages/pigeon/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 3.2.7
+
+* Requires `analyzer 4.4.0`, and replaces use of deprecated APIs.
+
## 3.2.6
* [java] Fixes returning int values from FlutterApi methods that fit in 32 bits.
diff --git a/packages/pigeon/lib/generator_tools.dart b/packages/pigeon/lib/generator_tools.dart
index 2200c08..0eb3b13 100644
--- a/packages/pigeon/lib/generator_tools.dart
+++ b/packages/pigeon/lib/generator_tools.dart
@@ -9,7 +9,7 @@
import 'ast.dart';
/// The current version of pigeon. This must match the version in pubspec.yaml.
-const String pigeonVersion = '3.2.6';
+const String pigeonVersion = '3.2.7';
/// Read all the content from [stdin] to a String.
String readStdin() {
diff --git a/packages/pigeon/lib/pigeon_lib.dart b/packages/pigeon/lib/pigeon_lib.dart
index a05dffe..697e42f 100644
--- a/packages/pigeon/lib/pigeon_lib.dart
+++ b/packages/pigeon/lib/pigeon_lib.dart
@@ -847,7 +847,7 @@
_storeCurrentApi();
_storeCurrentClass();
- if (node.isAbstract) {
+ if (node.abstractKeyword != null) {
if (_hasMetadata(node.metadata, 'HostApi')) {
final dart_ast.Annotation hostApi = node.metadata.firstWhere(
(dart_ast.Annotation element) => element.name.name == 'HostApi');
@@ -868,20 +868,20 @@
}
}
_currentApi = Api(
- name: node.name.name,
+ name: node.name2.lexeme,
location: ApiLocation.host,
methods: <Method>[],
dartHostTestHandler: dartHostTestHandler,
);
} else if (_hasMetadata(node.metadata, 'FlutterApi')) {
_currentApi = Api(
- name: node.name.name,
+ name: node.name2.lexeme,
location: ApiLocation.flutter,
methods: <Method>[],
);
}
} else {
- _currentClass = Class(name: node.name.name, fields: <NamedType>[]);
+ _currentClass = Class(name: node.name2.lexeme, fields: <NamedType>[]);
}
node.visitChildren(this);
@@ -901,7 +901,7 @@
baseName: argTypeBaseName,
isNullable: isNullable,
typeArguments: argTypeArguments),
- name: parameter.identifier?.name ?? '',
+ name: parameter.name?.lexeme ?? '',
offset: parameter.offset);
} else {
return NamedType(
@@ -964,7 +964,7 @@
final dart_ast.SimpleIdentifier returnTypeIdentifier =
getFirstChildOfType<dart_ast.SimpleIdentifier>(returnType)!;
_currentApi!.methods.add(Method(
- name: node.name.name,
+ name: node.name2.lexeme,
returnType: TypeDeclaration(
baseName: returnTypeIdentifier.name,
typeArguments: typeAnnotationsToTypeArguments(
@@ -978,7 +978,7 @@
} else if (_currentClass != null) {
_errors.add(Error(
message:
- 'Methods aren\'t supported in Pigeon data classes ("${node.name.name}").',
+ 'Methods aren\'t supported in Pigeon data classes ("${node.name2.lexeme}").',
lineNumber: _calculateLineNumber(source, node.offset)));
}
node.visitChildren(this);
@@ -988,9 +988,9 @@
@override
Object? visitEnumDeclaration(dart_ast.EnumDeclaration node) {
_enums.add(Enum(
- name: node.name.name,
+ name: node.name2.lexeme,
members: node.constants
- .map((dart_ast.EnumConstantDeclaration e) => e.name.name)
+ .map((dart_ast.EnumConstantDeclaration e) => e.name2.lexeme)
.toList()));
node.visitChildren(this);
return null;
@@ -1036,7 +1036,7 @@
baseName: type.name.name,
isNullable: type.question != null,
typeArguments: typeAnnotationsToTypeArguments(typeArguments)),
- name: node.fields.variables[0].name.name,
+ name: node.fields.variables[0].name2.lexeme,
offset: node.offset));
}
} else {
diff --git a/packages/pigeon/pubspec.yaml b/packages/pigeon/pubspec.yaml
index 2341d0a..540ea8a 100644
--- a/packages/pigeon/pubspec.yaml
+++ b/packages/pigeon/pubspec.yaml
@@ -2,14 +2,14 @@
description: Code generator tool to make communication between Flutter and the host platform type-safe and easier.
repository: https://github.com/flutter/packages/tree/main/packages/pigeon
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Apigeon
-version: 3.2.6 # This must match the version in lib/generator_tools.dart
+version: 3.2.7 # This must match the version in lib/generator_tools.dart
environment:
sdk: ">=2.12.0 <3.0.0"
flutter: ">=3.0.0"
dependencies:
- analyzer: ">=2.4.0 <5.0.0"
+ analyzer: ">=4.4.0 <5.0.0"
args: ^2.0.0
collection: ^1.15.0
meta: ^1.7.0