1
我生成Java代碼串,和我有一樣如何消除FieldAccess和QualifiedName之間的歧義?
parameter.field.method();
然後我解析生成的代碼,以AST與Eclipse JDT的ASTParser
表達式和子表達式
parameter.field
成爲QualifiedName
,不是FieldAccess
。這會導致問題,因爲稍後我會清除限定名稱(使用Clean Qualified Types Plugin中的代碼)。
像「foo.bar」可以表示一種表達或者作爲合格 名稱(
QualifiedName
)或作爲現場訪問表達式(FieldAccess
) 含有簡單的名稱。或者是可以接受的,並且沒有辦法 在它們之間進行選擇,而沒有關於名稱解析 到(ASTParser
可能返回)的信息。
我應該生成什麼,以便解析器可以毫不含糊地知道這是一個FieldAccess
?
(一個有趣的副作用的問題:如何準備每當遇到QualifiedName
之間的Java編譯器消除歧義,還試圖把它解釋爲一個FieldAccess
通過解析名字?)