Syntax

js.Syntax (extern class)

Generate JavaScript syntax not directly supported by Haxe. Use only at low-level when specific target-specific code-generation is required.

Static Members

code(code: String, args: haxe.extern.Rest): Dynamic

Inject code directly into generated source.

code must be a string constant.

Additional args are supported to provide code interpolation, for example:

Syntax.code("console.log({0}, {1})", "hi", 42);

will generate

console.log("hi", 42);

Emits a compilation error if the count of args does not match the count of placeholders in code.

Name Type
code String
args haxe.extern.Rest
Returns
Dynamic

plainCode(code: String): Dynamic

Inject code directly into generated source. The same as js.Syntax.code except this one does not provide code interpolation.

Name Type
code String
Returns
Dynamic

construct(cl: Class<construct.T>, args: haxe.extern.Rest): construct.T

Generate new cl(...args) expression.

Name Type
cl Class<construct.T>
args haxe.extern.Rest
Returns
construct.T

instanceof(v: Dynamic, cl: Class<Dynamic>): Bool

Generate v instanceof cl expression.

Name Type
v Dynamic
cl Class<Dynamic>
Returns
Bool

typeof(o: Dynamic): String

Generate typeof o expression.

Name Type
o Dynamic
Returns
String

strictEq(a: Dynamic, b: Dynamic): Bool

Genearte a === b expression.

Name Type
a Dynamic
b Dynamic
Returns
Bool

strictNeq(a: Dynamic, b: Dynamic): Bool

Genearte a !== b expression.

Name Type
a Dynamic
b Dynamic
Returns
Bool

delete(o: Dynamic, f: String): Bool

Generate delete o[f] expression.

Name Type
o Dynamic
f String
Returns
Bool

field(o: Dynamic, f: String): Dynamic

Generate o.f expression, if f is a constant string, or o[f] if it's any other expression.

Name Type
o Dynamic
f String
Returns
Dynamic

Metadata

Name Parameters
:noClosure -