Represents kind of a node in the typed AST.

Values

TConst(c:TConstant)

A constant.

TLocal(v:TVar)

Reference to a local variable v.

TArray(e1:TypedExpr, e2:TypedExpr)

Array access e1[e2].

TBinop(op:Binop, e1:TypedExpr, e2:TypedExpr)

Binary operator e1 op e2.

TField(e:TypedExpr, fa:FieldAccess)

Field access on e according to fa.

TTypeExpr(m:ModuleType)

Reference to a module type m.

TParenthesis(e:TypedExpr)

Parentheses (e).

TObjectDecl(fields:Array<{name:String, expr:TypedExpr}>)

An object declaration.

TArrayDecl(el:Array<TypedExpr>)

An array declaration [el].

TCall(e:TypedExpr, el:Array<TypedExpr>)

A call e(el).

TNew(c:Ref<ClassType>, params:Array<Type>, el:Array<TypedExpr>)

A constructor call new c<params>(el).

TUnop(op:Unop, postFix:Bool, e:TypedExpr)

An unary operator op on e:

e++ (op = OpIncrement, postFix = true) e-- (op = OpDecrement, postFix = true) ++e (op = OpIncrement, postFix = false) --e (op = OpDecrement, postFix = false) -e (op = OpNeg, postFix = false) !e (op = OpNot, postFix = false) ~e (op = OpNegBits, postFix = false)

TFunction(tfunc:TFunc)

A function declaration.

TVar(v:TVar, expr:Null<TypedExpr>)

A variable declaration var v or var v = expr.

TBlock(el:Array<TypedExpr>)

A block declaration {el}.

TFor(v:TVar, e1:TypedExpr, e2:TypedExpr)

A for expression.

TIf(econd:TypedExpr, eif:TypedExpr, eelse:Null<TypedExpr>)

An if(econd) eif or if(econd) eif else eelse expression.

TWhile(econd:TypedExpr, e:TypedExpr, normalWhile:Bool)

Represents a while expression. When normalWhile is true it is while (...). When normalWhile is false it is do {...} while (...).

TSwitch(e:TypedExpr, cases:Array<{values:Array<TypedExpr>, expr:TypedExpr}>, edef:Null<TypedExpr>)

Represents a switch expression with related cases and an optional default case if edef != null.

TTry(e:TypedExpr, catches:Array<{v:TVar, expr:TypedExpr}>)

Represents a try-expression with related catches.

TReturn(e:Null<TypedExpr>)

A return or return e expression.

TBreak

A break expression.

TContinue

A continue expression.

TThrow(e:TypedExpr)

A throw e expression.

TCast(e:TypedExpr, m:Null<ModuleType>)

A cast e or cast (e, m) expression.

TMeta(m:MetadataEntry, e1:TypedExpr)

A @m e1 expression.

TEnumParameter(e1:TypedExpr, ef:EnumField, index:Int)

Access to an enum parameter (generated by the pattern matcher).

TEnumIndex(e1:TypedExpr)

Access to an enum index (generated by the pattern matcher).

TIdent(s:String)

An unknown identifier.