Base class for all Meta Data table elements
상속: IComparable
예제 #1
0
파일: PEAPI.cs 프로젝트: Profit0004/mono
		public void AddCustomAttribute (Method meth, Constant constant, MetaDataElement element)
		{
			metaData.AddCustomAttribute (new CustomAttribute (element, meth, constant));
			element.HasCustomAttr = true;
		}
예제 #2
0
		internal DeclSecurity(MetaDataElement paren, ushort act, byte [] val)        
			: base (paren, act)
		{
			byteVal = val;
		}
예제 #3
0
		internal FieldMarshal(MetaDataElement field, NativeType nType)      
		{
			this.field = field;
			this.nt = nType;
			tabIx = MDTable.FieldMarshal;
		}
예제 #4
0
		internal BaseDeclSecurity(MetaDataElement paren, ushort act)
		{
			parent = paren;
			action = act;
			tabIx = MDTable.DeclSecurity;
		}
예제 #5
0
		internal void SetEntryPoint(MetaDataElement ep) 
		{
			entryPoint = ep;
		}
예제 #6
0
		internal ConstantElem(MetaDataElement parent, Constant val) 
		{
			this.parent = parent;
			cValue = val;
			tabIx = MDTable.Constant;
			sortTable = true;
		}
예제 #7
0
		internal CustomAttribute(MetaDataElement paren, Method constrType, 
				Constant val) {
			parent = paren;
			type = constrType;
			cVal = val;
			tabIx = MDTable.CustomAttribute;
		}
예제 #8
0
 internal ManifestResource (ManifestResource mres) {
   mrName = mres.mrName;
   flags = mres.flags;
   this.rRef = rRef;
   this.fileOffset = fileOffset;
   this.resourceBytes = resourceBytes;
 }
예제 #9
0
 public void AddCustomAttribute (Method meth, byte [] data, MetaDataElement element)
 {
         metaData.AddCustomAttribute (new CustomAttribute (element, meth, data));
 }
예제 #10
0
           internal DeclSecurity(MetaDataElement paren, ushort act)        {
 parent = paren;
 action = act;
 tabIx = MDTable.DeclSecurity;
 throw(new NotYetImplementedException("Security "));
           }
예제 #11
0
 internal void WriteCodedIndex(CIx code, MetaDataElement elem) {
   metaData.WriteCodedIndex(code,elem,this);
 }
예제 #12
0
파일: Metadata.cs 프로젝트: Profit0004/mono
		internal ExternClassRef(TypeAttr attrs, string nsName, string name,
				MetaDataElement declRef, MetaData md) : base(nsName,name,md) 
		{
			externClass = new ExternClass(attrs,nameSpaceIx,nameIx,declRef);
			metaData.AddToTable(MDTable.ExportedType,externClass);
		}
예제 #13
0
		public void AddDeclSecurity (SecurityAction sec_action, PEAPI.PermissionSet ps, MetaDataElement element)
		{
			metaData.AddDeclSecurity (new DeclSecurity_20 (element, (ushort) sec_action, ps));
		}
예제 #14
0
		public void AddDeclSecurity (SecurityAction sec_action, byte [] data, MetaDataElement element)
		{
			metaData.AddDeclSecurity (new DeclSecurity (element, (ushort) sec_action, data));
		}
예제 #15
0
		internal ExternClass(TypeAttr attr, uint nsIx, uint nIx, 
				MetaDataElement paren) : base(nsIx,nIx) 
		{
			flags = (uint)attr;
			parent = paren;
			tabIx = MDTable.ExportedType;
		}
예제 #16
0
파일: Code.cs 프로젝트: REALTOBIZ/mono
		public Catch(Type except, CILLabel handlerStart, CILLabel handlerEnd)
			: base(handlerStart,handlerEnd) 
		{
			exceptType = except;
		}
예제 #17
0
		internal FieldRef(MetaDataElement paren, string name, Type fType) : base(name, fType)   
		{
			parent = paren;
		}
