Skip to content

8346307: [lworld] Clarify identity vs value in Class, Objects, and document limitations of value objects #1327

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 12 commits into
base: lworld
Choose a base branch
from

Conversation

RogerRiggs
Copy link
Collaborator

@RogerRiggs RogerRiggs commented Jan 6, 2025

Add APINote and javadoc for IdentityException where it will be useful to know that identity or value objects are treated differently.
Simplified WeakHashMap javadoc updates for IdentityException.
Added note to System.identityHashCode to include value objects.
Added to class javadoc for IdentityHashMap for value objects.


Progress

  • Change must not contain extraneous whitespace

Issue

  • JDK-8346307: [lworld] Clarify identity vs value in Class, Objects, and document limitations of value objects (Bug - P4)

Reviewing

Using git

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

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1327

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

Using diff file

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

Using Webrev

Link to Webrev Comment

…IdentityException

Add APINote  and javadoc for IdentityException where it will be useful to know.
Simplified WeakHashMap javadoc updates for IdentityException.
Added note to System.identityHashCode to include value objects.
@bridgekeeper
Copy link

bridgekeeper bot commented Jan 6, 2025

👋 Welcome back rriggs! 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 Jan 6, 2025

@RogerRiggs This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8346307: [lworld] Clarify identity vs value in Class, Objects, and document limitations of value objects

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been no new commits pushed to the lworld branch. If another commit should be pushed before you perform the /integrate command, your PR will be automatically rebased. If you prefer to avoid any potential automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the lworld branch, type /integrate in a new comment.

@mlbridge
Copy link

mlbridge bot commented Jan 6, 2025

Webrevs

RogerRiggs and others added 3 commits January 13, 2025 16:06
…IdentityException

Add APINote and javadoc for IdentityException where it will be useful to know.
Updated Objects.hasIdentity to return true for non-null reference to identity class; else false
Added Objects.isValueObject to return true for non-null reference to value class; else false
Updated tests for value objects.
…tityexception' into 8346307-throws-identityexception
@openjdk
Copy link

openjdk bot commented Jan 13, 2025

⚠️ @RogerRiggs This pull request contains merges that bring in commits not present in the target repository. Since this is not a "merge style" pull request, these changes will be squashed when this pull request in integrated. If this is your intention, then please ignore this message. If you want to preserve the commit structure, you must change the title of this pull request to Merge <project>:<branch> where <project> is the name of another project in the OpenJDK organization (for example Merge jdk:master).

@RogerRiggs RogerRiggs changed the title 8346307: [lworld] Document WeakHashMap and other apis that may throw IdentityException 8346307: [lworld] Clarify identity vs value in Class, Objects, and document limitations of value objects Jan 13, 2025
@openjdk openjdk bot removed the ready label Jan 13, 2025
@bridgekeeper
Copy link

bridgekeeper bot commented Feb 3, 2025

@RogerRiggs 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 add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@openjdk openjdk bot added the ready label Feb 4, 2025
@liach
Copy link
Member

liach commented Feb 4, 2025

Does this intend to wait for openjdk/jdk#23395 or will it migrate from HTML after the taglet is available?

@RogerRiggs
Copy link
Collaborator Author

I've been trying out the various incarnations of the javadoc support to see how they work, but that can be a separate PR when it settles.

@bridgekeeper
Copy link

bridgekeeper bot commented Mar 19, 2025

@RogerRiggs 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 add a new comment 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 Apr 17, 2025

@RogerRiggs 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 Apr 17, 2025
@RogerRiggs
Copy link
Collaborator Author

/open Will merge and update

@RogerRiggs
Copy link
Collaborator Author

/open

@openjdk openjdk bot reopened this Apr 17, 2025
@openjdk
Copy link

openjdk bot commented Apr 17, 2025

@RogerRiggs This pull request is now open

@openjdk
Copy link

openjdk bot commented Apr 17, 2025

@RogerRiggs This pull request is already open

@bridgekeeper
Copy link

bridgekeeper bot commented May 15, 2025

@RogerRiggs 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!

@liach
Copy link
Member

liach commented May 16, 2025

PreviewNote isn't merged yet; we can revisit this one once that taglet is available here.

@RogerRiggs
Copy link
Collaborator Author

The PreviewNote tag has been delayed, the plan is to integrate these changes until it settles down.

@@ -57,7 +57,7 @@ public static void main(String... args) throws ReflectiveOperationException {
new PlatformTestCase(java.lang.Enum.class,
"public abstract class java.lang.Enum<E extends java.lang.Enum<E>>"),
new PlatformTestCase(java.util.Map.class,
"public abstract interface java.util.Map<K,V>"),
"public abstract value interface java.util.Map<K,V>"),
Copy link
Member

Choose a reason for hiding this comment

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

Hmm, isn't value redundant on interfaces?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

3 participants