ShaderTools.Hlsl.Parser.HlslParser.ScanCast C# (CSharp) Method

ScanCast() private method

private ScanCast ( ) : bool
return bool
        private bool ScanCast()
        {
            if (Current.Kind != SyntaxKind.OpenParenToken)
                return false;

            NextToken();

            var type = ScanType();
            if (type == ScanTypeFlags.NotType)
                return false;

            if (Current.Kind != SyntaxKind.CloseParenToken)
                return false;

            if (type == ScanTypeFlags.MustBeType)
                return true;

            NextToken();

            // check for ambiguous type or expression followed by disambiguating token.  i.e.
            //
            // "(A)b" is a cast.  But "(A)+b" is not a cast.  
            return (type == ScanTypeFlags.TypeOrExpression) && SyntaxFacts.CanFollowCast(Current.Kind);
        }
HlslParser