/// <inheritdoc />
        protected override IMemberForwarded GetMemberForwarded()
        {
            var ownerToken = _parentModule.GetImplementationMapOwner(MetadataToken.Rid);

            return(_parentModule.TryLookupMember(ownerToken, out var member)
                ? member as IMemberForwarded
                : null);
        }
        /// <inheritdoc />
        protected override GenericParameter GetOwner()
        {
            var token = _parentModule.GetGenericParameterConstraintOwner(MetadataToken.Rid);

            return(_parentModule.TryLookupMember(token, out var member)
                ? member as GenericParameter
                : null);
        }
예제 #3
0
        /// <inheritdoc />
        protected override MethodDefinition GetMethod()
        {
            var token = new MetadataToken(TableIndex.Method, _row.Method);

            return(_parentModule.TryLookupMember(token, out var member)
                ? member as MethodDefinition
                : null);
        }
        /// <inheritdoc />
        protected override TypeDefinition GetDeclaringType()
        {
            var declaringTypeToken = new MetadataToken(TableIndex.TypeDef, _parentModule.GetFieldDeclaringType(MetadataToken.Rid));

            return(_parentModule.TryLookupMember(declaringTypeToken, out var member)
                ? member as TypeDefinition
                : null);
        }
        /// <inheritdoc />
        protected override TypeDefinition GetClass()
        {
            var token = _parentModule.GetInterfaceImplementationOwner(MetadataToken.Rid);

            return(_parentModule.TryLookupMember(token, out var member)
                ? member as TypeDefinition
                : null);
        }
        /// <inheritdoc />
        protected override IHasCustomAttribute GetParent()
        {
            var ownerToken = _parentModule.GetCustomAttributeOwner(MetadataToken.Rid);

            return(_parentModule.TryLookupMember(ownerToken, out var member)
                ? member as IHasCustomAttribute
                : null);
        }
        /// <inheritdoc />
        protected override ITypeDefOrRef GetEventType()
        {
            var encoder = _parentModule.DotNetDirectory.Metadata
                          .GetStream <TablesStream>()
                          .GetIndexEncoder(CodedIndex.TypeDefOrRef);

            var eventTypeToken = encoder.DecodeIndex(_row.EventType);

            return(_parentModule.TryLookupMember(eventTypeToken, out var member)
                ? member as ITypeDefOrRef
                : null);
        }
        /// <inheritdoc />
        protected override MethodDefinition GetMethod()
        {
            var ownerToken = new MetadataToken(TableIndex.Method, _parentModule.GetParameterOwner(MetadataToken.Rid));

            return(_parentModule.TryLookupMember(ownerToken, out var member)
                ? member as MethodDefinition
                : null);
        }
예제 #9
0
        /// <inheritdoc />
        protected override IHasSecurityDeclaration GetParent()
        {
            var ownerToken = _parentModule.GetSecurityDeclarationOwner(MetadataToken.Rid);

            return(_parentModule.TryLookupMember(ownerToken, out var member)
                ? member as IHasSecurityDeclaration
                : null);
        }
예제 #10
0
        /// <inheritdoc />
        protected override IHasConstant GetParent()
        {
            var token = _parentModule.GetConstantOwner(MetadataToken.Rid);

            return(_parentModule.TryLookupMember(token, out var member)
                ? member as IHasConstant
                : null);
        }
        /// <inheritdoc />
        protected override IMethodDefOrRef GetMethod()
        {
            var encoder = _parentModule.DotNetDirectory.Metadata
                          .GetStream <TablesStream>()
                          .GetIndexEncoder(CodedIndex.MethodDefOrRef);

            var methodToken = encoder.DecodeIndex(_row.Method);

            return(_parentModule.TryLookupMember(methodToken, out var member)
                ? member as IMethodDefOrRef
                : null);
        }
예제 #12
0
        /// <inheritdoc />
        protected override IImplementation GetImplementation()
        {
            var encoder = _parentModule.DotNetDirectory.Metadata
                          .GetStream <TablesStream>()
                          .GetIndexEncoder(CodedIndex.Implementation);

            var token = encoder.DecodeIndex(_row.Implementation);

            return(_parentModule.TryLookupMember(token, out var member)
                ? member as IImplementation
                : null);
        }
        /// <inheritdoc />
        protected override IMemberRefParent GetParent()
        {
            var encoder = _parentModule.DotNetDirectory.Metadata
                          .GetStream <TablesStream>()
                          .GetIndexEncoder(CodedIndex.MemberRefParent);

            var parentToken = encoder.DecodeIndex(_row.Parent);

            return(_parentModule.TryLookupMember(parentToken, out var member)
                ? member as IMemberRefParent
                : null);
        }
예제 #14
0
        /// <inheritdoc />
        protected override IHasGenericParameters GetOwner()
        {
            var encoder = _parentModule.DotNetDirectory.Metadata
                          .GetStream <TablesStream>()
                          .GetIndexEncoder(CodedIndex.TypeOrMethodDef);

            var ownerToken = encoder.DecodeIndex(_row.Owner);

            return(_parentModule.TryLookupMember(ownerToken, out var member)
                ? member as IHasGenericParameters
                : null);
        }
예제 #15
0
        /// <inheritdoc />
        protected override TypeDefinition GetDeclaringType()
        {
            uint parentTypeRid = _parentModule.GetParentTypeRid(MetadataToken.Rid);

            return(_parentModule.TryLookupMember(new MetadataToken(TableIndex.TypeDef, parentTypeRid), out var member)
                ? member as TypeDefinition
                : null);
        }
예제 #16
0
 /// <inheritdoc />
 protected override TypeDefinition GetParent()
 {
     return(_parentModule.TryLookupMember(new MetadataToken(TableIndex.TypeDef, _row.Parent), out var member)
         ? member as TypeDefinition
         : null);
 }