[pigeon] correct usage of extended generics in generator methods (#8910)

This update is necessary for an impending linter change. 

Corrects improper usage of generics in the options for generators
diff --git a/packages/pigeon/lib/src/cpp/cpp_generator.dart b/packages/pigeon/lib/src/cpp/cpp_generator.dart
index cad25aa..4a78d61 100644
--- a/packages/pigeon/lib/src/cpp/cpp_generator.dart
+++ b/packages/pigeon/lib/src/cpp/cpp_generator.dart
@@ -98,7 +98,7 @@
 /// Options that control how C++ code will be generated.
 ///
 /// For internal use only.
-class InternalCppOptions extends PigeonInternalOptions {
+class InternalCppOptions extends InternalOptions {
   /// Creates a [InternalCppOptions] object.
   const InternalCppOptions({
     required this.headerIncludePath,
diff --git a/packages/pigeon/lib/src/dart/dart_generator.dart b/packages/pigeon/lib/src/dart/dart_generator.dart
index b8897e4..a6955bc 100644
--- a/packages/pigeon/lib/src/dart/dart_generator.dart
+++ b/packages/pigeon/lib/src/dart/dart_generator.dart
@@ -87,7 +87,7 @@
 }
 
 /// Options that control how Dart code will be generated.
-class InternalDartOptions extends PigeonInternalOptions {
+class InternalDartOptions extends InternalOptions {
   /// Constructor for InternalDartOptions.
   const InternalDartOptions({
     this.copyrightHeader,
diff --git a/packages/pigeon/lib/src/generator.dart b/packages/pigeon/lib/src/generator.dart
index fc0b8a1..a2646c9 100644
--- a/packages/pigeon/lib/src/generator.dart
+++ b/packages/pigeon/lib/src/generator.dart
@@ -6,21 +6,21 @@
 import 'generator_tools.dart';
 
 /// The internal options used by the generator.
-abstract class PigeonInternalOptions {
+abstract class InternalOptions {
   /// Constructor.
-  const PigeonInternalOptions();
+  const InternalOptions();
 }
 
 /// An abstract base class of generators.
 ///
 /// This provides the structure that is common across generators for different languages.
-abstract class Generator<PigeonInternalOptions> {
+abstract class Generator<T extends InternalOptions> {
   /// Constructor.
   const Generator();
 
   /// Generates files for specified language with specified [generatorOptions]
   void generate(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     StringSink sink, {
     required String dartPackageName,
@@ -28,14 +28,14 @@
 }
 
 /// An abstract base class that enforces code generation across platforms.
-abstract class StructuredGenerator<PigeonInternalOptions>
-    extends Generator<PigeonInternalOptions> {
+abstract class StructuredGenerator<T extends InternalOptions>
+    extends Generator<T> {
   /// Constructor.
   const StructuredGenerator();
 
   @override
   void generate(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     StringSink sink, {
     required String dartPackageName,
@@ -126,7 +126,7 @@
 
   /// Adds specified headers to [indent].
   void writeFilePrologue(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent, {
     required String dartPackageName,
@@ -134,7 +134,7 @@
 
   /// Writes specified imports to [indent].
   void writeFileImports(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent, {
     required String dartPackageName,
@@ -144,7 +144,7 @@
   ///
   /// This method is not required, and does not need to be overridden.
   void writeOpenNamespace(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent, {
     required String dartPackageName,
@@ -154,7 +154,7 @@
   ///
   /// This method is not required, and does not need to be overridden.
   void writeCloseNamespace(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent, {
     required String dartPackageName,
@@ -164,7 +164,7 @@
   ///
   /// This method is not required, and does not need to be overridden.
   void writeGeneralUtilities(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent, {
     required String dartPackageName,
@@ -174,7 +174,7 @@
   ///
   /// Can be overridden to add extra code before/after enums.
   void writeEnums(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent, {
     required String dartPackageName,
@@ -192,7 +192,7 @@
 
   /// Writes a single Enum to [indent]. This is needed in most generators.
   void writeEnum(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent,
     Enum anEnum, {
@@ -203,7 +203,7 @@
   ///
   /// Can be overridden to add extra code before/after apis.
   void writeDataClasses(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent, {
     required String dartPackageName,
@@ -221,7 +221,7 @@
 
   /// Writes the custom codec to [indent].
   void writeGeneralCodec(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent, {
     required String dartPackageName,
@@ -229,7 +229,7 @@
 
   /// Writes a single data class to [indent].
   void writeDataClass(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent,
     Class classDefinition, {
@@ -238,7 +238,7 @@
 
   /// Writes a single class encode method to [indent].
   void writeClassEncode(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent,
     Class classDefinition, {
@@ -247,7 +247,7 @@
 
   /// Writes a single class decode method to [indent].
   void writeClassDecode(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent,
     Class classDefinition, {
@@ -256,7 +256,7 @@
 
   /// Writes a single class decode method to [indent].
   void writeClassEquality(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent,
     Class classDefinition, {
@@ -267,7 +267,7 @@
   ///
   /// Can be overridden to add extra code before/after classes.
   void writeApis(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent, {
     required String dartPackageName,
@@ -312,7 +312,7 @@
 
   /// Writes a single Flutter Api to [indent].
   void writeFlutterApi(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent,
     AstFlutterApi api, {
@@ -321,7 +321,7 @@
 
   /// Writes a single Host Api to [indent].
   void writeHostApi(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent,
     AstHostApi api, {
@@ -330,7 +330,7 @@
 
   /// Writes the implementation of an `InstanceManager` to [indent].
   void writeInstanceManager(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent, {
     required String dartPackageName,
@@ -339,7 +339,7 @@
   /// Writes the implementation of the API for the `InstanceManager` to
   /// [indent].
   void writeInstanceManagerApi(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent, {
     required String dartPackageName,
@@ -356,14 +356,14 @@
   /// needs to create its own codec (it has methods/fields/constructor that use
   /// a data class) it should extend this codec and not `StandardMessageCodec`.
   void writeProxyApiBaseCodec(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent,
   ) {}
 
   /// Writes a single Proxy Api to [indent].
   void writeProxyApi(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent,
     AstProxyApi api, {
@@ -372,7 +372,7 @@
 
   /// Writes a single event channel Api to [indent].
   void writeEventChannelApi(
-    PigeonInternalOptions generatorOptions,
+    T generatorOptions,
     Root root,
     Indent indent,
     AstEventChannelApi api, {
diff --git a/packages/pigeon/lib/src/generator_tools.dart b/packages/pigeon/lib/src/generator_tools.dart
index 58cc1ab..7b9a41e 100644
--- a/packages/pigeon/lib/src/generator_tools.dart
+++ b/packages/pigeon/lib/src/generator_tools.dart
@@ -10,6 +10,7 @@
 import 'package:yaml/yaml.dart' as yaml;
 
 import 'ast.dart';
+import 'generator.dart';
 
 /// The current version of pigeon.
 ///
@@ -794,7 +795,7 @@
 /// Options for [Generator]s that have multiple output file types.
 ///
 /// Specifies which file to write as well as wraps all language options.
-class OutputFileOptions<T> {
+class OutputFileOptions<T extends InternalOptions> extends InternalOptions {
   /// Constructor.
   OutputFileOptions({required this.fileType, required this.languageOptions});
 
diff --git a/packages/pigeon/lib/src/gobject/gobject_generator.dart b/packages/pigeon/lib/src/gobject/gobject_generator.dart
index 9cb1796..7c86d2d 100644
--- a/packages/pigeon/lib/src/gobject/gobject_generator.dart
+++ b/packages/pigeon/lib/src/gobject/gobject_generator.dart
@@ -74,7 +74,7 @@
 }
 
 /// Options that control how GObject code will be generated.
-class InternalGObjectOptions extends PigeonInternalOptions {
+class InternalGObjectOptions extends InternalOptions {
   /// Creates a [InternalGObjectOptions] object
   const InternalGObjectOptions({
     required this.headerIncludePath,
diff --git a/packages/pigeon/lib/src/java/java_generator.dart b/packages/pigeon/lib/src/java/java_generator.dart
index 26b346d..4b9c1e4 100644
--- a/packages/pigeon/lib/src/java/java_generator.dart
+++ b/packages/pigeon/lib/src/java/java_generator.dart
@@ -90,7 +90,7 @@
 }
 
 /// Options that control how Java code will be generated.
-class InternalJavaOptions extends PigeonInternalOptions {
+class InternalJavaOptions extends InternalOptions {
   /// Creates a [InternalJavaOptions] object
   const InternalJavaOptions({
     required this.javaOut,
diff --git a/packages/pigeon/lib/src/kotlin/kotlin_generator.dart b/packages/pigeon/lib/src/kotlin/kotlin_generator.dart
index 1368fa3..f64daca 100644
--- a/packages/pigeon/lib/src/kotlin/kotlin_generator.dart
+++ b/packages/pigeon/lib/src/kotlin/kotlin_generator.dart
@@ -99,7 +99,7 @@
 }
 
 ///
-class InternalKotlinOptions extends PigeonInternalOptions {
+class InternalKotlinOptions extends InternalOptions {
   /// Creates a [InternalKotlinOptions] object
   const InternalKotlinOptions({
     this.package,
diff --git a/packages/pigeon/lib/src/objc/objc_generator.dart b/packages/pigeon/lib/src/objc/objc_generator.dart
index 0a2e913..1755bc2 100644
--- a/packages/pigeon/lib/src/objc/objc_generator.dart
+++ b/packages/pigeon/lib/src/objc/objc_generator.dart
@@ -93,7 +93,7 @@
 }
 
 /// Options that control how Objective-C code will be generated.
-class InternalObjcOptions extends PigeonInternalOptions {
+class InternalObjcOptions extends InternalOptions {
   /// Parametric constructor for InternalObjcOptions.
   const InternalObjcOptions({
     required this.headerIncludePath,
diff --git a/packages/pigeon/lib/src/swift/swift_generator.dart b/packages/pigeon/lib/src/swift/swift_generator.dart
index c9d2cdc..1f1ece7 100644
--- a/packages/pigeon/lib/src/swift/swift_generator.dart
+++ b/packages/pigeon/lib/src/swift/swift_generator.dart
@@ -79,7 +79,7 @@
 }
 
 /// Options that control how Swift code will be generated.
-class InternalSwiftOptions extends PigeonInternalOptions {
+class InternalSwiftOptions extends InternalOptions {
   /// Creates a [InternalSwiftOptions] object
   const InternalSwiftOptions({
     this.copyrightHeader,