From bf3645905d5384d25b20e572803b6886c476e057 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 8 Jan 2016 21:27:39 +0000 Subject: Add support for String.equals --- .../java/org/zwobble/couscous/backends/python/PrimitiveMethods.java | 5 ++++- .../zwobble/couscous/backends/python/ast/PythonBinaryOperation.java | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/main/java/org/zwobble/couscous/backends/python') 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 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; -- cgit v1.2.3