private static TypeSymbol ResolveIntrinsicVectorType(VectorTypeSyntax type) { var vectorType = SyntaxFacts.GetVectorType(type.TypeToken.Kind); var scalarType = vectorType.Item1; var numComponents = vectorType.Item2; return(IntrinsicTypes.GetVectorType(scalarType, numComponents)); }
private BoundVectorType BindVectorType(VectorTypeSyntax node) { var vectorType = TypeFacts.GetVectorType(node.TypeToken.Kind); var scalarType = vectorType.Item1; var numComponents = vectorType.Item2; return(new BoundVectorType(IntrinsicTypes.GetVectorType(scalarType, numComponents))); }
private static TypeSymbol ResolveIntrinsicVectorType(VectorTypeSyntax type) { var vectorType = SyntaxFacts.GetVectorType(type.TypeToken.Kind); var scalarType = vectorType.Item1; var numComponents = vectorType.Item2; return IntrinsicTypes.GetVectorType(scalarType, numComponents); }
private BoundVectorType BindVectorType(VectorTypeSyntax node) { var vectorType = TypeFacts.GetVectorType(node.TypeToken.Kind); var scalarType = vectorType.Item1; var numComponents = vectorType.Item2; return new BoundVectorType(IntrinsicTypes.GetVectorType(scalarType, numComponents)); }
public virtual void VisitVectorType(VectorTypeSyntax node) { DefaultVisit(node); }
public virtual void VisitVectorType(VectorTypeSyntax 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; } }