【问题标题】:Eclipse plugin: How to find/parse ternary operator?Eclipse 插件:如何查找/解析三元运算符?
【发布时间】:2014-09-19 15:19:18
【问题描述】:

我已经实现了几个访问者,例如用于分配、ForStatements 等。但在我的 Java 项目中似乎没有方便的方法来查找三元运算符 (? : )?

那么还有其他方法可以在我的项目中找到三元表达式吗?

【问题讨论】:

  • 该错误是针对 Eclipse EGL 开发工具的,与 Java 开发工具无关。
  • 糟糕。好的 - 删除了该链接。谢谢!

标签: java eclipse eclipse-plugin ternary-operator eclipse-jdt


【解决方案1】:

我假设您使用的是 AST,因为您指的是“访问者”。在这种情况下,您可以使用这样的访问者:

new ASTVisitor() {
    @Override
    public boolean visit(ConditionalExpression node) {
        ...
        return false;
    }
}

在 Eclipse 中使用的一个好工具是 ASTView,它会在打开的编辑器中显示任何选定代码的 AST。您可以从此更新站点安装 ASTView: http://www.eclipse.org/jdt/ui/update-site

【讨论】:

  • 我已经有一位 ASTVisitor 访问ConditionalExpressions。我尝试了大约 50 次,但没有成功。既然您提议使用它,我重新尝试运行我已经存在的代码 - 它可以工作!我不知道为什么,我不知道怎么做——但这没关系。谢谢!
【解决方案2】:

可以ctrl-f,勾选正则表达式,搜索:

\?.*:

【讨论】:

  • 我不想手动查找三元运算符,而是在我的插件环境中自动(以编程方式)查找。因此我不能使用 ctrl+f。此外,您的正则表达式还会显示“你好?我的意思是:当然!”之类的字符串......
  • 为什么会有“你好?我的意思是:当然!”在你的代码中?我想另一个问题是它找到一个“?”代码中的某处,而“:”则在完全不同的位置。另外,我严重误解了这个问题,不是吗。
猜你喜欢
  • 2011-12-24
  • 2015-05-17
  • 2019-03-09
  • 2011-04-03
  • 2017-09-14
  • 2021-05-27
  • 1970-01-01
  • 2022-01-04
  • 2011-09-10
相关资源
最近更新 更多