-
Notifications
You must be signed in to change notification settings - Fork 323
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
Generate IR definitions by annotation processor - 1st step #11770
base: develop
Are you sure you want to change the base?
Conversation
Also introduce more fields to ClassField
Simplify Field hierarchy
this.location, | ||
this.id, | ||
this.name(), | ||
value, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copy method generated in 1ceabfe
Great, this looks like the most elegant code to delegate to.
A problem generating ScalaDoc for Java class that extends AP generated class breaks the CI:
|
This fixes publishM2 task
scaladoc fails on that.
@@ -128,6 +128,9 @@ jobs: | |||
java-version: "21" | |||
distribution: "graalvm-community" | |||
|
|||
- name: Clean sbt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure that generated sources are removed before running sbt publishM2
.
All the engine tests are green. Scheduling benchmarks:
|
ef121e9
to
dd5efcd
Compare
This PR is the initial step for migrating all the IR elements implemented as Scala case classes to Java classes generated by an annotation processor.
This PR was created from the abandoned #11267 that tried to generated subclasses.
Pull Request Description
The overall description is the same as in #11267, but this approach tries to generate super classes as suggested in https://github.com/enso-org/enso/pull/11267/files#r1869342527
References
runtime-parser-dsl
contains new annotations for IR elements. The docs for these annotations are the most important. See org.enso.runtime.parser.dsl packageruntime-parser-processor
contains the implementation of the annotation processor. The entry point to annotation processing is in org.enso.runtime.parser.processor.IRProcessor.runtime-parser-processor-tests
depends on aforementioned projects as well as onruntime-parser
.Important Notes
Apart from the annotation processor implementation and tests, CallArgument.Specified was migrated to the new approach from Scala case class. I uploaded its generated class code in this gist so you can see it without compilation.
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
or the Snowflake database integration, a run of the Extra Tests has been scheduled.