Last active
February 17, 2023 20:40
-
-
Save jbevain/01a083c07010bc7b7cd0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
open Microsoft.CodeAnalysis | |
open Microsoft.CodeAnalysis.CSharp | |
open Microsoft.CodeAnalysis.CSharp.Syntax | |
open FSharp.CodeAnalysis.CSharp.Patterns | |
// full form for the node, with SyntaxKind and tokens | |
let fullForm (n: CSharpSyntaxNode) = | |
match n with | |
| BinaryExpressionSyntax(_, LiteralExpressionSyntax(_), _, _) -> () | |
| _ -> () | |
// simple form without tokens | |
let simpleForm (n: CSharpSyntaxNode) = | |
match n with | |
| EqualsExpression(NumericLiteralExpression, _) -> () | |
| InvocationExpression(IdentifierName(t), _) when t.ValueText = "Do" -> () | |
| _ -> () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
open System | |
open System.Xml | |
open System.Xml.Linq | |
let file = XDocument.Load @"C:\sources\roslyn\Src\Compilers\CSharp\Source\Syntax\Syntax.xml" | |
let writer = Console.Out | |
let write (s: string) = writer.WriteLine s | |
let writei() = writer.Write " " | |
let writep (s: string) = | |
writei() | |
Console.WriteLine s | |
let writepp (s: string) = | |
writei() | |
writei() | |
Console.WriteLine s | |
let writeppp (s: string) = | |
writei() | |
writei() | |
writei() | |
Console.WriteLine s | |
let join (s: string) (sts: String[]) = String.Join(s, sts) | |
let fields (n: XElement, all: bool) = | |
n.Elements(XName.Get("Field")) | |
|> Seq.map (fun e -> e.Attribute(XName.Get("Name")).Value) | |
|> Seq.filter (fun n -> if all then true else not (n.EndsWith("Token") || n.EndsWith("Keyword"))) | |
|> Seq.map (fun n -> String.Format("t.{0}", n)) | |
|> Seq.toArray | |
|> join ", " | |
let writeNode (n: XElement) = | |
let nodeName = n.Attribute(XName.Get("Name")).Value | |
let kinds = n.Elements(XName.Get("Kind")) |> Seq.toArray | |
writep(String.Format("let (|{0}|_|) (n: CSharpSyntaxNode) =", nodeName)) | |
writepp("match n with") | |
writepp(String.Format("| :? {0} as t -> Some(t.CSharpKind(), {1})", nodeName, fields(n, true))) | |
writepp("| _ -> None") | |
write("") | |
for k in n.Elements(XName.Get("Kind")) do | |
let name = k.Attribute(XName.Get("Name")).Value | |
writep(String.Format("let (|{0}|_|) (n: CSharpSyntaxNode) =", name)) | |
writepp("match n.CSharpKind() with") | |
writepp(String.Format("| SyntaxKind.{0} ->", name)) | |
writeppp(String.Format("let t = n :?> {0}", nodeName)) | |
writeppp(String.Format("Some({0})", fields(n, false))) | |
writepp("| _ -> None") | |
write("") | |
write("namespace FSharp.CodeAnalysis.CSharp") | |
write("") | |
write("open Microsoft.CodeAnalysis") | |
write("open Microsoft.CodeAnalysis.CSharp") | |
write("open Microsoft.CodeAnalysis.CSharp.Syntax") | |
write("") | |
write("module Patterns =") | |
write("") | |
file.Root.Elements(XName.Get("Node")) |> Seq.iter writeNode |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace FSharp.CodeAnalysis.CSharp | |
open Microsoft.CodeAnalysis | |
open Microsoft.CodeAnalysis.CSharp | |
open Microsoft.CodeAnalysis.CSharp.Syntax | |
module Patterns = | |
let (|IdentifierNameSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? IdentifierNameSyntax as t -> Some(t.CSharpKind(), t.Identifier) | |
| _ -> None | |
let (|IdentifierName|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.IdentifierName -> | |
let t = n :?> IdentifierNameSyntax | |
Some(t.Identifier) | |
| _ -> None | |
let (|QualifiedNameSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? QualifiedNameSyntax as t -> Some(t.CSharpKind(), t.Left, t.DotToken, t.Right) | |
| _ -> None | |
let (|QualifiedName|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.QualifiedName -> | |
let t = n :?> QualifiedNameSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|GenericNameSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? GenericNameSyntax as t -> Some(t.CSharpKind(), t.Identifier, t.TypeArgumentList) | |
| _ -> None | |
let (|GenericName|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.GenericName -> | |
let t = n :?> GenericNameSyntax | |
Some(t.Identifier, t.TypeArgumentList) | |
| _ -> None | |
let (|TypeArgumentListSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? TypeArgumentListSyntax as t -> Some(t.CSharpKind(), t.LessThanToken, t.Arguments, t.GreaterThanToken) | |
| _ -> None | |
let (|TypeArgumentList|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.TypeArgumentList -> | |
let t = n :?> TypeArgumentListSyntax | |
Some(t.Arguments) | |
| _ -> None | |
let (|AliasQualifiedNameSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? AliasQualifiedNameSyntax as t -> Some(t.CSharpKind(), t.Alias, t.ColonColonToken, t.Name) | |
| _ -> None | |
let (|AliasQualifiedName|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AliasQualifiedName -> | |
let t = n :?> AliasQualifiedNameSyntax | |
Some(t.Alias, t.Name) | |
| _ -> None | |
let (|PredefinedTypeSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? PredefinedTypeSyntax as t -> Some(t.CSharpKind(), t.Keyword) | |
| _ -> None | |
let (|PredefinedType|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.PredefinedType -> | |
let t = n :?> PredefinedTypeSyntax | |
Some() | |
| _ -> None | |
let (|ArrayTypeSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ArrayTypeSyntax as t -> Some(t.CSharpKind(), t.ElementType, t.RankSpecifiers) | |
| _ -> None | |
let (|ArrayType|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ArrayType -> | |
let t = n :?> ArrayTypeSyntax | |
Some(t.ElementType, t.RankSpecifiers) | |
| _ -> None | |
let (|ArrayRankSpecifierSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ArrayRankSpecifierSyntax as t -> Some(t.CSharpKind(), t.OpenBracketToken, t.Sizes, t.CloseBracketToken) | |
| _ -> None | |
let (|ArrayRankSpecifier|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ArrayRankSpecifier -> | |
let t = n :?> ArrayRankSpecifierSyntax | |
Some(t.Sizes) | |
| _ -> None | |
let (|PointerTypeSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? PointerTypeSyntax as t -> Some(t.CSharpKind(), t.ElementType, t.AsteriskToken) | |
| _ -> None | |
let (|PointerType|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.PointerType -> | |
let t = n :?> PointerTypeSyntax | |
Some(t.ElementType) | |
| _ -> None | |
let (|NullableTypeSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? NullableTypeSyntax as t -> Some(t.CSharpKind(), t.ElementType, t.QuestionToken) | |
| _ -> None | |
let (|NullableType|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.NullableType -> | |
let t = n :?> NullableTypeSyntax | |
Some(t.ElementType) | |
| _ -> None | |
let (|OmittedTypeArgumentSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? OmittedTypeArgumentSyntax as t -> Some(t.CSharpKind(), t.OmittedTypeArgumentToken) | |
| _ -> None | |
let (|OmittedTypeArgument|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.OmittedTypeArgument -> | |
let t = n :?> OmittedTypeArgumentSyntax | |
Some() | |
| _ -> None | |
let (|ParenthesizedExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ParenthesizedExpressionSyntax as t -> Some(t.CSharpKind(), t.OpenParenToken, t.Expression, t.CloseParenToken) | |
| _ -> None | |
let (|ParenthesizedExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ParenthesizedExpression -> | |
let t = n :?> ParenthesizedExpressionSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|PrefixUnaryExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? PrefixUnaryExpressionSyntax as t -> Some(t.CSharpKind(), t.OperatorToken, t.Operand) | |
| _ -> None | |
let (|UnaryPlusExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.UnaryPlusExpression -> | |
let t = n :?> PrefixUnaryExpressionSyntax | |
Some(t.Operand) | |
| _ -> None | |
let (|UnaryMinusExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.UnaryMinusExpression -> | |
let t = n :?> PrefixUnaryExpressionSyntax | |
Some(t.Operand) | |
| _ -> None | |
let (|BitwiseNotExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.BitwiseNotExpression -> | |
let t = n :?> PrefixUnaryExpressionSyntax | |
Some(t.Operand) | |
| _ -> None | |
let (|LogicalNotExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.LogicalNotExpression -> | |
let t = n :?> PrefixUnaryExpressionSyntax | |
Some(t.Operand) | |
| _ -> None | |
let (|PreIncrementExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.PreIncrementExpression -> | |
let t = n :?> PrefixUnaryExpressionSyntax | |
Some(t.Operand) | |
| _ -> None | |
let (|PreDecrementExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.PreDecrementExpression -> | |
let t = n :?> PrefixUnaryExpressionSyntax | |
Some(t.Operand) | |
| _ -> None | |
let (|AddressOfExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AddressOfExpression -> | |
let t = n :?> PrefixUnaryExpressionSyntax | |
Some(t.Operand) | |
| _ -> None | |
let (|PointerIndirectionExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.PointerIndirectionExpression -> | |
let t = n :?> PrefixUnaryExpressionSyntax | |
Some(t.Operand) | |
| _ -> None | |
let (|AwaitExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AwaitExpression -> | |
let t = n :?> PrefixUnaryExpressionSyntax | |
Some(t.Operand) | |
| _ -> None | |
let (|PostfixUnaryExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? PostfixUnaryExpressionSyntax as t -> Some(t.CSharpKind(), t.Operand, t.OperatorToken) | |
| _ -> None | |
let (|PostIncrementExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.PostIncrementExpression -> | |
let t = n :?> PostfixUnaryExpressionSyntax | |
Some(t.Operand) | |
| _ -> None | |
let (|PostDecrementExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.PostDecrementExpression -> | |
let t = n :?> PostfixUnaryExpressionSyntax | |
Some(t.Operand) | |
| _ -> None | |
let (|MemberAccessExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? MemberAccessExpressionSyntax as t -> Some(t.CSharpKind(), t.Expression, t.OperatorToken, t.Name) | |
| _ -> None | |
let (|SimpleMemberAccessExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.SimpleMemberAccessExpression -> | |
let t = n :?> MemberAccessExpressionSyntax | |
Some(t.Expression, t.Name) | |
| _ -> None | |
let (|PointerMemberAccessExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.PointerMemberAccessExpression -> | |
let t = n :?> MemberAccessExpressionSyntax | |
Some(t.Expression, t.Name) | |
| _ -> None | |
let (|BinaryExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? BinaryExpressionSyntax as t -> Some(t.CSharpKind(), t.Left, t.OperatorToken, t.Right) | |
| _ -> None | |
let (|AddExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AddExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|SubtractExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.SubtractExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|MultiplyExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.MultiplyExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|DivideExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.DivideExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|ModuloExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ModuloExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|LeftShiftExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.LeftShiftExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|RightShiftExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.RightShiftExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|LogicalOrExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.LogicalOrExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|LogicalAndExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.LogicalAndExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|BitwiseOrExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.BitwiseOrExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|BitwiseAndExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.BitwiseAndExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|ExclusiveOrExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ExclusiveOrExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|EqualsExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.EqualsExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|NotEqualsExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.NotEqualsExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|LessThanExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.LessThanExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|LessThanOrEqualExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.LessThanOrEqualExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|GreaterThanExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.GreaterThanExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|GreaterThanOrEqualExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.GreaterThanOrEqualExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|IsExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.IsExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|AsExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AsExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|CoalesceExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CoalesceExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|SimpleAssignmentExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.SimpleAssignmentExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|AddAssignmentExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AddAssignmentExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|SubtractAssignmentExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.SubtractAssignmentExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|MultiplyAssignmentExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.MultiplyAssignmentExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|DivideAssignmentExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.DivideAssignmentExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|ModuloAssignmentExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ModuloAssignmentExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|AndAssignmentExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AndAssignmentExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|ExclusiveOrAssignmentExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ExclusiveOrAssignmentExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|OrAssignmentExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.OrAssignmentExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|LeftShiftAssignmentExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.LeftShiftAssignmentExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|RightShiftAssignmentExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.RightShiftAssignmentExpression -> | |
let t = n :?> BinaryExpressionSyntax | |
Some(t.Left, t.Right) | |
| _ -> None | |
let (|ConditionalExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ConditionalExpressionSyntax as t -> Some(t.CSharpKind(), t.Condition, t.QuestionToken, t.WhenTrue, t.ColonToken, t.WhenFalse) | |
| _ -> None | |
let (|ConditionalExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ConditionalExpression -> | |
let t = n :?> ConditionalExpressionSyntax | |
Some(t.Condition, t.WhenTrue, t.WhenFalse) | |
| _ -> None | |
let (|ThisExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ThisExpressionSyntax as t -> Some(t.CSharpKind(), t.Token) | |
| _ -> None | |
let (|ThisExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ThisExpression -> | |
let t = n :?> ThisExpressionSyntax | |
Some() | |
| _ -> None | |
let (|BaseExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? BaseExpressionSyntax as t -> Some(t.CSharpKind(), t.Token) | |
| _ -> None | |
let (|BaseExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.BaseExpression -> | |
let t = n :?> BaseExpressionSyntax | |
Some() | |
| _ -> None | |
let (|LiteralExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? LiteralExpressionSyntax as t -> Some(t.CSharpKind(), t.Token) | |
| _ -> None | |
let (|ArgListExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ArgListExpression -> | |
let t = n :?> LiteralExpressionSyntax | |
Some() | |
| _ -> None | |
let (|NumericLiteralExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.NumericLiteralExpression -> | |
let t = n :?> LiteralExpressionSyntax | |
Some() | |
| _ -> None | |
let (|StringLiteralExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.StringLiteralExpression -> | |
let t = n :?> LiteralExpressionSyntax | |
Some() | |
| _ -> None | |
let (|CharacterLiteralExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CharacterLiteralExpression -> | |
let t = n :?> LiteralExpressionSyntax | |
Some() | |
| _ -> None | |
let (|TrueLiteralExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.TrueLiteralExpression -> | |
let t = n :?> LiteralExpressionSyntax | |
Some() | |
| _ -> None | |
let (|FalseLiteralExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.FalseLiteralExpression -> | |
let t = n :?> LiteralExpressionSyntax | |
Some() | |
| _ -> None | |
let (|NullLiteralExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.NullLiteralExpression -> | |
let t = n :?> LiteralExpressionSyntax | |
Some() | |
| _ -> None | |
let (|MakeRefExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? MakeRefExpressionSyntax as t -> Some(t.CSharpKind(), t.Keyword, t.OpenParenToken, t.Expression, t.CloseParenToken) | |
| _ -> None | |
let (|MakeRefExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.MakeRefExpression -> | |
let t = n :?> MakeRefExpressionSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|RefTypeExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? RefTypeExpressionSyntax as t -> Some(t.CSharpKind(), t.Keyword, t.OpenParenToken, t.Expression, t.CloseParenToken) | |
| _ -> None | |
let (|RefTypeExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.RefTypeExpression -> | |
let t = n :?> RefTypeExpressionSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|RefValueExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? RefValueExpressionSyntax as t -> Some(t.CSharpKind(), t.Keyword, t.OpenParenToken, t.Expression, t.Comma, t.Type, t.CloseParenToken) | |
| _ -> None | |
let (|RefValueExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.RefValueExpression -> | |
let t = n :?> RefValueExpressionSyntax | |
Some(t.Expression, t.Comma, t.Type) | |
| _ -> None | |
let (|CheckedExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? CheckedExpressionSyntax as t -> Some(t.CSharpKind(), t.Keyword, t.OpenParenToken, t.Expression, t.CloseParenToken) | |
| _ -> None | |
let (|CheckedExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CheckedExpression -> | |
let t = n :?> CheckedExpressionSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|UncheckedExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.UncheckedExpression -> | |
let t = n :?> CheckedExpressionSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|DefaultExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? DefaultExpressionSyntax as t -> Some(t.CSharpKind(), t.Keyword, t.OpenParenToken, t.Type, t.CloseParenToken) | |
| _ -> None | |
let (|DefaultExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.DefaultExpression -> | |
let t = n :?> DefaultExpressionSyntax | |
Some(t.Type) | |
| _ -> None | |
let (|TypeOfExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? TypeOfExpressionSyntax as t -> Some(t.CSharpKind(), t.Keyword, t.OpenParenToken, t.Type, t.CloseParenToken) | |
| _ -> None | |
let (|TypeOfExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.TypeOfExpression -> | |
let t = n :?> TypeOfExpressionSyntax | |
Some(t.Type) | |
| _ -> None | |
let (|SizeOfExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? SizeOfExpressionSyntax as t -> Some(t.CSharpKind(), t.Keyword, t.OpenParenToken, t.Type, t.CloseParenToken) | |
| _ -> None | |
let (|SizeOfExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.SizeOfExpression -> | |
let t = n :?> SizeOfExpressionSyntax | |
Some(t.Type) | |
| _ -> None | |
let (|InvocationExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? InvocationExpressionSyntax as t -> Some(t.CSharpKind(), t.Expression, t.ArgumentList) | |
| _ -> None | |
let (|InvocationExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.InvocationExpression -> | |
let t = n :?> InvocationExpressionSyntax | |
Some(t.Expression, t.ArgumentList) | |
| _ -> None | |
let (|ElementAccessExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ElementAccessExpressionSyntax as t -> Some(t.CSharpKind(), t.Expression, t.ArgumentList) | |
| _ -> None | |
let (|ElementAccessExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ElementAccessExpression -> | |
let t = n :?> ElementAccessExpressionSyntax | |
Some(t.Expression, t.ArgumentList) | |
| _ -> None | |
let (|ArgumentListSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ArgumentListSyntax as t -> Some(t.CSharpKind(), t.OpenParenToken, t.Arguments, t.CloseParenToken) | |
| _ -> None | |
let (|ArgumentList|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ArgumentList -> | |
let t = n :?> ArgumentListSyntax | |
Some(t.Arguments) | |
| _ -> None | |
let (|BracketedArgumentListSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? BracketedArgumentListSyntax as t -> Some(t.CSharpKind(), t.OpenBracketToken, t.Arguments, t.CloseBracketToken) | |
| _ -> None | |
let (|BracketedArgumentList|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.BracketedArgumentList -> | |
let t = n :?> BracketedArgumentListSyntax | |
Some(t.Arguments) | |
| _ -> None | |
let (|ArgumentSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ArgumentSyntax as t -> Some(t.CSharpKind(), t.NameColon, t.RefOrOutKeyword, t.Expression) | |
| _ -> None | |
let (|Argument|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.Argument -> | |
let t = n :?> ArgumentSyntax | |
Some(t.NameColon, t.Expression) | |
| _ -> None | |
let (|NameColonSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? NameColonSyntax as t -> Some(t.CSharpKind(), t.Name, t.ColonToken) | |
| _ -> None | |
let (|NameColon|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.NameColon -> | |
let t = n :?> NameColonSyntax | |
Some(t.Name) | |
| _ -> None | |
let (|CastExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? CastExpressionSyntax as t -> Some(t.CSharpKind(), t.OpenParenToken, t.Type, t.CloseParenToken, t.Expression) | |
| _ -> None | |
let (|CastExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CastExpression -> | |
let t = n :?> CastExpressionSyntax | |
Some(t.Type, t.Expression) | |
| _ -> None | |
let (|AnonymousMethodExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? AnonymousMethodExpressionSyntax as t -> Some(t.CSharpKind(), t.AsyncKeyword, t.DelegateKeyword, t.ParameterList, t.Block) | |
| _ -> None | |
let (|AnonymousMethodExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AnonymousMethodExpression -> | |
let t = n :?> AnonymousMethodExpressionSyntax | |
Some(t.ParameterList, t.Block) | |
| _ -> None | |
let (|SimpleLambdaExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? SimpleLambdaExpressionSyntax as t -> Some(t.CSharpKind(), t.AsyncKeyword, t.Parameter, t.ArrowToken, t.Body) | |
| _ -> None | |
let (|SimpleLambdaExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.SimpleLambdaExpression -> | |
let t = n :?> SimpleLambdaExpressionSyntax | |
Some(t.Parameter, t.Body) | |
| _ -> None | |
let (|ParenthesizedLambdaExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ParenthesizedLambdaExpressionSyntax as t -> Some(t.CSharpKind(), t.AsyncKeyword, t.ParameterList, t.ArrowToken, t.Body) | |
| _ -> None | |
let (|ParenthesizedLambdaExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ParenthesizedLambdaExpression -> | |
let t = n :?> ParenthesizedLambdaExpressionSyntax | |
Some(t.ParameterList, t.Body) | |
| _ -> None | |
let (|InitializerExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? InitializerExpressionSyntax as t -> Some(t.CSharpKind(), t.OpenBraceToken, t.Expressions, t.CloseBraceToken) | |
| _ -> None | |
let (|ObjectInitializerExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ObjectInitializerExpression -> | |
let t = n :?> InitializerExpressionSyntax | |
Some(t.Expressions) | |
| _ -> None | |
let (|CollectionInitializerExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CollectionInitializerExpression -> | |
let t = n :?> InitializerExpressionSyntax | |
Some(t.Expressions) | |
| _ -> None | |
let (|ArrayInitializerExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ArrayInitializerExpression -> | |
let t = n :?> InitializerExpressionSyntax | |
Some(t.Expressions) | |
| _ -> None | |
let (|ComplexElementInitializerExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ComplexElementInitializerExpression -> | |
let t = n :?> InitializerExpressionSyntax | |
Some(t.Expressions) | |
| _ -> None | |
let (|ObjectCreationExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ObjectCreationExpressionSyntax as t -> Some(t.CSharpKind(), t.NewKeyword, t.Type, t.ArgumentList, t.Initializer) | |
| _ -> None | |
let (|ObjectCreationExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ObjectCreationExpression -> | |
let t = n :?> ObjectCreationExpressionSyntax | |
Some(t.Type, t.ArgumentList, t.Initializer) | |
| _ -> None | |
let (|AnonymousObjectMemberDeclaratorSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? AnonymousObjectMemberDeclaratorSyntax as t -> Some(t.CSharpKind(), t.NameEquals, t.Expression) | |
| _ -> None | |
let (|AnonymousObjectMemberDeclarator|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AnonymousObjectMemberDeclarator -> | |
let t = n :?> AnonymousObjectMemberDeclaratorSyntax | |
Some(t.NameEquals, t.Expression) | |
| _ -> None | |
let (|AnonymousObjectCreationExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? AnonymousObjectCreationExpressionSyntax as t -> Some(t.CSharpKind(), t.NewKeyword, t.OpenBraceToken, t.Initializers, t.CloseBraceToken) | |
| _ -> None | |
let (|AnonymousObjectCreationExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AnonymousObjectCreationExpression -> | |
let t = n :?> AnonymousObjectCreationExpressionSyntax | |
Some(t.Initializers) | |
| _ -> None | |
let (|ArrayCreationExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ArrayCreationExpressionSyntax as t -> Some(t.CSharpKind(), t.NewKeyword, t.Type, t.Initializer) | |
| _ -> None | |
let (|ArrayCreationExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ArrayCreationExpression -> | |
let t = n :?> ArrayCreationExpressionSyntax | |
Some(t.Type, t.Initializer) | |
| _ -> None | |
let (|ImplicitArrayCreationExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ImplicitArrayCreationExpressionSyntax as t -> Some(t.CSharpKind(), t.NewKeyword, t.OpenBracketToken, t.Commas, t.CloseBracketToken, t.Initializer) | |
| _ -> None | |
let (|ImplicitArrayCreationExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ImplicitArrayCreationExpression -> | |
let t = n :?> ImplicitArrayCreationExpressionSyntax | |
Some(t.Commas, t.Initializer) | |
| _ -> None | |
let (|StackAllocArrayCreationExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? StackAllocArrayCreationExpressionSyntax as t -> Some(t.CSharpKind(), t.StackAllocKeyword, t.Type) | |
| _ -> None | |
let (|StackAllocArrayCreationExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.StackAllocArrayCreationExpression -> | |
let t = n :?> StackAllocArrayCreationExpressionSyntax | |
Some(t.Type) | |
| _ -> None | |
let (|QueryExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? QueryExpressionSyntax as t -> Some(t.CSharpKind(), t.FromClause, t.Body) | |
| _ -> None | |
let (|QueryExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.QueryExpression -> | |
let t = n :?> QueryExpressionSyntax | |
Some(t.FromClause, t.Body) | |
| _ -> None | |
let (|QueryBodySyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? QueryBodySyntax as t -> Some(t.CSharpKind(), t.Clauses, t.SelectOrGroup, t.Continuation) | |
| _ -> None | |
let (|QueryBody|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.QueryBody -> | |
let t = n :?> QueryBodySyntax | |
Some(t.Clauses, t.SelectOrGroup, t.Continuation) | |
| _ -> None | |
let (|FromClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? FromClauseSyntax as t -> Some(t.CSharpKind(), t.FromKeyword, t.Type, t.Identifier, t.InKeyword, t.Expression) | |
| _ -> None | |
let (|FromClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.FromClause -> | |
let t = n :?> FromClauseSyntax | |
Some(t.Type, t.Identifier, t.Expression) | |
| _ -> None | |
let (|LetClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? LetClauseSyntax as t -> Some(t.CSharpKind(), t.LetKeyword, t.Identifier, t.EqualsToken, t.Expression) | |
| _ -> None | |
let (|LetClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.LetClause -> | |
let t = n :?> LetClauseSyntax | |
Some(t.Identifier, t.Expression) | |
| _ -> None | |
let (|JoinClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? JoinClauseSyntax as t -> Some(t.CSharpKind(), t.JoinKeyword, t.Type, t.Identifier, t.InKeyword, t.InExpression, t.OnKeyword, t.LeftExpression, t.EqualsKeyword, t.RightExpression, t.Into) | |
| _ -> None | |
let (|JoinClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.JoinClause -> | |
let t = n :?> JoinClauseSyntax | |
Some(t.Type, t.Identifier, t.InExpression, t.LeftExpression, t.RightExpression, t.Into) | |
| _ -> None | |
let (|JoinIntoClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? JoinIntoClauseSyntax as t -> Some(t.CSharpKind(), t.IntoKeyword, t.Identifier) | |
| _ -> None | |
let (|JoinIntoClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.JoinIntoClause -> | |
let t = n :?> JoinIntoClauseSyntax | |
Some(t.Identifier) | |
| _ -> None | |
let (|WhereClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? WhereClauseSyntax as t -> Some(t.CSharpKind(), t.WhereKeyword, t.Condition) | |
| _ -> None | |
let (|WhereClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.WhereClause -> | |
let t = n :?> WhereClauseSyntax | |
Some(t.Condition) | |
| _ -> None | |
let (|OrderByClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? OrderByClauseSyntax as t -> Some(t.CSharpKind(), t.OrderByKeyword, t.Orderings) | |
| _ -> None | |
let (|OrderByClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.OrderByClause -> | |
let t = n :?> OrderByClauseSyntax | |
Some(t.Orderings) | |
| _ -> None | |
let (|OrderingSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? OrderingSyntax as t -> Some(t.CSharpKind(), t.Expression, t.AscendingOrDescendingKeyword) | |
| _ -> None | |
let (|AscendingOrdering|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AscendingOrdering -> | |
let t = n :?> OrderingSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|DescendingOrdering|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.DescendingOrdering -> | |
let t = n :?> OrderingSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|SelectClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? SelectClauseSyntax as t -> Some(t.CSharpKind(), t.SelectKeyword, t.Expression) | |
| _ -> None | |
let (|SelectClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.SelectClause -> | |
let t = n :?> SelectClauseSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|GroupClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? GroupClauseSyntax as t -> Some(t.CSharpKind(), t.GroupKeyword, t.GroupExpression, t.ByKeyword, t.ByExpression) | |
| _ -> None | |
let (|GroupClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.GroupClause -> | |
let t = n :?> GroupClauseSyntax | |
Some(t.GroupExpression, t.ByExpression) | |
| _ -> None | |
let (|QueryContinuationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? QueryContinuationSyntax as t -> Some(t.CSharpKind(), t.IntoKeyword, t.Identifier, t.Body) | |
| _ -> None | |
let (|QueryContinuation|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.QueryContinuation -> | |
let t = n :?> QueryContinuationSyntax | |
Some(t.Identifier, t.Body) | |
| _ -> None | |
let (|OmittedArraySizeExpressionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? OmittedArraySizeExpressionSyntax as t -> Some(t.CSharpKind(), t.OmittedArraySizeExpressionToken) | |
| _ -> None | |
let (|OmittedArraySizeExpression|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.OmittedArraySizeExpression -> | |
let t = n :?> OmittedArraySizeExpressionSyntax | |
Some() | |
| _ -> None | |
let (|GlobalStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? GlobalStatementSyntax as t -> Some(t.CSharpKind(), t.Statement) | |
| _ -> None | |
let (|GlobalStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.GlobalStatement -> | |
let t = n :?> GlobalStatementSyntax | |
Some(t.Statement) | |
| _ -> None | |
let (|BlockSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? BlockSyntax as t -> Some(t.CSharpKind(), t.OpenBraceToken, t.Statements, t.CloseBraceToken) | |
| _ -> None | |
let (|Block|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.Block -> | |
let t = n :?> BlockSyntax | |
Some(t.Statements) | |
| _ -> None | |
let (|LocalDeclarationStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? LocalDeclarationStatementSyntax as t -> Some(t.CSharpKind(), t.Modifiers, t.Declaration, t.SemicolonToken) | |
| _ -> None | |
let (|LocalDeclarationStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.LocalDeclarationStatement -> | |
let t = n :?> LocalDeclarationStatementSyntax | |
Some(t.Modifiers, t.Declaration) | |
| _ -> None | |
let (|VariableDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? VariableDeclarationSyntax as t -> Some(t.CSharpKind(), t.Type, t.Variables) | |
| _ -> None | |
let (|VariableDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.VariableDeclaration -> | |
let t = n :?> VariableDeclarationSyntax | |
Some(t.Type, t.Variables) | |
| _ -> None | |
let (|VariableDeclaratorSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? VariableDeclaratorSyntax as t -> Some(t.CSharpKind(), t.Identifier, t.ArgumentList, t.Initializer) | |
| _ -> None | |
let (|VariableDeclarator|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.VariableDeclarator -> | |
let t = n :?> VariableDeclaratorSyntax | |
Some(t.Identifier, t.ArgumentList, t.Initializer) | |
| _ -> None | |
let (|EqualsValueClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? EqualsValueClauseSyntax as t -> Some(t.CSharpKind(), t.EqualsToken, t.Value) | |
| _ -> None | |
let (|EqualsValueClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.EqualsValueClause -> | |
let t = n :?> EqualsValueClauseSyntax | |
Some(t.Value) | |
| _ -> None | |
let (|ExpressionStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ExpressionStatementSyntax as t -> Some(t.CSharpKind(), t.Expression, t.SemicolonToken) | |
| _ -> None | |
let (|ExpressionStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ExpressionStatement -> | |
let t = n :?> ExpressionStatementSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|EmptyStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? EmptyStatementSyntax as t -> Some(t.CSharpKind(), t.SemicolonToken) | |
| _ -> None | |
let (|EmptyStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.EmptyStatement -> | |
let t = n :?> EmptyStatementSyntax | |
Some() | |
| _ -> None | |
let (|LabeledStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? LabeledStatementSyntax as t -> Some(t.CSharpKind(), t.Identifier, t.ColonToken, t.Statement) | |
| _ -> None | |
let (|LabeledStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.LabeledStatement -> | |
let t = n :?> LabeledStatementSyntax | |
Some(t.Identifier, t.Statement) | |
| _ -> None | |
let (|GotoStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? GotoStatementSyntax as t -> Some(t.CSharpKind(), t.GotoKeyword, t.CaseOrDefaultKeyword, t.Expression, t.SemicolonToken) | |
| _ -> None | |
let (|GotoStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.GotoStatement -> | |
let t = n :?> GotoStatementSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|GotoCaseStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.GotoCaseStatement -> | |
let t = n :?> GotoStatementSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|GotoDefaultStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.GotoDefaultStatement -> | |
let t = n :?> GotoStatementSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|BreakStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? BreakStatementSyntax as t -> Some(t.CSharpKind(), t.BreakKeyword, t.SemicolonToken) | |
| _ -> None | |
let (|BreakStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.BreakStatement -> | |
let t = n :?> BreakStatementSyntax | |
Some() | |
| _ -> None | |
let (|ContinueStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ContinueStatementSyntax as t -> Some(t.CSharpKind(), t.ContinueKeyword, t.SemicolonToken) | |
| _ -> None | |
let (|ContinueStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ContinueStatement -> | |
let t = n :?> ContinueStatementSyntax | |
Some() | |
| _ -> None | |
let (|ReturnStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ReturnStatementSyntax as t -> Some(t.CSharpKind(), t.ReturnKeyword, t.Expression, t.SemicolonToken) | |
| _ -> None | |
let (|ReturnStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ReturnStatement -> | |
let t = n :?> ReturnStatementSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|ThrowStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ThrowStatementSyntax as t -> Some(t.CSharpKind(), t.ThrowKeyword, t.Expression, t.SemicolonToken) | |
| _ -> None | |
let (|ThrowStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ThrowStatement -> | |
let t = n :?> ThrowStatementSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|YieldStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? YieldStatementSyntax as t -> Some(t.CSharpKind(), t.YieldKeyword, t.ReturnOrBreakKeyword, t.Expression, t.SemicolonToken) | |
| _ -> None | |
let (|YieldReturnStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.YieldReturnStatement -> | |
let t = n :?> YieldStatementSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|YieldBreakStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.YieldBreakStatement -> | |
let t = n :?> YieldStatementSyntax | |
Some(t.Expression) | |
| _ -> None | |
let (|WhileStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? WhileStatementSyntax as t -> Some(t.CSharpKind(), t.WhileKeyword, t.OpenParenToken, t.Condition, t.CloseParenToken, t.Statement) | |
| _ -> None | |
let (|WhileStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.WhileStatement -> | |
let t = n :?> WhileStatementSyntax | |
Some(t.Condition, t.Statement) | |
| _ -> None | |
let (|DoStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? DoStatementSyntax as t -> Some(t.CSharpKind(), t.DoKeyword, t.Statement, t.WhileKeyword, t.OpenParenToken, t.Condition, t.CloseParenToken, t.SemicolonToken) | |
| _ -> None | |
let (|DoStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.DoStatement -> | |
let t = n :?> DoStatementSyntax | |
Some(t.Statement, t.Condition) | |
| _ -> None | |
let (|ForStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ForStatementSyntax as t -> Some(t.CSharpKind(), t.ForKeyword, t.OpenParenToken, t.Declaration, t.Initializers, t.FirstSemicolonToken, t.Condition, t.SecondSemicolonToken, t.Incrementors, t.CloseParenToken, t.Statement) | |
| _ -> None | |
let (|ForStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ForStatement -> | |
let t = n :?> ForStatementSyntax | |
Some(t.Declaration, t.Initializers, t.Condition, t.Incrementors, t.Statement) | |
| _ -> None | |
let (|ForEachStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ForEachStatementSyntax as t -> Some(t.CSharpKind(), t.ForEachKeyword, t.OpenParenToken, t.Type, t.Identifier, t.InKeyword, t.Expression, t.CloseParenToken, t.Statement) | |
| _ -> None | |
let (|ForEachStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ForEachStatement -> | |
let t = n :?> ForEachStatementSyntax | |
Some(t.Type, t.Identifier, t.Expression, t.Statement) | |
| _ -> None | |
let (|UsingStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? UsingStatementSyntax as t -> Some(t.CSharpKind(), t.UsingKeyword, t.OpenParenToken, t.Declaration, t.Expression, t.CloseParenToken, t.Statement) | |
| _ -> None | |
let (|UsingStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.UsingStatement -> | |
let t = n :?> UsingStatementSyntax | |
Some(t.Declaration, t.Expression, t.Statement) | |
| _ -> None | |
let (|FixedStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? FixedStatementSyntax as t -> Some(t.CSharpKind(), t.FixedKeyword, t.OpenParenToken, t.Declaration, t.CloseParenToken, t.Statement) | |
| _ -> None | |
let (|FixedStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.FixedStatement -> | |
let t = n :?> FixedStatementSyntax | |
Some(t.Declaration, t.Statement) | |
| _ -> None | |
let (|CheckedStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? CheckedStatementSyntax as t -> Some(t.CSharpKind(), t.Keyword, t.Block) | |
| _ -> None | |
let (|CheckedStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CheckedStatement -> | |
let t = n :?> CheckedStatementSyntax | |
Some(t.Block) | |
| _ -> None | |
let (|UncheckedStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.UncheckedStatement -> | |
let t = n :?> CheckedStatementSyntax | |
Some(t.Block) | |
| _ -> None | |
let (|UnsafeStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? UnsafeStatementSyntax as t -> Some(t.CSharpKind(), t.UnsafeKeyword, t.Block) | |
| _ -> None | |
let (|UnsafeStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.UnsafeStatement -> | |
let t = n :?> UnsafeStatementSyntax | |
Some(t.Block) | |
| _ -> None | |
let (|LockStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? LockStatementSyntax as t -> Some(t.CSharpKind(), t.LockKeyword, t.OpenParenToken, t.Expression, t.CloseParenToken, t.Statement) | |
| _ -> None | |
let (|LockStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.LockStatement -> | |
let t = n :?> LockStatementSyntax | |
Some(t.Expression, t.Statement) | |
| _ -> None | |
let (|IfStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? IfStatementSyntax as t -> Some(t.CSharpKind(), t.IfKeyword, t.OpenParenToken, t.Condition, t.CloseParenToken, t.Statement, t.Else) | |
| _ -> None | |
let (|IfStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.IfStatement -> | |
let t = n :?> IfStatementSyntax | |
Some(t.Condition, t.Statement, t.Else) | |
| _ -> None | |
let (|ElseClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ElseClauseSyntax as t -> Some(t.CSharpKind(), t.ElseKeyword, t.Statement) | |
| _ -> None | |
let (|ElseClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ElseClause -> | |
let t = n :?> ElseClauseSyntax | |
Some(t.Statement) | |
| _ -> None | |
let (|SwitchStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? SwitchStatementSyntax as t -> Some(t.CSharpKind(), t.SwitchKeyword, t.OpenParenToken, t.Expression, t.CloseParenToken, t.OpenBraceToken, t.Sections, t.CloseBraceToken) | |
| _ -> None | |
let (|SwitchStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.SwitchStatement -> | |
let t = n :?> SwitchStatementSyntax | |
Some(t.Expression, t.Sections) | |
| _ -> None | |
let (|SwitchSectionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? SwitchSectionSyntax as t -> Some(t.CSharpKind(), t.Labels, t.Statements) | |
| _ -> None | |
let (|SwitchSection|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.SwitchSection -> | |
let t = n :?> SwitchSectionSyntax | |
Some(t.Labels, t.Statements) | |
| _ -> None | |
let (|SwitchLabelSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? SwitchLabelSyntax as t -> Some(t.CSharpKind(), t.CaseOrDefaultKeyword, t.Value, t.ColonToken) | |
| _ -> None | |
let (|CaseSwitchLabel|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CaseSwitchLabel -> | |
let t = n :?> SwitchLabelSyntax | |
Some(t.Value) | |
| _ -> None | |
let (|DefaultSwitchLabel|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.DefaultSwitchLabel -> | |
let t = n :?> SwitchLabelSyntax | |
Some(t.Value) | |
| _ -> None | |
let (|TryStatementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? TryStatementSyntax as t -> Some(t.CSharpKind(), t.TryKeyword, t.Block, t.Catches, t.Finally) | |
| _ -> None | |
let (|TryStatement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.TryStatement -> | |
let t = n :?> TryStatementSyntax | |
Some(t.Block, t.Catches, t.Finally) | |
| _ -> None | |
let (|CatchClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? CatchClauseSyntax as t -> Some(t.CSharpKind(), t.CatchKeyword, t.Declaration, t.Filter, t.Block) | |
| _ -> None | |
let (|CatchClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CatchClause -> | |
let t = n :?> CatchClauseSyntax | |
Some(t.Declaration, t.Filter, t.Block) | |
| _ -> None | |
let (|CatchDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? CatchDeclarationSyntax as t -> Some(t.CSharpKind(), t.OpenParenToken, t.Type, t.Identifier, t.CloseParenToken) | |
| _ -> None | |
let (|CatchDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CatchDeclaration -> | |
let t = n :?> CatchDeclarationSyntax | |
Some(t.Type, t.Identifier) | |
| _ -> None | |
let (|CatchFilterClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? CatchFilterClauseSyntax as t -> Some(t.CSharpKind(), t.IfKeyword, t.OpenParenToken, t.FilterExpression, t.CloseParenToken) | |
| _ -> None | |
let (|CatchFilterClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CatchFilterClause -> | |
let t = n :?> CatchFilterClauseSyntax | |
Some(t.FilterExpression) | |
| _ -> None | |
let (|FinallyClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? FinallyClauseSyntax as t -> Some(t.CSharpKind(), t.FinallyKeyword, t.Block) | |
| _ -> None | |
let (|FinallyClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.FinallyClause -> | |
let t = n :?> FinallyClauseSyntax | |
Some(t.Block) | |
| _ -> None | |
let (|CompilationUnitSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? CompilationUnitSyntax as t -> Some(t.CSharpKind(), t.Externs, t.Usings, t.AttributeLists, t.Members, t.EndOfFileToken) | |
| _ -> None | |
let (|CompilationUnit|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CompilationUnit -> | |
let t = n :?> CompilationUnitSyntax | |
Some(t.Externs, t.Usings, t.AttributeLists, t.Members) | |
| _ -> None | |
let (|ExternAliasDirectiveSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ExternAliasDirectiveSyntax as t -> Some(t.CSharpKind(), t.ExternKeyword, t.AliasKeyword, t.Identifier, t.SemicolonToken) | |
| _ -> None | |
let (|ExternAliasDirective|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ExternAliasDirective -> | |
let t = n :?> ExternAliasDirectiveSyntax | |
Some(t.Identifier) | |
| _ -> None | |
let (|UsingDirectiveSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? UsingDirectiveSyntax as t -> Some(t.CSharpKind(), t.UsingKeyword, t.Alias, t.Name, t.SemicolonToken) | |
| _ -> None | |
let (|UsingDirective|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.UsingDirective -> | |
let t = n :?> UsingDirectiveSyntax | |
Some(t.Alias, t.Name) | |
| _ -> None | |
let (|NamespaceDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? NamespaceDeclarationSyntax as t -> Some(t.CSharpKind(), t.NamespaceKeyword, t.Name, t.OpenBraceToken, t.Externs, t.Usings, t.Members, t.CloseBraceToken, t.SemicolonToken) | |
| _ -> None | |
let (|NamespaceDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.NamespaceDeclaration -> | |
let t = n :?> NamespaceDeclarationSyntax | |
Some(t.Name, t.Externs, t.Usings, t.Members) | |
| _ -> None | |
let (|AttributeListSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? AttributeListSyntax as t -> Some(t.CSharpKind(), t.OpenBracketToken, t.Target, t.Attributes, t.CloseBracketToken) | |
| _ -> None | |
let (|AttributeList|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AttributeList -> | |
let t = n :?> AttributeListSyntax | |
Some(t.Target, t.Attributes) | |
| _ -> None | |
let (|AttributeTargetSpecifierSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? AttributeTargetSpecifierSyntax as t -> Some(t.CSharpKind(), t.Identifier, t.ColonToken) | |
| _ -> None | |
let (|AttributeTargetSpecifier|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AttributeTargetSpecifier -> | |
let t = n :?> AttributeTargetSpecifierSyntax | |
Some(t.Identifier) | |
| _ -> None | |
let (|AttributeSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? AttributeSyntax as t -> Some(t.CSharpKind(), t.Name, t.ArgumentList) | |
| _ -> None | |
let (|Attribute|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.Attribute -> | |
let t = n :?> AttributeSyntax | |
Some(t.Name, t.ArgumentList) | |
| _ -> None | |
let (|AttributeArgumentListSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? AttributeArgumentListSyntax as t -> Some(t.CSharpKind(), t.OpenParenToken, t.Arguments, t.CloseParenToken) | |
| _ -> None | |
let (|AttributeArgumentList|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AttributeArgumentList -> | |
let t = n :?> AttributeArgumentListSyntax | |
Some(t.Arguments) | |
| _ -> None | |
let (|AttributeArgumentSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? AttributeArgumentSyntax as t -> Some(t.CSharpKind(), t.NameEquals, t.NameColon, t.Expression) | |
| _ -> None | |
let (|AttributeArgument|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AttributeArgument -> | |
let t = n :?> AttributeArgumentSyntax | |
Some(t.NameEquals, t.NameColon, t.Expression) | |
| _ -> None | |
let (|NameEqualsSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? NameEqualsSyntax as t -> Some(t.CSharpKind(), t.Name, t.EqualsToken) | |
| _ -> None | |
let (|NameEquals|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.NameEquals -> | |
let t = n :?> NameEqualsSyntax | |
Some(t.Name) | |
| _ -> None | |
let (|TypeParameterListSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? TypeParameterListSyntax as t -> Some(t.CSharpKind(), t.LessThanToken, t.Parameters, t.GreaterThanToken) | |
| _ -> None | |
let (|TypeParameterList|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.TypeParameterList -> | |
let t = n :?> TypeParameterListSyntax | |
Some(t.Parameters) | |
| _ -> None | |
let (|TypeParameterSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? TypeParameterSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.VarianceKeyword, t.Identifier) | |
| _ -> None | |
let (|TypeParameter|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.TypeParameter -> | |
let t = n :?> TypeParameterSyntax | |
Some(t.AttributeLists, t.Identifier) | |
| _ -> None | |
let (|ClassDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ClassDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.Keyword, t.Identifier, t.TypeParameterList, t.BaseList, t.ConstraintClauses, t.OpenBraceToken, t.Members, t.CloseBraceToken, t.SemicolonToken) | |
| _ -> None | |
let (|ClassDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ClassDeclaration -> | |
let t = n :?> ClassDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Identifier, t.TypeParameterList, t.BaseList, t.ConstraintClauses, t.Members) | |
| _ -> None | |
let (|StructDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? StructDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.Keyword, t.Identifier, t.TypeParameterList, t.BaseList, t.ConstraintClauses, t.OpenBraceToken, t.Members, t.CloseBraceToken, t.SemicolonToken) | |
| _ -> None | |
let (|StructDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.StructDeclaration -> | |
let t = n :?> StructDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Identifier, t.TypeParameterList, t.BaseList, t.ConstraintClauses, t.Members) | |
| _ -> None | |
let (|InterfaceDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? InterfaceDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.Keyword, t.Identifier, t.TypeParameterList, t.BaseList, t.ConstraintClauses, t.OpenBraceToken, t.Members, t.CloseBraceToken, t.SemicolonToken) | |
| _ -> None | |
let (|InterfaceDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.InterfaceDeclaration -> | |
let t = n :?> InterfaceDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Identifier, t.TypeParameterList, t.BaseList, t.ConstraintClauses, t.Members) | |
| _ -> None | |
let (|EnumDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? EnumDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.EnumKeyword, t.Identifier, t.BaseList, t.OpenBraceToken, t.Members, t.CloseBraceToken, t.SemicolonToken) | |
| _ -> None | |
let (|EnumDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.EnumDeclaration -> | |
let t = n :?> EnumDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Identifier, t.BaseList, t.Members) | |
| _ -> None | |
let (|DelegateDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? DelegateDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.DelegateKeyword, t.ReturnType, t.Identifier, t.TypeParameterList, t.ParameterList, t.ConstraintClauses, t.SemicolonToken) | |
| _ -> None | |
let (|DelegateDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.DelegateDeclaration -> | |
let t = n :?> DelegateDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.ReturnType, t.Identifier, t.TypeParameterList, t.ParameterList, t.ConstraintClauses) | |
| _ -> None | |
let (|EnumMemberDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? EnumMemberDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Identifier, t.EqualsValue) | |
| _ -> None | |
let (|EnumMemberDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.EnumMemberDeclaration -> | |
let t = n :?> EnumMemberDeclarationSyntax | |
Some(t.AttributeLists, t.Identifier, t.EqualsValue) | |
| _ -> None | |
let (|BaseListSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? BaseListSyntax as t -> Some(t.CSharpKind(), t.ColonToken, t.Types) | |
| _ -> None | |
let (|BaseList|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.BaseList -> | |
let t = n :?> BaseListSyntax | |
Some(t.Types) | |
| _ -> None | |
let (|TypeParameterConstraintClauseSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? TypeParameterConstraintClauseSyntax as t -> Some(t.CSharpKind(), t.WhereKeyword, t.Name, t.ColonToken, t.Constraints) | |
| _ -> None | |
let (|TypeParameterConstraintClause|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.TypeParameterConstraintClause -> | |
let t = n :?> TypeParameterConstraintClauseSyntax | |
Some(t.Name, t.Constraints) | |
| _ -> None | |
let (|ConstructorConstraintSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ConstructorConstraintSyntax as t -> Some(t.CSharpKind(), t.NewKeyword, t.OpenParenToken, t.CloseParenToken) | |
| _ -> None | |
let (|ConstructorConstraint|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ConstructorConstraint -> | |
let t = n :?> ConstructorConstraintSyntax | |
Some() | |
| _ -> None | |
let (|ClassOrStructConstraintSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ClassOrStructConstraintSyntax as t -> Some(t.CSharpKind(), t.ClassOrStructKeyword) | |
| _ -> None | |
let (|ClassConstraint|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ClassConstraint -> | |
let t = n :?> ClassOrStructConstraintSyntax | |
Some() | |
| _ -> None | |
let (|StructConstraint|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.StructConstraint -> | |
let t = n :?> ClassOrStructConstraintSyntax | |
Some() | |
| _ -> None | |
let (|TypeConstraintSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? TypeConstraintSyntax as t -> Some(t.CSharpKind(), t.Type) | |
| _ -> None | |
let (|TypeConstraint|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.TypeConstraint -> | |
let t = n :?> TypeConstraintSyntax | |
Some(t.Type) | |
| _ -> None | |
let (|FieldDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? FieldDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.Declaration, t.SemicolonToken) | |
| _ -> None | |
let (|FieldDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.FieldDeclaration -> | |
let t = n :?> FieldDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Declaration) | |
| _ -> None | |
let (|EventFieldDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? EventFieldDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.EventKeyword, t.Declaration, t.SemicolonToken) | |
| _ -> None | |
let (|EventFieldDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.EventFieldDeclaration -> | |
let t = n :?> EventFieldDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Declaration) | |
| _ -> None | |
let (|ExplicitInterfaceSpecifierSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ExplicitInterfaceSpecifierSyntax as t -> Some(t.CSharpKind(), t.Name, t.DotToken) | |
| _ -> None | |
let (|ExplicitInterfaceSpecifier|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ExplicitInterfaceSpecifier -> | |
let t = n :?> ExplicitInterfaceSpecifierSyntax | |
Some(t.Name) | |
| _ -> None | |
let (|MethodDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? MethodDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.ReturnType, t.ExplicitInterfaceSpecifier, t.Identifier, t.TypeParameterList, t.ParameterList, t.ConstraintClauses, t.Body, t.SemicolonToken) | |
| _ -> None | |
let (|MethodDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.MethodDeclaration -> | |
let t = n :?> MethodDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.ReturnType, t.ExplicitInterfaceSpecifier, t.Identifier, t.TypeParameterList, t.ParameterList, t.ConstraintClauses, t.Body) | |
| _ -> None | |
let (|OperatorDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? OperatorDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.ReturnType, t.OperatorKeyword, t.OperatorToken, t.ParameterList, t.Body, t.SemicolonToken) | |
| _ -> None | |
let (|OperatorDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.OperatorDeclaration -> | |
let t = n :?> OperatorDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.ReturnType, t.ParameterList, t.Body) | |
| _ -> None | |
let (|ConversionOperatorDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ConversionOperatorDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.ImplicitOrExplicitKeyword, t.OperatorKeyword, t.Type, t.ParameterList, t.Body, t.SemicolonToken) | |
| _ -> None | |
let (|ConversionOperatorDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ConversionOperatorDeclaration -> | |
let t = n :?> ConversionOperatorDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Type, t.ParameterList, t.Body) | |
| _ -> None | |
let (|ConstructorDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ConstructorDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.Identifier, t.ParameterList, t.Initializer, t.Body, t.SemicolonToken) | |
| _ -> None | |
let (|ConstructorDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ConstructorDeclaration -> | |
let t = n :?> ConstructorDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Identifier, t.ParameterList, t.Initializer, t.Body) | |
| _ -> None | |
let (|ConstructorInitializerSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ConstructorInitializerSyntax as t -> Some(t.CSharpKind(), t.ColonToken, t.ThisOrBaseKeyword, t.ArgumentList) | |
| _ -> None | |
let (|BaseConstructorInitializer|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.BaseConstructorInitializer -> | |
let t = n :?> ConstructorInitializerSyntax | |
Some(t.ArgumentList) | |
| _ -> None | |
let (|ThisConstructorInitializer|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ThisConstructorInitializer -> | |
let t = n :?> ConstructorInitializerSyntax | |
Some(t.ArgumentList) | |
| _ -> None | |
let (|DestructorDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? DestructorDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.TildeToken, t.Identifier, t.ParameterList, t.Body, t.SemicolonToken) | |
| _ -> None | |
let (|DestructorDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.DestructorDeclaration -> | |
let t = n :?> DestructorDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Identifier, t.ParameterList, t.Body) | |
| _ -> None | |
let (|PropertyDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? PropertyDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.Type, t.ExplicitInterfaceSpecifier, t.Identifier, t.AccessorList) | |
| _ -> None | |
let (|PropertyDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.PropertyDeclaration -> | |
let t = n :?> PropertyDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Type, t.ExplicitInterfaceSpecifier, t.Identifier, t.AccessorList) | |
| _ -> None | |
let (|EventDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? EventDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.EventKeyword, t.Type, t.ExplicitInterfaceSpecifier, t.Identifier, t.AccessorList) | |
| _ -> None | |
let (|EventDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.EventDeclaration -> | |
let t = n :?> EventDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Type, t.ExplicitInterfaceSpecifier, t.Identifier, t.AccessorList) | |
| _ -> None | |
let (|IndexerDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? IndexerDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.Type, t.ExplicitInterfaceSpecifier, t.ThisKeyword, t.ParameterList, t.AccessorList) | |
| _ -> None | |
let (|IndexerDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.IndexerDeclaration -> | |
let t = n :?> IndexerDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Type, t.ExplicitInterfaceSpecifier, t.ParameterList, t.AccessorList) | |
| _ -> None | |
let (|AccessorListSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? AccessorListSyntax as t -> Some(t.CSharpKind(), t.OpenBraceToken, t.Accessors, t.CloseBraceToken) | |
| _ -> None | |
let (|AccessorList|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AccessorList -> | |
let t = n :?> AccessorListSyntax | |
Some(t.Accessors) | |
| _ -> None | |
let (|AccessorDeclarationSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? AccessorDeclarationSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.Keyword, t.Body, t.SemicolonToken) | |
| _ -> None | |
let (|GetAccessorDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.GetAccessorDeclaration -> | |
let t = n :?> AccessorDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Body) | |
| _ -> None | |
let (|SetAccessorDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.SetAccessorDeclaration -> | |
let t = n :?> AccessorDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Body) | |
| _ -> None | |
let (|AddAccessorDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.AddAccessorDeclaration -> | |
let t = n :?> AccessorDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Body) | |
| _ -> None | |
let (|RemoveAccessorDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.RemoveAccessorDeclaration -> | |
let t = n :?> AccessorDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Body) | |
| _ -> None | |
let (|UnknownAccessorDeclaration|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.UnknownAccessorDeclaration -> | |
let t = n :?> AccessorDeclarationSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Body) | |
| _ -> None | |
let (|ParameterListSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ParameterListSyntax as t -> Some(t.CSharpKind(), t.OpenParenToken, t.Parameters, t.CloseParenToken) | |
| _ -> None | |
let (|ParameterList|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ParameterList -> | |
let t = n :?> ParameterListSyntax | |
Some(t.Parameters) | |
| _ -> None | |
let (|BracketedParameterListSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? BracketedParameterListSyntax as t -> Some(t.CSharpKind(), t.OpenBracketToken, t.Parameters, t.CloseBracketToken) | |
| _ -> None | |
let (|BracketedParameterList|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.BracketedParameterList -> | |
let t = n :?> BracketedParameterListSyntax | |
Some(t.Parameters) | |
| _ -> None | |
let (|ParameterSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ParameterSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.Type, t.Identifier, t.Default) | |
| _ -> None | |
let (|Parameter|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.Parameter -> | |
let t = n :?> ParameterSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Type, t.Identifier, t.Default) | |
| _ -> None | |
let (|IncompleteMemberSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? IncompleteMemberSyntax as t -> Some(t.CSharpKind(), t.AttributeLists, t.Modifiers, t.Type) | |
| _ -> None | |
let (|IncompleteMember|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.IncompleteMember -> | |
let t = n :?> IncompleteMemberSyntax | |
Some(t.AttributeLists, t.Modifiers, t.Type) | |
| _ -> None | |
let (|SkippedTokensTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? SkippedTokensTriviaSyntax as t -> Some(t.CSharpKind(), t.Tokens) | |
| _ -> None | |
let (|SkippedTokensTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.SkippedTokensTrivia -> | |
let t = n :?> SkippedTokensTriviaSyntax | |
Some(t.Tokens) | |
| _ -> None | |
let (|DocumentationCommentTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? DocumentationCommentTriviaSyntax as t -> Some(t.CSharpKind(), t.Content, t.EndOfComment) | |
| _ -> None | |
let (|SingleLineDocumentationCommentTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.SingleLineDocumentationCommentTrivia -> | |
let t = n :?> DocumentationCommentTriviaSyntax | |
Some(t.Content, t.EndOfComment) | |
| _ -> None | |
let (|MultiLineDocumentationCommentTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.MultiLineDocumentationCommentTrivia -> | |
let t = n :?> DocumentationCommentTriviaSyntax | |
Some(t.Content, t.EndOfComment) | |
| _ -> None | |
let (|TypeCrefSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? TypeCrefSyntax as t -> Some(t.CSharpKind(), t.Type) | |
| _ -> None | |
let (|TypeCref|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.TypeCref -> | |
let t = n :?> TypeCrefSyntax | |
Some(t.Type) | |
| _ -> None | |
let (|QualifiedCrefSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? QualifiedCrefSyntax as t -> Some(t.CSharpKind(), t.Container, t.DotToken, t.Member) | |
| _ -> None | |
let (|QualifiedCref|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.QualifiedCref -> | |
let t = n :?> QualifiedCrefSyntax | |
Some(t.Container, t.Member) | |
| _ -> None | |
let (|NameMemberCrefSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? NameMemberCrefSyntax as t -> Some(t.CSharpKind(), t.Name, t.Parameters) | |
| _ -> None | |
let (|NameMemberCref|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.NameMemberCref -> | |
let t = n :?> NameMemberCrefSyntax | |
Some(t.Name, t.Parameters) | |
| _ -> None | |
let (|IndexerMemberCrefSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? IndexerMemberCrefSyntax as t -> Some(t.CSharpKind(), t.ThisKeyword, t.Parameters) | |
| _ -> None | |
let (|IndexerMemberCref|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.IndexerMemberCref -> | |
let t = n :?> IndexerMemberCrefSyntax | |
Some(t.Parameters) | |
| _ -> None | |
let (|OperatorMemberCrefSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? OperatorMemberCrefSyntax as t -> Some(t.CSharpKind(), t.OperatorKeyword, t.OperatorToken, t.Parameters) | |
| _ -> None | |
let (|OperatorMemberCref|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.OperatorMemberCref -> | |
let t = n :?> OperatorMemberCrefSyntax | |
Some(t.Parameters) | |
| _ -> None | |
let (|ConversionOperatorMemberCrefSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ConversionOperatorMemberCrefSyntax as t -> Some(t.CSharpKind(), t.ImplicitOrExplicitKeyword, t.OperatorKeyword, t.Type, t.Parameters) | |
| _ -> None | |
let (|ConversionOperatorMemberCref|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ConversionOperatorMemberCref -> | |
let t = n :?> ConversionOperatorMemberCrefSyntax | |
Some(t.Type, t.Parameters) | |
| _ -> None | |
let (|CrefParameterListSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? CrefParameterListSyntax as t -> Some(t.CSharpKind(), t.OpenParenToken, t.Parameters, t.CloseParenToken) | |
| _ -> None | |
let (|CrefParameterList|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CrefParameterList -> | |
let t = n :?> CrefParameterListSyntax | |
Some(t.Parameters) | |
| _ -> None | |
let (|CrefBracketedParameterListSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? CrefBracketedParameterListSyntax as t -> Some(t.CSharpKind(), t.OpenBracketToken, t.Parameters, t.CloseBracketToken) | |
| _ -> None | |
let (|CrefBracketedParameterList|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CrefBracketedParameterList -> | |
let t = n :?> CrefBracketedParameterListSyntax | |
Some(t.Parameters) | |
| _ -> None | |
let (|CrefParameterSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? CrefParameterSyntax as t -> Some(t.CSharpKind(), t.RefOrOutKeyword, t.Type) | |
| _ -> None | |
let (|CrefParameter|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.CrefParameter -> | |
let t = n :?> CrefParameterSyntax | |
Some(t.Type) | |
| _ -> None | |
let (|XmlElementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlElementSyntax as t -> Some(t.CSharpKind(), t.StartTag, t.Content, t.EndTag) | |
| _ -> None | |
let (|XmlElement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlElement -> | |
let t = n :?> XmlElementSyntax | |
Some(t.StartTag, t.Content, t.EndTag) | |
| _ -> None | |
let (|XmlElementStartTagSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlElementStartTagSyntax as t -> Some(t.CSharpKind(), t.LessThanToken, t.Name, t.Attributes, t.GreaterThanToken) | |
| _ -> None | |
let (|XmlElementStartTag|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlElementStartTag -> | |
let t = n :?> XmlElementStartTagSyntax | |
Some(t.Name, t.Attributes) | |
| _ -> None | |
let (|XmlElementEndTagSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlElementEndTagSyntax as t -> Some(t.CSharpKind(), t.LessThanSlashToken, t.Name, t.GreaterThanToken) | |
| _ -> None | |
let (|XmlElementEndTag|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlElementEndTag -> | |
let t = n :?> XmlElementEndTagSyntax | |
Some(t.Name) | |
| _ -> None | |
let (|XmlEmptyElementSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlEmptyElementSyntax as t -> Some(t.CSharpKind(), t.LessThanToken, t.Name, t.Attributes, t.SlashGreaterThanToken) | |
| _ -> None | |
let (|XmlEmptyElement|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlEmptyElement -> | |
let t = n :?> XmlEmptyElementSyntax | |
Some(t.Name, t.Attributes) | |
| _ -> None | |
let (|XmlNameSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlNameSyntax as t -> Some(t.CSharpKind(), t.Prefix, t.LocalName) | |
| _ -> None | |
let (|XmlName|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlName -> | |
let t = n :?> XmlNameSyntax | |
Some(t.Prefix, t.LocalName) | |
| _ -> None | |
let (|XmlPrefixSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlPrefixSyntax as t -> Some(t.CSharpKind(), t.Prefix, t.ColonToken) | |
| _ -> None | |
let (|XmlPrefix|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlPrefix -> | |
let t = n :?> XmlPrefixSyntax | |
Some(t.Prefix) | |
| _ -> None | |
let (|XmlTextAttributeSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlTextAttributeSyntax as t -> Some(t.CSharpKind(), t.Name, t.EqualsToken, t.StartQuoteToken, t.TextTokens, t.EndQuoteToken) | |
| _ -> None | |
let (|XmlTextAttribute|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlTextAttribute -> | |
let t = n :?> XmlTextAttributeSyntax | |
Some(t.Name, t.TextTokens) | |
| _ -> None | |
let (|XmlCrefAttributeSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlCrefAttributeSyntax as t -> Some(t.CSharpKind(), t.Name, t.EqualsToken, t.StartQuoteToken, t.Cref, t.EndQuoteToken) | |
| _ -> None | |
let (|XmlCrefAttribute|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlCrefAttribute -> | |
let t = n :?> XmlCrefAttributeSyntax | |
Some(t.Name, t.Cref) | |
| _ -> None | |
let (|XmlNameAttributeSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlNameAttributeSyntax as t -> Some(t.CSharpKind(), t.Name, t.EqualsToken, t.StartQuoteToken, t.Identifier, t.EndQuoteToken) | |
| _ -> None | |
let (|XmlNameAttribute|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlNameAttribute -> | |
let t = n :?> XmlNameAttributeSyntax | |
Some(t.Name, t.Identifier) | |
| _ -> None | |
let (|XmlTextSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlTextSyntax as t -> Some(t.CSharpKind(), t.TextTokens) | |
| _ -> None | |
let (|XmlText|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlText -> | |
let t = n :?> XmlTextSyntax | |
Some(t.TextTokens) | |
| _ -> None | |
let (|XmlCDataSectionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlCDataSectionSyntax as t -> Some(t.CSharpKind(), t.StartCDataToken, t.TextTokens, t.EndCDataToken) | |
| _ -> None | |
let (|XmlCDataSection|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlCDataSection -> | |
let t = n :?> XmlCDataSectionSyntax | |
Some(t.TextTokens) | |
| _ -> None | |
let (|XmlProcessingInstructionSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlProcessingInstructionSyntax as t -> Some(t.CSharpKind(), t.StartProcessingInstructionToken, t.Name, t.TextTokens, t.EndProcessingInstructionToken) | |
| _ -> None | |
let (|XmlProcessingInstruction|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlProcessingInstruction -> | |
let t = n :?> XmlProcessingInstructionSyntax | |
Some(t.Name, t.TextTokens) | |
| _ -> None | |
let (|XmlCommentSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? XmlCommentSyntax as t -> Some(t.CSharpKind(), t.LessThanExclamationMinusMinusToken, t.TextTokens, t.MinusMinusGreaterThanToken) | |
| _ -> None | |
let (|XmlComment|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.XmlComment -> | |
let t = n :?> XmlCommentSyntax | |
Some(t.TextTokens) | |
| _ -> None | |
let (|IfDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? IfDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.IfKeyword, t.Condition, t.EndOfDirectiveToken, t.IsActive, t.BranchTaken, t.ConditionValue) | |
| _ -> None | |
let (|IfDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.IfDirectiveTrivia -> | |
let t = n :?> IfDirectiveTriviaSyntax | |
Some(t.Condition, t.IsActive, t.BranchTaken, t.ConditionValue) | |
| _ -> None | |
let (|ElifDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ElifDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.ElifKeyword, t.Condition, t.EndOfDirectiveToken, t.IsActive, t.BranchTaken, t.ConditionValue) | |
| _ -> None | |
let (|ElifDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ElifDirectiveTrivia -> | |
let t = n :?> ElifDirectiveTriviaSyntax | |
Some(t.Condition, t.IsActive, t.BranchTaken, t.ConditionValue) | |
| _ -> None | |
let (|ElseDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ElseDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.ElseKeyword, t.EndOfDirectiveToken, t.IsActive, t.BranchTaken) | |
| _ -> None | |
let (|ElseDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ElseDirectiveTrivia -> | |
let t = n :?> ElseDirectiveTriviaSyntax | |
Some(t.IsActive, t.BranchTaken) | |
| _ -> None | |
let (|EndIfDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? EndIfDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.EndIfKeyword, t.EndOfDirectiveToken, t.IsActive) | |
| _ -> None | |
let (|EndIfDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.EndIfDirectiveTrivia -> | |
let t = n :?> EndIfDirectiveTriviaSyntax | |
Some(t.IsActive) | |
| _ -> None | |
let (|RegionDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? RegionDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.RegionKeyword, t.EndOfDirectiveToken, t.IsActive) | |
| _ -> None | |
let (|RegionDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.RegionDirectiveTrivia -> | |
let t = n :?> RegionDirectiveTriviaSyntax | |
Some(t.IsActive) | |
| _ -> None | |
let (|EndRegionDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? EndRegionDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.EndRegionKeyword, t.EndOfDirectiveToken, t.IsActive) | |
| _ -> None | |
let (|EndRegionDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.EndRegionDirectiveTrivia -> | |
let t = n :?> EndRegionDirectiveTriviaSyntax | |
Some(t.IsActive) | |
| _ -> None | |
let (|ErrorDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ErrorDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.ErrorKeyword, t.EndOfDirectiveToken, t.IsActive) | |
| _ -> None | |
let (|ErrorDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ErrorDirectiveTrivia -> | |
let t = n :?> ErrorDirectiveTriviaSyntax | |
Some(t.IsActive) | |
| _ -> None | |
let (|WarningDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? WarningDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.WarningKeyword, t.EndOfDirectiveToken, t.IsActive) | |
| _ -> None | |
let (|WarningDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.WarningDirectiveTrivia -> | |
let t = n :?> WarningDirectiveTriviaSyntax | |
Some(t.IsActive) | |
| _ -> None | |
let (|BadDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? BadDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.Identifier, t.EndOfDirectiveToken, t.IsActive) | |
| _ -> None | |
let (|BadDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.BadDirectiveTrivia -> | |
let t = n :?> BadDirectiveTriviaSyntax | |
Some(t.Identifier, t.IsActive) | |
| _ -> None | |
let (|DefineDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? DefineDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.DefineKeyword, t.Name, t.EndOfDirectiveToken, t.IsActive) | |
| _ -> None | |
let (|DefineDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.DefineDirectiveTrivia -> | |
let t = n :?> DefineDirectiveTriviaSyntax | |
Some(t.Name, t.IsActive) | |
| _ -> None | |
let (|UndefDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? UndefDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.UndefKeyword, t.Name, t.EndOfDirectiveToken, t.IsActive) | |
| _ -> None | |
let (|UndefDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.UndefDirectiveTrivia -> | |
let t = n :?> UndefDirectiveTriviaSyntax | |
Some(t.Name, t.IsActive) | |
| _ -> None | |
let (|LineDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? LineDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.LineKeyword, t.Line, t.File, t.EndOfDirectiveToken, t.IsActive) | |
| _ -> None | |
let (|LineDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.LineDirectiveTrivia -> | |
let t = n :?> LineDirectiveTriviaSyntax | |
Some(t.Line, t.File, t.IsActive) | |
| _ -> None | |
let (|PragmaWarningDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? PragmaWarningDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.PragmaKeyword, t.WarningKeyword, t.DisableOrRestoreKeyword, t.ErrorCodes, t.EndOfDirectiveToken, t.IsActive) | |
| _ -> None | |
let (|PragmaWarningDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.PragmaWarningDirectiveTrivia -> | |
let t = n :?> PragmaWarningDirectiveTriviaSyntax | |
Some(t.ErrorCodes, t.IsActive) | |
| _ -> None | |
let (|PragmaChecksumDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? PragmaChecksumDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.PragmaKeyword, t.ChecksumKeyword, t.File, t.Guid, t.Bytes, t.EndOfDirectiveToken, t.IsActive) | |
| _ -> None | |
let (|PragmaChecksumDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.PragmaChecksumDirectiveTrivia -> | |
let t = n :?> PragmaChecksumDirectiveTriviaSyntax | |
Some(t.File, t.Guid, t.Bytes, t.IsActive) | |
| _ -> None | |
let (|ReferenceDirectiveTriviaSyntax|_|) (n: CSharpSyntaxNode) = | |
match n with | |
| :? ReferenceDirectiveTriviaSyntax as t -> Some(t.CSharpKind(), t.HashToken, t.ReferenceKeyword, t.File, t.EndOfDirectiveToken, t.IsActive) | |
| _ -> None | |
let (|ReferenceDirectiveTrivia|_|) (n: CSharpSyntaxNode) = | |
match n.CSharpKind() with | |
| SyntaxKind.ReferenceDirectiveTrivia -> | |
let t = n :?> ReferenceDirectiveTriviaSyntax | |
Some(t.File, t.IsActive) | |
| _ -> None |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Would you be willing to publish (an updated version of) this on NuGet?