Skip to content

Conversation

@ZZZank
Copy link
Contributor

@ZZZank ZZZank commented Dec 6, 2025

Current TypeInfo system works good enough in common use cases, but there still some rough corners / lack of design / overengineering that need to be polished.

All changes are documented in commit messages. Notable changes are:

  • TypeInfoFactory.NO_CACHE is removed, because it's unable to handle self referencing type variables, e.g. E extends Enum<E>
  • Support for Outer<T1>.Inner style parameterized type, including correct formatting and consolidation mapping generation.
  • TypeFormatContext is redesigned to be more consistent and easy to use.

@ZZZank ZZZank marked this pull request as ready for review December 7, 2025 16:19
Comment on lines +9 to +18
/// Full feature formatting context
///
/// | Type | Full representation | Representation using this context |
/// | - | - | - |
/// | Class | java.lang.String | java.lang.String |
/// | Nested Class | Entry (in java.util.Map) | java.util.Map$Entry |
/// | Array | java.lang.String[] | java.lang.String[] |
/// | Parameterized | java.lang.List<java.lang.String> | java.util.List<java.lang.String> |
/// | Variable | T extends java.lang.String | T extends java.lang.String |
/// | [TypeInfo#NONE] | (No standard representation) | ? |
Copy link
Contributor Author

@ZZZank ZZZank Dec 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check me: This Javadoc is written in Markdown style, because it's clearer than HTML table when displayed in source file, but this also makes it inconsistent with other Javadoc. Should replace it with old style Javadoc (aka table via HTML tag)

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