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

Create2() private static method

private static Create2 ( string name, string documentation, TypeSymbol types, string parameterName1, string parameterDocumentation1, string parameterName2, string parameterDocumentation2, TypeSymbol overrideReturnType = null, TypeSymbol overrideParameterType1 = null, TypeSymbol overrideParameterType2 = null, ParameterDirection overrideParameterDirection2 = ParameterDirection.In ) : IEnumerable
name string
documentation string
types TypeSymbol
parameterName1 string
parameterDocumentation1 string
parameterName2 string
parameterDocumentation2 string
overrideReturnType TypeSymbol
overrideParameterType1 TypeSymbol
overrideParameterType2 TypeSymbol
overrideParameterDirection2 ParameterDirection
return IEnumerable
        private static IEnumerable<FunctionSymbol> Create2(
            string name, string documentation, TypeSymbol[] types, 
            string parameterName1, string parameterDocumentation1, 
            string parameterName2, string parameterDocumentation2,
            TypeSymbol overrideReturnType = null,
            TypeSymbol overrideParameterType1 = null,
            TypeSymbol overrideParameterType2 = null,
            ParameterDirection overrideParameterDirection2 = ParameterDirection.In)
        {
            return types.Select(type => new FunctionSymbol(
                name, documentation, null, overrideReturnType ?? type,
                f => new[]
                {
                    new ParameterSymbol(parameterName1, parameterDocumentation1, f, overrideParameterType1 ?? type),
                    new ParameterSymbol(parameterName2, parameterDocumentation2, f, overrideParameterType2 ?? type, overrideParameterDirection2)
                }));
        }