Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Phodal
Coca
提交
2b5b1d28
C
Coca
项目概览
Phodal
/
Coca
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Coca
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
2b5b1d28
编写于
12月 30, 2019
作者:
P
Phodal Huang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: move more behaviro to domain
上级
f51d4103
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
28 addition
and
19 deletion
+28
-19
core/context/call_graph/call_graph.go
core/context/call_graph/call_graph.go
+4
-9
core/context/count/count_app.go
core/context/count/count_app.go
+1
-1
core/context/evaluate/evaluator/service.go
core/context/evaluate/evaluator/service.go
+1
-1
core/domain/jclass_node.go
core/domain/jclass_node.go
+1
-1
core/domain/jmethod.go
core/domain/jmethod.go
+16
-6
core/domain/jmethod_call.go
core/domain/jmethod_call.go
+1
-1
core/domain/rest_api.go
core/domain/rest_api.go
+4
-0
未找到文件。
core/context/call_graph/call_graph.go
浏览文件 @
2b5b1d28
...
...
@@ -71,7 +71,7 @@ func (c CallGraph) AnalysisByFiles(restApis []domain.RestApi, deps []domain.JCla
results
:=
"digraph G {
\n
"
for
_
,
restApi
:=
range
restApis
{
caller
:=
restApi
.
PackageName
+
"."
+
restApi
.
ClassName
+
"."
+
restApi
.
MethodName
caller
:=
restApi
.
BuildFullMethodPath
()
loopCount
=
0
chain
:=
"
\"
"
+
restApi
.
HttpMethod
+
" "
+
restApi
.
Uri
+
"
\"
->
\"
"
+
escapeStr
(
caller
)
+
"
\"
;
\n
"
...
...
@@ -100,16 +100,11 @@ func BuildMethodMap(clzs []domain.JClassNode) map[string][]string {
var
methodMap
=
make
(
map
[
string
][]
string
)
for
_
,
clz
:=
range
clzs
{
for
_
,
method
:=
range
clz
.
Methods
{
var
methodName
=
clz
.
Package
+
"."
+
clz
.
Class
+
"."
+
method
.
Name
var
calls
[]
string
for
_
,
call
:=
range
method
.
MethodCalls
{
if
call
.
Class
!=
""
{
calls
=
append
(
calls
,
call
.
Package
+
"."
+
call
.
Class
+
"."
+
call
.
MethodName
)
}
}
methodMap
[
methodName
]
=
calls
methodName
:=
method
.
BuildFullMethodName
(
clz
)
methodMap
[
methodName
]
=
method
.
GetAllCallString
()
}
}
return
methodMap
}
core/context/count/count_app.go
浏览文件 @
2b5b1d28
...
...
@@ -13,7 +13,7 @@ func BuildCallMap(parserDeps []domain.JClassNode) map[string]int {
for
_
,
clz
:=
range
parserDeps
{
for
_
,
method
:=
range
clz
.
Methods
{
for
_
,
call
:=
range
method
.
MethodCalls
{
callMethod
:=
call
.
Get
FullMethodName
()
callMethod
:=
call
.
Buil
FullMethodName
()
if
_
,
ok
:=
projectMethods
[
callMethod
];
ok
{
if
callMap
[
callMethod
]
==
0
{
callMap
[
callMethod
]
=
1
...
...
core/context/evaluate/evaluator/service.go
浏览文件 @
2b5b1d28
...
...
@@ -83,7 +83,7 @@ func (s Service) Evaluate(result *EvaluateModel, node domain.JClassNode) {
methodType
:=
method
.
Type
if
_
,
ok
:=
serviceNodeMap
[
methodType
];
ok
{
returnTypeMap
[
methodType
]
=
append
(
returnTypeMap
[
methodType
],
method
.
Get
FullMethodName
(
node
))
returnTypeMap
[
methodType
]
=
append
(
returnTypeMap
[
methodType
],
method
.
Build
FullMethodName
(
node
))
}
}
}
...
...
core/domain/jclass_node.go
浏览文件 @
2b5b1d28
...
...
@@ -43,6 +43,6 @@ func (j *JClassNode) SetMethodFromMap(methodMap map[string]JMethod) {
func
(
j
*
JClassNode
)
BuildStringMethodMap
(
projectMethods
map
[
string
]
string
)
{
for
_
,
method
:=
range
j
.
Methods
{
projectMethods
[
method
.
GetFullMethodName
(
*
j
)]
=
method
.
Get
FullMethodName
(
*
j
)
projectMethods
[
method
.
BuildFullMethodName
(
*
j
)]
=
method
.
Build
FullMethodName
(
*
j
)
}
}
core/domain/jmethod.go
浏览文件 @
2b5b1d28
...
...
@@ -37,6 +37,13 @@ func NewJMethod() JMethod {
}
}
type
JMethodInfo
struct
{
Name
string
Type
string
Parameters
[]
JParameter
Length
string
}
func
(
m
*
JMethod
)
IsJavaLangReturnType
()
bool
{
return
m
.
Type
==
"String"
||
m
.
Type
==
"int"
||
m
.
Type
==
"float"
||
m
.
Type
==
"void"
||
m
.
Type
==
"char"
||
m
.
Type
==
"double"
}
...
...
@@ -49,13 +56,16 @@ func (m *JMethod) IsGetterSetter() bool {
return
strings
.
HasPrefix
(
m
.
Name
,
"set"
)
||
strings
.
HasPrefix
(
m
.
Name
,
"get"
)
}
func
(
m
*
JMethod
)
Get
FullMethodName
(
node
JClassNode
)
string
{
func
(
m
*
JMethod
)
Build
FullMethodName
(
node
JClassNode
)
string
{
return
node
.
Package
+
"."
+
node
.
Class
+
"."
+
m
.
Name
}
type
JMethodInfo
struct
{
Name
string
Type
string
Parameters
[]
JParameter
Length
string
func
(
m
*
JMethod
)
GetAllCallString
()
[]
string
{
var
calls
[]
string
for
_
,
call
:=
range
m
.
MethodCalls
{
if
call
.
Class
!=
""
{
calls
=
append
(
calls
,
call
.
BuilFullMethodName
())
}
}
return
calls
}
core/domain/jmethod_call.go
浏览文件 @
2b5b1d28
...
...
@@ -26,6 +26,6 @@ func NewJMethodCall() JMethodCall {
}
}
func
(
c
*
JMethodCall
)
Get
FullMethodName
()
string
{
func
(
c
*
JMethodCall
)
Buil
FullMethodName
()
string
{
return
c
.
Package
+
"."
+
c
.
Class
+
"."
+
c
.
MethodName
}
\ No newline at end of file
core/domain/rest_api.go
浏览文件 @
2b5b1d28
...
...
@@ -11,3 +11,7 @@ type RestApi struct {
ClassName
string
}
func
(
r
*
RestApi
)
BuildFullMethodPath
()
string
{
return
r
.
PackageName
+
"."
+
r
.
ClassName
+
"."
+
r
.
MethodName
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录