diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-03-01 21:24:45 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-03-01 21:24:45 +0000 |
| commit | dbe3c6ad7ead5fef7d6dde68c9c53bebe3593fe6 (patch) | |
| tree | 46a70a1e3ba82a6ba994caef3317f3b60f504e57 /src/main/java | |
| parent | 44e6b9e1f09e57a9abe3d6e31d4b3b6e40b4ee47 (diff) | |
Get static nested classes working on interpreter
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java | 7 |
1 files changed, 7 insertions, 0 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 ec6b556..b867dc2 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java @@ -68,6 +68,10 @@ public class JavaReader { private TypeNode readCompilationUnit(CompilationUnit ast) { TypeDeclaration type = (TypeDeclaration)ast.types().get(0); + return readTypeDeclaration(type); + } + + private TypeNode readTypeDeclaration(TypeDeclaration type) { TypeName name = typeOf(type.resolveBinding()); Scope scope = Scope.create().enterClass(name); TypeDeclarationBody body = readTypeDeclarationBody(scope, name, type.bodyDeclarations()); @@ -254,6 +258,9 @@ public class JavaReader { Casts.tryCast(FieldDeclaration.class, declaration) .ifPresent(field -> readField(body, scope, type, field)); + + Casts.tryCast(TypeDeclaration.class, declaration) + .ifPresent(typeDeclaration -> classes.add(readTypeDeclaration(typeDeclaration))); } return body.build(); } |
