Пример #1
0
		private void LoadData(CLIFile pFile)
		{
			int typeDefIndex = 0;
			if (pFile.TypeDefTable.Length >= 0xFFFF) typeDefIndex = pFile.ReadInt32() - 1;
			else typeDefIndex = pFile.ReadUInt16() - 1;
			if (typeDefIndex >= 0) Class = pFile.TypeDefTable[typeDefIndex];
			Interface.LoadData(pFile);
		}
Пример #2
0
		private void LoadData(CLIFile pFile)
		{
			int typeDefIndex = 0;
			if (pFile.TypeDefTable.Length >= 0xFFFF) typeDefIndex = pFile.ReadInt32() - 1;
			else typeDefIndex = pFile.ReadUInt16() - 1;
			if (typeDefIndex >= 0) Parent = pFile.TypeDefTable[typeDefIndex];
			if (pFile.PropertyTable.Length >= 0xFFFF) PropertyListIndex = pFile.ReadInt32() - 1;
			else PropertyListIndex = pFile.ReadUInt16() - 1;
		}
Пример #3
0
		private void LoadData(CLIFile pFile)
		{
			PackingSize = pFile.ReadUInt16();
			ClassSize = pFile.ReadUInt32();
			int typeDefIndex = 0;
			if (pFile.TypeDefTable.Length >= 0xFFFF) typeDefIndex = pFile.ReadInt32() - 1;
			else typeDefIndex = pFile.ReadUInt16() - 1;
			if (typeDefIndex >= 0) Parent = pFile.TypeDefTable[typeDefIndex];
		}
Пример #4
0
		private void LoadData(CLIFile pFile)
		{
			int typeDefIndex = 0;
			if (pFile.TypeDefTable.Length >= 0xFFFF) typeDefIndex = pFile.ReadInt32() - 1;
			else typeDefIndex = pFile.ReadUInt16() - 1;
			if (typeDefIndex >= 0) Class = pFile.TypeDefTable[typeDefIndex];
			MethodBody.LoadData(pFile);
			MethodDeclaration.LoadData(pFile);
		}
Пример #5
0
		private void LoadData(CLIFile pFile)
		{
			int typeDefIndex = 0;
			if (pFile.TypeDefTable.Length >= 0xFFFF) typeDefIndex = pFile.ReadInt32() - 1;
			else typeDefIndex = pFile.ReadUInt16() - 1;
			if (typeDefIndex >= 0) NestedClass = pFile.TypeDefTable[typeDefIndex];
			typeDefIndex = 0;
			if (pFile.TypeDefTable.Length >= 0xFFFF) typeDefIndex = pFile.ReadInt32() - 1;
			else typeDefIndex = pFile.ReadUInt16() - 1;
			if (typeDefIndex >= 0) EnclosingClass = pFile.TypeDefTable[typeDefIndex];
		}
Пример #6
0
		private void LoadData(CLIFile pFile)
		{
			Flags = pFile.ReadUInt32();
			int typeDefIndex = 0;
			if (pFile.TypeDefTable.Length >= 0xFFFF) typeDefIndex = pFile.ReadInt32() - 1;
			else typeDefIndex = pFile.ReadUInt16() - 1;
			if (typeDefIndex >= 0) TypeDef = pFile.TypeDefTable[typeDefIndex];
			TypeName = pFile.ReadStringHeap(pFile.ReadHeapIndex(HeapOffsetSizes.Strings32Bit));
			TypeNamespace = pFile.ReadStringHeap(pFile.ReadHeapIndex(HeapOffsetSizes.Strings32Bit));
			Implementation.LoadData(pFile);
		}
Пример #7
0
		public void LoadData(CLIFile pFile)
		{
			int token = 0;
			if (pFile.TypeDefTable.Length > MemberRefParentTypeMax16BitRows ||
				pFile.TypeRefTable.Length > MemberRefParentTypeMax16BitRows ||
				pFile.ModuleRefTable.Length > MemberRefParentTypeMax16BitRows ||
				pFile.MethodDefTable.Length > MemberRefParentTypeMax16BitRows ||
				pFile.TypeSpecTable.Length > MemberRefParentTypeMax16BitRows) token = pFile.ReadInt32();
			else token = pFile.ReadUInt16();
			Type = (MemberRefParentType)(token & MemberRefParentTypeMask);
			token = (token >> MemberRefParentTypeBits) - 1;
			if (token >= 0)
			{
				switch (Type)
				{
					case MemberRefParentType.TypeDef: TypeDef = pFile.TypeDefTable[token]; break;
					case MemberRefParentType.TypeRef: TypeRef = pFile.TypeRefTable[token]; break;
					case MemberRefParentType.ModuleRef: ModuleRef = pFile.ModuleRefTable[token]; break;
					case MemberRefParentType.MethodDef: MethodDef = pFile.MethodDefTable[token]; break;
					case MemberRefParentType.TypeSpec: TypeSpec = pFile.TypeSpecTable[token]; break;
					default: throw new BadImageFormatException("MemberRefParent Type");
				}
			}
		}
