Mono.Cecil.GenericParameterResolver.ResolveIfNeeded C# (CSharp) Method

ResolveIfNeeded() private static method

private static ResolveIfNeeded ( IGenericInstance genericInstanceMethod, IGenericInstance declaringGenericInstanceType, TypeReference parameterType ) : TypeReference
genericInstanceMethod IGenericInstance
declaringGenericInstanceType IGenericInstance
parameterType TypeReference
return TypeReference
        private static TypeReference ResolveIfNeeded(IGenericInstance genericInstanceMethod, IGenericInstance declaringGenericInstanceType, TypeReference parameterType)
        {
            var byRefType = parameterType as ByReferenceType;
            if (byRefType != null)
                return ResolveIfNeeded (genericInstanceMethod, declaringGenericInstanceType, byRefType);

            var arrayType = parameterType as ArrayType;
            if (arrayType != null)
                return ResolveIfNeeded (genericInstanceMethod, declaringGenericInstanceType, arrayType);

            var genericInstanceType = parameterType as GenericInstanceType;
            if (genericInstanceType != null)
                return ResolveIfNeeded (genericInstanceMethod, declaringGenericInstanceType, genericInstanceType);

            var genericParameter = parameterType as GenericParameter;
            if (genericParameter != null)
                return ResolveIfNeeded (genericInstanceMethod, declaringGenericInstanceType, genericParameter);

            var requiredModifierType = parameterType as RequiredModifierType;
            if (requiredModifierType != null && ContainsGenericParameters (requiredModifierType))
                return ResolveIfNeeded (genericInstanceMethod, declaringGenericInstanceType, requiredModifierType.ElementType);

            if (ContainsGenericParameters (parameterType))
                throw new Exception ("Unexpected generic parameter.");

            return parameterType;
        }

Same methods

GenericParameterResolver::ResolveIfNeeded ( IGenericInstance genericInstanceMethod, IGenericInstance genericInstanceType, Mono.Cecil.ArrayType arrayType ) : Mono.Cecil.ArrayType
GenericParameterResolver::ResolveIfNeeded ( IGenericInstance genericInstanceMethod, IGenericInstance genericInstanceType, Mono.Cecil.ByReferenceType byReferenceType ) : Mono.Cecil.ByReferenceType
GenericParameterResolver::ResolveIfNeeded ( IGenericInstance genericInstanceMethod, IGenericInstance genericInstanceType, Mono.Cecil.GenericInstanceType genericInstanceType1 ) : Mono.Cecil.GenericInstanceType
GenericParameterResolver::ResolveIfNeeded ( IGenericInstance genericInstanceMethod, IGenericInstance genericInstanceType, Mono.Cecil.GenericParameter genericParameterElement ) : TypeReference