aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/frontends
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-10-30 20:40:22 +0000
committerMichael Williamson <mike@zwobble.org>2016-10-30 20:40:22 +0000
commita237af4bd31b03573105ab002d37bad247dcbfc7 (patch)
tree8f2471d2363cd0707df495baf0af24911cfa93fe /src/main/java/org/zwobble/couscous/frontends
parentbbc153ecf8a956ae09a1031c49339dcf76cc1576 (diff)
Fix handling of anonymous types
Diffstat (limited to 'src/main/java/org/zwobble/couscous/frontends')
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java
index b0d347b..f1182e4 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java
@@ -239,7 +239,11 @@ public class JavaReader {
while (type.isAnonymous()) {
type = type.getDeclaringClass();
}
- return ScalarType.topLevel(erasure(typeOf(type)).getQualifiedName() + "_Anonymous_" + (anonymousClassCount++));
+ ScalarType typeName = erasure(typeOf(type));
+ while (typeName.outerType().isPresent()) {
+ typeName = typeName.outerType().get();
+ }
+ return ScalarType.topLevel(typeName.getQualifiedName() + "_Anonymous_" + (anonymousClassCount++));
}
private ITypeBinding findDeclaringClass(ASTNode node) {