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

Method _makeExpressionOrTuple

server/src/parser/parser.ts:1240–1256  ·  view source on GitHub ↗
(exprListResult: ExpressionListResult)

Source from the content-addressed store, hash-verified

1238 }
1239
1240 private _makeExpressionOrTuple(exprListResult: ExpressionListResult): ExpressionNode {
1241 if (exprListResult.list.length === 1 && !exprListResult.trailingComma) {
1242 return exprListResult.list[0];
1243 }
1244
1245 // To accommodate empty tuples ("()"), we will reach back to get
1246 // the opening parenthesis as the opening token.
1247
1248 let tupleStartRange: TextRange = exprListResult.list.length > 0 ?
1249 exprListResult.list[0] : this._peekToken(-1);
1250
1251 let tupleNode = new TupleExpressionNode(tupleStartRange);
1252 tupleNode.expressions = exprListResult.list;
1253 tupleNode.extend(exprListResult.list);
1254
1255 return tupleNode;
1256 }
1257
1258 private _parseTestListAsExpression(errorString: string): ExpressionNode {
1259 if (this._isNextTokenNeverExpression()) {

Callers 7

_parseForStatementMethod · 0.95
_parseYieldExpressionMethod · 0.95
_parseSubscriptListMethod · 0.95
_parseTupleAtomMethod · 0.95

Calls 2

_peekTokenMethod · 0.95
extendMethod · 0.80

Tested by

no test coverage detected