Skip to content

feat(generator): CLAUDE.md style guide + forEach→for in generated code (C35)#1136

Merged
jsenko merged 1 commit into
mainfrom
c35-style-guide
Jun 29, 2026
Merged

feat(generator): CLAUDE.md style guide + forEach→for in generated code (C35)#1136
jsenko merged 1 commit into
mainfrom
c35-style-guide

Conversation

@jsenko

@jsenko jsenko commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Added generator/CLAUDE.md — comprehensive style guide covering architecture, BodyBuilder conventions, method classes, JSweet compatibility, generated code style, and Java source style
  • Converted all .forEach(lambda) patterns to for loops in generated/transpiled code (2387 → 1 remaining, which is a Jackson Iterator.forEachRemaining API call)

forEach conversion scope

  • 13 code block templates (reader/writer/cloner property blocks)
  • 4 method classes (ClearMethod, MappedNodeMethods, ReaderMethod)
  • 1 stage template (CreateClonersStage extra properties)
  • 2 base classes (WriterUtil, AbstractTraverser)

Context

C35 in #1042.

Test plan

  • All 1129 data-models tests pass
  • Generator snapshot tests regenerated and passing
  • Generated output compiles (FullGeneratorTest)

…ops (C35)

Add generator/CLAUDE.md with conventions for:
- BodyBuilder usage (appendBlock, Map.of, ifElse, forEach)
- Method class pattern (writeTo, getName, no static methodName)
- JSweet/TS compatibility rules
- JsonUtil sync requirement between Java and TypeScript
- Generated code style (underscore fields, external iteration, no unnecessary casts)
- Java source style (imports over FQN, *Util naming, javadoc)

Convert all forEach lambda patterns to for loops in generated code:
- 13 code block templates (reader/writer/cloner)
- 3 base classes (WriterUtil, AbstractTraverser, ClearMethod, MappedNodeMethods, ReaderMethod)
- CreateClonersStage extra properties
- Generated code: 2387 → 1 forEach remaining (Jackson Iterator API)
@jsenko jsenko merged commit ae8183a into main Jun 29, 2026
2 checks passed
@jsenko jsenko deleted the c35-style-guide branch June 29, 2026 09:53
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.

1 participant