SyntaxFactory Class
Builds JSON nodes, tokens, and trivia.
public static class SyntaxFactoryRemarks
A node built here is not part of any document, so its span starts at zero. Putting it into a tree with SyntaxNodeExtensions.ReplaceNode gives it a real position, without re-reading any text.
Properties
| Name | Description |
|---|---|
| CarriageReturnLineFeed | A Windows line break. |
| LineFeed | A Unix line break. |
| Space | A single space. |
| Tab | A single tab. |
CarriageReturnLineFeed
SyntaxFactory.csLineFeed
SyntaxFactory.csSpace
SyntaxFactory.csMethods
AreEquivalent(JsonSyntaxNode?, JsonSyntaxNode?)
SyntaxFactory.csDetermines whether the two nodes have the same structure and text.
public static bool AreEquivalent(JsonSyntaxNode? oldNode, JsonSyntaxNode? newNode)BadToken(string)
SyntaxFactory.csCreates a token holding text the parser could make no sense of.
public static SyntaxToken BadToken(string text)Comment(string)
SyntaxFactory.csCreates comment trivia, choosing the kind from how text starts.
public static SyntaxTrivia Comment(string text)Parameters
textstring
Returns
Exceptions
ArgumentNullExceptiontextisnull.ArgumentExceptiontextis not a comment.
EndOfLine(string)
SyntaxFactory.cspublic static SyntaxTrivia EndOfLine(string text)JsonArray overloads
JsonArray(JsonValueSyntax[])
SyntaxFactory.cspublic static JsonArraySyntax JsonArray(params JsonValueSyntax[] values)No documentation is available.
JsonArray(SeparatedSyntaxList<JsonValueSyntax>)
SyntaxFactory.cspublic static JsonArraySyntax JsonArray(SeparatedSyntaxList<JsonValueSyntax> elements)No documentation is available.
JsonArray(SyntaxToken, SeparatedSyntaxList<JsonValueSyntax>, SyntaxToken)
SyntaxFactory.cspublic static JsonArraySyntax JsonArray(SyntaxToken openBracketToken, SeparatedSyntaxList<JsonValueSyntax> elements, SyntaxToken closeBracketToken)Parameters
openBracketTokenSyntaxTokenelementsSeparatedSyntaxList<JsonValueSyntax>closeBracketTokenSyntaxToken
Returns
No documentation is available.
JsonDocument overloads
JsonDocument(JsonValueSyntax)
SyntaxFactory.cspublic static JsonDocumentSyntax JsonDocument(JsonValueSyntax value)JsonDocument(SyntaxList<JsonValueSyntax>, SyntaxToken)
SyntaxFactory.cspublic static JsonDocumentSyntax JsonDocument(SyntaxList<JsonValueSyntax> values, SyntaxToken endOfFileToken)No documentation is available.
JsonLiteral overloads
JsonLiteral(SyntaxKind)
SyntaxFactory.csCreates true, false, or null.
public static JsonLiteralSyntax JsonLiteral(SyntaxKind kind)Parameters
kindSyntaxKind
Returns
Exceptions
ArgumentExceptionkindis not one of the three literal kinds.
JsonLiteral(SyntaxToken)
SyntaxFactory.csCreates a literal from a keyword token, taking the kind of the node from the keyword.
public static JsonLiteralSyntax JsonLiteral(SyntaxToken literalToken)Parameters
literalTokenSyntaxToken
Returns
Exceptions
ArgumentExceptionliteralTokenis not a literal keyword.
JsonMember overloads
JsonMember(SyntaxToken, SyntaxToken, JsonValueSyntax)
SyntaxFactory.cspublic static JsonMemberSyntax JsonMember(SyntaxToken nameToken, SyntaxToken colonToken, JsonValueSyntax value)Parameters
nameTokenSyntaxTokencolonTokenSyntaxTokenvalueJsonValueSyntax
Returns
Exceptions
ArgumentNullExceptionvalueisnull.
JsonMember(string, JsonValueSyntax)
SyntaxFactory.cspublic static JsonMemberSyntax JsonMember(string name, JsonValueSyntax value)Parameters
namestringvalueJsonValueSyntax
Returns
Exceptions
ArgumentNullExceptionnameorvalueisnull.
JsonNumber overloads
JsonNumber(SyntaxToken)
SyntaxFactory.cspublic static JsonNumberSyntax JsonNumber(SyntaxToken numberToken)No documentation is available.
JsonNumber(string)
SyntaxFactory.cspublic static JsonNumberSyntax JsonNumber(string text)JsonObject overloads
JsonObject(JsonMemberSyntax[])
SyntaxFactory.cspublic static JsonObjectSyntax JsonObject(params JsonMemberSyntax[] members)No documentation is available.
JsonObject(SeparatedSyntaxList<JsonMemberSyntax>)
SyntaxFactory.cspublic static JsonObjectSyntax JsonObject(SeparatedSyntaxList<JsonMemberSyntax> members)No documentation is available.
JsonObject(SyntaxToken, SeparatedSyntaxList<JsonMemberSyntax>, SyntaxToken)
SyntaxFactory.cspublic static JsonObjectSyntax JsonObject(SyntaxToken openBraceToken, SeparatedSyntaxList<JsonMemberSyntax> members, SyntaxToken closeBraceToken)Parameters
openBraceTokenSyntaxTokenmembersSeparatedSyntaxList<JsonMemberSyntax>closeBraceTokenSyntaxToken
Returns
No documentation is available.
JsonSkippedText overloads
JsonSkippedText(SyntaxTokenList)
SyntaxFactory.cspublic static JsonSkippedTextSyntax JsonSkippedText(SyntaxTokenList tokens)No documentation is available.
JsonSkippedText(string)
SyntaxFactory.cspublic static JsonSkippedTextSyntax JsonSkippedText(string text)JsonString overloads
JsonString(SyntaxToken)
SyntaxFactory.cspublic static JsonStringSyntax JsonString(SyntaxToken stringToken)No documentation is available.
JsonString(string)
SyntaxFactory.cspublic static JsonStringSyntax JsonString(string value)List overloads
List<TNode>()
SyntaxFactory.cspublic static SyntaxList<TNode> List<TNode>() where TNode : JsonSyntaxNodeNo documentation is available.
List<TNode>(IEnumerable<TNode>)
SyntaxFactory.cspublic static SyntaxList<TNode> List<TNode>(IEnumerable<TNode> nodes) where TNode : JsonSyntaxNodeType parameters
TNode
Parameters
nodesIEnumerable<TNode>
Returns
Exceptions
ArgumentNullExceptionnodesisnull.
Literal overloads
Literal(string)
SyntaxFactory.csCreates a string token holding value, escaped as JSON requires.
public static SyntaxToken Literal(string value)Literal(string, string)
SyntaxFactory.csCreates a string token spelled text and meaning value.
public static SyntaxToken Literal(string text, string value)MissingToken(SyntaxKind)
SyntaxFactory.csCreates a zero-width token standing in for one the text does not have.
public static SyntaxToken MissingToken(SyntaxKind kind)NumberToken(string)
SyntaxFactory.csCreates a number token written exactly as text.
public static SyntaxToken NumberToken(string text)ParseDocument(string)
SyntaxFactory.csParses text and returns its root.
public static JsonDocumentSyntax ParseDocument(string text)ParseSyntaxTree(string, string?)
SyntaxFactory.csParses text into a tree.
public static JsonSyntaxTree ParseSyntaxTree(string text, string? path = null)ParseValue(string)
SyntaxFactory.csParses text and returns its root value, or null when it has none.
public static JsonValueSyntax? ParseValue(string text)SeparatedList overloads
SeparatedList<TNode>()
SyntaxFactory.cspublic static SeparatedSyntaxList<TNode> SeparatedList<TNode>() where TNode : JsonSyntaxNodeNo documentation is available.
SeparatedList<TNode>(IEnumerable<SyntaxNodeOrToken>)
SyntaxFactory.csCreates a list from nodes and the separators to put between them.
public static SeparatedSyntaxList<TNode> SeparatedList<TNode>(IEnumerable<SyntaxNodeOrToken> nodesAndSeparators) where TNode : JsonSyntaxNodeType parameters
TNode
Parameters
nodesAndSeparatorsIEnumerable<SyntaxNodeOrToken>
Returns
Exceptions
ArgumentNullExceptionnodesAndSeparatorsisnull.
SeparatedList<TNode>(IEnumerable<TNode>)
SyntaxFactory.csCreates a list of nodes with a comma between each pair.
public static SeparatedSyntaxList<TNode> SeparatedList<TNode>(IEnumerable<TNode> nodes) where TNode : JsonSyntaxNodeType parameters
TNode
Parameters
nodesIEnumerable<TNode>
Returns
Exceptions
ArgumentNullExceptionnodesisnull.
SingletonList<TNode>(TNode)
SyntaxFactory.cspublic static SyntaxList<TNode> SingletonList<TNode>(TNode node) where TNode : JsonSyntaxNodeNo documentation is available.
SingletonSeparatedList<TNode>(TNode)
SyntaxFactory.cspublic static SeparatedSyntaxList<TNode> SingletonSeparatedList<TNode>(TNode node) where TNode : JsonSyntaxNodeNo documentation is available.
Token overloads
Token(SyntaxKind)
SyntaxFactory.csCreates a token whose text is fixed by its kind, such as a brace or a keyword.
public static SyntaxToken Token(SyntaxKind kind)Token(SyntaxTriviaList, SyntaxKind, SyntaxTriviaList)
SyntaxFactory.csCreates a token with trivia on either side.
public static SyntaxToken Token(SyntaxTriviaList leading, SyntaxKind kind, SyntaxTriviaList trailing)TokenList overloads
TokenList()
SyntaxFactory.csTokenList(SyntaxToken)
SyntaxFactory.cspublic static SyntaxTokenList TokenList(SyntaxToken token)No documentation is available.
TokenList(SyntaxToken[])
SyntaxFactory.cspublic static SyntaxTokenList TokenList(params SyntaxToken[] tokens)No documentation is available.
TokenList(IEnumerable<SyntaxToken>)
SyntaxFactory.cspublic static SyntaxTokenList TokenList(IEnumerable<SyntaxToken> tokens)Trivia(SyntaxKind, string)
SyntaxFactory.cspublic static SyntaxTrivia Trivia(SyntaxKind kind, string text)TriviaList overloads
TriviaList()
SyntaxFactory.csTriviaList(SyntaxTrivia)
SyntaxFactory.cspublic static SyntaxTriviaList TriviaList(SyntaxTrivia trivia)No documentation is available.
TriviaList(SyntaxTrivia[])
SyntaxFactory.cspublic static SyntaxTriviaList TriviaList(params SyntaxTrivia[] trivia)No documentation is available.
TriviaList(IEnumerable<SyntaxTrivia>)
SyntaxFactory.cspublic static SyntaxTriviaList TriviaList(IEnumerable<SyntaxTrivia> trivia)Whitespace(string)
SyntaxFactory.cspublic static SyntaxTrivia Whitespace(string text)