diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-06 11:02:51 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-06 11:02:51 +0100 |
| commit | 56470c01483077849dae33f65364bad987afac7a (patch) | |
| tree | 2954d1d44f6c11a6c27299496014b0723e7d6e8d /src/main/java/org/zwobble/couscous/ast | |
| parent | a7669795d1d58e4962f16272cb5e92783cf01c64 (diff) | |
Combine type reference and class name into type name
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/AssignmentNode.java | 3 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/ClassNode.java | 4 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/ExpressionNode.java | 3 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/FormalArgumentNode.java | 4 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/LiteralNode.java | 3 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/LocalVariableDeclarationNode.java | 3 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/MethodCallNode.java | 5 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/StaticMethodCallNode.java | 7 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java | 3 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/TypeName.java (renamed from src/main/java/org/zwobble/couscous/ast/ClassName.java) | 6 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/VariableDeclaration.java | 4 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java | 3 |
12 files changed, 18 insertions, 30 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java b/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java index 349b492..d7ea09f 100644 --- a/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java +++ b/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java @@ -1,7 +1,6 @@ package org.zwobble.couscous.ast; import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper; -import org.zwobble.couscous.values.TypeReference; import static org.zwobble.couscous.ast.VariableReferenceNode.reference; @@ -22,7 +21,7 @@ public class AssignmentNode implements ExpressionNode { } @Override - public TypeReference getType() { + public TypeName getType() { return value.getType(); } } diff --git a/src/main/java/org/zwobble/couscous/ast/ClassNode.java b/src/main/java/org/zwobble/couscous/ast/ClassNode.java index f1cbcc2..5f08d38 100644 --- a/src/main/java/org/zwobble/couscous/ast/ClassNode.java +++ b/src/main/java/org/zwobble/couscous/ast/ClassNode.java @@ -30,11 +30,11 @@ public class ClassNode implements Node { } public ClassNode build() { - return new ClassNode(ClassName.of(name), methods.build()); + return new ClassNode(TypeName.of(name), methods.build()); } } - ClassName name; + TypeName name; @Singular List<MethodNode> methods; diff --git a/src/main/java/org/zwobble/couscous/ast/ExpressionNode.java b/src/main/java/org/zwobble/couscous/ast/ExpressionNode.java index 297133d..5add277 100644 --- a/src/main/java/org/zwobble/couscous/ast/ExpressionNode.java +++ b/src/main/java/org/zwobble/couscous/ast/ExpressionNode.java @@ -2,10 +2,9 @@ package org.zwobble.couscous.ast; import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper; import org.zwobble.couscous.ast.visitors.NodeVisitor; -import org.zwobble.couscous.values.TypeReference; public interface ExpressionNode extends Node { - TypeReference getType(); + TypeName getType(); <T> T accept(ExpressionNodeMapper<T> visitor); @Override diff --git a/src/main/java/org/zwobble/couscous/ast/FormalArgumentNode.java b/src/main/java/org/zwobble/couscous/ast/FormalArgumentNode.java index 736322e..d1d521e 100644 --- a/src/main/java/org/zwobble/couscous/ast/FormalArgumentNode.java +++ b/src/main/java/org/zwobble/couscous/ast/FormalArgumentNode.java @@ -1,14 +1,12 @@ package org.zwobble.couscous.ast; -import org.zwobble.couscous.values.TypeReference; - import lombok.Value; @Value(staticConstructor="formalArg") public class FormalArgumentNode implements VariableNode { VariableDeclaration declaration; - public TypeReference getType() { + public TypeName getType() { return declaration.getType(); } diff --git a/src/main/java/org/zwobble/couscous/ast/LiteralNode.java b/src/main/java/org/zwobble/couscous/ast/LiteralNode.java index a608104..cd92291 100644 --- a/src/main/java/org/zwobble/couscous/ast/LiteralNode.java +++ b/src/main/java/org/zwobble/couscous/ast/LiteralNode.java @@ -5,7 +5,6 @@ import org.zwobble.couscous.values.BooleanValue; import org.zwobble.couscous.values.IntegerValue; import org.zwobble.couscous.values.PrimitiveValue; import org.zwobble.couscous.values.StringValue; -import org.zwobble.couscous.values.TypeReference; import static org.zwobble.couscous.values.PrimitiveValues.value; @@ -30,7 +29,7 @@ public class LiteralNode implements ExpressionNode { } PrimitiveValue value; - TypeReference type; + TypeName type; @Override public <T> T accept(ExpressionNodeMapper<T> visitor) { diff --git a/src/main/java/org/zwobble/couscous/ast/LocalVariableDeclarationNode.java b/src/main/java/org/zwobble/couscous/ast/LocalVariableDeclarationNode.java index 2b5c63a..66d06aa 100644 --- a/src/main/java/org/zwobble/couscous/ast/LocalVariableDeclarationNode.java +++ b/src/main/java/org/zwobble/couscous/ast/LocalVariableDeclarationNode.java @@ -1,7 +1,6 @@ package org.zwobble.couscous.ast; import org.zwobble.couscous.ast.visitors.StatementNodeMapper; -import org.zwobble.couscous.values.TypeReference; import static org.zwobble.couscous.ast.VariableDeclaration.var; @@ -12,7 +11,7 @@ public class LocalVariableDeclarationNode implements VariableNode, StatementNode public static LocalVariableDeclarationNode localVariableDeclaration( int id, String name, - TypeReference type, + TypeName type, ExpressionNode initialValue) { return localVariableDeclaration(var(id, name, type), initialValue); } diff --git a/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java b/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java index e1358c2..aa81c6c 100644 --- a/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java +++ b/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java @@ -3,7 +3,6 @@ package org.zwobble.couscous.ast; import java.util.List; import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper; -import org.zwobble.couscous.values.TypeReference; import lombok.Value; @@ -12,13 +11,13 @@ public class MethodCallNode implements ExpressionNode { ExpressionNode receiver; String methodName; List<ExpressionNode> arguments; - TypeReference type; + TypeName type; public static MethodCallNode methodCall( ExpressionNode receiver, String methodName, List<ExpressionNode> arguments, - TypeReference type) { + TypeName type) { return new MethodCallNode(receiver, methodName, arguments, type); } diff --git a/src/main/java/org/zwobble/couscous/ast/StaticMethodCallNode.java b/src/main/java/org/zwobble/couscous/ast/StaticMethodCallNode.java index 235566f..e0566cf 100644 --- a/src/main/java/org/zwobble/couscous/ast/StaticMethodCallNode.java +++ b/src/main/java/org/zwobble/couscous/ast/StaticMethodCallNode.java @@ -3,7 +3,6 @@ package org.zwobble.couscous.ast; import java.util.List; import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper; -import org.zwobble.couscous.values.TypeReference; import static java.util.Arrays.asList; @@ -16,10 +15,10 @@ public class StaticMethodCallNode implements ExpressionNode { } public static StaticMethodCallNode staticMethodCall(String className, String methodName, List<ExpressionNode> arguments) { - return staticMethodCall(ClassName.of(className), methodName, arguments); + return staticMethodCall(TypeName.of(className), methodName, arguments); } - ClassName className; + TypeName className; String methodName; List<ExpressionNode> arguments; @@ -29,7 +28,7 @@ public class StaticMethodCallNode implements ExpressionNode { } @Override - public TypeReference getType() { + public TypeName getType() { throw new UnsupportedOperationException(); } } diff --git a/src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java b/src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java index 99b5f60..a6ffad3 100644 --- a/src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java +++ b/src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java @@ -1,7 +1,6 @@ package org.zwobble.couscous.ast; import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper; -import org.zwobble.couscous.values.TypeReference; import lombok.Value; @@ -17,7 +16,7 @@ public class TernaryConditionalNode implements ExpressionNode { } @Override - public TypeReference getType() { + public TypeName getType() { return ifTrue.getType(); } } diff --git a/src/main/java/org/zwobble/couscous/ast/ClassName.java b/src/main/java/org/zwobble/couscous/ast/TypeName.java index 7358cf7..ce80f82 100644 --- a/src/main/java/org/zwobble/couscous/ast/ClassName.java +++ b/src/main/java/org/zwobble/couscous/ast/TypeName.java @@ -6,9 +6,9 @@ import lombok.Value; @Value @AllArgsConstructor(access=AccessLevel.PRIVATE) -public class ClassName { - public static ClassName of(String qualifiedName) { - return new ClassName( +public class TypeName { + public static TypeName of(String qualifiedName) { + return new TypeName( qualifiedName, qualifiedName.substring(qualifiedName.lastIndexOf(".") + 1)); } diff --git a/src/main/java/org/zwobble/couscous/ast/VariableDeclaration.java b/src/main/java/org/zwobble/couscous/ast/VariableDeclaration.java index 3a60412..009dea4 100644 --- a/src/main/java/org/zwobble/couscous/ast/VariableDeclaration.java +++ b/src/main/java/org/zwobble/couscous/ast/VariableDeclaration.java @@ -1,12 +1,10 @@ package org.zwobble.couscous.ast; -import org.zwobble.couscous.values.TypeReference; - import lombok.Value; @Value(staticConstructor="var") public class VariableDeclaration { int id; String name; - TypeReference type; + TypeName type; } diff --git a/src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java b/src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java index fe47a84..a07006e 100644 --- a/src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java +++ b/src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java @@ -1,7 +1,6 @@ package org.zwobble.couscous.ast; import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper; -import org.zwobble.couscous.values.TypeReference; import lombok.Value; @@ -23,7 +22,7 @@ public class VariableReferenceNode implements ExpressionNode { } @Override - public TypeReference getType() { + public TypeName getType() { return referent.getType(); } } |
