public override DmdTypeBase FullResolve() { if (IsFullyResolved) { return(this); } var returnType = ((DmdTypeBase)methodSignature.ReturnType).FullResolve(); if ((object)returnType == null) { return(null); } var parameterTypes = DmdTypeUtilities.FullResolve(methodSignature.GetParameterTypes()); if (parameterTypes == null) { return(null); } var varArgsParameterTypes = DmdTypeUtilities.FullResolve(methodSignature.GetVarArgsParameterTypes()); if (varArgsParameterTypes == null) { return(null); } return((DmdTypeBase)returnType.AppDomain.MakeFunctionPointerType(methodSignature.Flags, methodSignature.GenericParameterCount, returnType, parameterTypes, varArgsParameterTypes, GetCustomModifiers())); }
public override DmdTypeBase FullResolve() { if (IsFullyResolved) { return(this); } var newTypeArguments = DmdTypeUtilities.FullResolve(typeArguments); if (newTypeArguments != null) { return((DmdTypeBase)AppDomain.MakeGenericType(genericTypeDefinition, newTypeArguments, GetCustomModifiers())); } return(null); }