An extended version of the GenericCompiler that uses String for all
the "compile" function return types.
Constructor
Methods
compileClassFuncExpr(expr:TypedExpr):String
Alias for compileClassVarExpr for function expressions.
This might be updated with additional behavior in future
versions of Reflaxe, so be sure to use for functions even
if it works identically to compileClassVarExpr.
compileClassVarExpr(expr:TypedExpr):String
Returns the result of compileExpressionsIntoLines from the expr.
compileExpression(expr:TypedExpr, topLevel:Bool = false):Null<String>
Overridden to add target-code injection support.
compileExpressionForCodeInject(expr:TypedExpr):Null<String>
Compiles an expression for a target code injection argument.
compileExpressionsIntoLines(exprList:Array<TypedExpr>):String
Convert a list of expressions to lines of output code. The lines of code are spaced out to make it feel like it was human-written.
compileNFCThisExpression(expr:TypedExpr, meta:Null<MetaAccess>):String
Compiles the {this} expression for @:nativeFunctionCode.
compileNativeFunctionCodeMeta(callExpr:TypedExpr, arguments:Array<TypedExpr>, ?typeParamsCallback:Int ‑> Null<String>, ?custom:String ‑> String):Null<String>
This function is for compiling the result of functions
using the @:nativeFunctionCode meta.
compileNativeTypeCodeMeta(type:Type, ?typeParams:Array<() ‑> String>):Null<String>
This function is for compiling the result of functions
using the @:nativeTypeCode meta.
compileNativeVariableCodeMeta(fieldExpr:TypedExpr, ?varCpp:String):Null<String>
This function is for compiling the result of functions
using the @:nativeVariableCode meta.
generateOutputIterator():Iterator<DataAndFileInfo<StringOrBytes>>
Iterate through all output Strings.
injectExpressionPrefixContent(content:String):Bool
If called while compiling multiple expressions, this will inject content prior to the expression currently being compiled.