abstract class fanc::TranspileCmd

sys::Obj
  util::AbstractMain
    fanc::FancCmd
      fanc::TranspileCmd

Source

Base class for transpiler commands

buildScriptMap

Str:File buildScriptMap()

Source

Map of pod name to build scripts for environment

compilePod

virtual Void compilePod(TranspilePod pod)

Source

Compile build script into AST

compiler

Compiler? compiler

Source

Compiler for current pod

flattenPods

Void flattenPods()

Source

Expand command line pod names to their full dependency chain. We require all podNames to be pre-compiled using normal Fantom compilation

genPod

virtual Void genPod(PodDef pod)

Source

Generate pod which calls genType for each non-synthetic

genType

virtual Void genType(TypeDef type)

Source

Generate non-synthetic type

init

virtual Void init()

Source

Standard initializaton

outDir

@Opt { help="Output directory" }
File outDir := ...

Source

podNames

@Arg { help="Target pod(s)" }
Str[] podNames := Str[,]

Source

pods

TranspilePod[] pods := TranspilePod[,]

Source

Pod data with flattened dependency chain

run

override Int run()

Source

Call compilePod on every target

stdCompilerInput

virtual CompilerInput stdCompilerInput(TranspilePod pod, |CompilerInput|? f := null)

Source

Use the build script to generate the standard compiler input and then inovke the callback on it for additonal configuration.

transpile

virtual Int transpile()

Source

Delete outDir and run compilePod on all pods