Adde emitters, paths are different when running from gradle or intellij, will fix later
This commit is contained in:
8 files changed
+23
-10
No files matched your search
+1
-1
@@ -32,7 +32,7 @@ object CommonLibsodiumGenerator {
|
||||
MultiplatformModifier.EXPECT,
|
||||
::createCommonMethodSpec
|
||||
)
|
||||
fileBuilder.addType(commonClassSpec)
|
||||
fileBuilder.addType(commonClassSpec.build())
|
||||
}
|
||||
val file = fileBuilder.build()
|
||||
file.writeTo(System.out)
|
||||
|
||||
+4
-4
@@ -18,13 +18,13 @@ object Coordinator {
|
||||
val nativeFileSpec = NativeLibsodiumGenerator.createNativeFile(packageName, LibSodiumDefinitions.testKotlinFile)
|
||||
val jsFileSpec = JsLibsodiumGenerator.createJsFile(packageName, LibSodiumDefinitions.testKotlinFile)
|
||||
|
||||
val commonFile = File("../multiplatform-crypto-libsodium-bindings/src/commonMain/kotlin/")
|
||||
val commonFile = File("multiplatform-crypto-libsodium-bindings/src/commonMain/kotlin/")
|
||||
commonFileSpec.writeTo(commonFile)
|
||||
val jvmFile = File("../multiplatform-crypto-libsodium-bindings/src/jvmMain/kotlin/")
|
||||
val jvmFile = File("multiplatform-crypto-libsodium-bindings/src/jvmMain/kotlin/")
|
||||
jvmFileSpec.writeTo(jvmFile)
|
||||
val nativeFile = File("../multiplatform-crypto-libsodium-bindings/src/nativeMain/kotlin/")
|
||||
val nativeFile = File("multiplatform-crypto-libsodium-bindings/src/nativeMain/kotlin/")
|
||||
nativeFileSpec.writeTo(nativeFile)
|
||||
val jsFile = File("../multiplatform-crypto-libsodium-bindings/src/jsMain/kotlin/")
|
||||
val jsFile = File("multiplatform-crypto-libsodium-bindings/src/jsMain/kotlin/")
|
||||
jsFileSpec.writeTo(jsFile)
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ object JsLibsodiumGenerator {
|
||||
MultiplatformModifier.ACTUAL,
|
||||
::createJsFunctionImplementation
|
||||
)
|
||||
fileBuilder.addType(commonClassSpec)
|
||||
fileBuilder.addType(commonClassSpec.build())
|
||||
}
|
||||
val file = fileBuilder.build()
|
||||
file.writeTo(System.out)
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ object JvmLibsodiumGenerator {
|
||||
MultiplatformModifier.ACTUAL,
|
||||
::createJvmFunctionImplementation
|
||||
)
|
||||
fileBuilder.addType(commonClassSpec)
|
||||
fileBuilder.addType(commonClassSpec.build())
|
||||
}
|
||||
val file = fileBuilder.build()
|
||||
file.writeTo(System.out)
|
||||
|
||||
+9
-1
@@ -18,6 +18,7 @@ object NativeLibsodiumGenerator {
|
||||
fileBuilder.addImport("kotlinx.cinterop", "ptr")
|
||||
fileBuilder.addImport("kotlinx.cinterop", "pin")
|
||||
fileBuilder.addImport("kotlinx.cinterop", "addressOf")
|
||||
|
||||
for (commonClassDefinition in fileDefinition.commonClassList) {
|
||||
//Create type-aliases
|
||||
commonClassDefinition.innerClasses.forEach {
|
||||
@@ -29,7 +30,14 @@ object NativeLibsodiumGenerator {
|
||||
MultiplatformModifier.ACTUAL,
|
||||
::createNativeFunctionImplementation
|
||||
)
|
||||
fileBuilder.addType(commonClassSpec)
|
||||
//Workarounds for native not emitting types
|
||||
val byteEmitter = PropertySpec.builder("_emitByte", Byte::class.asTypeName())
|
||||
byteEmitter.initializer(CodeBlock.of("0"))
|
||||
val byteArrayEmitter = PropertySpec.builder("_emitByteArray", Byte::class.asTypeName())
|
||||
byteArrayEmitter.initializer(CodeBlock.of("ByteArray(0) {}"))
|
||||
commonClassSpec.addProperty(byteEmitter.build())
|
||||
commonClassSpec.addProperty(byteArrayEmitter.build())
|
||||
fileBuilder.addType(commonClassSpec.build())
|
||||
}
|
||||
val file = fileBuilder.build()
|
||||
file.writeTo(System.out)
|
||||
|
||||
+2
-2
@@ -15,13 +15,13 @@ fun createClass(
|
||||
classDefinition: ClassDefinition,
|
||||
multiplatformModifier: MultiplatformModifier,
|
||||
methodCreator: (FunctionDefinition) -> FunSpec
|
||||
): TypeSpec {
|
||||
): TypeSpec.Builder {
|
||||
val commonClassBuilder = TypeSpec.classBuilder(classDefinition.name)
|
||||
commonClassBuilder.modifiers += multiplatformModifier.modifierList
|
||||
for (methodDefinition in classDefinition.methods) {
|
||||
commonClassBuilder.addFunction(methodCreator(methodDefinition))
|
||||
}
|
||||
return commonClassBuilder.build()
|
||||
return commonClassBuilder
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user