diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-31 13:05:10 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-31 13:05:10 +0000 |
| commit | 604d1e71ef722e1006e955ae0bb72fa00cd78c8a (patch) | |
| tree | 6b46e5262e3cef660f9b0c00cbc63867cd0de4a1 /src/main/java/org/zwobble/couscous | |
| parent | ccbcd95c177ef9725ed772504e33310474835b57 (diff) | |
Support equality on ints
Diffstat (limited to 'src/main/java/org/zwobble/couscous')
3 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java b/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java index 5208ff1..9639c72 100644 --- a/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java +++ b/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java @@ -50,6 +50,7 @@ public class PrimitiveMethods { internalReference("_mod_round_to_zero"), asList(receiver, arguments.get(0)))); + addMethod(methods, "equals", "__eq__"); addMethod(methods, "greaterThan", "__gt__"); addMethod(methods, "greaterThanOrEqual", "__ge__"); addMethod(methods, "lessThan", "__lt__"); diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java index baef84a..99d6a7a 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java @@ -280,6 +280,8 @@ public class JavaReader { return JavaOperator.of("divide", IntegerValue.REF); } else if (operator == Operator.REMAINDER) { return JavaOperator.of("mod", IntegerValue.REF); + } else if (operator == Operator.EQUALS) { + return JavaOperator.of("equals", BooleanValue.REF); } else if (operator == Operator.GREATER) { return JavaOperator.of("greaterThan", BooleanValue.REF); } else if (operator == Operator.GREATER_EQUALS) { diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java index 823e873..85480e7 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java @@ -27,6 +27,8 @@ public final class IntegerInterpreterValue implements InterpreterValue { infixReturningInteger((left, right) -> left / right)) .method("mod", asList(IntegerValue.REF), infixReturningInteger((left, right) -> left % right)) + .method("equals", asList(IntegerValue.REF), + infixReturningBoolean((left, right) -> left == right)) .method("greaterThan", asList(IntegerValue.REF), infixReturningBoolean((left, right) -> left > right)) .method("greaterThanOrEqual", asList(IntegerValue.REF), |
