From bfc3acee24718f5e1fa839046fe2cb71133ccf0f Mon Sep 17 00:00:00 2001 From: Jason Simmons Date: Wed, 27 Sep 2023 08:44:58 -0700 Subject: [PATCH] Declare native wrapper classes in Fuchsia packages as base classes (flutter/engine#46305) This prohibits other implementations of the class interface that can not act as native wrappers. See https://github.com/flutter/flutter/issues/123756 --- .../shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle.dart | 2 +- .../fuchsia/dart-pkg/zircon/lib/src/handle_disposition.dart | 2 +- .../platform/fuchsia/dart-pkg/zircon/lib/src/handle_waiter.dart | 2 +- .../shell/platform/fuchsia/dart-pkg/zircon/lib/src/system.dart | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle.dart b/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle.dart index adfac800bc..81a6300f25 100644 --- a/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle.dart +++ b/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle.dart @@ -8,7 +8,7 @@ part of zircon; // ignore_for_file: public_member_api_docs @pragma('vm:entry-point') -class Handle extends NativeFieldWrapperClass1 { +base class Handle extends NativeFieldWrapperClass1 { // No public constructor - this can only be created from native code. @pragma('vm:entry-point') Handle._(); diff --git a/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle_disposition.dart b/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle_disposition.dart index bd3fa0363a..a3ce43bbc6 100644 --- a/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle_disposition.dart +++ b/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle_disposition.dart @@ -8,7 +8,7 @@ part of zircon; // ignore_for_file: public_member_api_docs @pragma('vm:entry-point') -class HandleDisposition extends NativeFieldWrapperClass1 { +base class HandleDisposition extends NativeFieldWrapperClass1 { @pragma('vm:entry-point') HandleDisposition(int operation, Handle handle, int type, int rights) { _constructor(operation, handle, type, rights); diff --git a/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle_waiter.dart b/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle_waiter.dart index dba823a13b..49bc437a50 100644 --- a/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle_waiter.dart +++ b/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle_waiter.dart @@ -10,7 +10,7 @@ part of zircon; typedef AsyncWaitCallback = void Function(int status, int pending); @pragma('vm:entry-point') -class HandleWaiter extends NativeFieldWrapperClass1 { +base class HandleWaiter extends NativeFieldWrapperClass1 { // Private constructor. @pragma('vm:entry-point') HandleWaiter._(); diff --git a/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/system.dart b/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/system.dart index 9f6cec0b02..ccf1b69360 100644 --- a/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/system.dart +++ b/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/system.dart @@ -193,7 +193,7 @@ class MapResult extends _Result { } @pragma('vm:entry-point') -class System extends NativeFieldWrapperClass1 { +base class System extends NativeFieldWrapperClass1 { // No public constructor - this only has static methods. System._();