Skip to content

Class IRExpressionBuilder

Namespace: DotBoxD.Abstractions
Assembly: DotBoxD.Abstractions.dll

Builds sandbox IR expressions for hand-authored lowered pipeline steps.

public sealed class IRExpressionBuilder

objectIRExpressionBuilder

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()

public IRExpressionBuilder()
public IRExpressionBuilder(SourceSpan span)

span SourceSpan

public const string CurrentParameterName = "$dotboxd.current"

string

public SourceSpan Span { get; }

SourceSpan

public BinaryExpression Add(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

public BinaryExpression And(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

public BinaryExpression Binary(Expression left, string @operator, Expression right)

left Expression

operator string

right Expression

BinaryExpression

public LiteralExpression Bool(bool value)

value bool

LiteralExpression

public CallExpression Call(string name, params Expression[] arguments)

name string

arguments Expression[]

CallExpression

Call(string, IReadOnlyList<Expression>, SandboxType?)

Section titled “ Call(string, IReadOnlyList<Expression>, SandboxType?)”
public CallExpression Call(string name, IReadOnlyList<Expression> arguments, SandboxType? genericType = null)

name string

arguments IReadOnlyList<Expression>

genericType SandboxType?

CallExpression

public VariableExpression Current()

VariableExpression

public BinaryExpression Divide(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

public LiteralExpression Double(double value)

value double

LiteralExpression

public BinaryExpression Equal(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

public CallExpression Field(int index)

index int

CallExpression

public BinaryExpression GreaterThan(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

GreaterThanOrEqual(Expression, Expression)

Section titled “ GreaterThanOrEqual(Expression, Expression)”
public BinaryExpression GreaterThanOrEqual(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

public LiteralExpression Guid(Guid value)

value Guid

LiteralExpression

public LiteralExpression Int32(int value)

value int

LiteralExpression

public LiteralExpression Int64(long value)

value long

LiteralExpression

public BinaryExpression LessThan(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

public BinaryExpression LessThanOrEqual(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

public CallExpression ListCount(Expression list)

list Expression

CallExpression

public CallExpression ListGet(Expression list, Expression index)

list Expression

index Expression

CallExpression

public LiteralExpression Literal(SandboxValue value)

value SandboxValue

LiteralExpression

public CallExpression MapGet(Expression map, Expression key)

map Expression

key Expression

CallExpression

public BinaryExpression Multiply(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

public UnaryExpression Negate(Expression value)

value Expression

UnaryExpression

public UnaryExpression Not(Expression value)

value Expression

UnaryExpression

public BinaryExpression NotEqual(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

public BinaryExpression Or(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

public CallExpression Record(params Expression[] fields)

fields Expression[]

CallExpression

public CallExpression RecordGet(Expression record, int index)

record Expression

index int

CallExpression

public BinaryExpression Remainder(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

public LiteralExpression String(string value)

value string

LiteralExpression

public CallExpression StringLength(Expression text)

text Expression

CallExpression

public BinaryExpression Subtract(Expression left, Expression right)

left Expression

right Expression

BinaryExpression

public UnaryExpression Unary(string @operator, Expression value)

operator string

value Expression

UnaryExpression

public VariableExpression Variable(string name)

name string

VariableExpression