Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Phodal
Coca
提交
26b83b3b
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 搜索 >>
未验证
提交
26b83b3b
编写于
10月 30, 2019
作者:
P
Phodal HUANG
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: refactor json for export
上级
e09f9d93
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
55 addition
and
21 deletion
+55
-21
adapter/call/JavaCallApp.go
adapter/call/JavaCallApp.go
+10
-5
adapter/call/JavaCallListener.go
adapter/call/JavaCallListener.go
+1
-1
adapter/identifier/JavaIdentifierApp.go
adapter/identifier/JavaIdentifierApp.go
+10
-12
adapter/identifier/JavaIdentifierListener.go
adapter/identifier/JavaIdentifierListener.go
+1
-1
adapter/models/JClassNode.go
adapter/models/JClassNode.go
+23
-0
adapter/models/JIdentifier.go
adapter/models/JIdentifier.go
+0
-0
adapter/models/JMethod.go
adapter/models/JMethod.go
+0
-0
adapter/models/JMethodCall.go
adapter/models/JMethodCall.go
+0
-0
cmd/analysis.go
cmd/analysis.go
+10
-2
未找到文件。
adapter/call/JavaCallApp.go
浏览文件 @
26b83b3b
package
call
import
(
"encoding/json"
"fmt"
"github.com/antlr/antlr4/runtime/Go/antlr"
"os"
...
...
@@ -9,15 +8,20 @@ import (
"strings"
.
"../../language/java"
.
"../models"
)
var
nodeInfos
[]
JClassNode
type
JavaCallApp
struct
{
}
func
(
j
*
JavaCallApp
)
AnalysisPath
(
codeDir
string
)
{
func
(
j
*
JavaCallApp
)
AnalysisPath
(
codeDir
string
)
[]
JClassNode
{
nodeInfos
=
nil
files
:=
(
*
JavaCallApp
)(
nil
)
.
javaFiles
(
codeDir
)
for
index
:=
range
files
{
nodeInfo
:=
NewClassNode
()
file
:=
files
[
index
]
displayName
:=
filepath
.
Base
(
file
)
...
...
@@ -30,10 +34,11 @@ func (j *JavaCallApp) AnalysisPath(codeDir string) {
antlr
.
NewParseTreeWalker
()
.
Walk
(
listener
,
context
)
nodeInfo
:=
listener
.
getNodeInfo
()
bytes
,
_
:=
json
.
Marshal
(
nodeInfo
)
fmt
.
Println
(
string
(
bytes
))
nodeInfo
=
listener
.
getNodeInfo
()
nodeInfos
=
append
(
nodeInfos
,
*
nodeInfo
)
}
return
nodeInfos
}
func
(
j
*
JavaCallApp
)
javaFiles
(
codeDir
string
)
[]
string
{
...
...
adapter/call/JavaCallListener.go
浏览文件 @
26b83b3b
...
...
@@ -2,7 +2,7 @@ package call
import
(
.
"../../language/java"
.
"./models"
.
".
.
/models"
"github.com/antlr/antlr4/runtime/Go/antlr"
"reflect"
"strings"
...
...
adapter/identifier/JavaIdentifierApp.go
浏览文件 @
26b83b3b
package
identifier
import
(
"encoding/json"
"fmt"
"github.com/antlr/antlr4/runtime/Go/antlr"
"os"
...
...
@@ -9,23 +8,20 @@ import (
"strings"
.
"../../language/java"
.
"./models"
.
".
.
/models"
)
type
JsonIdentifier
struct
{
Package
string
Name
string
Type
string
Methods
[]
JMethod
}
var
nodeInfos
[]
JsonIdentifier
=
nil
type
JavaIdentifierApp
struct
{
}
func
(
j
*
JavaIdentifierApp
)
AnalysisPath
(
codeDir
string
)
{
func
(
j
*
JavaIdentifierApp
)
AnalysisPath
(
codeDir
string
)
[]
JsonIdentifier
{
nodeInfos
=
nil
files
:=
(
*
JavaIdentifierApp
)(
nil
)
.
javaFiles
(
codeDir
)
for
index
:=
range
files
{
file
:=
files
[
index
]
node
:=
NewJsonIdentifier
()
displayName
:=
filepath
.
Base
(
file
)
fmt
.
Println
(
"Start parse java call: "
+
displayName
)
...
...
@@ -40,11 +36,13 @@ func (j *JavaIdentifierApp) AnalysisPath(codeDir string) {
antlr
.
NewParseTreeWalker
()
.
Walk
(
listener
,
context
)
if
clzInfo
.
Name
!=
""
{
identifier
:
=
&
JsonIdentifier
{
clzInfo
.
Pkg
,
clzInfo
.
Name
,
clzInfo
.
Type
,
clzInfo
.
GetMethods
()}
bytes
,
_
:=
json
.
Marshal
(
identifier
)
fmt
.
Println
(
string
(
bytes
))
node
=
&
JsonIdentifier
{
clzInfo
.
Pkg
,
clzInfo
.
Name
,
clzInfo
.
Type
,
clzInfo
.
GetMethods
()}
nodeInfos
=
append
(
nodeInfos
,
*
node
)
}
}
return
nodeInfos
}
func
(
j
*
JavaIdentifierApp
)
javaFiles
(
codeDir
string
)
[]
string
{
...
...
adapter/identifier/JavaIdentifierListener.go
浏览文件 @
26b83b3b
...
...
@@ -2,7 +2,7 @@ package identifier
import
(
.
"../../language/java"
.
"./models"
.
".
.
/models"
)
var
node
*
JIdentifier
;
...
...
adapter/
call/
models/JClassNode.go
→
adapter/models/JClassNode.go
浏览文件 @
26b83b3b
...
...
@@ -6,3 +6,18 @@ type JClassNode struct {
Type
string
MethodCalls
[]
JMethodCall
}
type
JsonIdentifier
struct
{
Package
string
Name
string
Type
string
Methods
[]
JMethod
}
func
NewClassNode
()
*
JClassNode
{
return
&
JClassNode
{
""
,
""
,
""
,
nil
}
}
func
NewJsonIdentifier
()
*
JsonIdentifier
{
return
&
JsonIdentifier
{
""
,
""
,
""
,
nil
}
}
\ No newline at end of file
adapter/
identifier/
models/JIdentifier.go
→
adapter/models/JIdentifier.go
浏览文件 @
26b83b3b
文件已移动
adapter/
identifier/
models/JMethod.go
→
adapter/models/JMethod.go
浏览文件 @
26b83b3b
文件已移动
adapter/
call/
models/JMethodCall.go
→
adapter/models/JMethodCall.go
浏览文件 @
26b83b3b
文件已移动
cmd/analysis.go
浏览文件 @
26b83b3b
package
cmd
import
(
"encoding/json"
"fmt"
"github.com/spf13/cobra"
"github.com/spf13/viper"
...
...
@@ -17,10 +19,16 @@ var collCmd *cobra.Command = &cobra.Command{
if
importPath
!=
""
{
callApp
:=
new
(
JavaCallApp
)
callApp
.
AnalysisPath
(
importPath
)
callNodes
:=
callApp
.
AnalysisPath
(
importPath
)
cModel
,
_
:=
json
.
Marshal
(
callNodes
)
identifierApp
:=
new
(
JavaIdentifierApp
)
identifierApp
.
AnalysisPath
(
importPath
)
identNodes
:=
identifierApp
.
AnalysisPath
(
importPath
)
iNodes
,
_
:=
json
.
Marshal
(
identNodes
)
fmt
.
Println
(
string
(
cModel
))
fmt
.
Println
(
string
(
iNodes
))
}
},
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录