Skip to content

docs: xtend-to-java skill — JVM model inferrer rule and missing replacement rows#1465

Merged
joaodinissf merged 3 commits into
dsldevkit:masterfrom
joaodinissf:docs/xtend-skill-jvm-inferrer
Jul 15, 2026
Merged

docs: xtend-to-java skill — JVM model inferrer rule and missing replacement rows#1465
joaodinissf merged 3 commits into
dsldevkit:masterfrom
joaodinissf:docs/xtend-skill-jvm-inferrer

Conversation

@joaodinissf

Copy link
Copy Markdown
Collaborator

Closes the highest-severity gap from the skill review: the JvmTypesBuilder/JVM-model-inferrer DSL had zero coverage, and it is what the hardest remaining migration (CheckJvmModelInferrer.xtend, 646 lines) plus the check generators are built on.

New rules/10-jvm-model-inferrer.md: core mapping table (@Inject extension → explicit field; dispatch infer → dispatcher; toClass/toMethod/toField/toParameter with Procedure1 initialisers; typeRef via the inherited _typeReferenceBuilder; property assignments → setters), both setBody forms (procedure vs StringConcatenationClient), inferrer-specific gate notes (LambdaBodyLength/CONSTANTS-OFF brackets), and the verification bar. Anchored to the already-migrated FormatJvmModelInferrer.java with verified line references.

references/xtend-library-replacements.md: adds the two missing rows the remaining .xtend inventory uses (filterNull, flatten — incl. the general-Iterable caveat).

SKILL.md: rule 10 added to the rules walk.

Note: stacked on #1453 + #1461 — their commits appear in this diff until they merge.

🤖 Generated with Claude Code

joaodinissf and others added 3 commits July 11, 2026 18:12
…va skill

Replace the single-commit rule with a rename -> translate structure:
a pure git-mv commit (100% similarity, so git log --follow and blame
permanently traverse the migration boundary) followed by an in-place
translate commit (guaranteed side-by-side Xtend-vs-Java diff on the PR
Commits tab), plus the existing infrastructure-cleanup commit when a
module goes fully off Xtend. Documents the accepted trade-offs: the
rename commit intentionally does not compile (one bisect-skip on master
after rebase-merge), and the aggregate Files-changed tab pairing is
unaffected by commit structure (it depends only on end-state content
similarity).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…va skill

Adds rules/04-templates.md section 4.8 documenting the source-verified
StringConcatenation semantics that govern coalescing append-chains into
text blocks: append(String) newline normalization (the formal basis for
coalescing), the line-scoped whitespace-retracting behaviour of
newLineIfNotEmpty(), and the two-arg append(value, indent) continuation
re-indent. The conversion rule: newLineIfNotEmpty() may become newLine()
only when the last append on the current line is a static non-whitespace
literal; it must stay after dynamic line-tails and after indent +
conditional values; two-arg appends of potentially multi-line values are
never folded; appendImmediate loops stay untouched. Validation checklist
gains row 35 enforcing the rule.

Distilled from the dsldevkit#1429 round-3 review rework, where these distinctions
were byte-verified against an executable harness and an adversarial
per-hunk review.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ANGM7L3BaEGfGUmPVKRt4
Adds rules/10-jvm-model-inferrer.md covering the JvmTypesBuilder DSL that
the remaining inferrer migrations (CheckJvmModelInferrer and the check
generators) are built on: extension-to-explicit-field mapping, dispatch
infer, toClass/toMethod/toField/toParameter with Procedure1 initialisers,
typeRef via the inherited _typeReferenceBuilder, property-assignment
setters, both setBody forms, and the inferrer-specific gate notes
(LambdaBodyLength/CONSTANTS-OFF). Anchored to the already-migrated
FormatJvmModelInferrer.java with verified line references.

Also adds the two missing iterable rows to the replacements table
(filterNull, flatten - both recur across the remaining .xtend inventory)
and links rule 10 from SKILL.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ANGM7L3BaEGfGUmPVKRt4
@joaodinissf
joaodinissf marked this pull request as ready for review July 15, 2026 21:48
@joaodinissf
joaodinissf merged commit 4c8f1e8 into dsldevkit:master Jul 15, 2026
4 checks passed
@joaodinissf
joaodinissf deleted the docs/xtend-skill-jvm-inferrer branch July 15, 2026 21:50
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.

2 participants