aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-04-22 21:34:36 +0100
committerMichael Williamson <mike@zwobble.org>2016-04-22 21:34:36 +0100
commit3bfe9eaf41f994221dc11090c5c3a283a49310ab (patch)
tree79e010cceb19d436a2cfad330c78d7d6aa01f6eb /src/test
parent8b80e624f5279b637497e65eb944ad930d522aef (diff)
Add support for this references in anonymous types
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/CompilerTests.java2
-rw-r--r--src/test/resources/java/anonymous-class-this-reference/com/example/AnonymousClass.java18
-rw-r--r--src/test/resources/java/anonymous-class-this-reference/com/example/IntSupplier.java5
3 files changed, 23 insertions, 2 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/CompilerTests.java b/src/test/java/org/zwobble/couscous/tests/CompilerTests.java
index 1408ca9..be3ca29 100644
--- a/src/test/java/org/zwobble/couscous/tests/CompilerTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/CompilerTests.java
@@ -1,6 +1,5 @@
package org.zwobble.couscous.tests;
-import org.junit.Ignore;
import org.junit.Test;
import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.types.Types;
@@ -158,7 +157,6 @@ public abstract class CompilerTests {
}
@Test
- @Ignore("WIP")
public void anonymousClassesWithThisReference() throws Exception {
assertEquals(
value(42),
diff --git a/src/test/resources/java/anonymous-class-this-reference/com/example/AnonymousClass.java b/src/test/resources/java/anonymous-class-this-reference/com/example/AnonymousClass.java
new file mode 100644
index 0000000..6269b0b
--- /dev/null
+++ b/src/test/resources/java/anonymous-class-this-reference/com/example/AnonymousClass.java
@@ -0,0 +1,18 @@
+package com.example;
+
+public class AnonymousClass {
+ public static int value() {
+ IntSupplier supplier = new IntSupplier() {
+ @Override
+ public int get() {
+ return 21 * factor();
+ }
+
+ private int factor() {
+ return 2;
+ }
+ };
+
+ return supplier.get();
+ }
+}
diff --git a/src/test/resources/java/anonymous-class-this-reference/com/example/IntSupplier.java b/src/test/resources/java/anonymous-class-this-reference/com/example/IntSupplier.java
new file mode 100644
index 0000000..4c5e5a5
--- /dev/null
+++ b/src/test/resources/java/anonymous-class-this-reference/com/example/IntSupplier.java
@@ -0,0 +1,5 @@
+package com.example;
+
+public interface IntSupplier {
+ int get();
+}