MCPcopy
hub / github.com/microsoft/vscode / parseArray

Function parseArray

src/vs/base/common/json.ts:1248–1278  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1246 }
1247
1248 function parseArray(): boolean {
1249 onArrayBegin();
1250 scanNext(); // consume open bracket
1251
1252 let needsComma = false;
1253 while (_scanner.getToken() !== SyntaxKind.CloseBracketToken && _scanner.getToken() !== SyntaxKind.EOF) {
1254 if (_scanner.getToken() === SyntaxKind.CommaToken) {
1255 if (!needsComma) {
1256 handleError(ParseErrorCode.ValueExpected, [], []);
1257 }
1258 onSeparator(',');
1259 scanNext(); // consume comma
1260 if (_scanner.getToken() === SyntaxKind.CloseBracketToken && allowTrailingComma) {
1261 break;
1262 }
1263 } else if (needsComma) {
1264 handleError(ParseErrorCode.CommaExpected, [], []);
1265 }
1266 if (!parseValue()) {
1267 handleError(ParseErrorCode.ValueExpected, [], [SyntaxKind.CloseBracketToken, SyntaxKind.CommaToken]);
1268 }
1269 needsComma = true;
1270 }
1271 onArrayEnd();
1272 if (_scanner.getToken() !== SyntaxKind.CloseBracketToken) {
1273 handleError(ParseErrorCode.CloseBracketExpected, [SyntaxKind.CloseBracketToken], []);
1274 } else {
1275 scanNext(); // consume close bracket
1276 }
1277 return true;
1278 }
1279
1280 function parseValue(): boolean {
1281 switch (_scanner.getToken()) {

Callers 1

parseValueFunction · 0.85

Calls 4

parseValueFunction · 0.85
scanNextFunction · 0.70
handleErrorFunction · 0.70
getTokenMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…