From 3f1af457c1635778554d0388fdb7b77bd43e0241 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 1 Mar 2016 22:52:14 +0000 Subject: Cobble together limited inner class support --- src/main/java/org/zwobble/couscous/ast/ClassNode.java | 2 ++ src/main/java/org/zwobble/couscous/ast/InterfaceNode.java | 1 + src/main/java/org/zwobble/couscous/ast/TypeNode.java | 3 +++ 3 files changed, 6 insertions(+) (limited to 'src/main/java/org/zwobble/couscous/ast') diff --git a/src/main/java/org/zwobble/couscous/ast/ClassNode.java b/src/main/java/org/zwobble/couscous/ast/ClassNode.java index 5d6d5e2..4cdb993 100644 --- a/src/main/java/org/zwobble/couscous/ast/ClassNode.java +++ b/src/main/java/org/zwobble/couscous/ast/ClassNode.java @@ -13,6 +13,7 @@ public class ClassNode implements TypeNode { public static ClassNodeBuilder builder(String name) { return new ClassNodeBuilder(name); } + public static ClassNode declareClass( TypeName name, Set superTypes, @@ -82,6 +83,7 @@ public class ClassNode implements TypeNode { return visitor.visit(this); } + @Override public ClassNode transform(NodeTransformer transformer) { return new ClassNode( transformer.transform(name), diff --git a/src/main/java/org/zwobble/couscous/ast/InterfaceNode.java b/src/main/java/org/zwobble/couscous/ast/InterfaceNode.java index 4ae43c8..854728f 100644 --- a/src/main/java/org/zwobble/couscous/ast/InterfaceNode.java +++ b/src/main/java/org/zwobble/couscous/ast/InterfaceNode.java @@ -49,6 +49,7 @@ public class InterfaceNode implements TypeNode { return visitor.visit(this); } + @Override public InterfaceNode transform(NodeTransformer transformer) { return new InterfaceNode( transformer.transform(name), diff --git a/src/main/java/org/zwobble/couscous/ast/TypeNode.java b/src/main/java/org/zwobble/couscous/ast/TypeNode.java index 9946267..8277cda 100644 --- a/src/main/java/org/zwobble/couscous/ast/TypeNode.java +++ b/src/main/java/org/zwobble/couscous/ast/TypeNode.java @@ -1,5 +1,7 @@ package org.zwobble.couscous.ast; +import org.zwobble.couscous.ast.visitors.NodeTransformer; + import java.util.List; import java.util.Set; @@ -7,4 +9,5 @@ public interface TypeNode extends Node { TypeName getName(); Set getSuperTypes(); List getMethods(); + TypeNode transform(NodeTransformer transformer); } -- cgit v1.2.3