2
// <copyright see="prj:///doc/copyright.txt"/>
3
// <license see="prj:///doc/license.txt"/>
4
// <owner name="none" email=""/>
5
// <version>$Revision: 4482 $</version>
10
namespace ICSharpCode.OldNRefactory.Ast
12
public class BlockStatement : Statement
14
// Children in C#: LabelStatement, LocalVariableDeclaration, Statement
15
// Children in VB: LabelStatement, EndStatement, Statement
17
public static new BlockStatement Null {
19
return NullBlockStatement.Instance;
23
public override object AcceptVisitor(IAstVisitor visitor, object data)
25
return visitor.VisitBlockStatement(this, data);
28
public override string ToString()
30
return String.Format("[BlockStatement: Children={0}]",
31
GetCollectionString(base.Children));
35
internal sealed class NullBlockStatement : BlockStatement
37
public static readonly NullBlockStatement Instance = new NullBlockStatement();
39
public override bool IsNull {
45
public override object AcceptVisitor(IAstVisitor visitor, object data)
49
public override object AcceptChildren(IAstVisitor visitor, object data)
53
public override void AddChild(INode childNode)
55
throw new InvalidOperationException();
58
public override string ToString()
60
return String.Format("[NullBlockStatement]");