aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java2
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java11
2 files changed, 12 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java
index 2f68380..90723b0 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java
@@ -295,7 +295,7 @@ public class JavaReader {
List<VariableDeclarationFragment> fragments = field.fragments();
TypeName type = typeOf(field.getType());
return eagerMap(fragments, fragment ->
- field(fragment.getName().getIdentifier(), type));
+ field(Modifier.isStatic(field.getModifiers()), fragment.getName().getIdentifier(), type));
}
private List<CallableNode> readMethods(Scope scope, List<MethodDeclaration> methods) {
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 13484c2..99145ee 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
@@ -24,6 +24,7 @@ import static org.zwobble.couscous.ast.ConstructorCallNode.constructorCall;
import static org.zwobble.couscous.ast.ExpressionStatementNode.expressionStatement;
import static org.zwobble.couscous.ast.FieldAccessNode.fieldAccess;
import static org.zwobble.couscous.ast.FieldDeclarationNode.field;
+import static org.zwobble.couscous.ast.FieldDeclarationNode.staticField;
import static org.zwobble.couscous.ast.IfStatementNode.ifStatement;
import static org.zwobble.couscous.ast.LiteralNode.literal;
import static org.zwobble.couscous.ast.LocalVariableDeclarationNode.localVariableDeclaration;
@@ -73,6 +74,16 @@ public class JavaReaderTests {
list(field("name", TypeName.of("java.lang.String"))),
classNode.getFields());
}
+
+ @Test
+ public void canReadStaticFieldDeclarations() {
+ ClassNode classNode = readClass(
+ "private static String name;");
+
+ assertEquals(
+ list(staticField("name", TypeName.of("java.lang.String"))),
+ classNode.getFields());
+ }
@Test
public void canReadExplicitFieldReference() {