internal PropertySignature ExpandTypeParameters(Type declaringType) { return(new PropertySignature( callingConvention, propertyType.BindTypeParameters(declaringType), BindTypeParameters(declaringType, parameterTypes), customModifiers.Bind(declaringType))); }
internal MethodSignature Bind(Type type, Type[] methodArgs) { Binder binder = new Binder(type, methodArgs); return(new MethodSignature(returnType.BindTypeParameters(binder), BindTypeParameters(binder, parameterTypes), modifiers.Bind(binder), callingConvention, genericParamCount)); }
internal static MethodSignature MakeFromBuilder(Type returnType, Type[] parameterTypes, PackedCustomModifiers modifiers, CallingConventions callingConvention, int genericParamCount) { if (genericParamCount > 0) { returnType = returnType.BindTypeParameters(Unbinder.Instance); parameterTypes = BindTypeParameters(Unbinder.Instance, parameterTypes); modifiers = modifiers.Bind(Unbinder.Instance); } return(new MethodSignature(returnType, parameterTypes, modifiers, callingConvention, genericParamCount)); }
internal static MethodSignature MakeFromBuilder(Type returnType, Type[] parameterTypes, PackedCustomModifiers modifiers, CallingConventions callingConvention, int genericParamCount) { if (genericParamCount > 0) { returnType = returnType.BindTypeParameters(Unbinder.Instance); parameterTypes = BindTypeParameters(Unbinder.Instance, parameterTypes); modifiers = modifiers.Bind(Unbinder.Instance); } return new MethodSignature(returnType, parameterTypes, modifiers, callingConvention, genericParamCount); }