(
operator: ComparisonOp,
matchCase: boolean,
lhs: Value,
rhs: Value,
)
| 540 | } |
| 541 | |
| 542 | private evaluateComparison( |
| 543 | operator: ComparisonOp, |
| 544 | matchCase: boolean, |
| 545 | lhs: Value, |
| 546 | rhs: Value, |
| 547 | ): boolean { |
| 548 | switch (operator) { |
| 549 | case '==': |
| 550 | return this.evaluateBasicComparison('==', matchCase, lhs, rhs); |
| 551 | case '!=': |
| 552 | return !this.evaluateBasicComparison('==', matchCase, lhs, rhs); |
| 553 | case '>': |
| 554 | return this.evaluateBasicComparison('>', matchCase, lhs, rhs); |
| 555 | case '>=': |
| 556 | return ( |
| 557 | this.evaluateBasicComparison('>', matchCase, lhs, rhs) || |
| 558 | this.evaluateBasicComparison('==', matchCase, lhs, rhs) |
| 559 | ); |
| 560 | case '<': |
| 561 | return this.evaluateBasicComparison('>', matchCase, rhs, lhs); |
| 562 | case '<=': |
| 563 | return !this.evaluateBasicComparison('>', matchCase, lhs, rhs); |
| 564 | case '=~': |
| 565 | return this.evaluateBasicComparison('=~', matchCase, lhs, rhs); |
| 566 | case '!~': |
| 567 | return !this.evaluateBasicComparison('=~', matchCase, lhs, rhs); |
| 568 | case 'is': |
| 569 | return this.evaluateBasicComparison('is', matchCase, lhs, rhs); |
| 570 | case 'isnot': |
| 571 | return !this.evaluateBasicComparison('is', matchCase, lhs, rhs); |
| 572 | } |
| 573 | } |
| 574 | |
| 575 | private evaluateBasicComparison( |
| 576 | operator: '==' | '>' | '=~' | 'is', |
no test coverage detected