aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/python
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-01-08 21:27:39 +0000
committerMichael Williamson <mike@zwobble.org>2016-01-08 21:27:39 +0000
commitbf3645905d5384d25b20e572803b6886c476e057 (patch)
treeed9a4820b8a235a64e19b73510d59b7533d84961 /src/main/java/org/zwobble/couscous/backends/python
parent09f919a23b4846162dac6229564718c1f6cc8c40 (diff)
Add support for String.equals
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends/python')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java5
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonBinaryOperation.java4
2 files changed, 8 insertions, 1 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 054a359..5e3795c 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java
@@ -41,7 +41,10 @@ public class PrimitiveMethods {
.put("toLowerCase", (receiver, arguments) ->
pythonCall(pythonAttributeAccess(receiver, "lower"), list()))
-
+
+ .put("equals", (receiver, arguments) ->
+ PythonBinaryOperation.pythonEq(receiver, arguments.get(0)))
+
.build();
private static final Map<String, PrimitiveMethodGenerator> BOOLEAN_METHODS =
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonBinaryOperation.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonBinaryOperation.java
index fb33626..8d6b9ce 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonBinaryOperation.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonBinaryOperation.java
@@ -10,6 +10,10 @@ public class PythonBinaryOperation implements PythonExpressionNode {
public static PythonExpressionNode pythonAdd(PythonExpressionNode left, PythonExpressionNode right) {
return new PythonBinaryOperation("+", left, right);
}
+
+ public static PythonExpressionNode pythonEq(PythonExpressionNode left, PythonExpressionNode right) {
+ return new PythonBinaryOperation("==", left, right);
+ }
private final String operator;
private final PythonExpressionNode left;