diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-10-30 20:40:22 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-10-30 20:40:22 +0000 |
| commit | a237af4bd31b03573105ab002d37bad247dcbfc7 (patch) | |
| tree | 8f2471d2363cd0707df495baf0af24911cfa93fe /src/main/java/org/zwobble/couscous/frontends | |
| parent | bbc153ecf8a956ae09a1031c49339dcf76cc1576 (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.java | 6 |
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) { |
