-
Notifications
You must be signed in to change notification settings - Fork 38
Binding lifecycle
Ethan edited this page Feb 12, 2022
·
3 revisions
-
The binding generator examines the program base source code. For anything that needs a binding:
- Runtime bindings are generated. For a class, runtime bindings are typically a) a bridge class and b) a hot wrapper.
- JSON binding descriptors are generated. For a class, this is a description of its type and all of its methods, constructors, and fields.
- The compiler uses the JSON binding descriptors to figure out how the Eval code can interact with the runtime bindings. It generates a binding map which is included in the packaged DBC module.
-
The runtime uses the binding map to map the available runtime bindings from their default structure (a library ID map of filename maps of binding name maps of bindings) to a simple and performant linear array.
-
The runtime excutes the program, using the runtime bindings as needed.