Skip to content

Conversation

@SENya1990
Copy link
Contributor

@SENya1990 SENya1990 commented Oct 26, 2025

MERGE INTO dev BRANCH AFTER #621

Implemented PX1113 diagnostic to report sealed graphs and graph extensions.

Changes Overview

  • Implemented PX1113 diagnostic as part of the analyzer for graph and graph extension declaration
  • Implemented code fix for PX1113 diagnostic to remove sealed modifier
  • Added unit tests for PX1113 diagnostic and fixed tests for PX1112 diagnostic.
  • Added documentation for PX1113 diagnostic

@SENya1990 SENya1990 changed the base branch from dev to feature/ATR-728-dev-graph-declaration-diagnostic October 26, 2025 16:49
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR implements two new diagnostics (PX1112 and PX1113) with code fixes to enforce proper declaration modifiers for Acumatica graphs and graph extensions. The diagnostics ensure that generic graphs/extensions are declared as abstract and that no graphs/extensions are sealed, which is required for Acumatica's dynamic type generation and customization mechanism.

Key Changes:

  • Added PX1112 diagnostic to detect non-abstract generic graphs and graph extensions
  • Added PX1113 diagnostic to detect sealed graphs and graph extensions
  • Implemented a unified code fix that adds abstract modifier or removes sealed modifier as appropriate

Reviewed Changes

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

Show a summary per file
File Description
GraphAndGraphExtensionDeclarationAnalyzer.cs New analyzer implementing PX1112 and PX1113 diagnostics for graph/extension declarations
TypeModifiersFix.cs New code fix provider that adds abstract or removes sealed modifiers, handling both partial and non-partial types
PXGraphAnalyzer.cs Registered the new GraphAndGraphExtensionDeclarationAnalyzer
Descriptors.cs Added diagnostic descriptors for PX1112 and PX1113
Resources.resx Added localized strings for diagnostic titles and code fix messages
DiagnosticsShortName.resx Added short names for the new diagnostics
GenericNonAbstractGraphsAndGraphExtensionsTests.cs Test suite for PX1112 diagnostic and code fix
SealedGraphsAndGraphExtensionsTests.cs Test suite for PX1113 diagnostic and code fix
Test source files Various test input and expected output files for both diagnostics
PX1112.md, PX1113.md Documentation for the new diagnostics
Summary.md Updated diagnostic summary table
Files not reviewed (2)
  • src/Acuminator/Acuminator.Analyzers/DiagnosticsShortName.Designer.cs: Language not supported
  • src/Acuminator/Acuminator.Analyzers/Resources.Designer.cs: Language not supported

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

@SENya1990 SENya1990 requested a review from dropsonic October 26, 2025 17:23
Base automatically changed from feature/ATR-728-dev-graph-declaration-diagnostic to dev November 3, 2025 22:28
@SENya1990
Copy link
Contributor Author

The documentation review will be done in a separate PR

@SENya1990 SENya1990 merged commit 941c3b5 into dev Nov 3, 2025
@SENya1990 SENya1990 deleted the feature/ATR-777-dev-graphs-and-graph-extensions-not-sealed branch November 3, 2025 22:30
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.

3 participants