예제 #1
0
파일: Looker.cs 프로젝트: hesam/SketchSharp
 public override Statement VisitAssertion(Assertion assertion) {
   bool savedInsideAssertion = this.insideAssertion;
   this.insideAssertion = true;
   try {
     return base.VisitAssertion(assertion);
   } finally {
     this.insideAssertion = savedInsideAssertion;
   }
 }
예제 #2
0
 public virtual Statement VisitAssertion(Assertion assertion)
 {
     if (assertion == null) return null;
     assertion.Condition = this.VisitExpression(assertion.Condition);
     return assertion;
 }
예제 #3
0
 public override Statement VisitAssertion(Assertion assertion)
 {
     if (assertion == null) return null;
     return base.VisitAssertion((Assertion)assertion.Clone());
 }
예제 #4
0
 private Assertion ParseAssertion(TokenSet followers){
   Debug.Assert(this.currentToken == Token.Assert);
   Assertion result = new Assertion();
   result.SourceContext = this.scanner.CurrentSourceContext;
   this.GetNextToken();
   result.Condition = this.ParseExpression(followers|Token.Semicolon);
   this.SkipSemiColon(followers);
   return result;
 }
예제 #5
0
 public override Statement VisitAssertion(Assertion assertion) {
   // When this statement appears in normalized code, it is for consumption by Boogie only, not for static analysis algorithms.
   // Static analysis algorithms get the information in this statement from the normalized version of it that always follows it.
   // Therefore, simply pass this statement on unchanged.
   return assertion;
 }
예제 #6
0
 public EventingVisitor(Action<Assertion> visitAssertion) { VisitedAssertion += visitAssertion; } public event Action<Assertion> VisitedAssertion; public override Statement VisitAssertion(Assertion assertion) { if (VisitedAssertion != null) VisitedAssertion(assertion); return base.VisitAssertion(assertion); }