MCPcopy
hub / github.com/microsoft/pyright / _parseTupleAtom

Method _parseTupleAtom

server/src/parser/parser.ts:1876–1901  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1874 // ('(' [yield_expr | testlist_comp] ')'
1875 // testlist_comp: (test | star_expr) (comp_for | (',' (test | star_expr))* [','])
1876 private _parseTupleAtom(): ExpressionNode {
1877 let startParen = this._getNextToken();
1878 assert.equal(startParen.type, TokenType.OpenParenthesis);
1879
1880 let yieldExpr = this._tryParseYieldExpression();
1881 if (yieldExpr) {
1882 if (this._peekTokenType() !== TokenType.CloseParenthesis) {
1883 return this._handleExpressionParseError('Expected ")"');
1884 } else {
1885 yieldExpr.extend(this._getNextToken());
1886 }
1887
1888 return yieldExpr;
1889 }
1890
1891 let exprListResult = this._parseTestListWithComprehension();
1892 let tupleOrExpression = this._makeExpressionOrTuple(exprListResult);
1893
1894 if (this._peekTokenType() !== TokenType.CloseParenthesis) {
1895 return this._handleExpressionParseError('Expected ")"');
1896 } else {
1897 tupleOrExpression.extend(this._getNextToken());
1898 }
1899
1900 return tupleOrExpression;
1901 }
1902
1903 // '[' [testlist_comp] ']'
1904 // testlist_comp: (test | star_expr) (comp_for | (',' (test | star_expr))* [','])

Callers 1

_parseAtomMethod · 0.95

Calls 7

_getNextTokenMethod · 0.95
_peekTokenTypeMethod · 0.95
extendMethod · 0.80

Tested by

no test coverage detected