Exemplo n.º 1
0
 /// <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);
     }
 }
Exemplo n.º 2
0
		/// <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);
			}
		}