예제 #18
0
파일: Code.cs 프로젝트: REALTOBIZ/mono
		internal void ResolveType (MetaData md)
		{
		       exceptType = ((Type) exceptType).GetTypeSpec (md);
		}
예제 #19
0
		internal MethodRef(MetaDataElement paren, string name, Type retType,
				Type[] pars, bool varArgMeth, Type[] optPars, int gen_param_count) : base(name)
		{
			parent = paren;
			parList = pars;
			this.retType = retType;
			if (parList != null) numPars = (uint)parList.Length;
			if (varArgMeth) {
				optParList = optPars;
				if (optParList != null) numOptPars = (uint)optParList.Length;
				callConv = CallConv.Vararg;
			}
			this.gen_param_count = gen_param_count;
		}
예제 #20
0
파일: Code.cs 프로젝트: REALTOBIZ/mono
		internal TypeInstr(int inst, Type aType, MetaData md) : base(inst) 
		{
			theType = aType.GetTypeSpec(md);
			size += 4;
		}
예제 #21
0
		internal CustomAttribute(MetaDataElement paren, Method constrType,
				byte[] val) {
			parent = paren;
			type = constrType;
			tabIx = MDTable.CustomAttribute;
			byteVal = val;
		}
예제 #22
0
		public ManifestResource(string name, uint flags, FileRef fileRef) 
		{
			InitResource (name, flags);
			rRef = fileRef;
		}
예제 #23
0
		internal void AddToTable(MDTable tableIx, MetaDataElement elem) 
		{
			if (elem.Row > 0) {
				// Console.Out.WriteLine("ERROR - element already in table " + tableIx);
				return;
			}
			// updates Row field of the element
			// Console.WriteLine("Adding element to table " + (uint)tableIx);
			ArrayList table = GetTable(tableIx);
			elem.Row = (uint)table.Count + 1;
			table.Add(elem);
		}
예제 #24
0
		public ManifestResource(string name, uint flags, FileRef fileRef, 
				uint fileIx) {
			InitResource (name, flags);
			rRef = fileRef;
			fileOffset = fileIx;
		}
예제 #25
0
		internal void WriteCodedIndex(CIx code, MetaDataElement elem, FileImage output) 
		{
			uint ix = 0;
			if (elem != null) { 
				ix = (elem.Row << CIxShiftMap[(uint)code]) | elem.GetCodedIx(code);
				// Console.WriteLine("coded index = " + ix + " row = " + elem.Row);
				//} else {
				// Console.WriteLine("elem for coded index is null");
			}
			if (lgeCIx[(uint)code]) 
				output.Write(ix);
			else
				output.Write((ushort)ix);
		}
예제 #26
0
		public ManifestResource(string name, uint flags, AssemblyRef assemRef) 
		{
			InitResource (name, flags);
			rRef = assemRef;
		}
예제 #27
0
		internal DeclSecurity_20 (MetaDataElement paren, ushort act, PermissionSet ps)
			: base (paren, act)
		{
                        this.ps = ps;
		}
예제 #28
0
		internal ManifestResource (ManifestResource mres) 
		{
			mrName = mres.mrName;
			flags = mres.flags;
			rRef = mres.rRef;
			fileOffset = mres.fileOffset;
			resourceBytes = mres.resourceBytes;
		}
예제 #29
0
		private GenericParameter (MetaDataElement owner, MetaData metadata,
				short index, string name, GenericParamAttributes attr, bool nadda) {
			this.owner = owner;
			this.metadata = metadata;
			this.index = index;
			tabIx = MDTable.GenericParam;
			this.name = name;
			this.attr = attr;
		}
예제 #30
0
파일: PEAPI.cs 프로젝트: Profit0004/mono
		public ClassRef AddExternClass(string ns, string name, TypeAttr attrs, MetaDataElement declRef)
		{
			return new ExternClassRef (attrs, ns, name, declRef, metaData);
		}