Commit fbbb2c63 authored by qq_38816927's avatar qq_38816927

调试功能

parent 3acd058f
...@@ -50,7 +50,7 @@ kotlin { ...@@ -50,7 +50,7 @@ kotlin {
// 禁用内联类可能有助于 NAPI // 禁用内联类可能有助于 NAPI
val main by compilations.getting val main by compilations.getting
main.compilerOptions.configure { main.compilerOptions.configure {
// freeCompilerArgs.add("-Xbinary=sanitizer=address") freeCompilerArgs.add("-Xbinary=sanitizer=address")
} }
//val resource by main.cinterops.creating { //val resource by main.cinterops.creating {
// defFile(file("src/ohosArm64Main/cinterop/resource.def")) // defFile(file("src/ohosArm64Main/cinterop/resource.def"))
...@@ -68,7 +68,7 @@ kotlin { ...@@ -68,7 +68,7 @@ kotlin {
} }
val main by compilations.getting val main by compilations.getting
main.compilerOptions.configure { main.compilerOptions.configure {
// freeCompilerArgs.add("-Xbinary=sanitizer=address") freeCompilerArgs.add("-Xbinary=sanitizer=address")
} }
// val resource by main.cinterops.creating { // val resource by main.cinterops.creating {
// defFile(file("src/ohosX64Main/cinterop/resource.def")) // defFile(file("src/ohosX64Main/cinterop/resource.def"))
......
...@@ -16,4 +16,22 @@ class MainActivity : ComponentActivity() { ...@@ -16,4 +16,22 @@ class MainActivity : ComponentActivity() {
App() App()
} }
} }
//测试普通断点
fun testCommonBreakpoint() {
val a: Int=1;//普通断点设置处
}
//测试条件断点
fun testIfBreakpoint() {
for (i in 1..10){
if (i==5){//条件断点设置处
println("条件断点命中进入")
}
}
}
} }
...@@ -9,7 +9,11 @@ import androidx.compose.ui.Modifier ...@@ -9,7 +9,11 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.dong.demo013.Log.HighLogDemo import com.dong.demo013.Log.HighLogDemo
import com.dong.demo013.debug.DebugStepIntoDemo
import com.dong.demo013.debug.DebugStepOutDemo
import com.dong.demo013.debug.DebugStepOverDemo
import com.dong.demo013.debug.DebugTestDemo import com.dong.demo013.debug.DebugTestDemo
import com.dong.demo013.debug.allBreakpoints
import com.dong.demo013.navigation.ComponentDemo import com.dong.demo013.navigation.ComponentDemo
import com.dong.demo013.navigation.ComposeGroup import com.dong.demo013.navigation.ComposeGroup
import com.dong.demo013.navigation.Page import com.dong.demo013.navigation.Page
...@@ -18,6 +22,9 @@ import com.dong.maxhap.demos.NativeFaultDemo ...@@ -18,6 +22,9 @@ import com.dong.maxhap.demos.NativeFaultDemo
@Composable @Composable
internal fun App() { internal fun App() {
LaunchedEffect(Unit){
allBreakpoints()
}
MaterialTheme { MaterialTheme {
// 使用 Page 类型的状态,修复类型推断报错 // 使用 Page 类型的状态,修复类型推断报错
var page by remember { mutableStateOf<Page>(Page.Home) } var page by remember { mutableStateOf<Page>(Page.Home) }
...@@ -48,7 +55,7 @@ internal fun HomeScreen( ...@@ -48,7 +55,7 @@ internal fun HomeScreen(
.padding(16.dp), .padding(16.dp),
verticalArrangement = Arrangement.spacedBy(16.dp) verticalArrangement = Arrangement.spacedBy(16.dp)
) { ) {
// 第一个模块:嵌套页面 // 第一个模块:debug页面
Card( Card(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
elevation = 8.dp, elevation = 8.dp,
...@@ -61,7 +68,7 @@ internal fun HomeScreen( ...@@ -61,7 +68,7 @@ internal fun HomeScreen(
) { ) {
// 日志测试按钮区域 // debug测试按钮区域
Column( Column(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
verticalArrangement = Arrangement.spacedBy(8.dp) verticalArrangement = Arrangement.spacedBy(8.dp)
...@@ -78,7 +85,65 @@ internal fun HomeScreen( ...@@ -78,7 +85,65 @@ internal fun HomeScreen(
}, },
modifier = Modifier.fillMaxWidth() modifier = Modifier.fillMaxWidth()
) { ) {
Text("进入断点测试-数据裂隙") Text("进入断点测试-数据类型")
}
}
Column(
modifier = Modifier.fillMaxWidth(),
verticalArrangement = Arrangement.spacedBy(8.dp)
) {
Text("单步调试")
Button(
onClick = {
val debugDataDemo = ComponentDemo(
id = "debug_stepover_demo",
title = "单步调试-步过",
group = ComposeGroup.Foundation
)
onSelect(debugDataDemo)
},
modifier = Modifier.fillMaxWidth()
) {
Text("进入单步调试-步过")
}
}
Column(
modifier = Modifier.fillMaxWidth(),
verticalArrangement = Arrangement.spacedBy(8.dp)
) {
Button(
onClick = {
val debugDataDemo = ComponentDemo(
id = "debug_stepinto_demo",
title = "单步调试-步进",
group = ComposeGroup.Foundation
)
onSelect(debugDataDemo)
},
modifier = Modifier.fillMaxWidth()
) {
Text("进入单步调试-步进")
}
}
Column(
modifier = Modifier.fillMaxWidth(),
verticalArrangement = Arrangement.spacedBy(8.dp)
) {
Button(
onClick = {
val debugDataDemo = ComponentDemo(
id = "debug_stepout_demo",
title = "单步调试-步出",
group = ComposeGroup.Foundation
)
onSelect(debugDataDemo)
},
modifier = Modifier.fillMaxWidth()
) {
Text("进入单步调试-步出")
} }
} }
...@@ -213,10 +278,19 @@ internal fun DemoScreen( ...@@ -213,10 +278,19 @@ internal fun DemoScreen(
"log_over_demo" -> { "log_over_demo" -> {
NativeFaultDemo() NativeFaultDemo()
} }
//debug调试 //调试
"debug_test_demo" -> { "debug_test_demo" -> {
DebugTestDemo() DebugTestDemo()
} }
"debug_stepover_demo" -> {
DebugStepOverDemo()
}
"debug_stepinto_demo" -> {
DebugStepIntoDemo()
}
"debug_stepout_demo" -> {
DebugStepOutDemo()
}
else -> { else -> {
Text( Text(
text = "暂未实现: ${demo.title}", text = "暂未实现: ${demo.title}",
......
...@@ -14,14 +14,13 @@ internal fun DebugTestDemo() { ...@@ -14,14 +14,13 @@ internal fun DebugTestDemo() {
verticalArrangement = Arrangement.spacedBy(16.dp) verticalArrangement = Arrangement.spacedBy(16.dp)
) { ) {
// 进入断点
Button( Button(
onClick = { onClick = {
getBreakPoint(); allBreakpoints()
}, },
) { ) {
Text("进入断点", color = Color.White) Text("断点测试", color = Color.White)
} }
Button( Button(
onClick = { onClick = {
...@@ -29,26 +28,95 @@ internal fun DebugTestDemo() { ...@@ -29,26 +28,95 @@ internal fun DebugTestDemo() {
}, },
) { ) {
Text("所有类型变量(打印+断点)", color = Color.White) Text("所有基础变量", color = Color.White)
}
Button(
onClick = {
complexObject();
},
) {
Text("复杂对象", color = Color.White)
}
Button(
onClick = {
print("打印console调试信息")
},
) {
Text("console信息打印)", color = Color.White)
} }
} }
} }
/******所有类型的断点*
* 普通断点
* 条件断点
* 普通变量
* 复杂对象
* ***/
fun getBreakPoint(){ fun allBreakpoints(){
print("debugInt:空"); getJsons()
//下面为断点处 testIfBreakpoint()
val debugInt: Int =1; testCommonBreakpoint()
print("debugInt:1"); complexObject()
testConditionalBreakpoint()
} }
/***变量类型**/
fun getJsons(){ fun getJsons(){
val allTypes= DebugAllTypesData (); // val allTypes= DebugAllTypesData ();
print("断点处(所有类型变量)") val str: String="文本"
print("开始打印所有类型变量") print("基础变量查看)")//断点基础变量查看
allTypes.printAllTypes(); }
print("打印所有类型变量结束")
//复杂对象
fun complexObject(){
val testObject=ComplexClass();
print(testObject) //断点复杂变量查看
}
/***断点类型**/
fun testCommonBreakpoint() {
val a: Int=1;
print("a=1");//普通断点设置处
val b: Int=2;
print("b=2");//普通断点禁用设置
val c: Int=3;
print("c=3");//普通断点设置处2
}
//测试条件断点
fun testIfBreakpoint() {
for (currentIndex in 1..10){
//条件断点 currentIndex==5
println("条件断点命中进入")//条件断点设置处
}
}
//表达式断点
fun testConditionalBreakpoint() {
//打印
var testConditionIndex: Int=1;
for (currentIndex in 1..100000){
if(currentIndex<5){
//正常只能看testConditionIndex+1 5次的
testConditionIndex=testConditionIndex+1;
//使用表达式可以观察1000次+1循环的数据
//在表达式窗口中输入testConditionIndex+1000
println("表达式断点命中进入")//表达式断点设置处
}
}
} }
\ No newline at end of file
...@@ -174,3 +174,20 @@ class DebugAllTypesData { ...@@ -174,3 +174,20 @@ class DebugAllTypesData {
unitFunction() unitFunction()
} }
} }
//复杂对象
class ComplexClass {
val complexClass1: ComplexClass1=ComplexClass1()
val name: String="第一层"
}
class ComplexClass1 {
val complexClass2: ComplexClass2=ComplexClass2()
val name: String="第二层"
}
class ComplexClass2 {
val name: String="第三层"
}
\ No newline at end of file
...@@ -6,86 +6,60 @@ import androidx.compose.runtime.* ...@@ -6,86 +6,60 @@ import androidx.compose.runtime.*
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
@Composable @Composable
internal fun DebugStepDemo() { internal fun DebugStepIntoDemo() {
Column( Column(
modifier = Modifier.fillMaxSize().padding(16.dp), modifier = Modifier.fillMaxSize().padding(16.dp),
verticalArrangement = Arrangement.spacedBy(16.dp) verticalArrangement = Arrangement.spacedBy(16.dp)
) { ) {
Text("调试步骤")
Text("测试包含3层方法")
Text("第一层:testGrandfather")
Text("第二层:testFather,被testGrandfather包含")
Text("第三层:testKid,被testFather包含")
Text("层级如下")
Text("fun testGrandfather(){\n" +
" fun testFather(){\n" +
" fun testKid(){\n" +
"\n" +
" }\n" +
" }\n" +
"}")
// 测试 // 测试
Button( Button(
onClick = { onClick = {
testIntoDebug()
},
) {
Text("step over-步过", color = Color.White)
} }
Button(
onClick = {
},
) { ) {
Text("step into-步进", color = Color.White) Text("触发断点", color = Color.White)
} }
Button( Text( "调试步骤\n" +
onClick = { "测试包含3层方法\n" +
"第一层:testIntoGrandfather\n" +
}, "第二层:testIntoFather,被testIntoGrandfather包含\n" +
"第三层:testIntoKid,被testIntoFather包含\n" +
) { "fun testIntoGrandfather(){\n"+
Text("step into-步出", color = Color.White) " fun testIntoFather(){ \n" +
} " fun testIntoKid(){\");\n" +
" 。 print(\"测试步进断点-结束\");" +
" }\n" +
" }\n" +
"}",
fontSize = 12.sp)
} }
} }
/****测试步过****/ /****测试步过****/
fun testOver(){ fun testIntoDebug(){
print("测试步过:跳过下列的方法,不进入testGrandfather") testIntoGrandfather()
} }
/***通用测试方法**/ /***通用测试方法**/
fun testGrandfather(){ fun testIntoGrandfather(){
print("进入testGrandfather"); testIntoFather();// 测试步进断点-开始
testFather();
print("离开testGrandfather");
} }
fun testFather(){ fun testIntoFather(){// 测试步进断点-进入方法
print("进入testFather"); testIntoKid();// 测试步进断点-结束
testKid()
print("离开testFather");
} }
fun testKid(){ fun testIntoKid(){
print("进入testKid"); print("测试步进断点-结束");// print("测试步进断点-结束");
print("离开testKid");
} }
fun testOverLevel2(){
}
\ No newline at end of file
package com.dong.demo013.debug
import androidx.compose.foundation.layout.*
import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
@Composable
internal fun DebugStepOutDemo() {
Column(
modifier = Modifier.fillMaxSize().padding(16.dp),
verticalArrangement = Arrangement.spacedBy(16.dp)
) {
// 测试
Button(
onClick = {
testOutDebug()
}
) {
Text("触发断点", color = Color.White)
}
Text( "调试步骤\n" +
"测试包含3层方法\n" +
"第一层:testOverGrandfather\n" +
"第二层:testOverFather,被testOverGrandfather包含\n" +
"第三层:testOverKid,被testOverFather包含\n" +
" //第一层内部\n" +
" fun testOverFather(){ //测试步出断点-结束 \n" +
" print(\"测试步出断点-开始\");//测试步出断点-开始\n" +
" //第二层内部\n" +
" fun testOverKid(){\n" +
" 。 //第三层内部\n" +
" }\n" +
" }\n" +
"}",
fontSize = 12.sp)
}
}
/****测试步出****/
fun testOutDebug(){
testOutGrandfather();
}
/***通用测试方法**/
private fun testOutGrandfather(){
testOutFather();//测试步出断点-结束
}
fun testOutFather(){
print("测试步出断点-开始");//测试步出断点-开始
testOutKid();
}
fun testOutKid(){
print("进入testOutKid");
print("离开testOutKid");
}
package com.dong.demo013.debug
import androidx.compose.foundation.layout.*
import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
@Composable
internal fun DebugStepOverDemo() {
Column(
modifier = Modifier.fillMaxSize().padding(16.dp),
verticalArrangement = Arrangement.spacedBy(16.dp)
) {
// 测试
Button(
onClick = {
testDebug()
}
) {
Text("触发断点", color = Color.White)
}
Text( "调试步骤\n" +
"testDebug()\n" +
" //不进入testOverGrandfather方法内部\n" +
" testOverGrandfather();//测试步过断点-开始\n" +
" print(\"测试步过断点-结束\");//测试步过断点-结束\n"+
"}",
fontSize = 8.sp)
}
}
/****测试步过****/
fun testDebug(){
//不进入testOverGrandfather方法内部
testOverGrandfather();//测试步过断点-开始
print("测试步过断点-结束");//测试步过断点-结束
}
/***通用测试方法**/
private fun testOverGrandfather(){
testOverFather();
}
fun testOverFather(){
testOverKid();
}
fun testOverKid(){
print("进入testOverKid");
print("离开testOverKid");
}
package com.dong.demo013.debug
/**
* 调试用深层数据:根为 10 个普通变量 + 10 个复杂对象;沿主路径嵌套 **>=10 层** [BranchLayer],
* 每一层 [BranchLayer] / [LeafLayer] 均含 **10 个普通字段 + 10 个复杂子对象**。
*
* 说明:若每层 10 个子树全部满深度展开,节点数为指数级,无法在源码/内存中构造。
* 此处采用「主轴 n0 逐级加深 + 同层 n1..n9 为已达最深规格的 [LeafLayer]」的写法,
* 在调试器里仍可展开到 >=10 层,且每层都能看到 10+10 字段。
*/
sealed class ComplexNode
/** 最底层复杂对象:仅普通变量,不再挂子树(视作该层 10 个「终端复杂对象」) */
data class TerminalComplex(
val i0: Int, val i1: Int, val i2: Int, val i3: Int, val i4: Int,
val i5: Int, val i6: Int, val i7: Int, val i8: Int, val i9: Int,
val s0: String, val s1: String, val s2: String, val s3: String, val s4: String,
val s5: String, val s6: String, val s7: String, val s8: String, val s9: String,
)
/** 第 11 层(索引 10):10 普通 + 10 个 [TerminalComplex] */
data class LeafLayer(
val p0: Int, val p1: Int, val p2: Int, val p3: Int, val p4: Int,
val p5: Int, val p6: Int, val p7: Int, val p8: Int, val p9: Int,
val q0: String, val q1: String, val q2: String, val q3: String, val q4: String,
val q5: String, val q6: String, val q7: String, val q8: String, val q9: String,
val t0: TerminalComplex,
val t1: TerminalComplex,
val t2: TerminalComplex,
val t3: TerminalComplex,
val t4: TerminalComplex,
val t5: TerminalComplex,
val t6: TerminalComplex,
val t7: TerminalComplex,
val t8: TerminalComplex,
val t9: TerminalComplex,
) : ComplexNode()
/** 第 0..9 层:10 普通 + 10 个 [ComplexNode] 子对象 */
data class BranchLayer(
val p0: Int, val p1: Int, val p2: Int, val p3: Int, val p4: Int,
val p5: Int, val p6: Int, val p7: Int, val p8: Int, val p9: Int,
val q0: String, val q1: String, val q2: String, val q3: String, val q4: String,
val q5: String, val q6: String, val q7: String, val q8: String, val q9: String,
val n0: ComplexNode,
val n1: ComplexNode,
val n2: ComplexNode,
val n3: ComplexNode,
val n4: ComplexNode,
val n5: ComplexNode,
val n6: ComplexNode,
val n7: ComplexNode,
val n8: ComplexNode,
val n9: ComplexNode,
) : ComplexNode()
/** 根:10 个普通变量 + 10 个复杂根对象(各自一棵深度 >=10 的子树) */
data class DebugTenLevelRoot(
val plainInt0: Int,
val plainInt1: Int,
val plainInt2: Int,
val plainInt3: Int,
val plainInt4: Int,
val plainInt5: Int,
val plainInt6: Int,
val plainInt7: Int,
val plainInt8: Int,
val plainInt9: Int,
val plainStr0: String,
val plainStr1: String,
val plainStr2: String,
val plainStr3: String,
val plainStr4: String,
val plainStr5: String,
val plainStr6: String,
val plainStr7: String,
val plainStr8: String,
val plainStr9: String,
val complex0: ComplexNode,
val complex1: ComplexNode,
val complex2: ComplexNode,
val complex3: ComplexNode,
val complex4: ComplexNode,
val complex5: ComplexNode,
val complex6: ComplexNode,
val complex7: ComplexNode,
val complex8: ComplexNode,
val complex9: ComplexNode,
)
object DebugTenLevelData {
/** 供断点观察的完整样本 */
val sample: DebugTenLevelRoot = buildDebugTenLevelRoot()
/**
* 打印示例(控制台 / Logcat):
* ```
* DebugTenLevelData.printSampleExampleToConsole()
* ```
* 也可直接 `println(DebugTenLevelData.sample)`(整棵 data class 字符串会非常长)。
*/
fun printSampleExampleToConsole() {
val root = sample
println("--- DebugTenLevelRoot 普通变量 ---")
println("plainInt0=${root.plainInt0} .. plainInt9=${root.plainInt9}")
println("plainStr0=${root.plainStr0} .. plainStr9=${root.plainStr9}")
println("--- 主轴 complex0 -> n0 -> n0 ... -> LeafLayer(每层只跟 n0)---")
printNodeChain(root.complex0, depthLabel = 0)
println("--- 任一叶上终端对象示例 complex0...Leaf.t0 ---")
println(leafTerminalPreview(root.complex0))
}
fun buildDebugTenLevelRoot(): DebugTenLevelRoot = DebugTenLevelRoot(
plainInt0 = 1000, plainInt1 = 1001, plainInt2 = 1002, plainInt3 = 1003, plainInt4 = 1004,
plainInt5 = 1005, plainInt6 = 1006, plainInt7 = 1007, plainInt8 = 1008, plainInt9 = 1009,
plainStr0 = "r0", plainStr1 = "r1", plainStr2 = "r2", plainStr3 = "r3", plainStr4 = "r4",
plainStr5 = "r5", plainStr6 = "r6", plainStr7 = "r7", plainStr8 = "r8", plainStr9 = "r9",
complex0 = branchLayer(depth = 0, treeSeed = 0),
complex1 = branchLayer(depth = 0, treeSeed = 1),
complex2 = branchLayer(depth = 0, treeSeed = 2),
complex3 = branchLayer(depth = 0, treeSeed = 3),
complex4 = branchLayer(depth = 0, treeSeed = 4),
complex5 = branchLayer(depth = 0, treeSeed = 5),
complex6 = branchLayer(depth = 0, treeSeed = 6),
complex7 = branchLayer(depth = 0, treeSeed = 7),
complex8 = branchLayer(depth = 0, treeSeed = 8),
complex9 = branchLayer(depth = 0, treeSeed = 9),
)
}
private fun printNodeChain(node: ComplexNode, depthLabel: Int) {
val pad = " ".repeat(depthLabel)
when (node) {
is BranchLayer -> {
println("${pad}[$depthLabel] BranchLayer p0=${node.p0} q0=${node.q0} | n1..n9 -> LeafLayer(略)")
printNodeChain(node.n0, depthLabel + 1)
}
is LeafLayer -> {
println("${pad}[$depthLabel] LeafLayer p0=${node.p0} q0=${node.q0}")
println("${pad} t0: i0=${node.t0.i0} s0=${node.t0.s0} | t1.i0=${node.t1.i0} ...")
}
}
}
private fun leafTerminalPreview(node: ComplexNode): String {
var cur: ComplexNode = node
while (cur is BranchLayer) {
cur = cur.n0
}
return when (cur) {
is LeafLayer -> "Leaf.t0 = TerminalComplex(i0=${cur.t0.i0}, s0=${cur.t0.s0})"
else -> cur.toString()
}
}
private const val MAX_BRANCH_DEPTH = 9
private fun branchLayer(depth: Int, treeSeed: Int): ComplexNode {
if (depth > MAX_BRANCH_DEPTH) {
return leafLayer(depth = depth, treeSeed = treeSeed)
}
val base = treeSeed * 10_000 + depth * 100
val p = Array(10) { idx -> base + idx }
val q = Array(10) { idx -> "L${depth}_s${treeSeed}_$idx" }
val deeper = branchLayer(depth = depth + 1, treeSeed = treeSeed)
return BranchLayer(
p0 = p[0], p1 = p[1], p2 = p[2], p3 = p[3], p4 = p[4],
p5 = p[5], p6 = p[6], p7 = p[7], p8 = p[8], p9 = p[9],
q0 = q[0], q1 = q[1], q2 = q[2], q3 = q[3], q4 = q[4],
q5 = q[5], q6 = q[6], q7 = q[7], q8 = q[8], q9 = q[9],
n0 = deeper,
n1 = leafLayer(depth = MAX_BRANCH_DEPTH + 1, treeSeed = treeSeed * 10 + 1),
n2 = leafLayer(depth = MAX_BRANCH_DEPTH + 1, treeSeed = treeSeed * 10 + 2),
n3 = leafLayer(depth = MAX_BRANCH_DEPTH + 1, treeSeed = treeSeed * 10 + 3),
n4 = leafLayer(depth = MAX_BRANCH_DEPTH + 1, treeSeed = treeSeed * 10 + 4),
n5 = leafLayer(depth = MAX_BRANCH_DEPTH + 1, treeSeed = treeSeed * 10 + 5),
n6 = leafLayer(depth = MAX_BRANCH_DEPTH + 1, treeSeed = treeSeed * 10 + 6),
n7 = leafLayer(depth = MAX_BRANCH_DEPTH + 1, treeSeed = treeSeed * 10 + 7),
n8 = leafLayer(depth = MAX_BRANCH_DEPTH + 1, treeSeed = treeSeed * 10 + 8),
n9 = leafLayer(depth = MAX_BRANCH_DEPTH + 1, treeSeed = treeSeed * 10 + 9),
)
}
private fun leafLayer(depth: Int, treeSeed: Int): LeafLayer {
val base = treeSeed * 1_000 + depth * 50
val p = Array(10) { idx -> base + idx }
val q = Array(10) { idx -> "leaf_d${depth}_t${treeSeed}_$idx" }
return LeafLayer(
p0 = p[0], p1 = p[1], p2 = p[2], p3 = p[3], p4 = p[4],
p5 = p[5], p6 = p[6], p7 = p[7], p8 = p[8], p9 = p[9],
q0 = q[0], q1 = q[1], q2 = q[2], q3 = q[3], q4 = q[4],
q5 = q[5], q6 = q[6], q7 = q[7], q8 = q[8], q9 = q[9],
t0 = terminalComplex(treeSeed * 100 + 0),
t1 = terminalComplex(treeSeed * 100 + 1),
t2 = terminalComplex(treeSeed * 100 + 2),
t3 = terminalComplex(treeSeed * 100 + 3),
t4 = terminalComplex(treeSeed * 100 + 4),
t5 = terminalComplex(treeSeed * 100 + 5),
t6 = terminalComplex(treeSeed * 100 + 6),
t7 = terminalComplex(treeSeed * 100 + 7),
t8 = terminalComplex(treeSeed * 100 + 8),
t9 = terminalComplex(treeSeed * 100 + 9),
)
}
private fun terminalComplex(seed: Int): TerminalComplex {
val b = seed * 11
return TerminalComplex(
i0 = b, i1 = b + 1, i2 = b + 2, i3 = b + 3, i4 = b + 4,
i5 = b + 5, i6 = b + 6, i7 = b + 7, i8 = b + 8, i9 = b + 9,
s0 = "tc_${seed}_0", s1 = "tc_${seed}_1", s2 = "tc_${seed}_2", s3 = "tc_${seed}_3", s4 = "tc_${seed}_4",
s5 = "tc_${seed}_5", s6 = "tc_${seed}_6", s7 = "tc_${seed}_7", s8 = "tc_${seed}_8", s9 = "tc_${seed}_9",
)
}
// 使用示例:var xx = DebugTenLevelData.sample
// 若不需要改引用,更推荐:val xx = DebugTenLevelData.sample
package com.dong.demo013 package com.dong.demo013
import androidx.compose.ui.window.ComposeArkUIViewController import androidx.compose.ui.window.ComposeArkUIViewController
import com.dong.demo013.debug.DebugAllTypesData
import com.dong.demo013.debug.allBreakpoints
import kotlinx.cinterop.ExperimentalForeignApi import kotlinx.cinterop.ExperimentalForeignApi
import kotlinx.coroutines.initMainHandler import kotlinx.coroutines.initMainHandler
import platform.ohos.napi_env import platform.ohos.napi_env
...@@ -15,3 +17,8 @@ fun MainArkUIViewController(env: napi_env): napi_value { ...@@ -15,3 +17,8 @@ fun MainArkUIViewController(env: napi_env): napi_value {
App() App()
} }
} }
package com.dong.demo013 package com.dong.demo013
import androidx.compose.ui.window.ComposeArkUIViewController import androidx.compose.ui.window.ComposeArkUIViewController
import com.dong.demo013.debug.allBreakpoints
import kotlinx.cinterop.ExperimentalForeignApi import kotlinx.cinterop.ExperimentalForeignApi
import kotlinx.coroutines.initMainHandler import kotlinx.coroutines.initMainHandler
import platform.ohos.napi_env import platform.ohos.napi_env
...@@ -13,5 +14,6 @@ fun MainArkUIViewController(env: napi_env): napi_value { ...@@ -13,5 +14,6 @@ fun MainArkUIViewController(env: napi_env): napi_value {
initMainHandler(env) initMainHandler(env)
return ComposeArkUIViewController(env) { return ComposeArkUIViewController(env) {
App() App()
} }
} }
{ {
"app": { "app": {
"signingConfigs": [
{
"name": "default",
"type": "HarmonyOS",
"material": {
"certpath": "/Users/dongsq/.ohos/config/default_harmonyApp_GthGxfoFAEmCFfCK6Yj5azdigDZk5Ro7gO2DpXptcpU=.cer",
"keyAlias": "debugKey",
"keyPassword": "0000001ACF94E8199DC5062321EC905F3A254531A9FC40398EB3B3D17C32799CFC8CA6217DBAA5C0AF5B",
"profile": "/Users/dongsq/.ohos/config/default_harmonyApp_GthGxfoFAEmCFfCK6Yj5azdigDZk5Ro7gO2DpXptcpU=.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "/Users/dongsq/.ohos/config/default_harmonyApp_GthGxfoFAEmCFfCK6Yj5azdigDZk5Ro7gO2DpXptcpU=.p12",
"storePassword": "0000001A8317BE0A5EB151014338C7A12BD97954BED4ABD53239B70B94F41430F857A19AD42FBD70C7F7"
}
}
],
"products": [ "products": [
{ {
"name": "default", "name": "default",
...@@ -33,11 +18,26 @@ ...@@ -33,11 +18,26 @@
], ],
"buildModeSet": [ "buildModeSet": [
{ {
"name": "debug", "name": "debug"
}, },
{ {
"name": "release" "name": "release"
} }
],
"signingConfigs": [
{
"name": "default",
"type": "HarmonyOS",
"material": {
"certpath": "/Users/dongsq/.ohos/config/default_harmonyApp_GthGxfoFAEmCFfCK6Yj5azdigDZk5Ro7gO2DpXptcpU=.cer",
"keyAlias": "debugKey",
"keyPassword": "0000001BA8394766FB6938245FCF0B425C82CB0EB0B88650F52B26CCA027C3A0D90A39D41696DF08A3950D",
"profile": "/Users/dongsq/.ohos/config/default_harmonyApp_GthGxfoFAEmCFfCK6Yj5azdigDZk5Ro7gO2DpXptcpU=.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "/Users/dongsq/.ohos/config/default_harmonyApp_GthGxfoFAEmCFfCK6Yj5azdigDZk5Ro7gO2DpXptcpU=.p12",
"storePassword": "0000001B9FB9FACFD67106949BAB6E7930858A89437B4C903F5E512C4068CFA080F2FA2237FA273323D288"
}
}
] ]
}, },
"modules": [ "modules": [
......
...@@ -99,6 +99,33 @@ typedef struct { ...@@ -99,6 +99,33 @@ typedef struct {
typedef struct { typedef struct {
libkn_KNativePtr pinned; libkn_KNativePtr pinned;
} libkn_kref_kotlin_ShortArray; } libkn_kref_kotlin_ShortArray;
typedef struct {
libkn_KNativePtr pinned;
} libkn_kref_com_dong_demo013_debug_ComplexClass;
typedef struct {
libkn_KNativePtr pinned;
} libkn_kref_com_dong_demo013_debug_ComplexClass1;
typedef struct {
libkn_KNativePtr pinned;
} libkn_kref_com_dong_demo013_debug_ComplexClass2;
typedef struct {
libkn_KNativePtr pinned;
} libkn_kref_com_dong_demo013_debug_ComplexNode;
typedef struct {
libkn_KNativePtr pinned;
} libkn_kref_com_dong_demo013_debug_TerminalComplex;
typedef struct {
libkn_KNativePtr pinned;
} libkn_kref_com_dong_demo013_debug_LeafLayer;
typedef struct {
libkn_KNativePtr pinned;
} libkn_kref_com_dong_demo013_debug_BranchLayer;
typedef struct {
libkn_KNativePtr pinned;
} libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot;
typedef struct {
libkn_KNativePtr pinned;
} libkn_kref_com_dong_demo013_debug_DebugTenLevelData;
typedef struct { typedef struct {
libkn_KNativePtr pinned; libkn_KNativePtr pinned;
} libkn_kref_com_dong_demo013_navigation_ComposeGroup; } libkn_kref_com_dong_demo013_navigation_ComposeGroup;
...@@ -327,16 +354,362 @@ typedef struct { ...@@ -327,16 +354,362 @@ typedef struct {
void (*printAllTypes)(libkn_kref_com_dong_demo013_debug_DebugAllTypesData thiz); void (*printAllTypes)(libkn_kref_com_dong_demo013_debug_DebugAllTypesData thiz);
void (*unitFunction)(libkn_kref_com_dong_demo013_debug_DebugAllTypesData thiz); void (*unitFunction)(libkn_kref_com_dong_demo013_debug_DebugAllTypesData thiz);
} DebugAllTypesData; } DebugAllTypesData;
struct {
libkn_KType* (*_type)(void);
libkn_kref_com_dong_demo013_debug_ComplexClass (*ComplexClass)();
libkn_kref_com_dong_demo013_debug_ComplexClass1 (*get_complexClass1)(libkn_kref_com_dong_demo013_debug_ComplexClass thiz);
const char* (*get_name)(libkn_kref_com_dong_demo013_debug_ComplexClass thiz);
} ComplexClass;
struct {
libkn_KType* (*_type)(void);
libkn_kref_com_dong_demo013_debug_ComplexClass1 (*ComplexClass1)();
libkn_kref_com_dong_demo013_debug_ComplexClass2 (*get_complexClass2)(libkn_kref_com_dong_demo013_debug_ComplexClass1 thiz);
const char* (*get_name)(libkn_kref_com_dong_demo013_debug_ComplexClass1 thiz);
} ComplexClass1;
struct {
libkn_KType* (*_type)(void);
libkn_kref_com_dong_demo013_debug_ComplexClass2 (*ComplexClass2)();
const char* (*get_name)(libkn_kref_com_dong_demo013_debug_ComplexClass2 thiz);
} ComplexClass2;
struct {
libkn_KType* (*_type)(void);
libkn_kref_com_dong_demo013_debug_ComplexNode (*ComplexNode)();
} ComplexNode;
struct {
libkn_KType* (*_type)(void);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*TerminalComplex)(libkn_KInt i0, libkn_KInt i1, libkn_KInt i2, libkn_KInt i3, libkn_KInt i4, libkn_KInt i5, libkn_KInt i6, libkn_KInt i7, libkn_KInt i8, libkn_KInt i9, const char* s0, const char* s1, const char* s2, const char* s3, const char* s4, const char* s5, const char* s6, const char* s7, const char* s8, const char* s9);
libkn_KInt (*get_i0)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*get_i1)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*get_i2)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*get_i3)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*get_i4)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*get_i5)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*get_i6)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*get_i7)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*get_i8)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*get_i9)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*get_s0)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*get_s1)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*get_s2)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*get_s3)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*get_s4)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*get_s5)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*get_s6)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*get_s7)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*get_s8)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*get_s9)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*component1)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*component10)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*component11)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*component12)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*component13)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*component14)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*component15)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*component16)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*component17)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*component18)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*component19)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*component2)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*component20)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*component3)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*component4)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*component5)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*component6)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*component7)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*component8)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_KInt (*component9)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*copy)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz, libkn_KInt i0, libkn_KInt i1, libkn_KInt i2, libkn_KInt i3, libkn_KInt i4, libkn_KInt i5, libkn_KInt i6, libkn_KInt i7, libkn_KInt i8, libkn_KInt i9, const char* s0, const char* s1, const char* s2, const char* s3, const char* s4, const char* s5, const char* s6, const char* s7, const char* s8, const char* s9);
libkn_KBoolean (*equals)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz, libkn_kref_kotlin_Any other);
libkn_KInt (*hashCode)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
const char* (*toString)(libkn_kref_com_dong_demo013_debug_TerminalComplex thiz);
} TerminalComplex;
struct {
libkn_KType* (*_type)(void);
libkn_kref_com_dong_demo013_debug_LeafLayer (*LeafLayer)(libkn_KInt p0, libkn_KInt p1, libkn_KInt p2, libkn_KInt p3, libkn_KInt p4, libkn_KInt p5, libkn_KInt p6, libkn_KInt p7, libkn_KInt p8, libkn_KInt p9, const char* q0, const char* q1, const char* q2, const char* q3, const char* q4, const char* q5, const char* q6, const char* q7, const char* q8, const char* q9, libkn_kref_com_dong_demo013_debug_TerminalComplex t0, libkn_kref_com_dong_demo013_debug_TerminalComplex t1, libkn_kref_com_dong_demo013_debug_TerminalComplex t2, libkn_kref_com_dong_demo013_debug_TerminalComplex t3, libkn_kref_com_dong_demo013_debug_TerminalComplex t4, libkn_kref_com_dong_demo013_debug_TerminalComplex t5, libkn_kref_com_dong_demo013_debug_TerminalComplex t6, libkn_kref_com_dong_demo013_debug_TerminalComplex t7, libkn_kref_com_dong_demo013_debug_TerminalComplex t8, libkn_kref_com_dong_demo013_debug_TerminalComplex t9);
libkn_KInt (*get_p0)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*get_p1)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*get_p2)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*get_p3)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*get_p4)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*get_p5)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*get_p6)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*get_p7)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*get_p8)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*get_p9)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*get_q0)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*get_q1)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*get_q2)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*get_q3)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*get_q4)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*get_q5)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*get_q6)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*get_q7)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*get_q8)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*get_q9)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*get_t0)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*get_t1)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*get_t2)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*get_t3)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*get_t4)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*get_t5)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*get_t6)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*get_t7)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*get_t8)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*get_t9)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*component1)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*component10)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*component11)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*component12)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*component13)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*component14)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*component15)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*component16)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*component17)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*component18)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*component19)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*component2)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*component20)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*component21)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*component22)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*component23)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*component24)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*component25)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*component26)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*component27)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*component28)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*component29)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*component3)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_TerminalComplex (*component30)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*component4)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*component5)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*component6)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*component7)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*component8)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_KInt (*component9)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
libkn_kref_com_dong_demo013_debug_LeafLayer (*copy)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz, libkn_KInt p0, libkn_KInt p1, libkn_KInt p2, libkn_KInt p3, libkn_KInt p4, libkn_KInt p5, libkn_KInt p6, libkn_KInt p7, libkn_KInt p8, libkn_KInt p9, const char* q0, const char* q1, const char* q2, const char* q3, const char* q4, const char* q5, const char* q6, const char* q7, const char* q8, const char* q9, libkn_kref_com_dong_demo013_debug_TerminalComplex t0, libkn_kref_com_dong_demo013_debug_TerminalComplex t1, libkn_kref_com_dong_demo013_debug_TerminalComplex t2, libkn_kref_com_dong_demo013_debug_TerminalComplex t3, libkn_kref_com_dong_demo013_debug_TerminalComplex t4, libkn_kref_com_dong_demo013_debug_TerminalComplex t5, libkn_kref_com_dong_demo013_debug_TerminalComplex t6, libkn_kref_com_dong_demo013_debug_TerminalComplex t7, libkn_kref_com_dong_demo013_debug_TerminalComplex t8, libkn_kref_com_dong_demo013_debug_TerminalComplex t9);
libkn_KBoolean (*equals)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz, libkn_kref_kotlin_Any other);
libkn_KInt (*hashCode)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
const char* (*toString)(libkn_kref_com_dong_demo013_debug_LeafLayer thiz);
} LeafLayer;
struct {
libkn_KType* (*_type)(void);
libkn_kref_com_dong_demo013_debug_BranchLayer (*BranchLayer)(libkn_KInt p0, libkn_KInt p1, libkn_KInt p2, libkn_KInt p3, libkn_KInt p4, libkn_KInt p5, libkn_KInt p6, libkn_KInt p7, libkn_KInt p8, libkn_KInt p9, const char* q0, const char* q1, const char* q2, const char* q3, const char* q4, const char* q5, const char* q6, const char* q7, const char* q8, const char* q9, libkn_kref_com_dong_demo013_debug_ComplexNode n0, libkn_kref_com_dong_demo013_debug_ComplexNode n1, libkn_kref_com_dong_demo013_debug_ComplexNode n2, libkn_kref_com_dong_demo013_debug_ComplexNode n3, libkn_kref_com_dong_demo013_debug_ComplexNode n4, libkn_kref_com_dong_demo013_debug_ComplexNode n5, libkn_kref_com_dong_demo013_debug_ComplexNode n6, libkn_kref_com_dong_demo013_debug_ComplexNode n7, libkn_kref_com_dong_demo013_debug_ComplexNode n8, libkn_kref_com_dong_demo013_debug_ComplexNode n9);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_n0)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_n1)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_n2)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_n3)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_n4)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_n5)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_n6)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_n7)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_n8)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_n9)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*get_p0)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*get_p1)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*get_p2)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*get_p3)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*get_p4)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*get_p5)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*get_p6)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*get_p7)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*get_p8)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*get_p9)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*get_q0)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*get_q1)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*get_q2)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*get_q3)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*get_q4)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*get_q5)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*get_q6)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*get_q7)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*get_q8)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*get_q9)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*component1)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*component10)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*component11)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*component12)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*component13)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*component14)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*component15)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*component16)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*component17)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*component18)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*component19)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*component2)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*component20)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component21)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component22)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component23)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component24)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component25)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component26)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component27)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component28)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component29)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*component3)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component30)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*component4)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*component5)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*component6)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*component7)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*component8)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_KInt (*component9)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
libkn_kref_com_dong_demo013_debug_BranchLayer (*copy)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz, libkn_KInt p0, libkn_KInt p1, libkn_KInt p2, libkn_KInt p3, libkn_KInt p4, libkn_KInt p5, libkn_KInt p6, libkn_KInt p7, libkn_KInt p8, libkn_KInt p9, const char* q0, const char* q1, const char* q2, const char* q3, const char* q4, const char* q5, const char* q6, const char* q7, const char* q8, const char* q9, libkn_kref_com_dong_demo013_debug_ComplexNode n0, libkn_kref_com_dong_demo013_debug_ComplexNode n1, libkn_kref_com_dong_demo013_debug_ComplexNode n2, libkn_kref_com_dong_demo013_debug_ComplexNode n3, libkn_kref_com_dong_demo013_debug_ComplexNode n4, libkn_kref_com_dong_demo013_debug_ComplexNode n5, libkn_kref_com_dong_demo013_debug_ComplexNode n6, libkn_kref_com_dong_demo013_debug_ComplexNode n7, libkn_kref_com_dong_demo013_debug_ComplexNode n8, libkn_kref_com_dong_demo013_debug_ComplexNode n9);
libkn_KBoolean (*equals)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz, libkn_kref_kotlin_Any other);
libkn_KInt (*hashCode)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
const char* (*toString)(libkn_kref_com_dong_demo013_debug_BranchLayer thiz);
} BranchLayer;
struct {
libkn_KType* (*_type)(void);
libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot (*DebugTenLevelRoot)(libkn_KInt plainInt0, libkn_KInt plainInt1, libkn_KInt plainInt2, libkn_KInt plainInt3, libkn_KInt plainInt4, libkn_KInt plainInt5, libkn_KInt plainInt6, libkn_KInt plainInt7, libkn_KInt plainInt8, libkn_KInt plainInt9, const char* plainStr0, const char* plainStr1, const char* plainStr2, const char* plainStr3, const char* plainStr4, const char* plainStr5, const char* plainStr6, const char* plainStr7, const char* plainStr8, const char* plainStr9, libkn_kref_com_dong_demo013_debug_ComplexNode complex0, libkn_kref_com_dong_demo013_debug_ComplexNode complex1, libkn_kref_com_dong_demo013_debug_ComplexNode complex2, libkn_kref_com_dong_demo013_debug_ComplexNode complex3, libkn_kref_com_dong_demo013_debug_ComplexNode complex4, libkn_kref_com_dong_demo013_debug_ComplexNode complex5, libkn_kref_com_dong_demo013_debug_ComplexNode complex6, libkn_kref_com_dong_demo013_debug_ComplexNode complex7, libkn_kref_com_dong_demo013_debug_ComplexNode complex8, libkn_kref_com_dong_demo013_debug_ComplexNode complex9);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_complex0)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_complex1)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_complex2)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_complex3)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_complex4)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_complex5)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_complex6)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_complex7)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_complex8)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*get_complex9)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*get_plainInt0)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*get_plainInt1)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*get_plainInt2)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*get_plainInt3)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*get_plainInt4)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*get_plainInt5)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*get_plainInt6)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*get_plainInt7)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*get_plainInt8)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*get_plainInt9)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*get_plainStr0)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*get_plainStr1)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*get_plainStr2)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*get_plainStr3)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*get_plainStr4)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*get_plainStr5)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*get_plainStr6)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*get_plainStr7)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*get_plainStr8)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*get_plainStr9)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*component1)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*component10)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*component11)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*component12)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*component13)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*component14)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*component15)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*component16)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*component17)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*component18)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*component19)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*component2)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*component20)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component21)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component22)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component23)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component24)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component25)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component26)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component27)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component28)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component29)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*component3)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_ComplexNode (*component30)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*component4)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*component5)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*component6)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*component7)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*component8)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_KInt (*component9)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot (*copy)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz, libkn_KInt plainInt0, libkn_KInt plainInt1, libkn_KInt plainInt2, libkn_KInt plainInt3, libkn_KInt plainInt4, libkn_KInt plainInt5, libkn_KInt plainInt6, libkn_KInt plainInt7, libkn_KInt plainInt8, libkn_KInt plainInt9, const char* plainStr0, const char* plainStr1, const char* plainStr2, const char* plainStr3, const char* plainStr4, const char* plainStr5, const char* plainStr6, const char* plainStr7, const char* plainStr8, const char* plainStr9, libkn_kref_com_dong_demo013_debug_ComplexNode complex0, libkn_kref_com_dong_demo013_debug_ComplexNode complex1, libkn_kref_com_dong_demo013_debug_ComplexNode complex2, libkn_kref_com_dong_demo013_debug_ComplexNode complex3, libkn_kref_com_dong_demo013_debug_ComplexNode complex4, libkn_kref_com_dong_demo013_debug_ComplexNode complex5, libkn_kref_com_dong_demo013_debug_ComplexNode complex6, libkn_kref_com_dong_demo013_debug_ComplexNode complex7, libkn_kref_com_dong_demo013_debug_ComplexNode complex8, libkn_kref_com_dong_demo013_debug_ComplexNode complex9);
libkn_KBoolean (*equals)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz, libkn_kref_kotlin_Any other);
libkn_KInt (*hashCode)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
const char* (*toString)(libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot thiz);
} DebugTenLevelRoot;
struct {
libkn_KType* (*_type)(void);
libkn_kref_com_dong_demo013_debug_DebugTenLevelData (*_instance)();
libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot (*get_sample)(libkn_kref_com_dong_demo013_debug_DebugTenLevelData thiz);
libkn_kref_com_dong_demo013_debug_DebugTenLevelRoot (*buildDebugTenLevelRoot)(libkn_kref_com_dong_demo013_debug_DebugTenLevelData thiz);
void (*printSampleExampleToConsole)(libkn_kref_com_dong_demo013_debug_DebugTenLevelData thiz);
} DebugTenLevelData;
void (*allBreakpoints)();
libkn_KInt (*com_dong_demo013_debug_BranchLayer$stableprop_getter)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass$stableprop_getter)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass1$stableprop_getter)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass2$stableprop_getter)();
libkn_KInt (*com_dong_demo013_debug_ComplexNode$stableprop_getter)();
libkn_KInt (*com_dong_demo013_debug_DebugAllTypesData$stableprop_getter)(); libkn_KInt (*com_dong_demo013_debug_DebugAllTypesData$stableprop_getter)();
void (*getBreakPoint)(); libkn_KInt (*com_dong_demo013_debug_DebugTenLevelData$stableprop_getter)();
libkn_KInt (*com_dong_demo013_debug_DebugTenLevelRoot$stableprop_getter)();
libkn_KInt (*com_dong_demo013_debug_LeafLayer$stableprop_getter)();
libkn_KInt (*com_dong_demo013_debug_TerminalComplex$stableprop_getter)();
void (*complexObject)();
void (*getJsons)(); void (*getJsons)();
void (*testCommonBreakpoint)();
void (*testConditionalBreakpoint)();
void (*testIfBreakpoint)();
libkn_KInt (*com_dong_demo013_debug_BranchLayer$stableprop_getter_)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass$stableprop_getter_)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass1$stableprop_getter_)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass2$stableprop_getter_)();
libkn_KInt (*com_dong_demo013_debug_ComplexNode$stableprop_getter_)();
libkn_KInt (*com_dong_demo013_debug_DebugAllTypesData$stableprop_getter_)(); libkn_KInt (*com_dong_demo013_debug_DebugAllTypesData$stableprop_getter_)();
libkn_KInt (*com_dong_demo013_debug_DebugTenLevelData$stableprop_getter_)();
libkn_KInt (*com_dong_demo013_debug_DebugTenLevelRoot$stableprop_getter_)();
libkn_KInt (*com_dong_demo013_debug_LeafLayer$stableprop_getter_)();
libkn_KInt (*com_dong_demo013_debug_TerminalComplex$stableprop_getter_)();
libkn_KInt (*com_dong_demo013_debug_BranchLayer$stableprop_getter__)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass$stableprop_getter__)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass1$stableprop_getter__)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass2$stableprop_getter__)();
libkn_KInt (*com_dong_demo013_debug_ComplexNode$stableprop_getter__)();
libkn_KInt (*com_dong_demo013_debug_DebugAllTypesData$stableprop_getter__)(); libkn_KInt (*com_dong_demo013_debug_DebugAllTypesData$stableprop_getter__)();
void (*testFather)(); libkn_KInt (*com_dong_demo013_debug_DebugTenLevelData$stableprop_getter__)();
void (*testGrandfather)(); libkn_KInt (*com_dong_demo013_debug_DebugTenLevelRoot$stableprop_getter__)();
void (*testKid)(); libkn_KInt (*com_dong_demo013_debug_LeafLayer$stableprop_getter__)();
void (*testOver)(); libkn_KInt (*com_dong_demo013_debug_TerminalComplex$stableprop_getter__)();
void (*testOverLevel2)(); void (*testIntoDebug)();
void (*testIntoFather)();
void (*testIntoGrandfather)();
void (*testIntoKid)();
libkn_KInt (*com_dong_demo013_debug_BranchLayer$stableprop_getter___)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass$stableprop_getter___)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass1$stableprop_getter___)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass2$stableprop_getter___)();
libkn_KInt (*com_dong_demo013_debug_ComplexNode$stableprop_getter___)();
libkn_KInt (*com_dong_demo013_debug_DebugAllTypesData$stableprop_getter___)();
libkn_KInt (*com_dong_demo013_debug_DebugTenLevelData$stableprop_getter___)();
libkn_KInt (*com_dong_demo013_debug_DebugTenLevelRoot$stableprop_getter___)();
libkn_KInt (*com_dong_demo013_debug_LeafLayer$stableprop_getter___)();
libkn_KInt (*com_dong_demo013_debug_TerminalComplex$stableprop_getter___)();
void (*testOutDebug)();
void (*testOutFather)();
void (*testOutKid)();
libkn_KInt (*com_dong_demo013_debug_BranchLayer$stableprop_getter____)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass$stableprop_getter____)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass1$stableprop_getter____)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass2$stableprop_getter____)();
libkn_KInt (*com_dong_demo013_debug_ComplexNode$stableprop_getter____)();
libkn_KInt (*com_dong_demo013_debug_DebugAllTypesData$stableprop_getter____)();
libkn_KInt (*com_dong_demo013_debug_DebugTenLevelData$stableprop_getter____)();
libkn_KInt (*com_dong_demo013_debug_DebugTenLevelRoot$stableprop_getter____)();
libkn_KInt (*com_dong_demo013_debug_LeafLayer$stableprop_getter____)();
libkn_KInt (*com_dong_demo013_debug_TerminalComplex$stableprop_getter____)();
void (*testDebug)();
void (*testOverFather)();
void (*testOverKid)();
libkn_KInt (*com_dong_demo013_debug_BranchLayer$stableprop_getter_____)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass$stableprop_getter_____)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass1$stableprop_getter_____)();
libkn_KInt (*com_dong_demo013_debug_ComplexClass2$stableprop_getter_____)();
libkn_KInt (*com_dong_demo013_debug_ComplexNode$stableprop_getter_____)();
libkn_KInt (*com_dong_demo013_debug_DebugAllTypesData$stableprop_getter_____)();
libkn_KInt (*com_dong_demo013_debug_DebugTenLevelData$stableprop_getter_____)();
libkn_KInt (*com_dong_demo013_debug_DebugTenLevelRoot$stableprop_getter_____)();
libkn_KInt (*com_dong_demo013_debug_LeafLayer$stableprop_getter_____)();
libkn_KInt (*com_dong_demo013_debug_TerminalComplex$stableprop_getter_____)();
} debug; } debug;
struct { struct {
struct { struct {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment