我在使用PMD檢查我的代碼錯誤時遇到了一個問題。我不知道如何同時滿足兩個要求。例如,如果我想檢查一個名爲ABC的方法,文件中不存在從BCD擴展的。我知道如何檢查ABC是否存在或者是否使用PMD分別從BCD擴展。結合了兩次PMD檢查
像這樣:
//PrimaryExpression/PrimaryPrefix/Name [@Image = "ABC"];
//ExtendsList/ClassOrInterfaceType [@Image != "BCD"];
現在,反正是有,我可以檢查這兩個在一起。例如,我希望它在擴展BCD的類中不需要ABC。看來我不能簡單地使用諸如此類的東西來連接這兩個Xpath查詢。另外,我注意到我可以使用|與他們聯繫,但| |作爲或者工作。我需要和這裏而不是或。
編輯:
我想是這樣的:
//PrimaryExpression/PrimaryPrefix/Name[@Image = "ABC"]
[//ancestor::ClassOrInterfaceDeclaration/ExtendsList/
ClassOrInterfaceType[@Image != "BCD"]]
這似乎是它至少爲我工作。但是我仍然不能100%確定這是否正確,因爲我剛剛嘗試過。