const classafPlastic::PlasticCompiler
sys::Obj afPlastic::PlasticCompiler
(Service) - Compiles Fantom source code and afPlastic models into usable Fantom code.
Note: This class is available as a service in IoC v3 under the root
scope with an ID of afPlastic::PlasticCompiler
.
- compileCode
Pod compileCode(Str fantomPodCode, Str? podName := null, Uri? srcCodeLocation := null)
Compiles the given Fantom code into a pod. If no pod name is given, a unique one will be generated.
srcCodeLocation
is just used to report errors. If not given, thepodName
is used.- compileCodeToPodFile
File compileCodeToPodFile(Str fantomPodCode, Str? podName := null, Uri? srcCodeLocation := null)
Compiles the given Fantom code into a pod file. If no pod name is given, a unique one will be generated.
srcCodeLocation
is just used to report errors. If not given, thepodName
is used.Note the returned file is deemed to be transient, so is deleted on exit.
Note: Fantom 1.0.68 needs this patch in order to work.
- compileModel
Type compileModel(PlasticClassModel model, Str? podName := null)
Compiles the given class model into a pod and returns the associated Fantom type. If no pod name is given, a unique one will be generated.
- compileModels
Type[] compileModels(PlasticClassModel[] models, Str? podName := null)
- generatePodName
Str generatePodName()
Different pod names prevents "sys::Err: Duplicate pod name: <podName>". We internalise podName so we can guarantee no duplicate pod names
- make
new make(|This? in := null)
Creates a
PlasticCompiler
.- podBaseName
Str podBaseName
The base name used to generate pod names. This name may overridden when compiling src.
Defaults to
afPlastic
so pods will be namedafPlasticXXX
.- srcCodePadding
Int srcCodePadding
When generating code snippets to report compilation Errs, this is the number of lines of src code the erroneous line should be padded with.
Value is mutable. Defaults to
5
.