我需要對由java解析器生成的AST執行一些操作。我的問題是我想檢查一個類的初始化週期問題是否存在。Javaparser AST模式匹配
一個例子是,
class mark1 {
public static final int x = mark2.p * 5;
//Do some operations here
}
class mark2 {
public static final int p = mark1.x + 100;
//Do some operations here
}
的類的初始化順序可以變化,從而導致對mark1.x和mark2.p不同的值的計算。我試圖用javaparser生成的AST實現它,但沒有得到一個可行的解決方案。
感謝您的回覆先生。我想實現這個規則https://www.securecoding.cert.org/confluence/display/java/DCL00-J.+Prevent+class+initialization+cycles。我使用javaparser得到了AST。我想做一個模式匹配來找到這個漏洞,但我堅持在這裏。 –