Skip to content

Commit c224742

Browse files
authored
add emitter option suppress-abstract-base-class. (#5315)
* add emitter option suppress-abstract-base-class. * fix format issue.
1 parent 2dc2af2 commit c224742

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/TypeSpec.Extension/Emitter.Csharp/src/emitter.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,9 @@ export async function $onEmit(context: EmitContext<AzureCSharpEmitterOptions>) {
163163
configurations["azure-arm"] =
164164
sdkContext.arm === false ? undefined : sdkContext.arm;
165165

166+
configurations["suppress-abstract-base-class"] =
167+
options["suppress-abstract-base-class"];
168+
166169
// Write the config file
167170
await program.host.writeFile(
168171
resolvePath(outputFolder, configurationFileName),

src/TypeSpec.Extension/Emitter.Csharp/src/options.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export interface AzureCSharpEmitterOptions extends CSharpEmitterOptions {
3030
"examples-dir"?: string;
3131
"enable-bicep-serialization"?: boolean;
3232
"clear-output-folder"?: boolean;
33+
"suppress-abstract-base-class"?: string[];
3334
}
3435

3536
export const AzureCSharpEmitterOptionsSchema: JSONSchemaType<AzureCSharpEmitterOptions> =
@@ -102,6 +103,11 @@ export const AzureCSharpEmitterOptionsSchema: JSONSchemaType<AzureCSharpEmitterO
102103
type: "boolean",
103104
nullable: true,
104105
default: false
106+
},
107+
"suppress-abstract-base-class": {
108+
type: "array",
109+
nullable: true,
110+
items: { type: "string" }
105111
}
106112
},
107113
required: []
@@ -127,7 +133,8 @@ const defaultAzureEmitterOptions = {
127133
"library-name": undefined,
128134
"examples-dir": undefined,
129135
"enable-bicep-serialization": undefined,
130-
"clear-output-folder": false
136+
"clear-output-folder": false,
137+
"suppress-abstract-base-class": undefined
131138
};
132139

133140
export function resolveAzureEmitterOptions(
@@ -197,6 +204,9 @@ export function resolveAzureEmitterOptions(
197204
defaultAzureEmitterOptions["enable-bicep-serialization"],
198205
"clear-output-folder":
199206
context.options["clear-output-folder"] ??
200-
defaultAzureEmitterOptions["clear-output-folder"]
207+
defaultAzureEmitterOptions["clear-output-folder"],
208+
"suppress-abstract-base-class":
209+
context.options["suppress-abstract-base-class"] ??
210+
defaultAzureEmitterOptions["suppress-abstract-base-class"]
201211
};
202212
}

0 commit comments

Comments
 (0)