@@ -6,36 +6,36 @@ import 'ast.dart';
66import 'generator_tools.dart' ;
77
88/// The internal options used by the generator.
9- abstract class PigeonInternalOptions {
9+ abstract class InternalOptions {
1010 /// Constructor.
11- const PigeonInternalOptions ();
11+ const InternalOptions ();
1212}
1313
1414/// An abstract base class of generators.
1515///
1616/// This provides the structure that is common across generators for different languages.
17- abstract class Generator <PigeonInternalOptions > {
17+ abstract class Generator <T extends InternalOptions > {
1818 /// Constructor.
1919 const Generator ();
2020
2121 /// Generates files for specified language with specified [generatorOptions]
2222 void generate (
23- PigeonInternalOptions generatorOptions,
23+ T generatorOptions,
2424 Root root,
2525 StringSink sink, {
2626 required String dartPackageName,
2727 });
2828}
2929
3030/// An abstract base class that enforces code generation across platforms.
31- abstract class StructuredGenerator <PigeonInternalOptions >
32- extends Generator <PigeonInternalOptions > {
31+ abstract class StructuredGenerator <T extends InternalOptions >
32+ extends Generator <T > {
3333 /// Constructor.
3434 const StructuredGenerator ();
3535
3636 @override
3737 void generate (
38- PigeonInternalOptions generatorOptions,
38+ T generatorOptions,
3939 Root root,
4040 StringSink sink, {
4141 required String dartPackageName,
@@ -126,15 +126,15 @@ abstract class StructuredGenerator<PigeonInternalOptions>
126126
127127 /// Adds specified headers to [indent] .
128128 void writeFilePrologue (
129- PigeonInternalOptions generatorOptions,
129+ T generatorOptions,
130130 Root root,
131131 Indent indent, {
132132 required String dartPackageName,
133133 });
134134
135135 /// Writes specified imports to [indent] .
136136 void writeFileImports (
137- PigeonInternalOptions generatorOptions,
137+ T generatorOptions,
138138 Root root,
139139 Indent indent, {
140140 required String dartPackageName,
@@ -144,7 +144,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
144144 ///
145145 /// This method is not required, and does not need to be overridden.
146146 void writeOpenNamespace (
147- PigeonInternalOptions generatorOptions,
147+ T generatorOptions,
148148 Root root,
149149 Indent indent, {
150150 required String dartPackageName,
@@ -154,7 +154,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
154154 ///
155155 /// This method is not required, and does not need to be overridden.
156156 void writeCloseNamespace (
157- PigeonInternalOptions generatorOptions,
157+ T generatorOptions,
158158 Root root,
159159 Indent indent, {
160160 required String dartPackageName,
@@ -164,7 +164,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
164164 ///
165165 /// This method is not required, and does not need to be overridden.
166166 void writeGeneralUtilities (
167- PigeonInternalOptions generatorOptions,
167+ T generatorOptions,
168168 Root root,
169169 Indent indent, {
170170 required String dartPackageName,
@@ -174,7 +174,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
174174 ///
175175 /// Can be overridden to add extra code before/after enums.
176176 void writeEnums (
177- PigeonInternalOptions generatorOptions,
177+ T generatorOptions,
178178 Root root,
179179 Indent indent, {
180180 required String dartPackageName,
@@ -192,7 +192,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
192192
193193 /// Writes a single Enum to [indent] . This is needed in most generators.
194194 void writeEnum (
195- PigeonInternalOptions generatorOptions,
195+ T generatorOptions,
196196 Root root,
197197 Indent indent,
198198 Enum anEnum, {
@@ -203,7 +203,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
203203 ///
204204 /// Can be overridden to add extra code before/after apis.
205205 void writeDataClasses (
206- PigeonInternalOptions generatorOptions,
206+ T generatorOptions,
207207 Root root,
208208 Indent indent, {
209209 required String dartPackageName,
@@ -221,15 +221,15 @@ abstract class StructuredGenerator<PigeonInternalOptions>
221221
222222 /// Writes the custom codec to [indent] .
223223 void writeGeneralCodec (
224- PigeonInternalOptions generatorOptions,
224+ T generatorOptions,
225225 Root root,
226226 Indent indent, {
227227 required String dartPackageName,
228228 });
229229
230230 /// Writes a single data class to [indent] .
231231 void writeDataClass (
232- PigeonInternalOptions generatorOptions,
232+ T generatorOptions,
233233 Root root,
234234 Indent indent,
235235 Class classDefinition, {
@@ -238,7 +238,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
238238
239239 /// Writes a single class encode method to [indent] .
240240 void writeClassEncode (
241- PigeonInternalOptions generatorOptions,
241+ T generatorOptions,
242242 Root root,
243243 Indent indent,
244244 Class classDefinition, {
@@ -247,7 +247,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
247247
248248 /// Writes a single class decode method to [indent] .
249249 void writeClassDecode (
250- PigeonInternalOptions generatorOptions,
250+ T generatorOptions,
251251 Root root,
252252 Indent indent,
253253 Class classDefinition, {
@@ -256,7 +256,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
256256
257257 /// Writes a single class decode method to [indent] .
258258 void writeClassEquality (
259- PigeonInternalOptions generatorOptions,
259+ T generatorOptions,
260260 Root root,
261261 Indent indent,
262262 Class classDefinition, {
@@ -267,7 +267,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
267267 ///
268268 /// Can be overridden to add extra code before/after classes.
269269 void writeApis (
270- PigeonInternalOptions generatorOptions,
270+ T generatorOptions,
271271 Root root,
272272 Indent indent, {
273273 required String dartPackageName,
@@ -312,7 +312,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
312312
313313 /// Writes a single Flutter Api to [indent] .
314314 void writeFlutterApi (
315- PigeonInternalOptions generatorOptions,
315+ T generatorOptions,
316316 Root root,
317317 Indent indent,
318318 AstFlutterApi api, {
@@ -321,7 +321,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
321321
322322 /// Writes a single Host Api to [indent] .
323323 void writeHostApi (
324- PigeonInternalOptions generatorOptions,
324+ T generatorOptions,
325325 Root root,
326326 Indent indent,
327327 AstHostApi api, {
@@ -330,7 +330,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
330330
331331 /// Writes the implementation of an `InstanceManager` to [indent] .
332332 void writeInstanceManager (
333- PigeonInternalOptions generatorOptions,
333+ T generatorOptions,
334334 Root root,
335335 Indent indent, {
336336 required String dartPackageName,
@@ -339,7 +339,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
339339 /// Writes the implementation of the API for the `InstanceManager` to
340340 /// [indent] .
341341 void writeInstanceManagerApi (
342- PigeonInternalOptions generatorOptions,
342+ T generatorOptions,
343343 Root root,
344344 Indent indent, {
345345 required String dartPackageName,
@@ -356,14 +356,14 @@ abstract class StructuredGenerator<PigeonInternalOptions>
356356 /// needs to create its own codec (it has methods/fields/constructor that use
357357 /// a data class) it should extend this codec and not `StandardMessageCodec` .
358358 void writeProxyApiBaseCodec (
359- PigeonInternalOptions generatorOptions,
359+ T generatorOptions,
360360 Root root,
361361 Indent indent,
362362 ) {}
363363
364364 /// Writes a single Proxy Api to [indent] .
365365 void writeProxyApi (
366- PigeonInternalOptions generatorOptions,
366+ T generatorOptions,
367367 Root root,
368368 Indent indent,
369369 AstProxyApi api, {
@@ -372,7 +372,7 @@ abstract class StructuredGenerator<PigeonInternalOptions>
372372
373373 /// Writes a single event channel Api to [indent] .
374374 void writeEventChannelApi (
375- PigeonInternalOptions generatorOptions,
375+ T generatorOptions,
376376 Root root,
377377 Indent indent,
378378 AstEventChannelApi api, {
0 commit comments