public override object Visit (Lock lockStatement) { var result = new LockStatement (); var location = LocationsBag.GetLocations (lockStatement); result.AddChild (new CSharpTokenNode (Convert (lockStatement.loc), "lock".Length), LockStatement.Roles.Keyword); if (location != null) result.AddChild (new CSharpTokenNode (Convert (location[0]), 1), LockStatement.Roles.LPar); result.AddChild ((INode)lockStatement.Expr.Accept (this), LockStatement.Roles.Expression); if (location != null) result.AddChild (new CSharpTokenNode (Convert (location[1]), 1), LockStatement.Roles.RPar); result.AddChild ((INode)lockStatement.Statement.Accept (this), LockStatement.Roles.EmbeddedStatement); return result; }
public override object Visit(Lock lockStatement) { var result = new LockStatement(); var location = LocationsBag.GetLocations(lockStatement); result.AddChild(new CSharpTokenNode(Convert(lockStatement.loc), LockStatement.LockKeywordRole), LockStatement.LockKeywordRole); if (location != null) result.AddChild(new CSharpTokenNode(Convert(location [0]), Roles.LPar), Roles.LPar); if (lockStatement.Expr != null) result.AddChild((Expression)lockStatement.Expr.Accept(this), Roles.Expression); if (location != null && location.Count > 1) result.AddChild(new CSharpTokenNode(Convert(location [1]), Roles.RPar), Roles.RPar); if (lockStatement.Statement != null) result.AddChild((Statement)lockStatement.Statement.Accept(this), Roles.EmbeddedStatement); return result; }