Skip to content

Fix CancellationToken parameter ordering and name collision in v3 OperationCompiler#341

Draft
Copilot wants to merge 2 commits intorepo-assist/feat-cancellationtoken-issue-212-2026-03-23-448c1cde90ec7d95from
copilot/sub-pr-336-another-one
Draft

Fix CancellationToken parameter ordering and name collision in v3 OperationCompiler#341
Copilot wants to merge 2 commits intorepo-assist/feat-cancellationtoken-issue-212-2026-03-23-448c1cde90ec7d95from
copilot/sub-pr-336-another-one

Conversation

Copy link
Contributor

Copilot AI commented Mar 23, 2026

Two bugs in the CT overload generation: CT was appended after optional parameters (invalid in .NET — required params must precede optional), and the CT parameter name was always cancellationToken with no collision check against generated OpenAPI parameter names.

Changes

  • Parameter ordering: Split parameter building into two passes (required, then optional) with the used-name set threaded between them. CT is now inserted at ctArgIndex = requiredParamCount, giving the signature: (required...) → CT → (optional...).

  • Name uniqueness: Collect all generated parameter names into a set before creating the CT param; fall back to cancellationToken1, cancellationToken2, etc. on collision.

  • invokeCode extraction: CT is now extracted by List.item ctArgIndex allArgs (index captured during parameter building) rather than by peeling off the last argument, which broke under the new ordering.

Before / After signature example

// Before: CT appended last — after optional params
MyMethod(requiredA: string, ?optB: int, cancellationToken: CancellationToken)

// After: CT sits between required and optional
MyMethod(requiredA: string, cancellationToken: CancellationToken, ?optB: int)

📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.

Copilot AI changed the title [WIP] [WIP] Address feedback on CancellationToken support in OpenApiClientProvider methods Fix CancellationToken parameter ordering and name collision in v3 OperationCompiler Mar 23, 2026
Copilot AI requested a review from sergey-tihon March 23, 2026 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants