Add cross-block model member validation#48
Draft
ViTeXFTW wants to merge 3 commits into
Draft
Conversation
|
| Filename | Overview |
|---|---|
| crates/analysis/src/diagnostics.rs | Adds configurable model-member diagnostics and validates OCL members against referenced transport models. |
| crates/analysis/src/index.rs | Indexes object-to-model bindings, object inheritance, and model-member strictness state. |
| crates/analysis/src/model.rs | Adds schema-directed model source resolution for enclosing objects and object-reference fields. |
| crates/server/src/backend.rs | Populates object model and parent indexes during scans and applies strictness from initialization options. |
| docs/language-server.md | Documents the new LSP option, but states the wrong default value. |
Reviews (1): Last reviewed commit: "Add cross-block model member validation" | Re-trigger Greptile
Comment on lines
48
to
50
| - `analysis.modelMemberStrictness` is `off`, `compatible` (member exists in any | ||
| applicable model), or `strict` (member exists in every applicable model). | ||
| It defaults to `false`. |
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.
What changed
ObjectCreationListtransport objects through their models and W3D membersWhy
OCL fields such as
VisibleDropBoneBaseNamebelong to the model used by their referenced transport Object, not to a model declared inside the OCL itself. Same-scope model lookup therefore could not validate these references.Validation
cargo test --workspacegit diff --checkThe optional real-game corpus was not present locally, so the ignored corpus gate was not run.