diff --git a/src/main/java/com/openeggbert/next/ast/Class.java b/src/main/java/com/openeggbert/next/ast/Class.java index 479f889..a94c972 100644 --- a/src/main/java/com/openeggbert/next/ast/Class.java +++ b/src/main/java/com/openeggbert/next/ast/Class.java @@ -1,4 +1,16 @@ package com.openeggbert.next.ast; +import java.util.ArrayList; +import java.util.List; + public class Class { + + private String name; + private Access access; + + private String packageName; + private List imports = new ArrayList<>(); + private List fields = new ArrayList<>(); + private List constructors = new ArrayList<>(); + private List methods = new ArrayList<>(); } diff --git a/src/main/java/com/openeggbert/next/ast/Constructor.java b/src/main/java/com/openeggbert/next/ast/Constructor.java new file mode 100644 index 0000000..49501c9 --- /dev/null +++ b/src/main/java/com/openeggbert/next/ast/Constructor.java @@ -0,0 +1,10 @@ +package com.openeggbert.next.ast; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class Constructor extends Method{ +} diff --git a/src/main/java/com/openeggbert/next/ast/Field.java b/src/main/java/com/openeggbert/next/ast/Field.java new file mode 100644 index 0000000..3b274ae --- /dev/null +++ b/src/main/java/com/openeggbert/next/ast/Field.java @@ -0,0 +1,14 @@ +package com.openeggbert.next.ast; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class Field { + private String name; + private String type; + private Access access; + private String initialValue; +} diff --git a/src/main/java/com/openeggbert/next/ast/Method.java b/src/main/java/com/openeggbert/next/ast/Method.java new file mode 100644 index 0000000..4efd0bd --- /dev/null +++ b/src/main/java/com/openeggbert/next/ast/Method.java @@ -0,0 +1,16 @@ +package com.openeggbert.next.ast; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class Method { + private String name; + private String returnType; + private Access access; + private boolean staticMethod; + private List parameters = new ArrayList<>(); + private Body body; +} diff --git a/src/main/java/com/openeggbert/next/ast/MethodParameter.java b/src/main/java/com/openeggbert/next/ast/MethodParameter.java new file mode 100644 index 0000000..ad4d206 --- /dev/null +++ b/src/main/java/com/openeggbert/next/ast/MethodParameter.java @@ -0,0 +1,9 @@ +package com.openeggbert.next.ast; + +import lombok.Data; + +@Data +public class MethodParameter { + private String name; + private String type; +}