implementsclause.cs

来自「全功能c#编译器」· CS 代码 · 共 82 行

CS
82
字号
using System;
using System.Diagnostics;
using System.Collections;

namespace ICSharpCode.CsVbRefactory.Parser.AST
{
	public class ImplementsClause : AbstractNode, INullable
	{
		protected ArrayList baseMembers = new ArrayList(1);
		
		public static NullImplementsClause Null {
			get {
				return NullImplementsClause.Instance;
			}
		}
		
		public ArrayList BaseMembers {
			get {
				return baseMembers;
			}
			set {
				Debug.Assert(value != null);
				baseMembers = value;
			}
		}
		
		public virtual bool IsNull {
			get {
				return false;
			}
		}
		
		public ImplementsClause()
		{
			this.baseMembers = new ArrayList();
		}
		
		public override object AcceptVisitor(IASTVisitor visitor, object data)
		{
			return visitor.Visit(this, data);
		}
		
		public override string ToString()
		{
			return String.Format("[ImplementsClause: BaseMembers = {0}]",
			                     GetCollectionString(BaseMembers));
		}
	}
	
	public class NullImplementsClause : ImplementsClause
	{
		static NullImplementsClause nullImplementsClause = new NullImplementsClause();
		
		public override bool IsNull {
			get {
				return true;
			}
		}
		
		public override object AcceptVisitor(IASTVisitor visitor, object data)
		{
			return data;
		}
		
		public static NullImplementsClause Instance {
			get {
				return nullImplementsClause;
			}
		}
		
		NullImplementsClause()
		{
			baseMembers = new ArrayList(1);
		}
		
		public override string ToString()
		{
			return String.Format("[NullImplementsClause]");
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?