168 references to JsonKind
Microsoft.CodeAnalysis.Features (168)
EmbeddedLanguages\Json\JsonHelpers.cs (8)
11
using JsonToken = EmbeddedSyntaxToken<
JsonKind
>;
12
using JsonTrivia = EmbeddedSyntaxTrivia<
JsonKind
>;
17
JsonKind
kind, ImmutableArray<JsonTrivia> leadingTrivia,
21
public static JsonToken CreateToken(
JsonKind
kind,
26
public static JsonToken CreateMissingToken(
JsonKind
kind)
29
public static JsonTrivia CreateTrivia(
JsonKind
kind, VirtualCharSequence virtualChars)
32
public static JsonTrivia CreateTrivia(
JsonKind
kind, VirtualCharSequence virtualChars, EmbeddedDiagnostic diagnostic)
35
public static JsonTrivia CreateTrivia(
JsonKind
kind, VirtualCharSequence virtualChars, ImmutableArray<EmbeddedDiagnostic> diagnostics)
EmbeddedLanguages\Json\JsonLexer.cs (27)
17
using JsonToken = EmbeddedSyntaxToken<
JsonKind
>;
18
using JsonTrivia = EmbeddedSyntaxTrivia<
JsonKind
>;
45
JsonKind
.EndOfFile, leadingTrivia,
60
private (VirtualCharSequence,
JsonKind
, EmbeddedDiagnostic? diagnostic) ScanNextTokenWorker()
65
'{' => ScanSingleCharToken(
JsonKind
.OpenBraceToken),
66
'}' => ScanSingleCharToken(
JsonKind
.CloseBraceToken),
67
'[' => ScanSingleCharToken(
JsonKind
.OpenBracketToken),
68
']' => ScanSingleCharToken(
JsonKind
.CloseBracketToken),
69
'(' => ScanSingleCharToken(
JsonKind
.OpenParenToken),
70
')' => ScanSingleCharToken(
JsonKind
.CloseParenToken),
71
',' => ScanSingleCharToken(
JsonKind
.CommaToken),
72
':' => ScanSingleCharToken(
JsonKind
.ColonToken),
84
private (VirtualCharSequence,
JsonKind
, EmbeddedDiagnostic?) ScanString()
101
return (GetCharsToCurrentPosition(start),
JsonKind
.StringToken, diagnostic);
115
return (chars,
JsonKind
.StringToken, diagnostic);
166
private (VirtualCharSequence,
JsonKind
, EmbeddedDiagnostic?) ScanText()
173
return (GetCharsToCurrentPosition(start),
JsonKind
.TextToken, null);
187
private (VirtualCharSequence,
JsonKind
, EmbeddedDiagnostic?) ScanSingleCharToken(
JsonKind
kind)
241
return CreateTrivia(
JsonKind
.EndOfLineTrivia, GetCharsToCurrentPosition(start));
246
return CreateTrivia(
JsonKind
.EndOfLineTrivia, GetCharsToCurrentPosition(start));
268
return CreateTrivia(
JsonKind
.SingleLineCommentTrivia, chars,
289
return CreateTrivia(
JsonKind
.SingleLineCommentTrivia, chars,
293
return CreateTrivia(
JsonKind
.SingleLineCommentTrivia, chars);
308
return CreateTrivia(
JsonKind
.MultiLineCommentTrivia, GetCharsToCurrentPosition(start));
312
return CreateTrivia(
JsonKind
.MultiLineCommentTrivia, GetCharsToCurrentPosition(start),
340
return CreateTrivia(
JsonKind
.WhitespaceTrivia, GetCharsToCurrentPosition(start));
EmbeddedLanguages\Json\JsonNode.cs (2)
9
internal abstract class JsonNode : EmbeddedSyntaxNode<
JsonKind
, JsonNode>
11
protected JsonNode(
JsonKind
kind) : base(kind)
EmbeddedLanguages\Json\JsonNodes.cs (28)
12
using JsonNodeOrToken = EmbeddedSyntaxNodeOrToken<
JsonKind
, JsonNode>;
13
using JsonSeparatedList = EmbeddedSeparatedSyntaxNodeList<
JsonKind
, JsonNode, JsonValueNode>;
14
using JsonToken = EmbeddedSyntaxToken<
JsonKind
>;
19
: base(
JsonKind
.CompilationUnit)
22
Debug.Assert(endOfFileToken.Kind ==
JsonKind
.EndOfFile);
53
protected JsonValueNode(
JsonKind
kind)
66
: base(
JsonKind
.Text)
68
Debug.Assert(textToken.Kind ==
JsonKind
.TextToken);
93
: base(
JsonKind
.Object)
95
Debug.Assert(openBraceToken.Kind ==
JsonKind
.OpenBraceToken);
96
Debug.Assert(closeBraceToken.Kind ==
JsonKind
.CloseBraceToken);
130
: base(
JsonKind
.Array)
132
Debug.Assert(openBracketToken.Kind ==
JsonKind
.OpenBracketToken);
134
Debug.Assert(closeBracketToken.Kind ==
JsonKind
.CloseBracketToken);
165
: base(
JsonKind
.NegativeLiteral)
167
Debug.Assert(minusToken.Kind ==
JsonKind
.MinusToken);
189
internal sealed class JsonLiteralNode(JsonToken literalToken) : JsonValueNode(
JsonKind
.Literal)
212
: base(
JsonKind
.CommaValue)
214
Debug.Assert(commaToken.Kind ==
JsonKind
.CommaToken);
236
: base(
JsonKind
.Property)
240
Debug.Assert(nameToken.Kind is
JsonKind
.StringToken or
JsonKind
.TextToken);
241
Debug.Assert(colonToken.Kind ==
JsonKind
.ColonToken);
278
: base(
JsonKind
.Constructor)
280
Debug.Assert(newKeyword.Kind ==
JsonKind
.NewKeyword);
281
Debug.Assert(nameToken.Kind ==
JsonKind
.TextToken);
282
Debug.Assert(openParenToken.Kind ==
JsonKind
.OpenParenToken);
284
Debug.Assert(closeParenToken.Kind ==
JsonKind
.CloseParenToken);
EmbeddedLanguages\Json\JsonParser.cs (53)
19
using JsonNodeOrToken = EmbeddedSyntaxNodeOrToken<
JsonKind
, JsonNode>;
20
using JsonSeparatedList = EmbeddedSeparatedSyntaxNodeList<
JsonKind
, JsonNode, JsonValueNode>;
21
using JsonToken = EmbeddedSyntaxToken<
JsonKind
>;
22
using JsonTrivia = EmbeddedSyntaxTrivia<
JsonKind
>;
124
Debug.Assert(_currentToken.Kind ==
JsonKind
.EndOfFile);
172
t => t.Kind is
JsonKind
.WhitespaceTrivia or
JsonKind
.EndOfLineTrivia))
192
if (child.Kind ==
JsonKind
.CommaValue)
199
else if (child.Kind ==
JsonKind
.Property)
214
JsonKind
.Array => CheckArray((JsonArrayNode)node),
215
JsonKind
.Object => CheckObject((JsonObjectNode)node),
241
if (child.Kind ==
JsonKind
.Property)
256
if (child is JsonLiteralNode { LiteralToken.Kind:
JsonKind
.StringToken })
348
allProperties = allProperties && value.Kind ==
JsonKind
.Property;
356
result.Add(ConsumeToken(
JsonKind
.CommaToken, allProperties ? s_commaExpected : null));
365
JsonKind
.EndOfFile => false,
366
JsonKind
.CloseBraceToken => !_inObject,
367
JsonKind
.CloseBracketToken => !_inArray,
368
JsonKind
.CloseParenToken => !_inConstructor,
381
JsonKind
.OpenBraceToken => ParseObject(),
382
JsonKind
.OpenBracketToken => ParseArray(),
383
JsonKind
.CommaToken => ParseCommaValue(),
396
JsonKind
.MinusToken, literalToken.LeadingTrivia,
409
Debug.Assert(_currentToken.Kind ==
JsonKind
.ColonToken);
412
if (stringLiteralOrText.Kind !=
JsonKind
.StringToken)
413
stringLiteralOrText = stringLiteralOrText.With(kind:
JsonKind
.TextToken);
420
if (_currentToken.Kind ==
JsonKind
.CommaToken)
424
new JsonCommaValueNode(CreateMissingToken(
JsonKind
.CommaToken)));
426
else if (_currentToken.Kind ==
JsonKind
.EndOfFile)
430
new JsonCommaValueNode(CreateMissingToken(
JsonKind
.CommaToken).AddDiagnosticIfNone(new EmbeddedDiagnostic(
436
if (value.Kind ==
JsonKind
.Property)
454
return _currentToken.Kind ==
JsonKind
.ColonToken
461
if (token.Kind ==
JsonKind
.StringToken)
472
if (TryMatch(token, "NaN",
JsonKind
.NaNLiteralToken, out
var
newKind) ||
473
TryMatch(token, "null",
JsonKind
.NullLiteralToken, out newKind) ||
474
TryMatch(token, "true",
JsonKind
.TrueLiteralToken, out newKind) ||
475
TryMatch(token, "false",
JsonKind
.FalseLiteralToken, out newKind) ||
476
TryMatch(token, "Infinity",
JsonKind
.InfinityLiteralToken, out newKind) ||
477
TryMatch(token, "undefined",
JsonKind
.UndefinedLiteralToken, out newKind))
487
minusToken, newLiteralToken.With(kind:
JsonKind
.InfinityLiteralToken));
492
return new JsonLiteralNode(token.With(kind:
JsonKind
.NumberToken));
495
token.With(kind:
JsonKind
.TextToken).AddDiagnosticIfNone(new EmbeddedDiagnostic(
506
token.With(kind:
JsonKind
.NewKeyword),
507
ConsumeToken(
JsonKind
.TextToken, FeaturesResources.Name_expected),
508
ConsumeToken(
JsonKind
.OpenParenToken, s_openParenExpected),
510
ConsumeToken(
JsonKind
.CloseParenToken, s_closeParenExpected));
516
private static bool TryMatch(JsonToken token, string val,
JsonKind
kind, out
JsonKind
newKind)
557
ConsumeToken(
JsonKind
.CloseBracketToken, s_closeBracketExpected));
571
ConsumeToken(
JsonKind
.CloseBraceToken, s_closeBraceExpected));
577
private JsonToken ConsumeToken(
JsonKind
kind, string? error)
590
=> token.Kind ==
JsonKind
.EndOfFile
EmbeddedLanguages\Json\JsonParser.JsonNetSyntaxChecks.cs (13)
15
using JsonToken = EmbeddedSyntaxToken<
JsonKind
>;
25
JsonKind
.Array => CheckArray((JsonArrayNode)node),
26
JsonKind
.Object => CheckObject((JsonObjectNode)node),
27
JsonKind
.Constructor => CheckConstructor((JsonConstructorNode)node),
28
JsonKind
.Property => CheckProperty((JsonPropertyNode)node),
29
JsonKind
.Literal => CheckLiteral((JsonLiteralNode)node),
30
JsonKind
.NegativeLiteral => CheckNegativeLiteral((JsonNegativeLiteralNode)node),
53
=> node.LiteralToken.Kind ==
JsonKind
.NumberToken
58
=> node.LiteralToken.Kind ==
JsonKind
.NumberToken
167
if (child.Kind !=
JsonKind
.CommaValue && nextChild.Kind !=
JsonKind
.CommaValue)
178
if (child.Kind !=
JsonKind
.Property)
186
=> node.NameToken.Kind !=
JsonKind
.StringToken && !IsLegalPropertyNameText(node.NameToken)
EmbeddedLanguages\Json\JsonParser.StrictSyntaxChecker.cs (21)
14
using JsonToken = EmbeddedSyntaxToken<
JsonKind
>;
15
using JsonTrivia = EmbeddedSyntaxTrivia<
JsonKind
>;
37
JsonKind
.Constructor => CheckConstructor((JsonConstructorNode)node),
38
JsonKind
.Literal => CheckLiteral((JsonLiteralNode)node, allowComments),
39
JsonKind
.NegativeLiteral => CheckNegativeLiteral((JsonNegativeLiteralNode)node),
40
JsonKind
.Property => CheckProperty((JsonPropertyNode)node, allowComments),
41
JsonKind
.Array => CheckArray((JsonArrayNode)node, allowTrailingCommas),
42
JsonKind
.Object => CheckObject((JsonObjectNode)node, allowTrailingCommas),
83
JsonKind
.MultiLineCommentTrivia or
JsonKind
.SingleLineCommentTrivia when !allowComments
85
JsonKind
.WhitespaceTrivia => CheckWhitespace(trivia),
113
if (child.Kind !=
JsonKind
.Property)
136
if (child.Kind ==
JsonKind
.CommaValue)
141
if (child.Kind !=
JsonKind
.CommaValue)
154
if (node.NameToken.Kind !=
JsonKind
.StringToken)
157
if (node.Value.Kind ==
JsonKind
.CommaValue)
167
JsonKind
.NaNLiteralToken or
JsonKind
.InfinityLiteralToken or
JsonKind
.UndefinedLiteralToken
169
JsonKind
.NumberToken => CheckNumber(node.LiteralToken, allowComments),
170
JsonKind
.StringToken => CheckString(node.LiteralToken, allowComments),
EmbeddedLanguages\Json\JsonTree.cs (1)
14
ImmutableArray<EmbeddedDiagnostic> diagnostics) : EmbeddedSyntaxTree<
JsonKind
, JsonNode, JsonCompilationUnit>(text, root, diagnostics)
EmbeddedLanguages\Json\LanguageServices\JsonBraceMatcher.cs (1)
17
using JsonToken = EmbeddedSyntaxToken<
JsonKind
>;
EmbeddedLanguages\Json\LanguageServices\JsonClassifier.cs (13)
18
using JsonToken = EmbeddedSyntaxToken<
JsonKind
>;
19
using JsonTrivia = EmbeddedSyntaxTrivia<
JsonKind
>;
97
case
JsonKind
.CommaToken:
109
if (trivia.Kind is
JsonKind
.MultiLineCommentTrivia or
JsonKind
.SingleLineCommentTrivia &&
164
case
JsonKind
.NumberToken:
168
case
JsonKind
.StringToken:
172
case
JsonKind
.TrueLiteralToken:
173
case
JsonKind
.FalseLiteralToken:
174
case
JsonKind
.NullLiteralToken:
175
case
JsonKind
.UndefinedLiteralToken:
176
case
JsonKind
.NaNLiteralToken:
177
case
JsonKind
.InfinityLiteralToken:
EmbeddedLanguages\Json\LanguageServices\JsonLanguageDetector.cs (1)
106
if (node.Kind ==
JsonKind
.Object)