diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-07-15 14:23:47 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-07-15 14:23:47 +0100 |
| commit | bc06840e00425db342bc5a021c0900d9e63b71f0 (patch) | |
| tree | 0aa45a4ea475804a36a5ee33f9a726656f45bc1f /src/main/java/org/zwobble/couscous/ast/Operations.java | |
| parent | 3be68289f34a37ac7f9e1e95fa0d95dfc1bb3836 (diff) | |
Split switch handling off to desugar step
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/Operations.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/Operations.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/Operations.java b/src/main/java/org/zwobble/couscous/ast/Operations.java index 0ef9b88..308d070 100644 --- a/src/main/java/org/zwobble/couscous/ast/Operations.java +++ b/src/main/java/org/zwobble/couscous/ast/Operations.java @@ -4,7 +4,9 @@ import org.zwobble.couscous.types.ScalarType; import org.zwobble.couscous.types.Types; import org.zwobble.couscous.values.InternalCouscousValue; +import static org.zwobble.couscous.ast.MethodCallNode.methodCall; import static org.zwobble.couscous.ast.MethodCallNode.staticMethodCall; +import static org.zwobble.couscous.ast.TypeCoercionNode.coerce; import static org.zwobble.couscous.ast.TypeCoercionNode.typeCoercion; import static org.zwobble.couscous.util.ExtraLists.list; @@ -94,4 +96,8 @@ public class Operations { public static ExpressionNode instanceOf(ExpressionNode value, ScalarType type) { return new InstanceOfNode(value, type); } + + public static ExpressionNode methodEquals(ExpressionNode left, ExpressionNode right) { + return methodCall(left, "equals", list(coerce(right, Types.OBJECT)), Types.BOOLEAN); + } } |
