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; }
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; }
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); }