aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/frontends
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/couscous/frontends')
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java7
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java2
2 files changed, 8 insertions, 1 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 4200a98..114e4ef 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java
@@ -66,6 +66,9 @@ public class JavaExpressionReader {
case ASTNode.STRING_LITERAL:
return readStringLiteral((StringLiteral)expression);
+ case ASTNode.TYPE_LITERAL:
+ return readTypeLiteral((TypeLiteral)expression);
+
case ASTNode.SIMPLE_NAME:
return readSimpleName((SimpleName)expression);
@@ -122,6 +125,10 @@ public class JavaExpressionReader {
return literal(expression.getLiteralValue());
}
+ private ExpressionNode readTypeLiteral(TypeLiteral expression) {
+ return literal(typeOf(expression.getType()));
+ }
+
private ExpressionNode readSimpleName(SimpleName expression) {
IBinding binding = expression.resolveBinding();
if (binding.getKind() == IBinding.VARIABLE) {
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java
index 8eb7e62..19a9126 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java
@@ -24,7 +24,7 @@ class JavaTypes {
}
static TypeName typeOf(ITypeBinding typeBinding) {
- return TypeName.of(typeBinding.getQualifiedName());
+ return TypeName.of(typeBinding.getErasure().getQualifiedName());
}
static Set<TypeName> superTypes(TypeDeclaration declaration) {