Example #1
0
 public virtual Statement VisitLock(Lock Lock)
 {
     if (Lock == null) return null;
     Lock.Guard = this.VisitExpression(Lock.Guard);
     Lock.Body = this.VisitBlock(Lock.Body);
     return Lock;
 }
Example #2
0
 private Lock ParseLock(TokenSet followers){
   Lock Lock = new Lock();
   Lock.SourceContext = this.scanner.CurrentSourceContext;
   Debug.Assert(this.currentToken == Token.Lock);
   this.GetNextToken();
   Lock.Guard = this.ParseParenthesizedExpression(followers|Parser.StatementStart);
   Block b = this.ParseStatementAsBlock(followers);
   Lock.Body = b;
   if (b != null){
     Lock.SourceContext.EndPos = b.SourceContext.EndPos;
     if (b.Statements == null)
       this.HandleError(b.SourceContext, Error.PossibleMistakenNullStatement);
   }
   return Lock;
 }
Example #3
0
 public override Statement VisitLock(Lock Lock)
 {
     if (Lock == null) return null;
     return base.VisitLock((Lock)Lock.Clone());
 }
 public EventingVisitor(Action<Lock> visitLock) { VisitedLock += visitLock; } public event Action<Lock> VisitedLock; public override Statement VisitLock(Lock Lock) { if (VisitedLock != null) VisitedLock(Lock); return base.VisitLock(Lock); }