Fix classes that shouldn't be extended/instantiated/mixedin (#39517)
* Fix classes that shouldn't be extended/instantiated/mixedin
* add ignore
* fix comment
diff --git a/lib/ui/isolate_name_server.dart b/lib/ui/isolate_name_server.dart
index ba3d53d..c220b4e 100644
--- a/lib/ui/isolate_name_server.dart
+++ b/lib/ui/isolate_name_server.dart
@@ -20,9 +20,9 @@
/// recommended to establish a separate communication channel in that first
/// message (e.g. by passing a dedicated [SendPort]).
class IsolateNameServer {
- // This class is only a namespace, and should not be instantiated or
- // extended directly.
- factory IsolateNameServer._() => throw UnsupportedError('Namespace');
+ // This class is not meant to be instantiated or extended; this constructor
+ // prevents instantiation and extension.
+ IsolateNameServer._();
/// Looks up the [SendPort] associated with a given name.
///
diff --git a/lib/ui/natives.dart b/lib/ui/natives.dart
index 6a286fa..d06f133 100644
--- a/lib/ui/natives.dart
+++ b/lib/ui/natives.dart
@@ -7,6 +7,10 @@
/// Helper functions for Dart Plugin Registrants.
class DartPluginRegistrant {
+ // This class is not meant to be instantiated or extended; this constructor
+ // prevents instantiation and extension.
+ DartPluginRegistrant._();
+
static bool _wasInitialized = false;
/// Makes sure the that the Dart Plugin Registrant has been called for this
diff --git a/lib/ui/painting.dart b/lib/ui/painting.dart
index 51bd467..afe0979 100644
--- a/lib/ui/painting.dart
+++ b/lib/ui/painting.dart
@@ -3501,6 +3501,9 @@
/// * [SceneBuilder.pushImageFilter], which is the low-level API for using
/// this class as a child layer filter.
abstract class ImageFilter {
+ // This class is not meant to be extended; this constructor prevents extension.
+ ImageFilter._(); // ignore: unused_element
+
/// Creates an image filter that applies a Gaussian blur.
factory ImageFilter.blur({ double sigmaX = 0.0, double sigmaY = 0.0, TileMode tileMode = TileMode.clamp }) {
return _GaussianBlurImageFilter(sigmaX: sigmaX, sigmaY: sigmaY, tileMode: tileMode);
diff --git a/lib/ui/plugins.dart b/lib/ui/plugins.dart
index 7875232..ac38e1c 100644
--- a/lib/ui/plugins.dart
+++ b/lib/ui/plugins.dart
@@ -40,9 +40,9 @@
/// * [IsolateNameServer], which provides utilities for dealing with
/// [Isolate]s.
class PluginUtilities {
- // This class is only a namespace, and should not be instantiated or
- // extended directly.
- factory PluginUtilities._() => throw UnsupportedError('Namespace');
+ // This class is not meant to be instantiated or extended; this constructor
+ // prevents instantiation and extension.
+ PluginUtilities._();
static final Map<Function, CallbackHandle?> _forwardCache =
<Function, CallbackHandle?>{};