Made stub generator produce spaces rather than tabs.

This commit is contained in:
Alexander Gorshenev
2017-11-17 13:55:44 +03:00
committed by alexander-gorshenev
parent 6b71af0043
commit 779a926b94
@@ -112,39 +112,39 @@ fun Operation.generateKotlin(parent: Interface): String {
val wasmArgList = (parent.wasmReceiverArgs + args.map{it.wasmMapping()} + parent.wasmReturnArg()).joinToString(",") val wasmArgList = (parent.wasmReceiverArgs + args.map{it.wasmMapping()} + parent.wasmReturnArg()).joinToString(",")
// TODO: there can be multiple Rs. // TODO: there can be multiple Rs.
return "\tfun $kotlinTypeParameters $name(" + return " fun $kotlinTypeParameters $name(" +
argList + argList +
"): ${returnType.toKotlinType()} {\n" + "): ${returnType.toKotlinType()} {\n" +
"\t\t${if (returnType != Void) "val wasmRetVal = " else ""}${wasmFunctionName(name, parent.name)}($wasmArgList)\n" + " ${if (returnType != Void) "val wasmRetVal = " else ""}${wasmFunctionName(name, parent.name)}($wasmArgList)\n" +
"\t\treturn ${returnType.wasmReturnMapping("wasmRetVal")}\n"+ " return ${returnType.wasmReturnMapping("wasmRetVal")}\n"+
"\t}\n" " }\n"
} }
fun Attribute.generateKotlinSetter(parent: Interface): String { fun Attribute.generateKotlinSetter(parent: Interface): String {
val kotlinType = type.toKotlinType(name) val kotlinType = type.toKotlinType(name)
return "\t\tset(value: $kotlinType) {\n" + return " set(value: $kotlinType) {\n" +
"\t\t\t${wasmSetterName(name, parent.name)}(" + " ${wasmSetterName(name, parent.name)}(" +
(parent.wasmReceiverArgs + Arg("value", type).wasmMapping()).joinToString(", ") + (parent.wasmReceiverArgs + Arg("value", type).wasmMapping()).joinToString(", ") +
")\n" + ")\n" +
"\t\t}\n" " }\n"
} }
fun Attribute.generateKotlinGetter(parent: Interface): String { fun Attribute.generateKotlinGetter(parent: Interface): String {
//val kotlinType = type.toKotlinType() //val kotlinType = type.toKotlinType()
return "\t\tget() {\n" + return " get() {\n" +
"\t\t\tval wasmRetVal = ${wasmGetterName(name, parent.name)}(${(parent.wasmReceiverArgs + parent.wasmReturnArg()).joinToString(", ")})\n" + " val wasmRetVal = ${wasmGetterName(name, parent.name)}(${(parent.wasmReceiverArgs + parent.wasmReturnArg()).joinToString(", ")})\n" +
"\t\t\treturn ${type.wasmReturnMapping("wasmRetVal")}\n"+ " return ${type.wasmReturnMapping("wasmRetVal")}\n"+
"\t\t}\n" + " }\n" +
"\t\n" " \n"
} }
fun Attribute.generateKotlin(parent: Interface): String { fun Attribute.generateKotlin(parent: Interface): String {
val kotlinType = type.toKotlinType(name) val kotlinType = type.toKotlinType(name)
return "\tvar $name: $kotlinType\n" + return " var $name: $kotlinType\n" +
(if (hasGetter) generateKotlinGetter(parent) else "\t\tget() = error(\"There is no getter for $name\")\n") + (if (hasGetter) generateKotlinGetter(parent) else " get() = error(\"There is no getter for $name\")\n") +
(if (hasSetter) generateKotlinSetter(parent) else "\t\tset(_) = error(\"There is no setter for $name\")\n") (if (hasSetter) generateKotlinSetter(parent) else " set(_) = error(\"There is no setter for $name\")\n")
} }
val Interface.wasmTypedReceiverArgs get() = val Interface.wasmTypedReceiverArgs get() =
@@ -218,16 +218,16 @@ fun Interface.generateKotlinMembers() =
fun Interface.generateKotlinClassHeader() = fun Interface.generateKotlinClassHeader() =
"open class $name(arena: Int, index: Int): JsValue(arena, index) {\n" + "open class $name(arena: Int, index: Int): JsValue(arena, index) {\n" +
"\tconstructor(jsValue: JsValue): this(jsValue.arena, jsValue.index)\n" " constructor(jsValue: JsValue): this(jsValue.arena, jsValue.index)\n"
fun Interface.generateKotlinClassFooter() = fun Interface.generateKotlinClassFooter() =
"}\n" "}\n"
fun Interface.generateKotlinClassConverter() = fun Interface.generateKotlinClassConverter() =
"val JsValue.as$name: $name\n" + "val JsValue.as$name: $name\n" +
"\tget() {\n" + " get() {\n" +
"\t\treturn $name(this.arena, this.index)\n"+ " return $name(this.arena, this.index)\n"+
"\t}\n" " }\n"
fun Interface.generateKotlin(): String { fun Interface.generateKotlin(): String {
@@ -256,9 +256,9 @@ fun Arg.composeWasmArgs(): String {
is Void -> error("An arg can not be Void") is Void -> error("An arg can not be Void")
is Integer -> "" is Integer -> ""
is Floating -> "" is Floating -> ""
is idlString -> "\t\t$name = toUTF16String(${name}Ptr, ${name}Len);\n" is idlString -> " $name = toUTF16String(${name}Ptr, ${name}Len);\n"
is Object -> TODO("implement me") is Object -> TODO("implement me")
is Function -> "\t\t$name = konan_dependencies.env.Konan_js_wrapLambda(lambdaResultArena, ${name}Index);\n" is Function -> " $name = konan_dependencies.env.Konan_js_wrapLambda(lambdaResultArena, ${name}Index);\n"
is InterfaceRef -> TODO("Implement me") is InterfaceRef -> TODO("Implement me")
else -> error("Unexpected type") else -> error("Unexpected type")
@@ -274,11 +274,11 @@ fun Operation.generateJs(parent: Interface): String {
val argList = args.map { it.name }. joinToString(", ") val argList = args.map { it.name }. joinToString(", ")
val composedArgsList = args.map { it.composeWasmArgs() }. joinToString("") val composedArgsList = args.map { it.composeWasmArgs() }. joinToString("")
return "\n\t${wasmFunctionName(this.name, parent.name)}: function($wasmMapping) {\n" + return "\n ${wasmFunctionName(this.name, parent.name)}: function($wasmMapping) {\n" +
composedArgsList + composedArgsList +
"\t\tvar result = ${parent.receiver}$name($argList);\n" + " var result = ${parent.receiver}$name($argList);\n" +
(if (returnType == Void) "" else "\t\treturn toArena(resultArena, result);\n") + (if (returnType == Void) "" else " return toArena(resultArena, result);\n") +
"\t}" " }"
} }
val Interface.wasmReceiverArgName get() = val Interface.wasmReceiverArgName get() =
@@ -294,19 +294,19 @@ fun Attribute.generateJsSetter(parent: Interface): String {
val valueArg = Arg("value", type) val valueArg = Arg("value", type)
val allArgs = parent.wasmReceiverArgName + valueArg.wasmArgNames() val allArgs = parent.wasmReceiverArgName + valueArg.wasmArgNames()
val wasmMapping = allArgs.joinToString(", ") val wasmMapping = allArgs.joinToString(", ")
return "\n\t${wasmSetterName(name, parent.name)}: function($wasmMapping) {\n" + return "\n ${wasmSetterName(name, parent.name)}: function($wasmMapping) {\n" +
valueArg.composeWasmArgs() + valueArg.composeWasmArgs() +
"\t\t${parent.receiver}$name = value;\n" + " ${parent.receiver}$name = value;\n" +
"\t}" " }"
} }
fun Attribute.generateJsGetter(parent: Interface): String { fun Attribute.generateJsGetter(parent: Interface): String {
val allArgs = parent.wasmReceiverArgName + wasmReturnArgName val allArgs = parent.wasmReceiverArgName + wasmReturnArgName
val wasmMapping = allArgs.joinToString(", ") val wasmMapping = allArgs.joinToString(", ")
return "\n\t${wasmGetterName(name, parent.name)}: function($wasmMapping) {\n" + return "\n ${wasmGetterName(name, parent.name)}: function($wasmMapping) {\n" +
"\t\tvar result = ${parent.receiver}$name;\n" + " var result = ${parent.receiver}$name;\n" +
"\t\treturn toArena(resultArena, result);\n" + " return toArena(resultArena, result);\n" +
"\t}" " }"
} }
fun Attribute.generateJs(parent: Interface) = fun Attribute.generateJs(parent: Interface) =