Skip to content

Commit a9f11fc

Browse files
authored
Merge pull request #43 from vshcryabets/fix/kotlin-strings
Test with strings
2 parents ae6ec2d + 8239597 commit a9f11fc

41 files changed

Lines changed: 624 additions & 159 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.run/RunCodegenOnTest.run.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
<component name="ProjectRunConfigurationManager">
22
<configuration default="false" name="RunCodegenOnTest" type="Application" factoryName="Application">
3-
<option name="ALTERNATIVE_JRE_PATH" value="17" />
3+
<option name="ALTERNATIVE_JRE_PATH" value="corretto-17" />
44
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
55
<option name="MAIN_CLASS_NAME" value="ce.entrypoints.BuildProjectKt" />
66
<module name="codegen.cgen-console.main" />
77
<option name="PROGRAM_PARAMETERS" value="--project ./test/project.json" />
8-
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/" />
98
<method v="2">
109
<option name="Make" enabled="true" />
1110
</method>

.run/Uroborus.run.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
<component name="ProjectRunConfigurationManager">
22
<configuration default="false" name="Uroborus" type="Application" factoryName="Application">
33
<option name="ALTERNATIVE_JRE_PATH" value="17" />
4-
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
54
<option name="MAIN_CLASS_NAME" value="ce.entrypoints.BuildProjectKt" />
65
<module name="codegen.cgen-console.main" />
7-
<option name="PROGRAM_PARAMETERS" value="--project ./project.json" />
6+
<option name="PROGRAM_PARAMETERS" value="--project ./project.json --storeOutTree --storeInTree" />
87
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/cgen-lib/cgen/" />
98
<method v="2">
109
<option name="Make" enabled="true" />

