Skip to content

Implement JSR-45 for Scala 3 #17055

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

Draft
wants to merge 44 commits into
base: main
Choose a base branch
from
Draft

Implement JSR-45 for Scala 3 #17055

wants to merge 44 commits into from

Conversation

Tetchki
Copy link

@Tetchki Tetchki commented Mar 6, 2023

Rebase of #15684 to the latest main. This is a work in progress for a Bachelor Semester Project. For more context see scalacenter/student-projects#8

@ckipp01 ckipp01 mentioned this pull request May 12, 2023
@ckipp01
Copy link
Member

ckipp01 commented May 12, 2023

Just tying these all together. Refs #9715.

Kordyjan and others added 24 commits July 17, 2023 16:03
also removes code that was relocationg inlined calls but now is unreachable
Fixes SMAP generation breaking bytecode idempotency assertions
Such warnings are produced when compiling the bootstrapped
compiler.
We follow the Kotlin solution to allow inlined code to point
to virtual numbers. We rely on the tooling for proper
navigation. See also:

https://youtrack.jetbrains.com/issue/KT-8628
https://bugs.openjdk.org/browse/JDK-4972961
When emitting the bytecode, line numbers are emitted
for trees. These line numbers are used in call stack
frames. Trees inlined from other files get virtual
numbers.

It appears that, when inlining `call(x)`, the line
number for `call` is emitted before that for `x`.
So, if `x` is coming from the current file, its
line number will be real and will override that
of `call`.
Tetchki added a commit to Tetchki/dotty that referenced this pull request Jul 17, 2023
Refactoring of inlined nodes to simplify the work on scala#17055.
This work is based on scala#18229.
Tetchki added a commit to Tetchki/dotty that referenced this pull request Jul 17, 2023
Refactoring of inlined nodes to simplify the work on scala#17055.
This work is based on scala#18229.
Tetchki added a commit to Tetchki/dotty that referenced this pull request Jul 17, 2023
Refactoring of inlined nodes to simplify the work on scala#17055.
This work is based on scala#18229.
nicolasstucki added a commit that referenced this pull request Jul 27, 2023
Check if the copied inlined node's expansion exists, and if not set it
to the original node's expansion.

This commit was exctracted from #17055. This simplifies the next step
that refactors inlined nodes to keep them until the backend phase.
@SethTisue
Copy link
Member

curious whether this is still moving forward, here or elsewhere...?

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.

6 participants