Skip to content

Commit 5180c03

Browse files
[pigeon] Removes the @protected annotation from the InstanceManager field of the PigeonInternalProxyApiBaseClass (#8125)
It's common to access the `InstanceManager` when creating platform views, so this removes the `@protected` annotation to prevent lint warnings. See #7794 (comment)
1 parent c55e398 commit 5180c03

File tree

6 files changed

+63
-4
lines changed

6 files changed

+63
-4
lines changed

packages/pigeon/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 22.6.2
2+
3+
* Removes the `@protected` annotation from the InstanceManager field of the
4+
`PigeonInternalProxyApiBaseClass`.
5+
16
## 22.6.1
27

38
* [gobject] Moves class declarations to the header to work around a bug in some

packages/pigeon/lib/dart/templates.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,6 @@ abstract class $proxyApiBaseClassName {
255255
final BinaryMessenger? $_proxyApiBaseClassMessengerVarName;
256256
257257
/// Maintains instances stored to communicate with native language objects.
258-
@protected
259258
final $dartInstanceManagerClassName $_proxyApiBaseClassInstanceManagerVarName;
260259
261260
/// Instantiates and returns a functionally identical object to oneself.

packages/pigeon/lib/generator_tools.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import 'ast.dart';
1414
/// The current version of pigeon.
1515
///
1616
/// This must match the version in pubspec.yaml.
17-
const String pigeonVersion = '22.6.1';
17+
const String pigeonVersion = '22.6.2';
1818

1919
/// Read all the content from [stdin] to a String.
2020
String readStdin() {

packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/proxy_api_tests.gen.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ abstract class PigeonInternalProxyApiBaseClass {
5454
final BinaryMessenger? pigeon_binaryMessenger;
5555

5656
/// Maintains instances stored to communicate with native language objects.
57-
@protected
5857
final PigeonInstanceManager pigeon_instanceManager;
5958

6059
/// Instantiates and returns a functionally identical object to oneself.

packages/pigeon/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: pigeon
22
description: Code generator tool to make communication between Flutter and the host platform type-safe and easier.
33
repository: https://github.com/flutter/packages/tree/main/packages/pigeon
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+pigeon%22
5-
version: 22.6.1 # This must match the version in lib/generator_tools.dart
5+
version: 22.6.2 # This must match the version in lib/generator_tools.dart
66

77
environment:
88
sdk: ^3.3.0

packages/pigeon/test/dart/proxy_api_test.dart

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,62 @@ void main() {
177177
);
178178
});
179179

180+
group('ProxyApi base class', () {
181+
test('class name', () {
182+
final Root root = Root(apis: <Api>[
183+
AstProxyApi(
184+
name: 'Api',
185+
constructors: <Constructor>[],
186+
fields: <ApiField>[],
187+
methods: <Method>[],
188+
)
189+
], classes: <Class>[], enums: <Enum>[]);
190+
final StringBuffer sink = StringBuffer();
191+
const DartGenerator generator = DartGenerator();
192+
generator.generate(
193+
const DartOptions(),
194+
root,
195+
sink,
196+
dartPackageName: DEFAULT_PACKAGE_NAME,
197+
);
198+
final String code = sink.toString();
199+
200+
expect(
201+
code,
202+
contains(r'abstract class PigeonInternalProxyApiBaseClass'),
203+
);
204+
});
205+
206+
test('InstanceManager field', () {
207+
final Root root = Root(apis: <Api>[
208+
AstProxyApi(
209+
name: 'Api',
210+
constructors: <Constructor>[],
211+
fields: <ApiField>[],
212+
methods: <Method>[],
213+
)
214+
], classes: <Class>[], enums: <Enum>[]);
215+
final StringBuffer sink = StringBuffer();
216+
const DartGenerator generator = DartGenerator();
217+
generator.generate(
218+
const DartOptions(),
219+
root,
220+
sink,
221+
dartPackageName: DEFAULT_PACKAGE_NAME,
222+
);
223+
final String code = sink.toString();
224+
final String collapsedCode = _collapseNewlineAndIndentation(code);
225+
226+
expect(
227+
collapsedCode,
228+
contains(
229+
'/// Maintains instances stored to communicate with native language objects. '
230+
'final PigeonInstanceManager pigeon_instanceManager;',
231+
),
232+
);
233+
});
234+
});
235+
180236
group('inheritance', () {
181237
test('extends', () {
182238
final AstProxyApi api2 = AstProxyApi(

0 commit comments

Comments
 (0)