[codegenerator][refactor] extract method for tramboline generation

This commit is contained in:
Vasily Levchenko
2021-06-07 13:17:44 +02:00
parent 0651f7de20
commit 79600f32d2
7 changed files with 22 additions and 41 deletions
@@ -169,21 +169,12 @@ class K2Native : CLICompiler<K2NativeCompilerArguments>() {
null
}
})
putIfNotNull(GENERATE_INLINED_FUNCTION_BODY_MARKER, when (val it = arguments.generateInlinedFunctionMarkerString) {
putIfNotNull(GENERATE_DEBUG_TRAMPOLINE, when (val it = arguments.generateDebugTrampolineString) {
"enable" -> true
"disable" -> false
null -> null
else -> {
configuration.report(ERROR, "Unsupported -Xg-generate-inline-function-body-marker= value: $it. Possible values are 'enable'/'disable'")
null
}
})
putIfNotNull(GENERATE_WHEN_MARKER, when (val it = arguments.generateWhenMarkerString) {
"enable" -> true
"disable" -> false
null -> null
else -> {
configuration.report(ERROR, "Unsupported -Xg-generate-when-marker= value: $it. Possible values are 'enable'/'disable'")
configuration.report(ERROR, "Unsupported -Xg-generate-debug-tramboline= value: $it. Possible values are 'enable'/'disable'")
null
}
})
@@ -166,17 +166,11 @@ class K2NativeCompilerArguments : CommonCompilerArguments() {
var lightDebugDeprecated: Boolean = false
@Argument(
value = "-Xg-generate-inline-function-body-marker",
value = "-Xg-generate-debug-trampoline",
valueDescription = "{disable|enable}",
description = """generates marker of inlined function body on call site to make debugger breakpoint resolution more accurate"""
description = """generates trampolines to make debugger breakpoint resolution more accurate (inlines, when, etc.)"""
)
var generateInlinedFunctionMarkerString: String? = null
@Argument(
value = "-Xg-generate-when-marker",
valueDescription = "{disable|enable}",
description = """generates marker of when to make debugger breakpoint resolution more accurate"""
)
var generateWhenMarkerString: String? = null
var generateDebugTrampolineString: String? = null
@Argument(