[code-reflection] RFR: Create CoreType [v2]

Paul Sandoz psandoz at openjdk.org
Mon Jun 23 18:45:04 UTC 2025


> Create a common type, `CoreType`, and consolidate factory methods in that class.
> 
> Create an `ExternalizableTypeElement` that all type elements wishing to explicitly support externalization should implement, following the same pattern as `ExternalizableOp`.
> 
> The method `TypeElement::externalize` will be revisited in a subsequent PR, likely removed.
> 
> --
> 
> A subsequent PR will consolidate packages `parser` and `writer` into an `extern` package. The classes directly under the `dialect` will be moved to be directly under the `extern` package. Thereby we consolidate all externalization/reconstitution functionality under the same package.

Paul Sandoz has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 11 additional commits since the last revision:

 - Merge remote-tracking branch 'upstream/code-reflection' into core-type
 - Merge remote-tracking branch 'upstream/code-reflection' into core-type
 - Move ExternalizableTypeElement and TypeElementFactory.
 - Updates to HAT
 - Merge remote-tracking branch 'upstream/code-reflection' into core-type
 - Cleanups
 - Cleanups.
 - Cleanups.
 - Cleanups.
 - Cleanups.
 - ... and 1 more: https://git.openjdk.org/babylon/compare/09e0f9cf...463e4a43

-------------

Changes:
  - all: https://git.openjdk.org/babylon/pull/454/files
  - new: https://git.openjdk.org/babylon/pull/454/files/8c44b29d..463e4a43

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=babylon&pr=454&range=01
 - incr: https://webrevs.openjdk.org/?repo=babylon&pr=454&range=00-01

  Stats: 10 lines in 1 file changed: 3 ins; 0 del; 7 mod
  Patch: https://git.openjdk.org/babylon/pull/454.diff
  Fetch: git fetch https://git.openjdk.org/babylon.git pull/454/head:pull/454

PR: https://git.openjdk.org/babylon/pull/454


More information about the babylon-dev mailing list