コード例 #1
0
ファイル: BSharpClass.cs プロジェクト: Qorpent/qorpent.sys
 /// <summary>
 ///     Устанавливает определенные флаги
 /// </summary>
 /// <param name="flags"></param>
 public void Set(BSharpClassAttributes flags)
 {
     _attributes = _attributes | flags;
     if (
         flags == BSharpClassAttributes.RequireClassResolution
         ||
         flags == BSharpClassAttributes.RequireDictionaryResolution
         ||
         flags == BSharpClassAttributes.RequireAdvancedIncludes
         )
     {
         _attributes = _attributes | BSharpClassAttributes.RequireLinking;
     }
     else if (
         flags == BSharpClassAttributes.Override
         ||
         flags == BSharpClassAttributes.Extension
         )
     {
         if (null == TargetClassName)
         {
             TargetClassName = Name;
             string name = flags.ToString() + "_" + Name + "_" + Source.Attr("name") + "_" + EXTCOUNTER++;
             Name = name;
         }
         _attributes = _attributes | BSharpClassAttributes.Explicit;
         Remove(BSharpClassAttributes.Orphan);
     }
     else if (flags == BSharpClassAttributes.Explicit)
     {
         Remove(BSharpClassAttributes.Orphan);
     }
 }
コード例 #2
0
ファイル: BSharpClass.cs プロジェクト: Qorpent/qorpent.sys
		/// <summary>
		///     Снимает определенные флаги
		/// </summary>
		/// <param name="flags"></param>
		public void Remove(BSharpClassAttributes flags){
			_attributes = _attributes & ~flags;
		}
コード例 #3
0
ファイル: BSharpClass.cs プロジェクト: Qorpent/qorpent.sys
		/// <summary>
		///     Устанавливает определенные флаги
		/// </summary>
		/// <param name="flags"></param>
		public void Set(BSharpClassAttributes flags){
			_attributes = _attributes | flags;
			if (
				flags == BSharpClassAttributes.RequireClassResolution
				||
				flags == BSharpClassAttributes.RequireDictionaryResolution
				||
				flags == BSharpClassAttributes.RequireAdvancedIncludes
				){
				_attributes = _attributes | BSharpClassAttributes.RequireLinking;
			}
			else if (
				flags == BSharpClassAttributes.Override
				||
				flags == BSharpClassAttributes.Extension
				){
				if (null == TargetClassName){
					TargetClassName = Name;
					string name = flags.ToString() + "_" + Name + "_" + Source.Attr("name") + "_" + EXTCOUNTER++;
					Name = name;
				}
				_attributes = _attributes | BSharpClassAttributes.Explicit;
				Remove(BSharpClassAttributes.Orphan);
			}
			else if (flags == BSharpClassAttributes.Explicit){
				Remove(BSharpClassAttributes.Orphan);
			}
		}
コード例 #4
0
ファイル: BSharpClass.cs プロジェクト: Qorpent/qorpent.sys
		/// <summary>
		///     Возвращает true при наличии флага
		/// </summary>
		/// <param name="attribute"></param>
		/// <returns></returns>
		public bool Is(BSharpClassAttributes attribute){
			return 0 != (_attributes & attribute);
		}
コード例 #5
0
ファイル: BSharpClass.cs プロジェクト: Qorpent/qorpent.sys
 /// <summary>
 ///     Снимает определенные флаги
 /// </summary>
 /// <param name="flags"></param>
 public void Remove(BSharpClassAttributes flags)
 {
     _attributes = _attributes & ~flags;
 }
コード例 #6
0
ファイル: BSharpClass.cs プロジェクト: Qorpent/qorpent.sys
 /// <summary>
 ///     Возвращает true при наличии флага
 /// </summary>
 /// <param name="attribute"></param>
 /// <returns></returns>
 public bool Is(BSharpClassAttributes attribute)
 {
     return(0 != (_attributes & attribute));
 }