Skip to content

Refactor support type and operation emitters#92

Merged
shibayan merged 1 commit into
masterfrom
codex/support-types-emitter-refactor
Jun 22, 2026
Merged

Refactor support type and operation emitters#92
shibayan merged 1 commit into
masterfrom
codex/support-types-emitter-refactor

Conversation

@shibayan

Copy link
Copy Markdown
Owner

Summary

  • Split SupportTypesEmitter into focused partial emitters for exceptions, helpers, parameter formatting, query, cookie, and response helpers.
  • Add SupportTypeNames to centralize support type reservations and default serializer options references.
  • Split OperationEmitter helper logic into focused partial files for error responses, parameters, security, and serialization.

Impact

This is intended to be behavior-preserving. It reduces oversized emitter files and makes the remaining generation responsibilities easier to review and extend.

Validation

  • dotnet test OpenApiWeaver.slnx --no-restore
  • git diff --check

@shibayan shibayan changed the title [codex] Refactor support type and operation emitters Refactor support type and operation emitters Jun 22, 2026
@shibayan shibayan self-assigned this Jun 22, 2026
@shibayan shibayan added the enhancement New feature or request label Jun 22, 2026
@shibayan shibayan marked this pull request as ready for review June 22, 2026 17:15
Copilot AI review requested due to automatic review settings June 22, 2026 17:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors the code-generation emitters by splitting large emitter classes into focused partial files and centralizing support-type naming/reservations, aiming to keep generated output behavior unchanged while improving maintainability.

Changes:

  • Introduced SupportTypeNames to centralize support-type names, reservations, and default serializer-options expression.
  • Split OperationEmitter helper logic into partial files (error responses, parameters, security, serialization).
  • Split SupportTypesEmitter into partial files grouped by helper/category (exceptions, helpers, parameter formatting, query, cookie, response).

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/OpenApiWeaver/SupportTypeNames.cs Centralizes support type names, reserved names, and serializer-options naming helpers.
src/OpenApiWeaver/OperationEmitter.cs Converts to partial and keeps core operation emission, delegating helper logic to partials.
src/OpenApiWeaver/OperationEmitter.ErrorResponses.cs Moves error-response handling emission into a focused partial file.
src/OpenApiWeaver/OperationEmitter.Parameters.cs Moves route/query/header/cookie parameter emission helpers into a focused partial file.
src/OpenApiWeaver/OperationEmitter.Security.cs Moves security requirement/scheme selection helpers into a focused partial file.
src/OpenApiWeaver/OperationEmitter.Serialization.cs Moves serializer-options expression helper into a focused partial file.
src/OpenApiWeaver/JsonSerializerOptionsEmitter.cs Uses centralized default serializer-options expression constant.
src/OpenApiWeaver/ClientGenerator.Transformer.cs Uses centralized serializer-options type naming helper when allocating the options type name.
src/OpenApiWeaver/ClientGenerator.Transformer.Schemas.cs Uses centralized support-type reservation helper for schema-name reservation.
src/OpenApiWeaver/ClientGenerator.Transformer.Tags.cs Uses centralized reserved support-type names when reserving client class names.
src/OpenApiWeaver/ClientGenerator.SupportTypesEmitter.cs Converts to partial and keeps the top-level support-types emission entry point.
src/OpenApiWeaver/ClientGenerator.SupportTypesEmitter.Exceptions.cs Extracts exception type emission into its own partial emitter.
src/OpenApiWeaver/ClientGenerator.SupportTypesEmitter.Helpers.cs Extracts helper-class emission and composes helper sections via partial emitters.
src/OpenApiWeaver/ClientGenerator.SupportTypesEmitter.ParameterFormatting.cs Extracts parameter-formatting helpers into its own partial emitter.
src/OpenApiWeaver/ClientGenerator.SupportTypesEmitter.Query.cs Extracts query-string helpers into its own partial emitter.
src/OpenApiWeaver/ClientGenerator.SupportTypesEmitter.Cookie.cs Extracts cookie header helpers into its own partial emitter.
src/OpenApiWeaver/ClientGenerator.SupportTypesEmitter.Response.cs Extracts response/content-type/status-code/deserialize helpers into its own partial emitter.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@shibayan shibayan merged commit 8583028 into master Jun 22, 2026
5 checks passed
@shibayan shibayan deleted the codex/support-types-emitter-refactor branch June 22, 2026 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants