-
Notifications
You must be signed in to change notification settings - Fork 9
Feature/atr 777 dev graphs and graph extensions not sealed #622
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/atr 777 dev graphs and graph extensions not sealed #622
Conversation
There was a problem hiding this 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
abstractmodifier or removessealedmodifier 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.
|
The documentation review will be done in a separate PR |
MERGE INTO
devBRANCH AFTER #621Implemented PX1113 diagnostic to report sealed graphs and graph extensions.
Changes Overview
sealedmodifier