Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
DoraemonKit
提交
2c85684e
D
DoraemonKit
项目概览
DiDi
/
DoraemonKit
11 个月 前同步成功
通知
166
Star
19623
Fork
3062
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DoraemonKit
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2c85684e
编写于
5月 26, 2020
作者:
J
jackjintai
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
android:完成函数调用栈n级调用(用户自定义)
上级
06e62631
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
4 addition
and
11 deletion
+4
-11
Android/doraemonkit-plugin/build.gradle
Android/doraemonkit-plugin/build.gradle
+0
-1
Android/doraemonkit-plugin/src/main/kotlin/com/didichuxing/doraemonkit/plugin/classtransformer/EnterMethodStackTransformer.kt
...it/plugin/classtransformer/EnterMethodStackTransformer.kt
+2
-5
Android/doraemonkit-plugin/src/main/kotlin/com/didichuxing/doraemonkit/plugin/classtransformer/MethodStackDepTransformer.kt
...nkit/plugin/classtransformer/MethodStackDepTransformer.kt
+2
-5
未找到文件。
Android/doraemonkit-plugin/build.gradle
浏览文件 @
2c85684e
apply
plugin:
'java-library'
apply
plugin:
'kotlin'
apply
plugin:
'kotlin-kapt'
apply
from:
'upload.gradle'
...
...
Android/doraemonkit-plugin/src/main/kotlin/com/didichuxing/doraemonkit/plugin/classtransformer/EnterMethodStackTransformer.kt
浏览文件 @
2c85684e
package
com.didichuxing.doraemonkit.plugin.classtransformer
import
com.didichuxing.doraemonkit.plugin.
DoKitExtUtil
import
com.didichuxing.doraemonkit.plugin.
*
import
com.didichuxing.doraemonkit.plugin.extension.SlowMethodExt
import
com.didichuxing.doraemonkit.plugin.getMethodExitInsnNodes
import
com.didichuxing.doraemonkit.plugin.isRelease
import
com.didichuxing.doraemonkit.plugin.ownerClassName
import
com.didichuxing.doraemonkit.plugin.stack_method.MethodStackNode
import
com.didichuxing.doraemonkit.plugin.stack_method.MethodStackNodeUtil
import
com.didiglobal.booster.annotations.Priority
...
...
@@ -76,7 +73,7 @@ class EnterMethodStackTransformer : ClassTransformer {
klass
.
methods
.
forEach
{
methodNode
->
val
allMethodName
=
"${klass.className}.${methodNode.name}"
if
(
allMethodName
==
enterMethodName
)
{
println
(
"level===>$level mathched enterMethod===>$allMethodName"
)
"level===>$level mathched enterMethod===>$allMethodName"
.
println
(
)
operateMethodInsn
(
klass
,
methodNode
)
}
}
...
...
Android/doraemonkit-plugin/src/main/kotlin/com/didichuxing/doraemonkit/plugin/classtransformer/MethodStackDepTransformer.kt
浏览文件 @
2c85684e
package
com.didichuxing.doraemonkit.plugin.classtransformer
import
com.didichuxing.doraemonkit.plugin.
DoKitExtUtil
import
com.didichuxing.doraemonkit.plugin.
*
import
com.didichuxing.doraemonkit.plugin.extension.SlowMethodExt
import
com.didichuxing.doraemonkit.plugin.getMethodExitInsnNodes
import
com.didichuxing.doraemonkit.plugin.isRelease
import
com.didichuxing.doraemonkit.plugin.ownerClassName
import
com.didichuxing.doraemonkit.plugin.stack_method.MethodStackNode
import
com.didichuxing.doraemonkit.plugin.stack_method.MethodStackNodeUtil
import
com.didiglobal.booster.transform.TransformContext
...
...
@@ -54,7 +51,7 @@ class MethodStackDepTransformer(private val level: Int = 1) : ClassTransformer {
klass
.
methods
.
forEach
{
methodNode
->
val
key
=
"${klass.className}&${methodNode.name}&${methodNode.desc}"
if
(
methodStackKeys
.
contains
(
key
))
{
println
(
"level===>$level mathched key===>$key"
)
"level===>$level mathched key===>$key"
.
println
(
)
operateMethodInsn
(
klass
,
methodNode
)
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录