From f401241800c4aaedef5f1890f89f9f19edb59a1e Mon Sep 17 00:00:00 2001 From: Lars Reimann Date: Mon, 29 Aug 2022 17:32:20 +0200 Subject: [PATCH 1/2] fix(backend): rename modules after annotations are processed --- .../apiEditor/transformation/TransformationPlan.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/api-editor/backend/src/main/kotlin/com/larsreimann/apiEditor/transformation/TransformationPlan.kt b/api-editor/backend/src/main/kotlin/com/larsreimann/apiEditor/transformation/TransformationPlan.kt index ea1f2843a..895995c3f 100644 --- a/api-editor/backend/src/main/kotlin/com/larsreimann/apiEditor/transformation/TransformationPlan.kt +++ b/api-editor/backend/src/main/kotlin/com/larsreimann/apiEditor/transformation/TransformationPlan.kt @@ -6,18 +6,17 @@ import com.larsreimann.apiEditor.mutableModel.PythonPackage * Processes all annotations and updates the AST to create adapters. */ fun PythonPackage.transform(newPackageName: String = "new_package") { - preprocess(newPackageName) + preprocess() processAnnotations() - postprocess() + postprocess(newPackageName) } /** * Transformation steps that have to be run before annotations can be processed. */ -private fun PythonPackage.preprocess(newPackageName: String) { +private fun PythonPackage.preprocess() { removePrivateDeclarations() addOriginalDeclarations() - changeModulePrefix(newPackageName) replaceClassMethodsWithStaticMethods() updateParameterAssignment() normalizeNamesOfImplicitParameters() @@ -43,8 +42,9 @@ private fun PythonPackage.processAnnotations() { /** * Transformation steps that have to be run after annotations were processed. */ -private fun PythonPackage.postprocess() { +private fun PythonPackage.postprocess(newPackageName: String) { removeEmptyModules() + changeModulePrefix(newPackageName) reorderParameters() extractConstructors() createAttributesForParametersOfConstructor() From ce272232d204c394f62ebdd044cd0dfa862e6c97 Mon Sep 17 00:00:00 2001 From: Lars Reimann Date: Mon, 29 Aug 2022 17:42:05 +0200 Subject: [PATCH 2/2] test: update failing tests --- .../ConstructorPythonCodeGeneratorFullPipelineTest.kt | 6 +++--- .../codegen/FunctionPythonCodeGeneratorFullPipelineTest.kt | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/api-editor/backend/src/test/kotlin/com/larsreimann/apiEditor/codegen/ConstructorPythonCodeGeneratorFullPipelineTest.kt b/api-editor/backend/src/test/kotlin/com/larsreimann/apiEditor/codegen/ConstructorPythonCodeGeneratorFullPipelineTest.kt index fe471a5df..96a70c3eb 100644 --- a/api-editor/backend/src/test/kotlin/com/larsreimann/apiEditor/codegen/ConstructorPythonCodeGeneratorFullPipelineTest.kt +++ b/api-editor/backend/src/test/kotlin/com/larsreimann/apiEditor/codegen/ConstructorPythonCodeGeneratorFullPipelineTest.kt @@ -710,10 +710,10 @@ class ConstructorPythonCodeGeneratorFullPipelineTest { RenameAnnotation("renamedTestClass"), ) testClass.annotations.add( - MoveAnnotation("movedTestModule"), + MoveAnnotation("testModule.movedTestModule"), ) // when - testPackage.transform() + testPackage.transform("newTestModule") val moduleContent = testPackage.modules[0].toPythonCode() // then @@ -753,6 +753,6 @@ class ConstructorPythonCodeGeneratorFullPipelineTest { """.trimMargin() moduleContent shouldBe expectedModuleContent - testPackage.modules[0].name shouldBe "movedTestModule" + testPackage.modules[0].name shouldBe "newTestModule.movedTestModule" } } diff --git a/api-editor/backend/src/test/kotlin/com/larsreimann/apiEditor/codegen/FunctionPythonCodeGeneratorFullPipelineTest.kt b/api-editor/backend/src/test/kotlin/com/larsreimann/apiEditor/codegen/FunctionPythonCodeGeneratorFullPipelineTest.kt index 71eae4036..2ec8fa1d8 100644 --- a/api-editor/backend/src/test/kotlin/com/larsreimann/apiEditor/codegen/FunctionPythonCodeGeneratorFullPipelineTest.kt +++ b/api-editor/backend/src/test/kotlin/com/larsreimann/apiEditor/codegen/FunctionPythonCodeGeneratorFullPipelineTest.kt @@ -638,10 +638,10 @@ class FunctionPythonCodeGeneratorFullPipelineTest { ), ) testFunction.annotations.add( - MoveAnnotation("movedTestModule"), + MoveAnnotation("testModule.movedTestModule"), ) // when - testPackage.transform() + testPackage.transform("newTestModule") val moduleContent = testPackage.modules[0].toPythonCode() // then @@ -677,7 +677,7 @@ class FunctionPythonCodeGeneratorFullPipelineTest { """.trimMargin() moduleContent shouldBe expectedModuleContent - testPackage.modules[0].name shouldBe "movedTestModule" + testPackage.modules[0].name shouldBe "newTestModule.movedTestModule" } @Test