Add semantic validations CLASS_DECLARATION_001 to CLASS_DECLARATION_008 under concepts specification #2
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.
Description
This PR introduces semantic validation tests for concepts under the specifications module. Specifically, it includes tests and corresponding CTO models for the following rules:
CLASS_DECLARATION_001: Property names must not use system-reserved identifiers (e.g.,$class)CLASS_DECLARATION_002:$classfield must not be explicitly declared with invalid typesCLASS_DECLARATION_003: Duplicate class names should not exist in the same modelCLASS_DECLARATION_004: A declared super type must existCLASS_DECLARATION_005: Identifying fields must correspond to String or String scalar propertiesCLASS_DECLARATION_006: Identifying fields must not be optionalCLASS_DECLARATION_007: If a concept is system-identified, its super type must also be system-identifiedCLASS_DECLARATION_008: No property should be redefined if it already exists in the super typeIncludes: