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

Method _parseAirthmeticTerm

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

Source from the content-addressed store, hash-verified

1527
1528 // term: factor (('*'|'@'|'/'|'%'|'//') factor)*
1529 private _parseAirthmeticTerm(): ExpressionNode {
1530 let leftExpr = this._parseAirthmeticFactor();
1531 if (leftExpr instanceof ErrorExpressionNode) {
1532 return leftExpr;
1533 }
1534
1535 let nextOperator = this._peekOperatorType();
1536 if (nextOperator === OperatorType.Multiply ||
1537 nextOperator === OperatorType.MatrixMultiply ||
1538 nextOperator === OperatorType.Divide ||
1539 nextOperator === OperatorType.Mod ||
1540 nextOperator === OperatorType.FloorDivide) {
1541 this._getNextToken();
1542 let rightExpr = this._parseAirthmeticTerm();
1543 return new BinaryExpressionNode(leftExpr, rightExpr, nextOperator);
1544 }
1545
1546 return leftExpr;
1547 }
1548
1549 // factor: ('+'|'-'|'~') factor | power
1550 // power: atom_expr ['**' factor]

Callers 1

Calls 3

_peekOperatorTypeMethod · 0.95
_getNextTokenMethod · 0.95

Tested by

no test coverage detected