From 7dab9cb11a7181094144e4319716c4d91262a289 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 10 Jan 2016 17:28:48 +0000 Subject: Add reading of type literals --- .../org/zwobble/couscous/frontends/java/JavaExpressionReader.java | 7 +++++++ src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/main/java/org/zwobble/couscous/frontends') 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 superTypes(TypeDeclaration declaration) { -- cgit v1.2.3