Package org.ek9lang.compiler.phase6


package org.ek9lang.compiler.phase6
J - Plugin Resolution.

At this point it is important to be able to resolve all the standard library (and any other 'extern' components) for the target architecture the software is being compiled for.

PluginResolution is the main entry point for this phase.

The main mechanism for defining the standard EK9 software components has been through Ek9BuiltinLangSupplier. In effect this provides the EK9 classes/functions and signatures (but not the implementation) of the EK9 standard library components. It is the equivalent of a 'C' header file in some ways.

Specifically the declaration via defines extern module org.ek9.lang highlights that the definitions are just that 'definitions' and not actually implementations.

Now this phase 'Plugin Resolution', ties up these signatures with some form or real implementations. This is not limited to the EK9 standard library - but can and will be applied to any additional code base that has an EK9 'extern' set of software components but a real implementation that is provided via a binary library.

The EK9 standard library will be provided in various forms so that it can be linked ready for final code generation. Other 'extern' libraries may only support certain platforms or specific hardware.