MakeValueClass() private method

private MakeValueClass ( ValueClass vClass ) : void
vClass ValueClass
return void
Exemplo n.º 1
0
 /// <summary>
 /// Add a class which extends System.ValueType to this module
 /// </summary>
 /// <param name="attrSet">attributes of this class</param>
 /// <param name="nsName">name space name</param>
 /// <param name="name">class name</param>
 /// <returns>a descriptor for this new class</returns>
 public ClassDef AddValueClass(TypeAttr attrSet, string nsName, string name, ValueClass vClass) {
   ClassDef aClass = new ClassDef(attrSet,nsName,name,metaData);
   aClass.MakeValueClass(vClass);
   aClass.SetTypeIndex (PrimitiveType.ValueType.GetTypeIndex ());
   metaData.AddToTable(MDTable.TypeDef,aClass);
   return aClass;
 }
Exemplo n.º 2
0
		/// <summary>
		/// Add a class which extends System.ValueType to this module
		/// </summary>
		/// <param name="attrSet">attributes of this class</param>
		/// <param name="nsName">name space name</param>
		/// <param name="name">class name</param>
		/// <returns>a descriptor for this new class</returns>
		public ClassDef AddValueClass(TypeAttr attrSet, string nsName, string name, ValueClass vClass) 
		{
			ClassDef aClass = new ClassDef(attrSet,nsName,name,metaData);
			if (!ClassDef.IsValueType (nsName, name) && !ClassDef.IsEnum (nsName, name)) {
				aClass.MakeValueClass(vClass);
			} else {
				if (ClassDef.IsEnum (nsName, name))
					aClass.SetSuper (metaData.mscorlib.ValueType ());
				else
					aClass.SetSuper (metaData.mscorlib.GetSpecialSystemClass (PrimitiveType.Object));

				metaData.mscorlib.SetSpecialSystemClass (nsName, name, aClass);
			}
			aClass.SetTypeIndex (PrimitiveType.ValueType.GetTypeIndex ());
			metaData.AddToTable(MDTable.TypeDef,aClass);
			return aClass;
		}