Пример #8
0
		public void LoadData(CLIFile pFile)
		{
			int token = 0;
			if (pFile.TypeDefTable.Length > TypeOrMethodDefTypeMax16BitRows ||
				pFile.MethodDefTable.Length > TypeOrMethodDefTypeMax16BitRows) token = pFile.ReadInt32();
			else token = pFile.ReadUInt16();
			Type = (TypeOrMethodDefType)(token & TypeOrMethodDefTypeMask);
			token = (token >> TypeOrMethodDefTypeBits) - 1;
			if (token >= 0)
			{
				switch (Type)
				{
					case TypeOrMethodDefType.TypeDef: TypeDef = pFile.TypeDefTable[token]; break;
					case TypeOrMethodDefType.MethodDef: MethodDef = pFile.MethodDefTable[token]; break;
					default: throw new BadImageFormatException("TypeOrMethodDef Type");
				}
			}
		}
Пример #9
0
		public void LoadData(CLIFile pFile)
		{
			int token = 0;
			if (pFile.MethodDefTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.FieldTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.TypeRefTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.TypeDefTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.ParamTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.InterfaceImplTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.MemberRefTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.ModuleTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.DeclSecurityTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.PropertyTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.EventTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.StandAloneSigTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.ModuleRefTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.TypeSpecTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.AssemblyTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.AssemblyRefTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.FileTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.ExportedTypeTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.ManifestResourceTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.GenericParamTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.GenericParamConstraintTable.Length > HasCustomAttributeTypeMax16BitRows ||
				pFile.MethodSpecTable.Length > HasCustomAttributeTypeMax16BitRows) token = pFile.ReadInt32();
			else token = pFile.ReadUInt16();
			Type = (HasCustomAttributeType)(token & HasCustomAttributeTypeMask);
			token = (token >> HasCustomAttributeTypeBits) - 1;
			if (token >= 0)
			{
				switch (Type)
				{
					case HasCustomAttributeType.MethodDef: MethodDef = pFile.MethodDefTable[token]; break;
					case HasCustomAttributeType.Field: Field = pFile.FieldTable[token]; break;
					case HasCustomAttributeType.TypeRef: TypeRef = pFile.TypeRefTable[token]; break;
					case HasCustomAttributeType.TypeDef: TypeDef = pFile.TypeDefTable[token]; break;
					case HasCustomAttributeType.Param: Param = pFile.ParamTable[token]; break;
					case HasCustomAttributeType.InterfaceImpl: InterfaceImpl = pFile.InterfaceImplTable[token]; break;
					case HasCustomAttributeType.MemberRef: MemberRef = pFile.MemberRefTable[token]; break;
					case HasCustomAttributeType.Module: Module = pFile.ModuleTable[token]; break;
					case HasCustomAttributeType.DeclSecurity: DeclSecurity = pFile.DeclSecurityTable[token]; break;
					case HasCustomAttributeType.Property: Property = pFile.PropertyTable[token]; break;
					case HasCustomAttributeType.Event: Event = pFile.EventTable[token]; break;
					case HasCustomAttributeType.StandAloneSig: StandAloneSig = pFile.StandAloneSigTable[token]; break;
					case HasCustomAttributeType.ModuleRef: ModuleRef = pFile.ModuleRefTable[token]; break;
					case HasCustomAttributeType.TypeSpec: TypeSpec = pFile.TypeSpecTable[token]; break;
					case HasCustomAttributeType.Assembly: Assembly = pFile.AssemblyTable[token]; break;
					case HasCustomAttributeType.AssemblyRef: AssemblyRef = pFile.AssemblyRefTable[token]; break;
					case HasCustomAttributeType.File: File = pFile.FileTable[token]; break;
					case HasCustomAttributeType.ExportedType: ExportedType = pFile.ExportedTypeTable[token]; break;
					case HasCustomAttributeType.ManifestResource: ManifestResource = pFile.ManifestResourceTable[token]; break;
					case HasCustomAttributeType.GenericParam: GenericParam = pFile.GenericParamTable[token]; break;
					case HasCustomAttributeType.GenericParamConstraint: GenericParamConstraint = pFile.GenericParamConstraintTable[token]; break;
					case HasCustomAttributeType.MethodSpec: MethodSpec = pFile.MethodSpecTable[token]; break;
					default: throw new BadImageFormatException("HasCustomAttribute Type");
				}
			}
		}