Repository navigation
feat(bare-related-entity-inference): Add parameterless RelatedEntity … - #228
Merged
Merged
Conversation
…attribute with automatic pattern inference
- Add PatternResolutionPass to infer sort key patterns from child entity discriminators
- Introduce bare [RelatedEntity] attribute form that eliminates manual pattern duplication
- Modify RelatedEntityAttribute to support parameterless constructor with nullable SortKeyPattern
- Update EntityAnalyzer to extract child entity type from property generic arguments
- Add pattern resolution phase after entity analysis in DynamoDbSourceGenerator pipeline
- Implement entity type inference for List<T>, T?, and T collection patterns
- Add re-validation of resolved patterns to catch ambiguities and conflicts
- Add comprehensive unit tests covering type inference, resolution, diagnostics, and backward compatibility
- Add diagnostic descriptors FDDB130, FDDB131, FDDB132 for pattern resolution failures and type conflicts
- Update documentation with bare RelatedEntity syntax and migration guidance
- Maintains backward compatibility with explicit pattern form [RelatedEntity("PATTERN")]
- Resolves child entity patterns as single source of truth, reducing maintenance burden
🔍 PR Validation ResultsValidation Checks
Overall Status✅ All validations passed! This PR is ready for review. 📋 Validation DetailsChangelog Status
Build Status
Test Status
This comment was automatically generated by the PR validation workflow. |
…generic collections - Add FDDB133.md documenting the diagnostic for non-generic collection types on bare RelatedEntity attributes - Update diagnostics README to reference new FDDB133 code and increment total count to 128 - Refactor BareRelatedEntityCodeEquivalenceTests to strip timestamp lines before comparison - Timestamp lines differ between compilations and are not meaningful for equivalence validation - Improves test reliability by normalizing generated source text
…ode equivalence tests - Remove BareAndExplicit_ProduceIdenticalGeneratedCode_ForParentEntity test that verified identical generated code for Invoice entity - Remove BareAndExplicit_ProduceIdenticalGeneratedCode_ForChildEntity test that verified identical generated code for InvoiceLine entity - Remove StripTimestampLine helper method no longer needed by removed tests - Update class documentation to reflect new validation scope: verifying both forms compile without errors and produce the same set of generated files - Shift focus from character-for-character code equivalence to functional compilation and file set equivalence
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…attribute with automatic pattern inference