ShaderTools.Hlsl.Symbols.TypeFacts.GetVectorType C# (CSharp) Method

GetVectorType() static private method

static private GetVectorType ( SyntaxKind kind ) : int>.Tuple
kind SyntaxKind
return int>.Tuple
        internal static Tuple<ScalarType, int> GetVectorType(SyntaxKind kind)
        {
            switch (kind)
            {
                case SyntaxKind.VectorKeyword:
                    return Tuple.Create(ScalarType.Float, 4);

                case SyntaxKind.Bool1Keyword:
                    return Tuple.Create(ScalarType.Bool, 1);
                case SyntaxKind.Bool2Keyword:
                    return Tuple.Create(ScalarType.Bool, 2);
                case SyntaxKind.Bool3Keyword:
                    return Tuple.Create(ScalarType.Bool, 3);
                case SyntaxKind.Bool4Keyword:
                    return Tuple.Create(ScalarType.Bool, 4);
                case SyntaxKind.Int1Keyword:
                    return Tuple.Create(ScalarType.Int, 1);
                case SyntaxKind.Int2Keyword:
                    return Tuple.Create(ScalarType.Int, 2);
                case SyntaxKind.Int3Keyword:
                    return Tuple.Create(ScalarType.Int, 3);
                case SyntaxKind.Int4Keyword:
                    return Tuple.Create(ScalarType.Int, 4);
                case SyntaxKind.Uint1Keyword:
                    return Tuple.Create(ScalarType.Uint, 1);
                case SyntaxKind.Uint2Keyword:
                    return Tuple.Create(ScalarType.Uint, 2);
                case SyntaxKind.Uint3Keyword:
                    return Tuple.Create(ScalarType.Uint, 3);
                case SyntaxKind.Uint4Keyword:
                    return Tuple.Create(ScalarType.Uint, 4);
                case SyntaxKind.Half1Keyword:
                    return Tuple.Create(ScalarType.Half, 1);
                case SyntaxKind.Half2Keyword:
                    return Tuple.Create(ScalarType.Half, 2);
                case SyntaxKind.Half3Keyword:
                    return Tuple.Create(ScalarType.Half, 3);
                case SyntaxKind.Half4Keyword:
                    return Tuple.Create(ScalarType.Half, 4);
                case SyntaxKind.Float1Keyword:
                    return Tuple.Create(ScalarType.Float, 1);
                case SyntaxKind.Float2Keyword:
                    return Tuple.Create(ScalarType.Float, 2);
                case SyntaxKind.Float3Keyword:
                    return Tuple.Create(ScalarType.Float, 3);
                case SyntaxKind.Float4Keyword:
                    return Tuple.Create(ScalarType.Float, 4);
                case SyntaxKind.Double1Keyword:
                    return Tuple.Create(ScalarType.Double, 1);
                case SyntaxKind.Double2Keyword:
                    return Tuple.Create(ScalarType.Double, 2);
                case SyntaxKind.Double3Keyword:
                    return Tuple.Create(ScalarType.Double, 3);
                case SyntaxKind.Double4Keyword:
                    return Tuple.Create(ScalarType.Double, 4);
                case SyntaxKind.Min16Float1Keyword:
                    return Tuple.Create(ScalarType.Min16Float, 1);
                case SyntaxKind.Min16Float2Keyword:
                    return Tuple.Create(ScalarType.Min16Float, 2);
                case SyntaxKind.Min16Float3Keyword:
                    return Tuple.Create(ScalarType.Min16Float, 3);
                case SyntaxKind.Min16Float4Keyword:
                    return Tuple.Create(ScalarType.Min16Float, 4);
                case SyntaxKind.Min10Float1Keyword:
                    return Tuple.Create(ScalarType.Min10Float, 1);
                case SyntaxKind.Min10Float2Keyword:
                    return Tuple.Create(ScalarType.Min10Float, 2);
                case SyntaxKind.Min10Float3Keyword:
                    return Tuple.Create(ScalarType.Min10Float, 3);
                case SyntaxKind.Min10Float4Keyword:
                    return Tuple.Create(ScalarType.Min10Float, 4);
                case SyntaxKind.Min16Int1Keyword:
                    return Tuple.Create(ScalarType.Min16Int, 1);
                case SyntaxKind.Min16Int2Keyword:
                    return Tuple.Create(ScalarType.Min16Int, 2);
                case SyntaxKind.Min16Int3Keyword:
                    return Tuple.Create(ScalarType.Min16Int, 3);
                case SyntaxKind.Min16Int4Keyword:
                    return Tuple.Create(ScalarType.Min16Int, 4);
                case SyntaxKind.Min12Int1Keyword:
                    return Tuple.Create(ScalarType.Min12Int, 1);
                case SyntaxKind.Min12Int2Keyword:
                    return Tuple.Create(ScalarType.Min12Int, 2);
                case SyntaxKind.Min12Int3Keyword:
                    return Tuple.Create(ScalarType.Min12Int, 3);
                case SyntaxKind.Min12Int4Keyword:
                    return Tuple.Create(ScalarType.Min12Int, 4);
                case SyntaxKind.Min16Uint1Keyword:
                    return Tuple.Create(ScalarType.Min16Uint, 1);
                case SyntaxKind.Min16Uint2Keyword:
                    return Tuple.Create(ScalarType.Min16Uint, 2);
                case SyntaxKind.Min16Uint3Keyword:
                    return Tuple.Create(ScalarType.Min16Uint, 3);
                case SyntaxKind.Min16Uint4Keyword:
                    return Tuple.Create(ScalarType.Min16Uint, 4);
                default:
                    throw new ArgumentOutOfRangeException();
            }
        }