cgen-console/src/main/kotlin/ce/entrypoints/BuildOutFiles.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import ce.defs.domain.DirsConfiguration
44
import ce.domain.usecase.load.LoadOutTreeUseCase
55
import ce.domain.usecase.load.LoadProjectUseCase
66
import ce.domain.usecase.load.LoadProjectUseCaseImpl
7+
import ce.formatters.PrepareCodeStyleTreeUseCaseImpl
78
import ce.repository.CodestyleRepoImpl
89
import ce.repository.GeneratorsRepo
910
import ce.repository.WrittersRepoImpl
@@ -32,7 +33,7 @@ fun main(args: Array<String>) {
3233
val generatorsRepo = GeneratorsRepo(project,
3334
codestylesRepo = codestylesRepo)
3435
val tree = loadOutputTreeUseCase(args[0])
35-
val codeStyleTree = generatorsRepo.get(tree.target).prepareCodeStyleTree(tree)
36+
val codeStyleTree = PrepareCodeStyleTreeUseCaseImpl(generatorsRepo.getFormatter(tree.target)).prepareCodeStyleTree(tree)
3637
val targetConfiguration = project.targets.firstOrNull { it.type == tree.target } ?:
3738
throw IllegalStateException("Can't find configuration for ${tree.target} in the project file ${args[1]}")
3839
writtersFactoryImpl.getWritter(targetConfiguration).write(codeStyleTree)

cgen-lib/src/main/kotlin/ce/defs/MetaEngine.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package ce.defs
2+
23
// Warning! This file is autogenerated.
3-
// Source file ..\..\..\..\..\..\cgen\enums.kts
4+
// Source file ../../../../../../cgen/enums.kts
45

56
enum class MetaEngine {
67
KTS,

cgen-lib/src/main/kotlin/ce/defs/Target.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package ce.defs
2+
23
// Warning! This file is autogenerated.
3-
// Source file ..\..\..\..\..\..\cgen\enums.kts
4+
// Source file ../../../../../../cgen/enums.kts
45

56
enum class Target(val rawValue: String) {
67
Other("other"),

cgen-lib/src/main/kotlin/ce/defs/TargetConfiguration.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package ce.defs
2+
23
// Warning! This file is autogenerated.
3-
// Source file ..\..\..\..\..\..\cgen\enums.kts
4+
// Source file ../../../../../../cgen/enums.kts
45

56
data class TargetConfiguration(
67
val outputFolder: String = "",

cgen-lib/src/main/kotlin/ce/defs/domain/DirsConfiguration.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package ce.defs.domain
2+
23
// Warning! This file is autogenerated.
3-
// Source file ..\..\..\..\..\..\..\cgen\dataclass.kts
4+
// Source file ../../../../../../../cgen/dataclass.kts
45

56
data class DirsConfiguration(
67
val workingDir: String = "",

cgen-lib/src/main/kotlin/ce/domain/usecase/entry/BuildCodeStyleTreeUseCase.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import ce.domain.usecase.load.LoadOutTreeUseCase
55
import ce.domain.usecase.load.LoadProjectUseCase
66
import ce.domain.usecase.store.StoreCodeStyleTreeUseCase
77
import ce.domain.usecase.transform.TransformOutTreeToCodeStyleTreeUseCase
8+
import ce.formatters.PrepareCodeStyleTreeUseCaseImpl
89
import ce.repository.CodestyleRepoImpl
910
import ce.repository.GeneratorsRepo
1011

@@ -22,7 +23,8 @@ class BuildCodeStyleTreeUseCase(
2223
val codeStyleRepo = CodestyleRepoImpl(project)
2324
val generatorsRepo = GeneratorsRepo(project, codeStyleRepo)
2425
val outTree = loadOutTreeUseCase(outTreeFile)
25-
val codeStyleTree = transformOutTreeToCodeStyleTreeUseCase(outTree, generatorsRepo.get(outTree.target))
26+
val codeStyleTree = transformOutTreeToCodeStyleTreeUseCase(outTree,
27+
PrepareCodeStyleTreeUseCaseImpl(generatorsRepo.getFormatter(outTree.target)))
2628
storeCodeStyleTreeUseCase(codeStyleTreeFile, codeStyleTree)
2729
}
2830
}

cgen-lib/src/main/kotlin/ce/domain/usecase/entry/BuildProjectUseCase.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import ce.domain.usecase.load.LoadProjectUseCase
66
import ce.domain.usecase.store.StoreAstTreeUseCase
77
import ce.domain.usecase.store.StoreOutTreeUseCase
88
import ce.domain.usecase.transform.TransformInTreeToOutTreeUseCase
9+
import ce.formatters.PrepareCodeStyleTreeUseCaseImpl
910
import ce.repository.CodestyleRepoImpl
1011
import ce.repository.GeneratorsRepo
1112
import ce.repository.ReportsRepoImpl
@@ -43,7 +44,10 @@ class BuildProjectUseCase(
4344
if (writeOutTree) {
4445
storeOutTreeUseCase(target.outputFolder + "output_tree_${target.type.name}.xml", outTree)
4546
}
46-
val codeStyleTree = generatorsRepo.get(outTree.target).prepareCodeStyleTree(outTree)
47+
val prepareCodeStyleTreeUseCase = PrepareCodeStyleTreeUseCaseImpl(
48+
codeFormatter = generatorsRepo.getFormatter(target.type)
49+
)
50+
val codeStyleTree = prepareCodeStyleTreeUseCase.prepareCodeStyleTree(outTree)
4751
writtersRepo.getWritter(target).write(codeStyleTree)
4852
}
4953
}
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package ce.domain.usecase.transform
22

3-
import generators.obj.MetaGenerator
3+
import ce.formatters.PrepareCodeStyleTreeUseCase
44
import generators.obj.out.CodeStyleOutputTree
55
import generators.obj.out.OutputTree
66

7+
@Deprecated("Please use PrepareCodeStyleTreeUseCase")
78
class TransformOutTreeToCodeStyleTreeUseCase {
8-
operator fun invoke(outTree: OutputTree, metaGenerator: MetaGenerator) : CodeStyleOutputTree {
9-
return metaGenerator.prepareCodeStyleTree(outTree)
9+
operator fun invoke(outTree: OutputTree,
10+
prepareCodeStyleTreeUseCase: PrepareCodeStyleTreeUseCase) : CodeStyleOutputTree {
11+
return prepareCodeStyleTreeUseCase.prepareCodeStyleTree(outTree)
1012
}
1113
}

0 commit comments

Comments
 (0)