enso/docs/parser/jvm-object-generation.md

831 B

layout title category tags order
developer-doc JVM Object Generation parser
parser
jvm
object-generation
9

JVM Object Generation

The JVM object generation phase is responsible for creating JVM-native objects representing the parser AST from the rust-native AST. This is required to allow the compiler and runtime to work with the AST.

Overall Architecture

The JVM foreign function interface (FFI), named Java Native Interface (JNI), enables the Rust parser library to call and be called by the parser library implemented in Scala.

Specifically, in our architecture, the JNI is used for:

  • Invoking Rust parser methods from Scala.
  • Invoking Scala AST constructors from Rust.