@@ -40,27 +40,27 @@ class Database(val environment: ProcessingEnvironment, element: TypeElement) {
40
40
41
41
fun generate () {
42
42
val typeSpec = TypeSpec .objectBuilder(migrationListClassName)
43
- .addProperties(generate_rules())
44
- .addFunction(generate_build())
45
- .addFunction(generate_buildScheme())
46
- .also {
47
- schemes.forEach { scheme -> it.addFunction(generate_buildSchemeInfo(scheme)) }
48
- }
43
+ .addProperties(generate_rules())
44
+ .addFunction(generate_build())
45
+ .addFunction(generate_buildScheme())
46
+ .also {
47
+ schemes.forEach { scheme -> it.addFunction(generate_buildSchemeInfo(scheme)) }
48
+ }
49
49
50
50
val fileSpec = FileSpec .builder(packageName, migrationListClassName.simpleName)
51
- .addType(typeSpec.build())
52
- .build()
51
+ .addType(typeSpec.build())
52
+ .build()
53
53
54
54
val fileName = " ${migrationListClassName.simpleName} .kt"
55
55
environment.filer.createResource(StandardLocation .SOURCE_OUTPUT , packageName, fileName)
56
- .openWriter()
57
- .use { fileSpec.writeTo(it) }
56
+ .openWriter()
57
+ .use { fileSpec.writeTo(it) }
58
58
}
59
59
60
60
private fun generate_rules () = rules.getProvidersFields().map {
61
61
PropertySpec .builder(it.name, it.type)
62
- .initializer(" %T()" , it.type)
63
- .build()
62
+ .initializer(" %T()" , it.type)
63
+ .build()
64
64
}
65
65
66
66
private fun generate_build (): FunSpec {
@@ -74,7 +74,7 @@ class Database(val environment: ProcessingEnvironment, element: TypeElement) {
74
74
75
75
private fun generate_buildScheme (): FunSpec {
76
76
val code = FunSpec .builder(" buildScheme" )
77
- .returns(Map ::class .parameterizedBy(Int ::class , SchemeInfo ::class ))
77
+ .returns(Map ::class .parameterizedBy(Int ::class , SchemeInfo ::class ))
78
78
79
79
val schemesMap = " schemesMap"
80
80
val schemesType = HashMap ::class .parameterizedBy(Int ::class , SchemeInfo ::class )
@@ -90,39 +90,39 @@ class Database(val environment: ProcessingEnvironment, element: TypeElement) {
90
90
return code.build()
91
91
}
92
92
93
- private fun generate_buildSchemeInfo (scheme : Scheme ): FunSpec {
94
- val code = FunSpec .builder(" buildSchemeInfo_${scheme.version} " )
95
- .addModifiers(KModifier .PRIVATE )
96
- .returns(SchemeInfo ::class )
93
+ private fun generate_buildSchemeInfo (scheme : Scheme ): FunSpec {
94
+ val code = FunSpec .builder(" buildSchemeInfo_${scheme.version} " )
95
+ .addModifiers(KModifier .PRIVATE )
96
+ .returns(SchemeInfo ::class )
97
97
98
- val tablesMap = " tables"
99
- val tablesType = HashMap ::class .parameterizedBy(String ::class , TableInfo ::class )
100
- code.addStatement(" val %L = %T()" , tablesMap, tablesType)
98
+ val tablesMap = " tables"
99
+ val tablesType = HashMap ::class .parameterizedBy(String ::class , TableInfo ::class )
100
+ code.addStatement(" val %L = %T()" , tablesMap, tablesType)
101
101
102
- val schemeInfo = " schemeInfo"
103
- code.addStatement(" val %L = %T(%L, %L)" , schemeInfo, SchemeInfo ::class , scheme.version, tablesMap)
102
+ val schemeInfo = " schemeInfo"
103
+ code.addStatement(" val %L = %T(%L, %L)" , schemeInfo, SchemeInfo ::class , scheme.version, tablesMap)
104
104
105
- code.addStatement(" " )
105
+ code.addStatement(" " )
106
106
107
- for (table in scheme.tables) {
108
- val tableInfo = " tableInfo_${table.name} "
109
- val indices = " indices_${table.name} "
107
+ for (table in scheme.tables) {
108
+ val tableInfo = " tableInfo_${table.name} "
109
+ val indices = " indices_${table.name} "
110
110
111
- val indicesType = HashMap ::class .parameterizedBy(String ::class , IndexInfo ::class )
112
- code.addStatement(" val %L = %T()" , indices, indicesType)
113
- code.addStatement(" " )
111
+ val indicesType = HashMap ::class .parameterizedBy(String ::class , IndexInfo ::class )
112
+ code.addStatement(" val %L = %T()" , indices, indicesType)
113
+ code.addStatement(" " )
114
114
115
- code.addStatement(" val %L = %T(%L, %S, %S, %L)" , tableInfo, TableInfo ::class , schemeInfo, table.name, table.createSql(), indices)
116
- code.addStatement(" %L.put(%S, %L)" , tablesMap, table.name, tableInfo)
117
- code.addStatement(" " )
115
+ code.addStatement(" val %L = %T(%L, %S, %S, %L)" , tableInfo, TableInfo ::class , schemeInfo, table.name, table.createSql(), indices)
116
+ code.addStatement(" %L.put(%S, %L)" , tablesMap, table.name, tableInfo)
117
+ code.addStatement(" " )
118
118
119
- for (index in table.indices) {
120
- code.addStatement(" %L.put(%S, %T(%L, %S, %S))" , indices, index.name, IndexInfo ::class , tableInfo, index.name, index.createSql(table.name))
121
- }
122
- }
119
+ for (index in table.indices) {
120
+ code.addStatement(" %L.put(%S, %T(%L, %S, %S))" , indices, index.name, IndexInfo ::class , tableInfo, index.name, index.createSql(table.name))
121
+ }
122
+ }
123
123
124
- code.addStatement(" return %L" , schemeInfo)
124
+ code.addStatement(" return %L" , schemeInfo)
125
125
126
- return code.build()
127
- }
126
+ return code.build()
127
+ }
128
128
}
0 commit comments