コード例 #1
0
 public WhileSilvernode(
     Silvernode condition,
     List <ContractSilvernode> verificationConditions,
     BlockSilvernode statementBlock,
     SyntaxNode originalNode) : base(originalNode)
 {
     this.condition = condition;
     this.verificationConditions = verificationConditions;
     this.statementBlock         = statementBlock;
 }
コード例 #2
0
 public IfSilvernode(SyntaxNode originalNode,
                     Silvernode condition,
                     StatementSilvernode then,
                     StatementSilvernode elseBranch)
     : base(originalNode)
 {
     this.condition  = condition;
     this.then       = then;
     this.elseBranch = elseBranch;
     if (!(this.then is BlockSilvernode))
     {
         this.then = new BlockSilvernode(null, new List <StatementSilvernode> {
             then
         });
     }
     if (this.elseBranch != null && !(this.elseBranch is BlockSilvernode))
     {
         this.elseBranch = new BlockSilvernode(null, new List <StatementSilvernode> {
             elseBranch
         });
     }
 }
コード例 #3
0
 public RequiresSilvernode(Silvernode precondition, SyntaxNode originalNode) : base(originalNode)
 {
     this.Precondition = precondition;
 }
コード例 #4
0
 public AbsoluteValueSilvernode(Silvernode silvernode, SyntaxNode node) : base(node, SilverType.Int)
 {
     this._silvernode = silvernode;
 }
コード例 #5
0
 public EnsuresSilvernode(Silvernode postcondition, SyntaxNode originalNode) : base(originalNode)
 {
     this.Postcondition = postcondition;
 }
コード例 #6
0
 public AssignmentSilvernode(Silvernode left, Silvernode right, SyntaxNode originalNode) : base(originalNode)
 {
     this.left  = left;
     this.right = right;
 }
コード例 #7
0
 public InvariantSilvernode(Silvernode invariant, SyntaxNode originalNode) : base(originalNode)
 {
     this.Invariant = invariant;
 }
コード例 #8
0
 public BinaryExpressionSilvernode(Silvernode left, string @operator, Silvernode right, SyntaxNode originalNode) : base(originalNode, SilverType.Int)
 {
     this.Operator = @operator;
     this.left     = left;
     this.right    = right;
 }
コード例 #9
0
 public PrefixUnaryExpressionSilvernode(string @operator, Silvernode operand, SyntaxNode originalNode) : base(originalNode)
 {
     this.Operator = @operator;
     this.operand  = operand;
 }
コード例 #10
0
 public ConditionalExpressionSilvernode(Silvernode a, Silvernode b, Silvernode c, SyntaxNode originalNode) : base(originalNode)
 {
     this.condition = a;
     this.whenTrue  = b;
     this.whenFalse = c;
 }
コード例 #11
0
 public AssertionLikeSilvernode(string keyword, Silvernode assertion, SyntaxNode original) : base(original)
 {
     this.Assertion = assertion;
     this.Keyword   = keyword;
 }
コード例 #12
0
 public ExpressionStatementSilvernode(Silvernode expression, SyntaxNode originalNode)
     : base(originalNode)
 {
     this.expression = expression;
 }
コード例 #13
0
 public AccSilvernode(Silvernode protectedElement, Silvernode permission, SyntaxNode originalNode) :
     base(originalNode, SilverType.Bool)
 {
     this.ProtectedElement = protectedElement;
     this.Permission       = permission;
 }