Eclipse JDT ASTVisitor - 如何判断方法中是否读取或写入字段?
我正在编写一个 Eclipse ASTVisitor。如何判断方法中是否读取或写入字段?
提供的想法是“您需要访问分配节点。写入左侧的字段,同时读取右侧表达式的字段。”
当我访问作业并获得左右都是表达式时,如何判断表达式是否包含该字段?
I am writing a Eclipse ASTVisitor. How to tell if a field is read or written in a method?
The idea provided was "You need to vist Assignment node. Field on the LHS is written, while fields on the RHS expression is read."
After I visit the assignment and get the LHS and RHS which are both of Expression, how do I tell if the Expression contains the field?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您正在进行 AST 工作,我建议使用 AST View 插件。它是理解 JDT AST 的一个非常方便的工具。
你的方法将会奏效。我在访问者内部使用一个变量来指示我正在执行任务。
现在,当访问
SimpleName
或QualifiedName
时,我会执行以下操作:省略号 (...) 将被替换为根据值处理字段访问的代码您的
inVariableAssignment
。这将帮助您开始。哦,别忘了
PostfixExpression
和PrefixExpression
...If you are doing AST work, I suggest working with the AST View plugin. It is a very handy tool for understanding the JDT AST.
Your approach will work. I use a variable inside the visitor to indicate I'm in an assignment.
Now, when visiting a
SimpleName
or aQualifiedName
I do something like:The ellipsis (...) will be replaced by a code which handles the field access according to the value of your
inVariableAssignment
. This will get you started.Oh, don't forget
PostfixExpression
andPrefixExpression
...