From 63dc7ca2d4576c9ba3887abb5d858d6fd1d93957 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 30 Mar 2016 14:49:04 +0100 Subject: Support reading of static field accesses by class name --- .../zwobble/couscous/frontends/java/JavaExpressionReader.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/main/java') diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java index 71826fe..8020174 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java @@ -3,6 +3,7 @@ package org.zwobble.couscous.frontends.java; import com.google.common.collect.Iterables; import org.eclipse.jdt.core.dom.*; import org.zwobble.couscous.ast.*; +import org.zwobble.couscous.types.ScalarType; import org.zwobble.couscous.types.Type; import org.zwobble.couscous.types.Types; import org.zwobble.couscous.util.InsertionOrderSet; @@ -82,6 +83,9 @@ public class JavaExpressionReader { case ASTNode.FIELD_ACCESS: return readFieldAccess((FieldAccess)expression); + case ASTNode.QUALIFIED_NAME: + return readQualifiedName((QualifiedName)expression); + case ASTNode.METHOD_INVOCATION: return readMethodInvocation((MethodInvocation)expression); @@ -181,6 +185,13 @@ public class JavaExpressionReader { typeOf(expression)); } + private ExpressionNode readQualifiedName(QualifiedName expression) { + return FieldAccessNode.fieldAccess( + ScalarType.of(expression.getQualifier().getFullyQualifiedName()), + expression.getName().getIdentifier(), + typeOf(expression)); + } + private ExpressionNode readMethodInvocation(MethodInvocation expression) { String methodName = expression.getName().getIdentifier(); @SuppressWarnings("unchecked") -- cgit v1.2.3