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

Method _parseShiftExpression

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

Source from the content-addressed store, hash-verified

1489
1490 // shift_expr: arith_expr (('<<'|'>>') arith_expr)*
1491 private _parseShiftExpression(): ExpressionNode {
1492 let leftExpr = this._parseAirthmeticExpression();
1493 if (leftExpr instanceof ErrorExpressionNode) {
1494 return leftExpr;
1495 }
1496
1497 let nextOperator = this._peekOperatorType();
1498 if (nextOperator === OperatorType.LeftShift || nextOperator === OperatorType.RightShift) {
1499 this._getNextToken();
1500 let rightExpr = this._parseShiftExpression();
1501 return new BinaryExpressionNode(leftExpr, rightExpr, nextOperator);
1502 }
1503
1504 return leftExpr;
1505 }
1506
1507 // arith_expr: term (('+'|'-') term)*
1508 private _parseAirthmeticExpression(): ExpressionNode {

Callers 1

Calls 3

_peekOperatorTypeMethod · 0.95
_getNextTokenMethod · 0.95

Tested by

no test coverage detected