Beispiel #1
0
 public MetadataHeaps()
 {
     Guids       = new GuidHeap();
     Blobs       = new BlobHeap();
     Strings     = new StringHeap();
     UserStrings = new UserStringHeap();
     Tables      = new TableHeap(this);
 }
Beispiel #2
0
        TokenTypes IMetadataProvider.Read(TokenTypes token, out Guid result)
        {
            if ((TokenTypes.TableMask & token) == TokenTypes.Guid)
            {
                GuidHeap gheap = (GuidHeap)_streams[(int)HeapType.Guid];
                result = gheap.ReadGuid(ref token);
            }
            else
            {
                throw new ArgumentException(@"Invalid token for a guid.", @"token");
            }

            return(token);
        }
 public virtual void VisitGuidHeap(GuidHeap heap)
 {
 }
Beispiel #4
0
        /// <summary>
        /// Reads a guid heap entry.
        /// </summary>
        /// <param name="token">The token of the guid heap entry to read.</param>
        /// <returns></returns>
        Guid IMetadataProvider.ReadGuid(HeapIndexToken token)
        {
            GuidHeap gheap = (GuidHeap)_streams[(int)HeapType.Guid];

            return(gheap.ReadGuid(token));
        }
Beispiel #5
0
 public override void VisitGuidHeap(GuidHeap heap)
 {
     this.asm.StaticArray(moduleName + " GuidHeap", heap.Data);
 }
 public virtual void VisitGuidHeap(GuidHeap heap)
 {
 }
Beispiel #7
0
        private ValueType GetGuidIndex(Workspace workspace, Guid guid)
        {
            GuidHeap guidHeap = workspace.GetStream <GuidHeap>();

            return(GetHeapOffset(guidHeap, guidHeap.GetGuidOffset(guid)));
        }