diff options
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java | 11 |
1 files changed, 11 insertions, 0 deletions
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") |
