diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-10 17:28:48 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-10 17:28:48 +0000 |
| commit | 7dab9cb11a7181094144e4319716c4d91262a289 (patch) | |
| tree | aac0c439a4c3445837c8703c002d6bd23f5df3bf /src/main/java/org/zwobble/couscous/frontends | |
| parent | a76af2307f7d4e67ac949559de43afb0bd1e8da1 (diff) | |
Add reading of type literals
Diffstat (limited to 'src/main/java/org/zwobble/couscous/frontends')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java | 7 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java | 2 |
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) { |
