int type;//type=1 普通节点,可有多个子节点 type = 2 条件节点 只有两个子节点 type=3 预置节点
String name;//方法中文注释
String methodName;//方法英文名
String argsType;
String note;//方法注释
String adptive;
Node parent;
List<Node> child = new ArrayList<>();
复制代码
0, "根节点", "用做递归的跟节点,初始化uml的start和end",
1, "普通节点", "方法和代码块中标记的node节点,能够有多个孩子",
2, "条件节点", "条件代码,最多有两个孩子",
3, "预置节点", "占位节点",
4, "空白节点", "空白节点,用做decison中只表达right的时候占位使用",
5, "结束节点", "支持节点的结束";
复制代码
Query<PsiMethod> search = OverridingMethodsSearch.search(psiMethod);
复制代码
//@node type="decision",name="条件X",note=""
if(true){
//@node type="node",name="G"
}
if(true)//@node type="decision",name="条件X",note=""
{
//@node type="node",name="G"
}
复制代码
//@node type="decision",name="条件B",note=""
if(true)
{
//@node type="decision",name="条件C",note=""
if(true)
{
//@node type="node",name="G"
return null;
}else if(true) //@node type="decision",name="条件D",note=""
{
//@node type="node",name= H
}else {
//@node type="node",name= I
}
//@node type="node",name= M
}
复制代码
//@node type="node",name="T1",note=""
public Boolean test1(){
//@node type="node",name="NA",note=""
//@node type="decision",name="DA",note=""
if(true){
//@node type="node",name="NB",note=""
}else if(true)//@node type="decision",name="DB",note=""
{
//@node type="node",name="NC",note=""
return false;
}
//@node type="node",name="ND",note=""
}
```
复制代码