Skip to content

Conversation

liach
Copy link
Member

@liach liach commented Apr 21, 2025

Per JEP 12:

In order for frameworks to deliver early support for a preview language feature, frameworks should utilize the reflective preview APIs that are co-developed with it. This will allow frameworks to keep up when programs are written to use the permanent version of the language feature.

According to these rules, the Objects methods and the IdentityException class themselves must be reflective preview APIs: programs compiled without preview feature dependencies that are running with preview features enabled should be able to access these APIs, as at run-time, they may receive value objects and IdentityException thrown by the JVM.

The only remaining essential preview APIs are the constructors of IdentityException: non-preview programs have no reason to construct them.

In addition, fixed a few JEP feature reference: notably, add reference to Strict Fields JEP.

Also, made ClassFile API new models reflective preview APIs - class file processors wish to process structures from preview class files even if the current runtime is not in preview. This is already happening to javac and javap.


Progress

  • Change must not contain extraneous whitespace

Issue

  • JDK-8355227: [lworld] Clarify preview API status for some valhalla APIs (Bug - P4)

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/valhalla.git pull/1439/head:pull/1439
$ git checkout pull/1439

Update a local copy of the PR:
$ git checkout pull/1439
$ git pull https://git.openjdk.org/valhalla.git pull/1439/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1439

View PR using the GUI difftool:
$ git pr show -t 1439

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/valhalla/pull/1439.diff

Using Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Apr 21, 2025

👋 Welcome back liach! A progress list of the required criteria for merging this PR into lworld will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Apr 21, 2025

@liach This change is no longer ready for integration - check the PR body for details.

@openjdk openjdk bot added ready Pull request is ready to be integrated rfr Pull request is ready for review labels Apr 21, 2025
@mlbridge
Copy link

mlbridge bot commented Apr 21, 2025

Webrevs

@liach
Copy link
Member Author

liach commented Apr 21, 2025

@liach liach changed the title 8355227: [lworld] Clarify preview API status for some vallhalla APIs 8355227: [lworld] Clarify preview API status for some valhalla APIs Apr 22, 2025
@openjdk openjdk bot added ready Pull request is ready to be integrated and removed ready Pull request is ready to be integrated labels Apr 22, 2025
@bridgekeeper
Copy link

bridgekeeper bot commented May 20, 2025

@liach This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a /touch or /keepalive command to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@bridgekeeper
Copy link

bridgekeeper bot commented Jun 17, 2025

@liach This pull request has been inactive for more than 8 weeks and will now be automatically closed. If you would like to continue working on this pull request in the future, feel free to reopen it! This can be done using the /open pull request command.

@bridgekeeper bridgekeeper bot closed this Jun 17, 2025
@liach
Copy link
Member Author

liach commented Aug 11, 2025

/open

@openjdk openjdk bot reopened this Aug 11, 2025
@openjdk
Copy link

openjdk bot commented Aug 11, 2025

@liach This pull request is now open

@bridgekeeper
Copy link

bridgekeeper bot commented Sep 8, 2025

@liach This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a /touch or /keepalive command to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@openjdk
Copy link

openjdk bot commented Sep 10, 2025

@liach this pull request can not be integrated into lworld due to one or more merge conflicts. To resolve these merge conflicts and update this pull request you can run the following commands in the local repository for your personal fork:

git checkout fix/preview-annos
git fetch https://git.openjdk.org/valhalla.git lworld
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge lworld"
git push

@openjdk openjdk bot added merge-conflict Pull request has merge conflict with target branch and removed ready Pull request is ready to be integrated labels Sep 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge-conflict Pull request has merge conflict with target branch rfr Pull request is ready for review
Development

Successfully merging this pull request may close these issues.

1 participant