private static TypeSymbol ResolveIntrinsicMatrixType(MatrixTypeSyntax type) { var matrixType = SyntaxFacts.GetMatrixType(type.TypeToken.Kind); var scalarType = matrixType.Item1; var numRows = matrixType.Item2; var numCols = matrixType.Item3; return(IntrinsicTypes.GetMatrixType(scalarType, numRows, numCols)); }
private BoundMatrixType BindMatrixType(MatrixTypeSyntax node) { var matrixType = TypeFacts.GetMatrixType(node.TypeToken.Kind); var scalarType = matrixType.Item1; var numRows = matrixType.Item2; var numCols = matrixType.Item3; return(new BoundMatrixType(IntrinsicTypes.GetMatrixType(scalarType, numRows, numCols))); }
private BoundMatrixType BindMatrixType(MatrixTypeSyntax node) { var matrixType = TypeFacts.GetMatrixType(node.TypeToken.Kind); var scalarType = matrixType.Item1; var numRows = matrixType.Item2; var numCols = matrixType.Item3; return new BoundMatrixType(IntrinsicTypes.GetMatrixType(scalarType, numRows, numCols)); }
private static TypeSymbol ResolveIntrinsicMatrixType(MatrixTypeSyntax type) { var matrixType = SyntaxFacts.GetMatrixType(type.TypeToken.Kind); var scalarType = matrixType.Item1; var numRows = matrixType.Item2; var numCols = matrixType.Item3; return IntrinsicTypes.GetMatrixType(scalarType, numRows, numCols); }
public virtual void VisitMatrixType(MatrixTypeSyntax node) { DefaultVisit(node); }
public virtual void VisitMatrixType(MatrixTypeSyntax node) { DefaultVisit(node); }
public static void SetType(TypeSyntax typeSyntax) { if (!IsGroupOpen()) { return; } if (typeSyntax.Kind == SyntaxKind.PredefinedScalarType) { _activeVar.IsScalar = true; ScalarTypeSyntax stSyntax = (ScalarTypeSyntax)typeSyntax; if (stSyntax.TypeTokens.Count == 2) { _activeVar.DataType = GetDataType(stSyntax.TypeTokens[1].ValueText); if (_activeVar.DataType == DataType.Int && stSyntax.TypeTokens[0].ValueText.Equals("unsigned")) { _activeVar.DataType = DataType.Uint; } } else if (stSyntax.TypeTokens.Count == 1) { _activeVar.DataType = GetDataType(stSyntax.TypeTokens[0].ValueText); } else { _varValid = false; } } else if (typeSyntax.Kind == SyntaxKind.PredefinedVectorType) { _activeVar.IsVector = true; VectorTypeSyntax vtSyntax = (VectorTypeSyntax)typeSyntax; string syntaxToken = vtSyntax.TypeToken.ValueText; _activeVar.DataType = GetDataType(syntaxToken); ParseVectorColumns(syntaxToken); } else if (typeSyntax.Kind == SyntaxKind.PredefinedMatrixType) { _activeVar.IsMatrix = true; MatrixTypeSyntax mtSyntax = (MatrixTypeSyntax)typeSyntax; string syntaxToken = mtSyntax.TypeToken.ValueText; _activeVar.DataType = GetDataType(syntaxToken); ParseMatrixDimensions(syntaxToken); } else if (typeSyntax.Kind == SyntaxKind.PredefinedObjectType) { PredefinedObjectTypeSyntax otSyntax = (PredefinedObjectTypeSyntax)typeSyntax; if (otSyntax.ObjectTypeToken.Kind == SyntaxKind.Texture2DKeyword) { _activeVar.IsTexture = true; _activeVar.DataType = DataType.Texture; } else { _varValid = false; } } else { _varValid = false; } }