private CSharpSyntaxNode ParseTypeOrPatternForIsOperatorCore()
        {
            var pattern = ParsePattern(GetPrecedence(SyntaxKind.IsPatternExpression), afterIs: true);

            return(pattern switch
            {
                ConstantPatternSyntax cp when ConvertExpressionToType(cp.Expression, out NameSyntax type) => type,
                TypePatternSyntax tp => tp.Type,
                DiscardPatternSyntax dp => _syntaxFactory.IdentifierName(ConvertToIdentifier(dp.UnderscoreToken)),
                var p => p,
            });
Пример #2
0
 private Doc PrintDiscardPatternSyntax(DiscardPatternSyntax node)
 {
     return(this.PrintSyntaxToken(node.UnderscoreToken));
 }
Пример #3
0
 public Discard(Context cx, DiscardPatternSyntax pattern, IExpressionParentEntity parent, int child) : this(cx, (CSharpSyntaxNode)pattern, parent, child)
 {
 }
Пример #4
0
 public override void VisitDiscardPattern(DiscardPatternSyntax node) => base.VisitDiscardPattern(node);
Пример #5
0
 public static Doc Print(DiscardPatternSyntax node)
 {
     return(Token.Print(node.UnderscoreToken));
 }
Пример #6
0
 public override void VisitDiscardPattern(DiscardPatternSyntax node)
 {
     Log(node, "Unsupported Syntax !");
 }