public void SetOverrideMapping (uint rid, MetadataToken [] mapping) { Overrides [rid] = mapping; }
public static uint CompressMetadataToken (this CodedIndex self, MetadataToken token) { uint ret = 0; if (token.RID == 0) return ret; switch (self) { case CodedIndex.TypeDefOrRef: ret = token.RID << 2; switch (token.TokenType) { case TokenType.TypeDef: return ret | 0; case TokenType.TypeRef: return ret | 1; case TokenType.TypeSpec: return ret | 2; default: goto exit; } case CodedIndex.HasConstant: ret = token.RID << 2; switch (token.TokenType) { case TokenType.Field: return ret | 0; case TokenType.Param: return ret | 1; case TokenType.Property: return ret | 2; default: goto exit; } case CodedIndex.HasCustomAttribute: ret = token.RID << 5; switch (token.TokenType) { case TokenType.Method: return ret | 0; case TokenType.Field: return ret | 1; case TokenType.TypeRef: return ret | 2; case TokenType.TypeDef: return ret | 3; case TokenType.Param: return ret | 4; case TokenType.InterfaceImpl: return ret | 5; case TokenType.MemberRef: return ret | 6; case TokenType.Module: return ret | 7; case TokenType.Permission: return ret | 8; case TokenType.Property: return ret | 9; case TokenType.Event: return ret | 10; case TokenType.Signature: return ret | 11; case TokenType.ModuleRef: return ret | 12; case TokenType.TypeSpec: return ret | 13; case TokenType.Assembly: return ret | 14; case TokenType.AssemblyRef: return ret | 15; case TokenType.File: return ret | 16; case TokenType.ExportedType: return ret | 17; case TokenType.ManifestResource: return ret | 18; case TokenType.GenericParam: return ret | 19; default: goto exit; } case CodedIndex.HasFieldMarshal: ret = token.RID << 1; switch (token.TokenType) { case TokenType.Field: return ret | 0; case TokenType.Param: return ret | 1; default: goto exit; } case CodedIndex.HasDeclSecurity: ret = token.RID << 2; switch (token.TokenType) { case TokenType.TypeDef: return ret | 0; case TokenType.Method: return ret | 1; case TokenType.Assembly: return ret | 2; default: goto exit; } case CodedIndex.MemberRefParent: ret = token.RID << 3; switch (token.TokenType) { case TokenType.TypeDef: return ret | 0; case TokenType.TypeRef: return ret | 1; case TokenType.ModuleRef: return ret | 2; case TokenType.Method: return ret | 3; case TokenType.TypeSpec: return ret | 4; default: goto exit; } case CodedIndex.HasSemantics: ret = token.RID << 1; switch (token.TokenType) { case TokenType.Event: return ret | 0; case TokenType.Property: return ret | 1; default: goto exit; } case CodedIndex.MethodDefOrRef: ret = token.RID << 1; switch (token.TokenType) { case TokenType.Method: return ret | 0; case TokenType.MemberRef: return ret | 1; default: goto exit; } case CodedIndex.MemberForwarded: ret = token.RID << 1; switch (token.TokenType) { case TokenType.Field: return ret | 0; case TokenType.Method: return ret | 1; default: goto exit; } case CodedIndex.Implementation: ret = token.RID << 2; switch (token.TokenType) { case TokenType.File: return ret | 0; case TokenType.AssemblyRef: return ret | 1; case TokenType.ExportedType: return ret | 2; default: goto exit; } case CodedIndex.CustomAttributeType: ret = token.RID << 3; switch (token.TokenType) { case TokenType.Method: return ret | 2; case TokenType.MemberRef: return ret | 3; default: goto exit; } case CodedIndex.ResolutionScope: ret = token.RID << 2; switch (token.TokenType) { case TokenType.Module: return ret | 0; case TokenType.ModuleRef: return ret | 1; case TokenType.AssemblyRef: return ret | 2; case TokenType.TypeRef: return ret | 3; default: goto exit; } case CodedIndex.TypeOrMethodDef: ret = token.RID << 1; switch (token.TokenType) { case TokenType.TypeDef: return ret | 0; case TokenType.Method: return ret | 1; default: goto exit; } default: goto exit; } exit: throw new ArgumentException (); }
public void SetGenericConstraintMapping (uint gp_rid, MetadataToken [] mapping) { GenericConstraints [gp_rid] = mapping; }
public bool TryGetOverrideMapping (MethodDefinition method, out MetadataToken [] mapping) { return Overrides.TryGetValue (method.token.RID, out mapping); }
public bool TryGetGenericConstraintMapping (GenericParameter generic_parameter, out MetadataToken [] mapping) { return GenericConstraints.TryGetValue (generic_parameter.token.RID, out mapping); }
public void SetInterfaceMapping (uint type_rid, MetadataToken [] mapping) { Interfaces [type_rid] = mapping; }
public bool TryGetInterfaceMapping (TypeDefinition type, out MetadataToken [] mapping) { return Interfaces.TryGetValue (type.token.RID, out mapping); }
public AssemblyNameReference (string name, Version version) { if (name == null) throw new ArgumentNullException ("name"); this.name = name; this.version = version; this.hash_algorithm = AssemblyHashAlgorithm.None; this.token = new MetadataToken (TokenType.AssemblyRef); }
public IMetadataTokenProvider LookupToken(MetadataToken token) { return(Read(token, (t, reader) => reader.LookupToken(t))); }