diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-10-30 17:21:10 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-10-30 17:21:10 +0000 |
| commit | d58b27ee89a014aa294b25baffd53c7a96a64be3 (patch) | |
| tree | 6dcd100dd36c54b481dd49d07fab76bd747dc851 /src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java | |
| parent | befd7c344ba8a7c3402d4c678f1b81017fd65947 (diff) | |
Extract inner type hoisting to separate step
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java index 4735a2e..ec17c9b 100644 --- a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java +++ b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java @@ -24,6 +24,7 @@ public class ClassNodeBuilder { private List<StatementNode> staticConstructor; private Optional<ConstructorNode> constructor; private final ImmutableList.Builder<MethodNode> methods; + private final ImmutableList.Builder<TypeNode> innerTypes; public ClassNodeBuilder(ScalarType name) { this.name = name; @@ -33,6 +34,7 @@ public class ClassNodeBuilder { staticConstructor = list(); this.constructor = Optional.empty(); this.methods = ImmutableList.builder(); + this.innerTypes = ImmutableList.builder(); } public ClassNodeBuilder(String name) { @@ -119,7 +121,9 @@ public class ClassNodeBuilder { fields.build(), staticConstructor, constructor.orElse(ConstructorNode.DEFAULT), - methods.build()); + methods.build(), + innerTypes.build() + ); } public InterfaceNode buildInterface() { @@ -129,7 +133,8 @@ public class ClassNodeBuilder { superTypes.build(), fields.build(), staticConstructor, - methods.build() + methods.build(), + innerTypes.build() ); } |
