Skip to content

Scala.js: Fix classOf[Null] and classOf[Nothing]. #9445

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

Merged
merged 1 commit into from
Jul 28, 2020

Conversation

sjrd
Copy link
Member

@sjrd sjrd commented Jul 27, 2020

For almost all purposes, Null and Nothing should be erased to scala.runtime.{Null$,Nothing$}, so we directly change encodeClassName to do that.

The only place where they should be encoded as the special IR TypeRefs NullRef and NothingRef is in param and result types of MethodNames, which was already taken care of by paramOrResultTypeRef but that was adjusted to compensate for the changes in encodeClassName. The new paramOrResultTypeRef is now equivalent to the one in scalac.

For almost all purposes, `Null` and `Nothing` should be erased to
`scala.runtime.{Null$,Nothing$}`, so we directly change
`encodeClassName` to do that.

The only place where they should be encoded as the special IR
TypeRefs `NullRef` and `NothingRef` is in param and result types of
`MethodName`s, which was already taken care of by
`paramOrResultTypeRef` but that was adjusted to compensate for the
changes in `encodeClassName`. The new `paramOrResultTypeRef` is now
equivalent to the one in scalac.
@sjrd sjrd requested a review from nicolasstucki July 27, 2020 13:10
Copy link
Member

@dottybot dottybot left a comment

Choose a reason for hiding this comment

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

Hello, and thank you for opening this PR! 🎉

All contributors have signed the CLA, thank you! ❤️

Commit Messages

We want to keep history, but for that to actually be useful we have
some rules on how to format our commit messages (relevant xkcd).

Please stick to these guidelines for commit messages:

  1. Separate subject from body with a blank line
  2. When fixing an issue, start your commit message with Fix #<ISSUE-NBR>:
  3. Limit the subject line to 72 characters
  4. Capitalize the subject line
  5. Do not end the subject line with a period
  6. Use the imperative mood in the subject line ("Add" instead of "Added")
  7. Wrap the body at 80 characters
  8. Use the body to explain what and why vs. how

adapted from https://chris.beams.io/posts/git-commit

Have an awesome day! ☀️

@sjrd sjrd merged commit ec50bcf into scala:master Jul 28, 2020
@sjrd sjrd deleted the scalajs-fix-classof-null-nothing branch July 28, 2020 13:20
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.

3 participants