modifiers.cs

来自「c#源代码」· CS 代码 · 共 52 行

CS
52
字号
using ICSharpCode.SharpRefactory.Parser.AST.VB;

namespace ICSharpCode.SharpRefactory.Parser.VB
{
	public class Modifiers
	{
		Modifier cur;
		Parser   parser;
		
		public Modifier Modifier {
			get {
				return cur;
			}
		}
		
		public Modifiers(Parser parser)
		{
			this.parser = parser;
			cur         = Modifier.None;
		}
		
		public bool isNone { get { return cur == Modifier.None; } }
		
		public bool Contains(Modifier m)
		{
			return ((cur & m) != 0);
		}
		
		public void Add(Modifier m) 
		{
			if ((cur & m) == 0) {
				cur |= m;
			} else {
				parser.Error("modifier " + m + " already defined");
			}
		}
		
		public void Add(Modifiers m)
		{
			Add(m.cur);
		}
		
		public void Check(Modifier allowed)
		{
			Modifier wrong = cur & (allowed ^ Modifier.All);
			if (wrong != Modifier.None) {
				parser.Error("modifier(s) " + wrong + " not allowed here");
			}
		}
	}
}

⌨️ 快捷键说明

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