private LockStatement ParseLock() { LockStatement node = new LockStatement(curtok); Advance(); // advance over Lock AssertAndAdvance(TokenID.LParen); node.Target = ParseExpression(); AssertAndAdvance(TokenID.RParen); ParseBlock(node.Statements); if (curtok.ID == TokenID.Semi) Advance(); return node; }
public virtual object VisitLockStatement(LockStatement lockStatement, object data) { stackMap.Push(lockStatement); lockStatement.Target.AcceptVisitor(this, data); lockStatement.Statements.AcceptVisitor(this, data); stackMap.Pop(); return null; }