未验证 提交 2c1f9dac 编写于 作者: P Phodal Huang

refactor: null map

上级 788b49fa
......@@ -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) {
......
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 {
nullableList = append(nullableList, buildMethodPath(ident, method))
nullableMap[methodName] = methodName
} else {
for _, annotation := range method.Annotations {
if annotation.QualifiedName == "Nullable" {
nullableList = append(nullableList, buildMethodPath(ident, method))
nullableMap[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.
先完成此消息的编辑!
想要评论请 注册