From ed6f19c9cdd20c07a507364fcd18fdab4d4d0b34 Mon Sep 17 00:00:00 2001 From: Ankush Desai Date: Tue, 14 Nov 2023 12:01:26 -0800 Subject: [PATCH] Fixed an issue in the java generated code for deepclone of values (#680) --- .../CompilerCore/Backend/Java/JavaSourceGenerator.cs | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/Src/PCompiler/CompilerCore/Backend/Java/JavaSourceGenerator.cs b/Src/PCompiler/CompilerCore/Backend/Java/JavaSourceGenerator.cs index 3af2b83b0..16e591915 100644 --- a/Src/PCompiler/CompilerCore/Backend/Java/JavaSourceGenerator.cs +++ b/Src/PCompiler/CompilerCore/Backend/Java/JavaSourceGenerator.cs @@ -103,18 +103,11 @@ internal void WriteClone(TypeManager.JType t, Action writeTermToBeCloned) case TypeManager.JType.JMap _: case TypeManager.JType.JList _: case TypeManager.JType.JSet _: - Write($"{Constants.PrtDeepCloneMethodName}("); - writeTermToBeCloned(); - Write(")"); - break; - - /* JNamedTuples and foreign types extend prt.values.PValue, and thus have an explicit `.deepEquals()` - * method. (We could have just as easily passed these to the runtime's `deepClone` method, but this - * saves us a type dispatch). */ case TypeManager.JType.JForeign _: case TypeManager.JType.JNamedTuple _: + Write($"{Constants.PrtDeepCloneMethodName}("); writeTermToBeCloned(); - Write(".deepClone()"); + Write(")"); break; default: