Example #1
0
        internal static uint ConvertToTag(MetadataToken token)
        {
            uint rowId = (uint)token.Rid;

            switch (token.TokenType)
            {
            case MetadataTokenType.MethodDef:
                return(rowId << NumberOfBits | Method);

            case MetadataTokenType.FieldDef:
                return(rowId << NumberOfBits | Field);

            case MetadataTokenType.TypeRef:
                return(rowId << NumberOfBits | TypeRef);

            case MetadataTokenType.TypeDef:
                return(rowId << NumberOfBits | TypeDef);

            case MetadataTokenType.ParamDef:
                return(rowId << NumberOfBits | Param);

            case MetadataTokenType.InterfaceImpl:
                return(rowId << NumberOfBits | InterfaceImpl);

            case MetadataTokenType.MemberRef:
                return(rowId << NumberOfBits | MemberRef);

            case MetadataTokenType.Module:
                return(rowId << NumberOfBits | Module);

            case MetadataTokenType.Permission:
                return(rowId << NumberOfBits | DeclSecurity);

            case MetadataTokenType.Property:
                return(rowId << NumberOfBits | Property);

            case MetadataTokenType.Event:
                return(rowId << NumberOfBits | Event);

            case MetadataTokenType.Signature:
                return(rowId << NumberOfBits | StandAloneSig);

            case MetadataTokenType.ModuleRef:
                return(rowId << NumberOfBits | ModuleRef);

            case MetadataTokenType.TypeSpec:
                return(rowId << NumberOfBits | TypeSpec);

            case MetadataTokenType.Assembly:
                return(rowId << NumberOfBits | Assembly);

            case MetadataTokenType.AssemblyRef:
                return(rowId << NumberOfBits | AssemblyRef);

            case MetadataTokenType.File:
                return(rowId << NumberOfBits | File);

            case MetadataTokenType.ExportedType:
                return(rowId << NumberOfBits | ExportedType);

            case MetadataTokenType.ManifestResource:
                return(rowId << NumberOfBits | ManifestResource);

            case MetadataTokenType.GenericPar:
                return(rowId << NumberOfBits | GenericParameter);
            }
            return(0);
        }
Example #2
0
 internal EventAccessors(EventDef eventDef, MetadataToken add, MetadataToken remove, MetadataToken fire)
 {
     Contract.Assert(add.IsMethodDef);
     Contract.Assert(remove.IsMethodDef);
     Contract.Assert(fire.IsMethodDef);
     m_add    = add;
     m_remove = remove;
     m_fire   = fire;
     m_event  = eventDef;
 }
Example #3
0
 internal MetadataRecord(MetadataToken token, MetadataTables tables)
 {
     Contract.Assert(tables != null);
     m_token  = token;
     m_tables = tables;
 }
Example #4
0
 public MetadataRecord GetRecord(MetadataToken token)
 {
     return(new MetadataRecord(token, this));
 }
 public bool IsValidToken(MetadataToken token)
 {
     return(m_import.IsValidToken(token));
 }