Package-level declarations

Types

Link copied to clipboard
data class ArrayElement(var array: Expression, var index: Expression, var typeName: String? = null, var line: Int) : Assignable, IsParent

Used to describe the access to an array element

Link copied to clipboard
data class Assignment(var to: Assignable, var from: Expression, var line: Int) : AstObject, IsParent

Used to define an assignment statement

Link copied to clipboard
data class BinaryExpression(var left: Expression, var right: Expression, var op: BinaryExpression.BinaryOperator, var typeName: String? = null, var line: Int) : Expression, IsParent

Used to define a binary expression

Link copied to clipboard
data class Block(val statements: MutableList<AstObject>, var line: Int) : AstObject, HasOptionalChildren
Link copied to clipboard
data class Definition(var definedType: Type, var line: Int) : Removable, IsParent

Used to define a statement where a custom Type is declared

Link copied to clipboard
data class ForLoop(var init: AstObject, var loop: Loop, var steps: Assignment, var line: Int) : AstObject, IsParent

Used to define for loops

Link copied to clipboard
data class FunctionCall(var function: Expression, var parameters: MutableList<Expression>, var typeName: String? = null, var line: Int) : Expression, IsParent

Used to define a function call

Link copied to clipboard
data class Group(var declarations: MutableList<AstObject>, var line: Int) : Removable, IsParent

Used to define a statement containing multiple declarations

Link copied to clipboard
data class Identifier(var title: String, var typeName: String? = null, var line: Int) : Assignable

Used to define the name for any object, such as variables

Link copied to clipboard
data class IfClause(var condition: Expression, var then: Block, var els: Block? = null, var line: Int) : IsParent, AstObject

Used to define an if statement

Link copied to clipboard
data class Iteration(var variable: String, var iterator: Identifier, var statement: Block, var line: Int) : AstObject, IsParent

Used to define an iteration

Link copied to clipboard
data class Loop(var condition: Expression, var statement: Block, var evaluation: Loop.Evaluation, var line: Int) : AstObject, IsParent

Used to define loops

Link copied to clipboard
data class Module(var block: Block, var line: Int) : IsParent, AstObject

Used to define an entire program

Link copied to clipboard
data class Property(var title: String, var typeName: String? = null, var defaultValue: Expression? = null, var line: Int) : Expression, IsParent

Used to define a function parameter or a class property

Link copied to clipboard
data class Return(var expression: Expression?, var typeName: String? = null, var line: Int) : Expression, IsParent

Used to define the return statement of a function

Link copied to clipboard
data class StructElement(var struct: Expression, var field: String, var typeName: String? = null, var line: Int) : Assignable, IsParent

Used to define the access to a struct property

Link copied to clipboard
data class Typecast(var from: Expression, var typeName: String? = null, var line: Int) : Expression, IsParent

Used to define a typecast

Link copied to clipboard
data class UnaryExpression(var expression: Expression, var op: UnaryExpression.UnaryOperator, var typeName: String? = null, var line: Int) : Expression, IsParent

Used to define a unary expression

Link copied to clipboard
data class Value(var value: String, var typeName: String? = null, var line: Int) : AstObject, Expression

Used to describe any value within the program

Link copied to clipboard
data class VariableDefinition(var variable: Identifier, var init: Expression? = null, var line: Int) : Removable, IsParent

Used to define variable definition