Skip to content
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

8244711: [lworld] Javac needs to tweak checks for interface implementation by an inline type. #41

Closed
wants to merge 2 commits into from

Conversation

@sadayapalam
Copy link
Collaborator

@sadayapalam sadayapalam commented May 11, 2020

When javac needs to check if a class implements a particular interface, it should
check if the reference projection of the class is a subtype of the interface. (Rather
than checking if the concerned class is a subtype of the interface)


Progress

  • Change must not contain extraneous whitespace

Issue

  • JDK-8244711: [lworld] Javac needs to tweak checks for interface implementation by an inline type.

Reviewers

  • JimLaskey (no known github.com user name / role)

Download

$ git fetch https://git.openjdk.java.net/valhalla pull/41/head:pull/41
$ git checkout pull/41

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented May 11, 2020

👋 Welcome back sadayapalam! A progress list of the required criteria for merging this PR into lworld will be added to the body of your pull request.

@openjdk
Copy link

@openjdk openjdk bot commented May 11, 2020

@sadayapalam This change now passes all automated pre-integration checks, type /integrate in a new comment to proceed. After integration, the commit message will be:

8244711: [lworld] Javac needs to tweak checks for interface implementation by an inline type.
  • If you would like to add a summary, use the /summary command.
  • To credit additional contributors, use the /contributor command.
  • To add additional solved issues, use the /solves command.

There are currently no new commits on the lworld branch since the last update of the source branch of this PR. If another commit should be pushed before you perform the /integrate command, your PR will be automatically rebased. If you would like to avoid potential automatic rebasing, specify the current head hash when integrating, like this: /integrate bc0e6478d93b9b1307f65438765691ef52941f35.

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

@mlbridge
Copy link

@mlbridge mlbridge bot commented May 11, 2020

Webrevs

Copy link
Member

@JimLaskey JimLaskey left a comment

Since asSuper is always called with a true checkReferenceProjection, why not drop the argument and rename as asSuperWithProjection (or some such). If you introduce a need later for the false case then you can just call asSuper directly. I.E., argument seems redundant.

@sadayapalam
Copy link
Collaborator Author

@sadayapalam sadayapalam commented May 11, 2020

Since asSuper is always called with a true checkReferenceProjection, why not drop the argument and rename as asSuperWithProjection (or some such). If you introduce a need later for the false case then you can just call asSuper directly. I.E., argument seems redundant.

I agree this looks strange. But rather than asSuperWithProjection, I have reworked it along the lines of existing variants (isSubtype and friends) by making the original asSuper to be a three argument one and all existing calls to the two args asSuper to be routed to the three arg full bodied asSuper with a 3rd argument value of false.

@sadayapalam
Copy link
Collaborator Author

@sadayapalam sadayapalam commented May 11, 2020

/integrate

@openjdk openjdk bot closed this May 11, 2020
@openjdk openjdk bot added integrated and removed ready labels May 11, 2020
@openjdk
Copy link

@openjdk openjdk bot commented May 11, 2020

@sadayapalam
Pushed as commit ec1930c.

@openjdk openjdk bot removed the rfr label May 11, 2020
@sadayapalam sadayapalam deleted the JDK-8244711 branch May 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants