MCPcopy Create free account
hub / github.com/Whiley/WhileyCompiler / IntegerLessThan

Class IntegerLessThan

src/main/java/wyil/lang/WyilFile.java:3539–3582  ·  view source on GitHub ↗

Represents a strict inequality expression of the form " e1 < e2 " where e1 and e2 are the operand expressions . @author David J. Pearce

Source from the content-addressed store, hash-verified

3537 *
3538 */
3539 public static class IntegerLessThan extends AbstractItem implements BinaryOperator {
3540 public IntegerLessThan(Expr lhs, Expr rhs) {
3541 super(EXPR_integerlessthan, lhs, rhs);
3542 }
3543
3544 @Override
3545 public Type getType() {
3546 return Type.Bool;
3547 }
3548
3549 @Override
3550 public void setType(Type type) {
3551 if(!type.equals(Type.Bool)) {
3552 throw new IllegalArgumentException();
3553 }
3554 }
3555
3556 @Override
3557 public Expr getFirstOperand() {
3558 return (Expr) super.get(0);
3559 }
3560
3561 @Override
3562 public Expr getSecondOperand() {
3563 return (Expr) super.get(1);
3564 }
3565
3566 @Override
3567 public Expr clone(Syntactic.Item[] operands) {
3568 return new IntegerLessThan((Expr) operands[0], (Expr) operands[1]);
3569 }
3570
3571 @Override
3572 public String toString() {
3573 return " < ";
3574 }
3575
3576 public static final Descriptor DESCRIPTOR_0 = new Descriptor(Operands.TWO, Data.ZERO, "EXPR_integerlessthan") {
3577 @Override
3578 public Syntactic.Item construct(int opcode, Syntactic.Item[] operands, byte[] data) {
3579 return new IntegerLessThan((Expr) operands[0], (Expr) operands[1]);
3580 }
3581 };
3582 }
3583
3584 /**
3585 * Represents a non-strict <i>inequality expression</i> of the form

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected