Skip to content

fix: qualify enum constant names in @Default expressions (#260) - #270

Merged
AndreasIgel merged 4 commits into
mainfrom
fix/260-default-enum-qualification
Aug 24, 2026
Merged

fix: qualify enum constant names in @Default expressions (#260)#270
AndreasIgel merged 4 commits into
mainfrom
fix/260-default-enum-qualification

Conversation

@AndreasIgel

Copy link
Copy Markdown
Collaborator

Fixes#260.

@default on an enum-typed field generated an unqualified constant name (e.g. GOOD), causing a compilation error. The processor now:

  • Detects enum field types via a new TypeName.enumType flag, set in JavaLangMapper.extractType() when the TypeElement has ElementKind.ENUM
  • Qualifies simple enum constant names with the enum class name in formatDefaultExpression() (e.g. GOODItemCondition.GOOD)
  • Leaves already-qualified names (Priority.HIGH) and complex expressions (new ScoreValue(12)) untouched

Added 4 test cases covering enum defaults in records, setter-based classes, already-qualified values, and complex constructor expressions.

AndreasIgeland others added 2 commits August 23, 2026 21:37
@default on an enum-typed field generated an unqualified constant
name (e.g. `GOOD`) causing a compilation error. The processor now
detects enum field types via TypeName.enumType and qualifies simple
constant names with the enum class name (e.g. `ItemCondition.GOOD`).
Already-qualified names and complex expressions like `new ScoreValue(12)`
are left untouched.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@codecov

codecovBot commented Aug 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@sonarqubecloud

Copy link
Copy Markdown

@AndreasIgel
AndreasIgel merged commit 7addea5 into mainAug 24, 2026
8 checks passed
@AndreasIgel
AndreasIgel deleted the fix/260-default-enum-qualification branch August 24, 2026 10:48
Sign up for freeto 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.

@Default with enum type generates unqualified constant name, causing compilation error

1 participant

@AndreasIgel