ShaderTools.Hlsl.Symbols.IntrinsicFunctions.Create4 C# (CSharp) Method

Create4() private static method

private static Create4 ( string name, string documentation, TypeSymbol types, string parameterName1, string parameterDocumentation1, string parameterName2, string parameterDocumentation2, string parameterName3, string parameterDocumentation3, string parameterName4, string parameterDocumentation4, TypeSymbol overrideReturnType = null, ParameterDirection overrideParameterDirection4 = ParameterDirection.In ) : IEnumerable
name string
documentation string
types TypeSymbol
parameterName1 string
parameterDocumentation1 string
parameterName2 string
parameterDocumentation2 string
parameterName3 string
parameterDocumentation3 string
parameterName4 string
parameterDocumentation4 string
overrideReturnType TypeSymbol
overrideParameterDirection4 ParameterDirection
return IEnumerable
        private static IEnumerable<FunctionSymbol> Create4(
            string name, string documentation, TypeSymbol[] types,
            string parameterName1, string parameterDocumentation1,
            string parameterName2, string parameterDocumentation2,
            string parameterName3, string parameterDocumentation3,
            string parameterName4, string parameterDocumentation4,
            TypeSymbol overrideReturnType = null,
            ParameterDirection overrideParameterDirection4 = ParameterDirection.In)
        {
            return types.Select(type => new FunctionSymbol(
                name, documentation, null, overrideReturnType ?? type,
                f => new[]
                {
                    new ParameterSymbol(parameterName1, parameterDocumentation1, f, type),
                    new ParameterSymbol(parameterName2, parameterDocumentation2, f, type),
                    new ParameterSymbol(parameterName3, parameterDocumentation3, f, type),
                    new ParameterSymbol(parameterName4, parameterDocumentation4, f, type, overrideParameterDirection4)
                }));
        }
    }