From 6551d6b638bd4922fb1bd293f02474a48a6d92d9 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 13 Feb 2016 14:42:05 +0000 Subject: Read instance field initializers --- .../tests/frontends/java/JavaReaderTests.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/test/java/org') diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java index 49ce07e..d70f911 100644 --- a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java +++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java @@ -677,6 +677,34 @@ public class JavaReaderTests { constructor.getBody()); } + @Test + public void fieldInitializerIsPrependedToConstructor() { + ClassNode classNode = readClass( + "private final String name;" + + "public Example() {" + + " this.name = \"Flaws\";" + + "}" + + "private final int year = 2013;"); + + ConstructorNode constructor = classNode.getConstructor(); + + assertEquals( + list( + assignStatement( + fieldAccess( + thisReference(TypeName.of("com.example.Example")), + "year", + IntegerValue.REF), + literal(2013)), + assignStatement( + fieldAccess( + thisReference(TypeName.of("com.example.Example")), + "name", + StringValue.REF), + literal("Flaws"))), + constructor.getBody()); + } + @Test public void canDeclareStaticInitializer() { ClassNode classNode = readClass( -- cgit v1.2.3