Beispiel #1
0
 public CILCondition(SourceInfo si, CILExpression lhs, CondType op, CILExpression rhs)
     : base(si)
 {
     Lhs = lhs;
     Op  = op;
     Rhs = rhs;
 }
Beispiel #2
0
 public CILBinaryOp(SourceInfo si, CILExpression lhs, OpType op, CILExpression rhs)
     : base(si)
 {
     Lhs = lhs;
     Op  = op;
     Rhs = rhs;
 }
 public CILMemberAccess(SourceInfo si, CILExpression thing, string member)
     : base(si)
 {
     // TODO: ensure thing resolves to a struct
     Thing  = thing;
     Member = member;
 }
Beispiel #4
0
 public CILBranch(SourceInfo si, CILExpression condition, List <CILNode> trueBranch, List <CILNode> falseBranch)
     : base(si)
 {
     Condition   = condition;
     TrueBranch  = trueBranch;
     FalseBranch = falseBranch;
 }
Beispiel #5
0
 public CILLoop(SourceInfo si, List <CILNode> before, CILExpression condition, List <CILExpression> after, List <CILNode> body)
     : base(si)
 {
     Before    = before;
     Condition = condition;
     After     = after;
     Body      = body;
 }
Beispiel #6
0
 public CILLoop(SourceInfo si, CILExpression condition)
     : base(si)
 {
     Before    = new List <CILNode>();
     Condition = condition;
     After     = new List <CILExpression>();
     Body      = new List <CILNode>();
 }
 public CILVariableDecl(SourceInfo sourceInfo, CILType type, int pointerDepth, string name, CILExpression assigningValue, bool isStatic = false)
     : base(sourceInfo)
 {
     IsStatic       = isStatic;
     Type           = type;
     PointerDepth   = pointerDepth;
     Name           = name;
     AssigningValue = assigningValue;
 }
Beispiel #8
0
 public CILReturn(SourceInfo si, CILExpression returnExpression)
     : base(si)
 {
     ReturnExpression = returnExpression;
 }
Beispiel #9
0
 public CILCall(SourceInfo si, CILExpression callee, List <CILExpression> args)
     : base(si)
 {
     Callee = callee;
     Args   = args;
 }
Beispiel #10
0
 public CILCall(SourceInfo si, CILExpression callee) : base(si)
 {
     Callee = callee;
     Args   = new List <CILExpression>();
 }
Beispiel #11
0
 public CILAssignment(SourceInfo si, CILExpression destination, CILExpression value)
     : base(si)
 {
     Destination = destination;
     Value       = value;
 }
Beispiel #12
0
 public CILIndexAccess(SourceInfo si, CILExpression pointer, CILExpression subscription) : base(si)
 {
     // TODO: Ensure the thing being indexed is a pointer
     Pointer      = pointer;
     Subscription = subscription;
 }
Beispiel #13
0
 public CILBranch(SourceInfo si, CILExpression condition) : base(si)
 {
     Condition   = condition;
     TrueBranch  = new List <CILNode>();
     FalseBranch = new List <CILNode>();
 }
Beispiel #14
0
 public CILDereference(SourceInfo si, CILExpression what)
     : base(si)
 {
     What = what;
 }
Beispiel #15
0
 public CILReturn(SourceInfo si)
     : base(si)
 {
     ReturnExpression = null;
 }
Beispiel #16
0
 public CILUnaryOp(SourceInfo si, OpType op, CILExpression expr)
     : base(si)
 {
     Op   = op;
     Expr = expr;
 }
Beispiel #17
0
 public CILReference(SourceInfo si, CILExpression referencing)
     : base(si)
 {
     Referencing = referencing;
 }