Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Phodal
Coca
提交
2c1f9dac
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 搜索 >>
未验证
提交
2c1f9dac
编写于
12月 30, 2019
作者:
P
Phodal Huang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: null map
上级
788b49fa
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
17 addition
and
3 deletion
+17
-3
core/adapter/identifier/java_identifier_app_test.go
core/adapter/identifier/java_identifier_app_test.go
+8
-0
core/domain/evaluate/evaluator/null_exception.go
core/domain/evaluate/evaluator/null_exception.go
+9
-3
未找到文件。
core/adapter/identifier/java_identifier_app_test.go
浏览文件 @
2c1f9dac
...
...
@@ -48,8 +48,16 @@ func TestAddReturnNull(t *testing.T) {
identApp
:=
NewJavaIdentifierApp
()
identifiers
:=
identApp
.
AnalysisPath
(
filepath
.
FromSlash
(
"../../../_fixtures/evaluate/null"
))
var
returNullCount
=
0
for
_
,
method
:=
range
identifiers
[
0
]
.
Methods
{
if
method
.
IsReturnNull
{
returNullCount
++
}
}
g
.
Expect
(
identifiers
[
0
]
.
Methods
[
1
]
.
IsReturnNull
)
.
To
(
Equal
(
true
))
g
.
Expect
(
identifiers
[
0
]
.
Methods
[
2
]
.
IsReturnNull
)
.
To
(
Equal
(
true
))
g
.
Expect
(
returNullCount
)
.
To
(
Equal
(
2
))
}
func
TestStaticMethod
(
t
*
testing
.
T
)
{
...
...
core/domain/evaluate/evaluator/null_exception.go
浏览文件 @
2c1f9dac
package
evaluator
package
evaluator
import
(
"github.com/phodal/coca/core/models"
...
...
@@ -13,20 +13,26 @@ func (NullPointException) Evaluate(*EvaluateModel, models.JClassNode) {
func
(
n
NullPointException
)
EvaluateList
(
evaluateModel
*
EvaluateModel
,
nodes
[]
models
.
JClassNode
,
nodeMap
map
[
string
]
models
.
JClassNode
,
identifiers
[]
models
.
JIdentifier
)
{
var
nullableList
[]
string
=
nil
var
nullableMap
=
make
(
map
[
string
]
string
)
for
_
,
ident
:=
range
identifiers
{
for
_
,
method
:=
range
ident
.
Methods
{
methodName
:=
buildMethodPath
(
ident
,
method
)
if
method
.
IsReturnNull
{
nullable
List
=
append
(
nullableList
,
buildMethodPath
(
ident
,
method
))
nullable
Map
[
methodName
]
=
methodName
}
else
{
for
_
,
annotation
:=
range
method
.
Annotations
{
if
annotation
.
QualifiedName
==
"Nullable"
{
nullable
List
=
append
(
nullableList
,
buildMethodPath
(
ident
,
method
))
nullable
Map
[
methodName
]
=
methodName
}
}
}
}
}
for
_
,
value
:=
range
nullableMap
{
nullableList
=
append
(
nullableList
,
value
)
}
evaluateModel
.
Nullable
.
Items
=
nullableList
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录