Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
update Internal options naming and extension
  • Loading branch information
tarrinneal committed Mar 24, 2025
commit 48fa3493f9e8dc277310407f1c3830ec52f4deb2
2 changes: 1 addition & 1 deletion packages/pigeon/lib/src/cpp/cpp_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class CppOptions {
/// Options that control how C++ code will be generated.
///
/// For internal use only.
class InternalCppOptions {
class InternalCppOptions extends PigeonInternalOptions {
/// Creates a [InternalCppOptions] object.
const InternalCppOptions({
required this.headerIncludePath,
Expand Down
2 changes: 1 addition & 1 deletion packages/pigeon/lib/src/dart/dart_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ class DartOptions {
}

/// Options that control how Dart code will be generated.
class InternalDartOptions {
class InternalDartOptions extends PigeonInternalOptions {
/// Constructor for InternalDartOptions.
const InternalDartOptions({
this.copyrightHeader,
Expand Down
57 changes: 30 additions & 27 deletions packages/pigeon/lib/src/generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,36 @@ import 'ast.dart';
import 'generator_tools.dart';

/// The internal options used by the generator.
abstract class InternalOptions {}
abstract class PigeonInternalOptions {
/// Constructor.
const PigeonInternalOptions();
}

/// An abstract base class of generators.
///
/// This provides the structure that is common across generators for different languages.
abstract class Generator<InternalOptions> {
abstract class Generator<PigeonInternalOptions> {
/// Constructor.
const Generator();

/// Generates files for specified language with specified [generatorOptions]
void generate(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
StringSink sink, {
required String dartPackageName,
});
}

/// An abstract base class that enforces code generation across platforms.
abstract class StructuredGenerator<InternalOptions>
extends Generator<InternalOptions> {
abstract class StructuredGenerator<PigeonInternalOptions>
extends Generator<PigeonInternalOptions> {
/// Constructor.
const StructuredGenerator();

@override
void generate(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
StringSink sink, {
required String dartPackageName,
Expand Down Expand Up @@ -123,15 +126,15 @@ abstract class StructuredGenerator<InternalOptions>

/// Adds specified headers to [indent].
void writeFilePrologue(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent, {
required String dartPackageName,
});

/// Writes specified imports to [indent].
void writeFileImports(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent, {
required String dartPackageName,
Expand All @@ -141,7 +144,7 @@ abstract class StructuredGenerator<InternalOptions>
///
/// This method is not required, and does not need to be overridden.
void writeOpenNamespace(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent, {
required String dartPackageName,
Expand All @@ -151,7 +154,7 @@ abstract class StructuredGenerator<InternalOptions>
///
/// This method is not required, and does not need to be overridden.
void writeCloseNamespace(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent, {
required String dartPackageName,
Expand All @@ -161,7 +164,7 @@ abstract class StructuredGenerator<InternalOptions>
///
/// This method is not required, and does not need to be overridden.
void writeGeneralUtilities(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent, {
required String dartPackageName,
Expand All @@ -171,7 +174,7 @@ abstract class StructuredGenerator<InternalOptions>
///
/// Can be overridden to add extra code before/after enums.
void writeEnums(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent, {
required String dartPackageName,
Expand All @@ -189,7 +192,7 @@ abstract class StructuredGenerator<InternalOptions>

/// Writes a single Enum to [indent]. This is needed in most generators.
void writeEnum(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent,
Enum anEnum, {
Expand All @@ -200,7 +203,7 @@ abstract class StructuredGenerator<InternalOptions>
///
/// Can be overridden to add extra code before/after apis.
void writeDataClasses(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent, {
required String dartPackageName,
Expand All @@ -218,15 +221,15 @@ abstract class StructuredGenerator<InternalOptions>

/// Writes the custom codec to [indent].
void writeGeneralCodec(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent, {
required String dartPackageName,
});

/// Writes a single data class to [indent].
void writeDataClass(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent,
Class classDefinition, {
Expand All @@ -235,7 +238,7 @@ abstract class StructuredGenerator<InternalOptions>

/// Writes a single class encode method to [indent].
void writeClassEncode(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent,
Class classDefinition, {
Expand All @@ -244,7 +247,7 @@ abstract class StructuredGenerator<InternalOptions>

/// Writes a single class decode method to [indent].
void writeClassDecode(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent,
Class classDefinition, {
Expand All @@ -253,7 +256,7 @@ abstract class StructuredGenerator<InternalOptions>

/// Writes a single class decode method to [indent].
void writeClassEquality(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent,
Class classDefinition, {
Expand All @@ -264,7 +267,7 @@ abstract class StructuredGenerator<InternalOptions>
///
/// Can be overridden to add extra code before/after classes.
void writeApis(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent, {
required String dartPackageName,
Expand Down Expand Up @@ -309,7 +312,7 @@ abstract class StructuredGenerator<InternalOptions>

/// Writes a single Flutter Api to [indent].
void writeFlutterApi(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent,
AstFlutterApi api, {
Expand All @@ -318,7 +321,7 @@ abstract class StructuredGenerator<InternalOptions>

/// Writes a single Host Api to [indent].
void writeHostApi(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent,
AstHostApi api, {
Expand All @@ -327,7 +330,7 @@ abstract class StructuredGenerator<InternalOptions>

/// Writes the implementation of an `InstanceManager` to [indent].
void writeInstanceManager(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent, {
required String dartPackageName,
Expand All @@ -336,7 +339,7 @@ abstract class StructuredGenerator<InternalOptions>
/// Writes the implementation of the API for the `InstanceManager` to
/// [indent].
void writeInstanceManagerApi(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent, {
required String dartPackageName,
Expand All @@ -353,14 +356,14 @@ abstract class StructuredGenerator<InternalOptions>
/// 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(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent,
) {}

/// Writes a single Proxy Api to [indent].
void writeProxyApi(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent,
AstProxyApi api, {
Expand All @@ -369,7 +372,7 @@ abstract class StructuredGenerator<InternalOptions>

/// Writes a single event channel Api to [indent].
void writeEventChannelApi(
InternalOptions generatorOptions,
PigeonInternalOptions generatorOptions,
Root root,
Indent indent,
AstEventChannelApi api, {
Expand Down
2 changes: 1 addition & 1 deletion packages/pigeon/lib/src/gobject/gobject_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ class GObjectOptions {
}

/// Options that control how GObject code will be generated.
class InternalGObjectOptions {
class InternalGObjectOptions extends PigeonInternalOptions {
/// Creates a [InternalGObjectOptions] object
const InternalGObjectOptions({
required this.headerIncludePath,
Expand Down
2 changes: 1 addition & 1 deletion packages/pigeon/lib/src/java/java_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class JavaOptions {
}

/// Options that control how Java code will be generated.
class InternalJavaOptions {
class InternalJavaOptions extends PigeonInternalOptions {
/// Creates a [InternalJavaOptions] object
const InternalJavaOptions({
required this.javaOut,
Expand Down
2 changes: 1 addition & 1 deletion packages/pigeon/lib/src/kotlin/kotlin_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ class KotlinOptions {
}

///
class InternalKotlinOptions {
class InternalKotlinOptions extends PigeonInternalOptions {
/// Creates a [InternalKotlinOptions] object
const InternalKotlinOptions({
this.package,
Expand Down
2 changes: 1 addition & 1 deletion packages/pigeon/lib/src/objc/objc_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ class ObjcOptions {
}

/// Options that control how Objective-C code will be generated.
class InternalObjcOptions {
class InternalObjcOptions extends PigeonInternalOptions {
/// Parametric constructor for InternalObjcOptions.
const InternalObjcOptions({
required this.headerIncludePath,
Expand Down
2 changes: 1 addition & 1 deletion packages/pigeon/lib/src/swift/swift_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ class SwiftOptions {
}

/// Options that control how Swift code will be generated.
class InternalSwiftOptions {
class InternalSwiftOptions extends PigeonInternalOptions {
/// Creates a [InternalSwiftOptions] object
const InternalSwiftOptions({
this.copyrightHeader,
Expand Down