aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-31 13:42:14 +0000
committerMichael Williamson <mike@zwobble.org>2015-10-31 13:42:14 +0000
commiteff6ead0d0089fae070c6dbb7c937353632322c1 (patch)
treef90ad6ebd4a6c25b234c8a116911c2f36dc0a551 /src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
parentc69e902235ea6a197c197c786c88f2bd15f10de3 (diff)
Support int inequality
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/MethodCallNode.java')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/MethodCallNode.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java b/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
index a9b8795..c2e0897 100644
--- a/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
@@ -1,10 +1,20 @@
package org.zwobble.couscous.ast;
+import java.util.Collections;
import java.util.List;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
+import org.zwobble.couscous.values.BooleanValue;
public class MethodCallNode implements ExpressionNode {
+ public static ExpressionNode not(ExpressionNode value) {
+ if (value.getType().equals(BooleanValue.REF)) {
+ return methodCall(value, "negate", Collections.emptyList(), BooleanValue.REF);
+ } else {
+ throw new IllegalArgumentException("Can only negate booleans");
+ }
+ }
+
public static MethodCallNode methodCall(
ExpressionNode receiver,
String methodName,