Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
TestToolChainDemo
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
dsq
TestToolChainDemo
Commits
fbbb2c63
Commit
fbbb2c63
authored
Mar 31, 2026
by
qq_38816927
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调试功能
parent
3acd058f
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1017 additions
and
42 deletions
+1017
-42
build.gradle.kts
composeApp/build.gradle.kts
+2
-2
MainActivity.kt
...p/src/androidMain/kotlin/com.dong.demo013/MainActivity.kt
+18
-0
App.kt
composeApp/src/commonMain/kotlin/com.dong.demo013/App.kt
+78
-4
DebugDataDemo.kt
...commonMain/kotlin/com.dong.demo013/debug/DebugDataDemo.kt
+82
-14
DebugJson.kt
...src/commonMain/kotlin/com.dong.demo013/debug/DebugJson.kt
+17
-0
DebugStepIntoDemo.kt
...onMain/kotlin/com.dong.demo013/debug/DebugStepIntoDemo.kt
+65
-0
DebugStepOutDemo.kt
...monMain/kotlin/com.dong.demo013/debug/DebugStepOutDemo.kt
+69
-0
DebugStepOverDemo.kt
...onMain/kotlin/com.dong.demo013/debug/DebugStepOverDemo.kt
+63
-0
DebugTenLevelData.kt
...onMain/kotlin/com.dong.demo013/debug/DebugTenLevelData.kt
+219
-0
MainArkUIViewController.kt
...64Main/kotlin/com.dong.demo013/MainArkUIViewController.kt
+7
-0
MainArkUIViewController.kt
...64Main/kotlin/com.dong/demo013/MainArkUIViewController.kt
+2
-0
build-profile.json5
harmonyApp/build-profile.json5
+16
-16
libkn_api.h
harmonyApp/entry/src/main/cpp/include/libkn_api.h
+379
-6
No files found.
composeApp/build.gradle.kts
View file @
fbbb2c63
...
...
@@ -50,7 +50,7 @@ kotlin {
// 禁用内联类可能有助于 NAPI
val
main
by
compilations
.
getting
main
.
compilerOptions
.
configure
{
//
freeCompilerArgs.add("-Xbinary=sanitizer=address")
freeCompilerArgs
.
add
(
"-Xbinary=sanitizer=address"
)
}
//val resource by main.cinterops.creating {
// defFile(file("src/ohosArm64Main/cinterop/resource.def"))
...
...
@@ -68,7 +68,7 @@ kotlin {
}
val
main
by
compilations
.
getting
main
.
compilerOptions
.
configure
{
//
freeCompilerArgs.add("-Xbinary=sanitizer=address")
freeCompilerArgs
.
add
(
"-Xbinary=sanitizer=address"
)
}
// val resource by main.cinterops.creating {
// defFile(file("src/ohosX64Main/cinterop/resource.def"))
...
...
composeApp/src/androidMain/kotlin/com.dong.demo013/MainActivity.kt
View file @
fbbb2c63
...
...
@@ -16,4 +16,22 @@ class MainActivity : ComponentActivity() {
App
()
}
}
//测试普通断点
fun
testCommonBreakpoint
()
{
val
a
:
Int
=
1
;
//普通断点设置处
}
//测试条件断点
fun
testIfBreakpoint
()
{
for
(
i
in
1
..
10
){
if
(
i
==
5
){
//条件断点设置处
println
(
"条件断点命中进入"
)
}
}
}
}
composeApp/src/commonMain/kotlin/com.dong.demo013/App.kt
View file @
fbbb2c63
...
...
@@ -9,7 +9,11 @@ import androidx.compose.ui.Modifier
import
androidx.compose.ui.graphics.Color
import
androidx.compose.ui.unit.dp
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.allBreakpoints
import
com.dong.demo013.navigation.ComponentDemo
import
com.dong.demo013.navigation.ComposeGroup
import
com.dong.demo013.navigation.Page
...
...
@@ -18,6 +22,9 @@ import com.dong.maxhap.demos.NativeFaultDemo
@Composable
internal
fun
App
()
{
LaunchedEffect
(
Unit
){
allBreakpoints
()
}
MaterialTheme
{
// 使用 Page 类型的状态,修复类型推断报错
var
page
by
remember
{
mutableStateOf
<
Page
>(
Page
.
Home
)
}
...
...
@@ -48,7 +55,7 @@ internal fun HomeScreen(
.
padding
(
16
.
dp
),
verticalArrangement
=
Arrangement
.
spacedBy
(
16
.
dp
)
)
{
// 第一个模块:
嵌套
页面
// 第一个模块:
debug
页面
Card
(
modifier
=
Modifier
.
fillMaxWidth
(),
elevation
=
8
.
dp
,
...
...
@@ -61,7 +68,7 @@ internal fun HomeScreen(
)
{
//
日志
测试按钮区域
//
debug
测试按钮区域
Column
(
modifier
=
Modifier
.
fillMaxWidth
(),
verticalArrangement
=
Arrangement
.
spacedBy
(
8
.
dp
)
...
...
@@ -78,7 +85,65 @@ internal fun HomeScreen(
},
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(
"log_over_demo"
->
{
NativeFaultDemo
()
}
//
debug
调试
//调试
"debug_test_demo"
->
{
DebugTestDemo
()
}
"debug_stepover_demo"
->
{
DebugStepOverDemo
()
}
"debug_stepinto_demo"
->
{
DebugStepIntoDemo
()
}
"debug_stepout_demo"
->
{
DebugStepOutDemo
()
}
else
->
{
Text
(
text
=
"暂未实现: ${demo.title}"
,
...
...
composeApp/src/commonMain/kotlin/com.dong.demo013/debug/DebugDataDemo.kt
View file @
fbbb2c63
...
...
@@ -14,14 +14,13 @@ internal fun DebugTestDemo() {
verticalArrangement
=
Arrangement
.
spacedBy
(
16
.
dp
)
)
{
// 进入断点
Button
(
onClick
=
{
getBreakPoint
();
allBreakpoints
()
},
)
{
Text
(
"
进入断点
"
,
color
=
Color
.
White
)
Text
(
"
断点测试
"
,
color
=
Color
.
White
)
}
Button
(
onClick
=
{
...
...
@@ -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
(){
print
(
"debugInt:空"
);
//下面为断点处
val
debugInt
:
Int
=
1
;
print
(
"debugInt:1"
);
fun
allBreakpoints
(){
getJsons
()
testIfBreakpoint
()
testCommonBreakpoint
()
complexObject
()
testConditionalBreakpoint
()
}
/***变量类型**/
fun
getJsons
(){
val
allTypes
=
DebugAllTypesData
();
print
(
"断点处(所有类型变量)"
)
print
(
"开始打印所有类型变量"
)
allTypes
.
printAllTypes
();
print
(
"打印所有类型变量结束"
)
// val allTypes= DebugAllTypesData ();
val
str
:
String
=
"文本"
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
composeApp/src/commonMain/kotlin/com.dong.demo013/debug/DebugJson.kt
View file @
fbbb2c63
...
...
@@ -174,3 +174,20 @@ class DebugAllTypesData {
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
composeApp/src/commonMain/kotlin/com.dong.demo013/debug/DebugStepDemo.kt
→
composeApp/src/commonMain/kotlin/com.dong.demo013/debug/DebugStep
Into
Demo.kt
View file @
fbbb2c63
...
...
@@ -6,86 +6,60 @@ 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
DebugStepDemo
()
{
internal
fun
DebugStep
Into
Demo
()
{
Column
(
modifier
=
Modifier
.
fillMaxSize
().
padding
(
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
(
onClick
=
{
},
)
{
Text
(
"step over-步过"
,
color
=
Color
.
White
)
testIntoDebug
()
}
Button
(
onClick
=
{
},
)
{
Text
(
"
step into-步进
"
,
color
=
Color
.
White
)
Text
(
"
触发断点
"
,
color
=
Color
.
White
)
}
Button
(
onClick
=
{
},
)
{
Text
(
"step into-步出"
,
color
=
Color
.
White
)
}
Text
(
"调试步骤\n"
+
"测试包含3层方法\n"
+
"第一层:testIntoGrandfather\n"
+
"第二层:testIntoFather,被testIntoGrandfather包含\n"
+
"第三层:testIntoKid,被testIntoFather包含\n"
+
"fun testIntoGrandfather(){\n"
+
" fun testIntoFather(){ \n"
+
" fun testIntoKid(){\");\n"
+
" 。 print(\"测试步进断点-结束\");"
+
" }\n"
+
" }\n"
+
"}"
,
fontSize
=
12
.
sp
)
}
}
/****测试步过****/
fun
test
Over
(){
print
(
"测试步过:跳过下列的方法,不进入testGrandfather"
)
fun
test
IntoDebug
(){
testIntoGrandfather
(
)
}
/***通用测试方法**/
fun
testGrandfather
(){
print
(
"进入testGrandfather"
);
testFather
();
print
(
"离开testGrandfather"
);
fun
testIntoGrandfather
(){
testIntoFather
();
// 测试步进断点-开始
}
fun
testFather
(){
print
(
"进入testFather"
);
testKid
()
print
(
"离开testFather"
);
fun
testIntoFather
(){
// 测试步进断点-进入方法
testIntoKid
();
// 测试步进断点-结束
}
fun
testKid
(){
print
(
"进入testKid"
);
print
(
"离开testKid"
);
fun
testIntoKid
(){
print
(
"测试步进断点-结束"
);
// print("测试步进断点-结束");
}
fun
testOverLevel2
(){
}
\ No newline at end of file
composeApp/src/commonMain/kotlin/com.dong.demo013/debug/DebugStepOutDemo.kt
0 → 100644
View file @
fbbb2c63
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"
);
}
composeApp/src/commonMain/kotlin/com.dong.demo013/debug/DebugStepOverDemo.kt
0 → 100644
View file @
fbbb2c63
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"
);
}
composeApp/src/commonMain/kotlin/com.dong.demo013/debug/DebugTenLevelData.kt
0 → 100644
View file @
fbbb2c63
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
composeApp/src/ohosArm64Main/kotlin/com.dong.demo013/MainArkUIViewController.kt
View file @
fbbb2c63
package
com.dong.demo013
import
androidx.compose.ui.window.ComposeArkUIViewController
import
com.dong.demo013.debug.DebugAllTypesData
import
com.dong.demo013.debug.allBreakpoints
import
kotlinx.cinterop.ExperimentalForeignApi
import
kotlinx.coroutines.initMainHandler
import
platform.ohos.napi_env
...
...
@@ -15,3 +17,8 @@ fun MainArkUIViewController(env: napi_env): napi_value {
App
()
}
}
composeApp/src/ohosX64Main/kotlin/com.dong/demo013/MainArkUIViewController.kt
View file @
fbbb2c63
package
com.dong.demo013
import
androidx.compose.ui.window.ComposeArkUIViewController
import
com.dong.demo013.debug.allBreakpoints
import
kotlinx.cinterop.ExperimentalForeignApi
import
kotlinx.coroutines.initMainHandler
import
platform.ohos.napi_env
...
...
@@ -13,5 +14,6 @@ fun MainArkUIViewController(env: napi_env): napi_value {
initMainHandler
(
env
)
return
ComposeArkUIViewController
(
env
)
{
App
()
}
}
harmonyApp/build-profile.json5
View file @
fbbb2c63
{
"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": [
{
"name": "default",
...
...
@@ -33,11 +18,26 @@
],
"buildModeSet": [
{
"name": "debug"
,
"name": "debug"
},
{
"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": [
...
...
harmonyApp/entry/src/main/cpp/include/libkn_api.h
View file @
fbbb2c63
...
...
@@ -99,6 +99,33 @@ typedef struct {
typedef
struct
{
libkn_KNativePtr
pinned
;
}
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
{
libkn_KNativePtr
pinned
;
}
libkn_kref_com_dong_demo013_navigation_ComposeGroup
;
...
...
@@ -327,16 +354,362 @@ typedef struct {
void
(
*
printAllTypes
)(
libkn_kref_com_dong_demo013_debug_DebugAllTypesData
thiz
);
void
(
*
unitFunction
)(
libkn_kref_com_dong_demo013_debug_DebugAllTypesData
thiz
);
}
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
)();
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
(
*
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_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__
)();
void
(
*
testFather
)();
void
(
*
testGrandfather
)();
void
(
*
testKid
)();
void
(
*
testOver
)();
void
(
*
testOverLevel2
)();
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
(
*
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
;
struct
{
struct
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment