void Initialize() { @interface.ReadOriginalValue = () => { InitializeRawRow(); return(readerModule.ResolveTypeDefOrRef(rawRow.Interface)); }; }
void Initialize() { owner.ReadOriginalValue = () => { return(readerModule.GetOwner(this)); }; number.ReadOriginalValue = () => { InitializeRawRow(); return(rawRow.Number); }; flags.ReadOriginalValue = () => { InitializeRawRow(); return((GenericParamAttributes)rawRow.Flags); }; name.ReadOriginalValue = () => { InitializeRawRow(); return(readerModule.StringsStream.ReadNoNull(rawRow.Name)); }; kind.ReadOriginalValue = () => { if (readerModule.TablesStream.GenericParamTable.TableInfo.Columns.Count != 5) { return(null); } InitializeRawRow(); return(readerModule.ResolveTypeDefOrRef(rawRow.Kind)); }; }
void Initialize() { @interface.ReadOriginalValue = () => { InitializeRawRow_NoLock(); return(readerModule.ResolveTypeDefOrRef(rawRow.Interface)); }; #if THREAD_SAFE @interface.Lock = theLock; #endif }
void Initialize() { owner.ReadOriginalValue = () => { return(readerModule.GetOwner(this)); }; constraint.ReadOriginalValue = () => { InitializeRawRow(); return(readerModule.ResolveTypeDefOrRef(rawRow.Constraint)); }; }
/// <summary> /// Reads a <c>TypeDefOrRef</c> /// </summary> /// <returns>A <see cref="ITypeDefOrRef"/> instance</returns> ITypeDefOrRef ReadTypeDefOrRef() { uint codedToken; if (!reader.ReadCompressedUInt32(out codedToken)) { return(null); } //TODO: Perhaps we should read this lazily. If so, update ValueTypeSig, etc to take a coded token return(readerModule.ResolveTypeDefOrRef(codedToken)); }
void Initialize() { owner.ReadOriginalValue = () => { return(readerModule.GetOwner(this)); }; constraint.ReadOriginalValue = () => { InitializeRawRow_NoLock(); return(readerModule.ResolveTypeDefOrRef(rawRow.Constraint)); }; #if THREAD_SAFE owner.Lock = theLock; constraint.Lock = theLock; #endif }
void Initialize() { flags.ReadOriginalValue = () => { InitializeRawRow(); return((EventAttributes)rawRow.EventFlags); }; name.ReadOriginalValue = () => { InitializeRawRow(); return(readerModule.StringsStream.ReadNoNull(rawRow.Name)); }; type.ReadOriginalValue = () => { InitializeRawRow(); return(readerModule.ResolveTypeDefOrRef(rawRow.EventType)); }; declaringType.ReadOriginalValue = () => { return(readerModule.GetOwnerType(this)); }; }
/// <summary> /// Constructor /// </summary> /// <param name="readerModule">The module which contains this <c>InterfaceImpl</c> row</param> /// <param name="rid">Row ID</param> /// <param name="gpContext">Generic parameter context</param> /// <exception cref="ArgumentNullException">If <paramref name="readerModule"/> is <c>null</c></exception> /// <exception cref="ArgumentException">If <paramref name="rid"/> is invalid</exception> public InterfaceImplMD(ModuleDefMD readerModule, uint rid, GenericParamContext gpContext) { #if DEBUG if (readerModule == null) { throw new ArgumentNullException("readerModule"); } if (readerModule.TablesStream.InterfaceImplTable.IsInvalidRID(rid)) { throw new BadImageFormatException(string.Format("InterfaceImpl rid {0} does not exist", rid)); } #endif this.origRid = rid; this.rid = rid; this.readerModule = readerModule; uint @interface = readerModule.TablesStream.ReadInterfaceImplRow2(origRid); this.@interface = readerModule.ResolveTypeDefOrRef(@interface, gpContext); }
/// <summary> /// Constructor /// </summary> /// <param name="readerModule">The module which contains this <c>GenericParamConstraint</c> row</param> /// <param name="rid">Row ID</param> /// <param name="gpContext">Generic parameter context</param> /// <exception cref="ArgumentNullException">If <paramref name="readerModule"/> is <c>null</c></exception> /// <exception cref="ArgumentException">If <paramref name="rid"/> is invalid</exception> public GenericParamConstraintMD(ModuleDefMD readerModule, uint rid, GenericParamContext gpContext) { #if DEBUG if (readerModule == null) { throw new ArgumentNullException("readerModule"); } if (readerModule.TablesStream.GenericParamConstraintTable.IsInvalidRID(rid)) { throw new BadImageFormatException(string.Format("GenericParamConstraint rid {0} does not exist", rid)); } #endif this.origRid = rid; this.rid = rid; this.readerModule = readerModule; uint constraint = readerModule.TablesStream.ReadGenericParamConstraintRow2(origRid); this.constraint = readerModule.ResolveTypeDefOrRef(constraint, gpContext); this.owner = readerModule.GetOwner(this); }
/// <summary> /// Constructor /// </summary> /// <param name="readerModule">The module which contains this <c>Event</c> row</param> /// <param name="rid">Row ID</param> /// <exception cref="ArgumentNullException">If <paramref name="readerModule"/> is <c>null</c></exception> /// <exception cref="ArgumentException">If <paramref name="rid"/> is invalid</exception> public EventDefMD(ModuleDefMD readerModule, uint rid) { #if DEBUG if (readerModule == null) { throw new ArgumentNullException("readerModule"); } if (readerModule.TablesStream.EventTable.IsInvalidRID(rid)) { throw new BadImageFormatException(string.Format("Event rid {0} does not exist", rid)); } #endif this.origRid = rid; this.rid = rid; this.readerModule = readerModule; uint name; uint eventType = readerModule.TablesStream.ReadEventRow(origRid, out this.attributes, out name); this.name = readerModule.StringsStream.ReadNoNull(name); this.declaringType2 = readerModule.GetOwnerType(this); this.eventType = readerModule.ResolveTypeDefOrRef(eventType, new GenericParamContext(declaringType2)); }
/// <summary> /// Constructor /// </summary> /// <param name="readerModule">The module which contains this <c>GenericParam</c> row</param> /// <param name="rid">Row ID</param> /// <exception cref="ArgumentNullException">If <paramref name="readerModule"/> is <c>null</c></exception> /// <exception cref="ArgumentException">If <paramref name="rid"/> is invalid</exception> public GenericParamMD(ModuleDefMD readerModule, uint rid) { #if DEBUG if (readerModule == null) { throw new ArgumentNullException("readerModule"); } if (readerModule.TablesStream.GenericParamTable.IsInvalidRID(rid)) { throw new BadImageFormatException(string.Format("GenericParam rid {0} does not exist", rid)); } #endif this.origRid = rid; this.rid = rid; this.readerModule = readerModule; uint name; uint kind = readerModule.TablesStream.ReadGenericParamRow(origRid, out this.number, out this.attributes, out name); this.name = readerModule.StringsStream.ReadNoNull(name); this.owner = readerModule.GetOwner(this); if (kind != 0) { this.kind = readerModule.ResolveTypeDefOrRef(kind, GetGenericParamContext(owner)); } }