From 3bfe9eaf41f994221dc11090c5c3a283a49310ab Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 22 Apr 2016 21:34:36 +0100 Subject: Add support for this references in anonymous types --- .../java/org/zwobble/couscous/tests/CompilerTests.java | 2 -- .../com/example/AnonymousClass.java | 18 ++++++++++++++++++ .../com/example/IntSupplier.java | 5 +++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 src/test/resources/java/anonymous-class-this-reference/com/example/AnonymousClass.java create mode 100644 src/test/resources/java/anonymous-class-this-reference/com/example/IntSupplier.java (limited to 'src/test') 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(); +} -- cgit v1.2.3