Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 23, 2025

PR #284 discussion identified the need to formally document how orchestration analyzers discover orchestrations and follow method call chains.

Changes

Added comprehensive documentation to src/Analyzers/CONTRIBUTING.md covering:

  • Orchestration Discovery: How the analyzer identifies three orchestration patterns (Durable Functions with [OrchestrationTrigger], TaskOrchestrator classes, and AddOrchestratorFunc lambdas)

  • Method Probing Algorithm: Recursive traversal with cycle detection, cross-tree analysis, and concurrent execution support

  • Probing Capabilities: Direct calls, static/instance methods, async methods, lambdas, method references, partial classes, recursive methods

  • Probing Limitations: Cannot follow interface/abstract/virtual method calls, external libraries, reflection, or DI-resolved instances

  • Diagnostic Message Format: Explicitly identifies the violating method, the specific violation, and the invoking orchestration

Example limitation documented:

// Will NOT be analyzed
IHelper helper = GetHelper(); // implementation unknown
helper.DoSomething(); // analyzer cannot follow this call

This provides the specification needed for consistent analyzer development and explains expected behavior to users.

Original prompt

This section details on the original issue you should resolve

<issue_title>Roslyn Analyzer: document how orchestrations are analyzed and the method probing is executed.</issue_title>
<issue_description>Please see the discussion in #284</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI changed the title [WIP] Document how orchestrations are analyzed in Roslyn Analyzer Document orchestration discovery and method probing behavior in analyzers Dec 23, 2025
Copilot AI requested a review from YunchuWang December 23, 2025 21:05
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.

Roslyn Analyzer: document how orchestrations are analyzed and the method probing is executed.

2 participants