From 56470c01483077849dae33f65364bad987afac7a Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 6 Oct 2015 11:02:51 +0100 Subject: Combine type reference and class name into type name --- .../org/zwobble/couscous/backends/python/PrimitiveMethods.java | 10 +++++----- .../zwobble/couscous/backends/python/PythonCodeGenerator.java | 6 +++--- .../org/zwobble/couscous/backends/python/PythonCompiler.java | 8 ++++---- .../zwobble/couscous/backends/python/ast/PythonImportNode.java | 6 +++--- 4 files changed, 15 insertions(+), 15 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/backends/python') diff --git a/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java b/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java index 67f66ea..02db3b2 100644 --- a/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java +++ b/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java @@ -4,9 +4,9 @@ import java.util.List; import java.util.Map; import java.util.Optional; +import org.zwobble.couscous.ast.TypeName; import org.zwobble.couscous.backends.python.ast.PythonExpressionNode; import org.zwobble.couscous.values.StringValue; -import org.zwobble.couscous.values.TypeReference; import com.google.common.collect.ImmutableMap; @@ -29,16 +29,16 @@ public class PrimitiveMethods { .build(); - private static final Map> METHODS = - ImmutableMap.>builder() + private static final Map> METHODS = + ImmutableMap.>builder() .put(StringValue.REF, STRING_METHODS) .build(); - public static boolean isPrimitive(TypeReference type) { + public static boolean isPrimitive(TypeName type) { return METHODS.containsKey(type); } - public static Optional getPrimitiveMethod(TypeReference type, String methodName) { + public static Optional getPrimitiveMethod(TypeName type, String methodName) { return Optional.ofNullable(METHODS.get(type)) .flatMap(methodsForType -> Optional.ofNullable(methodsForType.get(methodName))); } diff --git a/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java b/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java index d0024de..1524be7 100644 --- a/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java +++ b/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java @@ -7,7 +7,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import org.zwobble.couscous.ast.AssignmentNode; -import org.zwobble.couscous.ast.ClassName; +import org.zwobble.couscous.ast.TypeName; import org.zwobble.couscous.ast.ClassNode; import org.zwobble.couscous.ast.ExpressionNode; import org.zwobble.couscous.ast.ExpressionStatementNode; @@ -83,8 +83,8 @@ public class PythonCodeGenerator { .map(name -> pythonImport(name)); } - private static Set findReferencedClasses(ClassNode classNode) { - val imports = ImmutableSet.builder(); + private static Set findReferencedClasses(ClassNode classNode) { + val imports = ImmutableSet.builder(); NodeVisitors.visitAll(classNode, new NodeVisitorWithEmptyDefaults() { @Override public void visit(StaticMethodCallNode staticMethodCall) { diff --git a/src/main/java/org/zwobble/couscous/backends/python/PythonCompiler.java b/src/main/java/org/zwobble/couscous/backends/python/PythonCompiler.java index 67e24cc..1fb9149 100644 --- a/src/main/java/org/zwobble/couscous/backends/python/PythonCompiler.java +++ b/src/main/java/org/zwobble/couscous/backends/python/PythonCompiler.java @@ -5,7 +5,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.List; -import org.zwobble.couscous.ast.ClassName; +import org.zwobble.couscous.ast.TypeName; import org.zwobble.couscous.ast.ClassNode; import static java.util.Arrays.asList; @@ -26,14 +26,14 @@ public class PythonCompiler { for (val classNode : classes) { compileClass(classNode); } - writeClass(ClassName.of("java.lang.Integer"), + writeClass(TypeName.of("java.lang.Integer"), "class Integer(object):\n" + " def parseInt(value):\n" + " return int(value)" ); } - private Path pathForClass(ClassName className) { + private Path pathForClass(TypeName className) { return root.resolve(className.getQualifiedName().replace(".", File.separator) + ".py"); } @@ -42,7 +42,7 @@ public class PythonCompiler { } @SneakyThrows - private void writeClass(ClassName name, String contents) { + private void writeClass(TypeName name, String contents) { val path = pathForClass(name); Files.createDirectories(path.getParent()); Files.write(path, asList(contents)); diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonImportNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonImportNode.java index d8b97ad..eb6f743 100644 --- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonImportNode.java +++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonImportNode.java @@ -1,6 +1,6 @@ package org.zwobble.couscous.backends.python.ast; -import org.zwobble.couscous.ast.ClassName; +import org.zwobble.couscous.ast.TypeName; import org.zwobble.couscous.backends.python.ast.visitors.PythonNodeVisitor; import lombok.Value; @@ -8,10 +8,10 @@ import lombok.Value; @Value(staticConstructor="pythonImport") public class PythonImportNode implements PythonStatementNode { public static PythonImportNode pythonImport(String name) { - return pythonImport(ClassName.of(name)); + return pythonImport(TypeName.of(name)); } - ClassName name; + TypeName name; @Override public void accept(PythonNodeVisitor visitor) { -- cgit v1.2.3