【问题标题】:Is there an infrastructure similar and/or with the same functionality as the Java Annotation Processing Tool (APT) in the Dart Language?是否存在与 Dart 语言中的 Java 注释处理工具 (APT) 类似和/或具有相同功能的基础架构?
【发布时间】:2014-03-30 15:26:59
【问题描述】:

Java APT 包括一组反射 API 和支持基础设施来处理程序注释,我想知道 Dart 中是否有类似的东西。

【问题讨论】:

  • @JasonC 我不认为这是重复的。引用的问题是关于运行时访问,我认为 APT 是关于构建时对注释的访问。
  • @GünterZöchbauer 我猜它确实是这样读的;我已删除投票。

标签: java reflection annotations dart apt


【解决方案1】:

您可以使用analyzer package 执行类似的操作。此包允许您从源获取AST 或已解析的 AST(带有类型)并在其中导航。

所以是的,您可以像apt 一样处理源代码。

【讨论】:

    【解决方案2】:

    我从未使用过 Java APT,只是做了一个非常简短的 Google 搜索
    但据我所知,这已经在几个 Dart 包中使用了。
    有源镜像,不用实际运行就可以反映 Dart 源代码。
    这通常用于在构建过程中执行的转换器中。
    您可以在pubspec.yaml 配置文件中添加自定义转换器。

    这个包可能值得一看:http://pub.dartlang.org/packages/smoke
    源代码库:https://github.com/dart-lang/bleeding_edge/tree/master/dart/pkg/smoke

    【讨论】:

    • 你说:“我从来没有使用过 Java APT,只是做了一个非常简短的谷歌搜索,但据我所知,它已经在几个 Dart 包中使用了。” 你能澄清这一点?你的意思是“这个被使用了”还是“这个没有被使用了”?
    • 我的意思是我认为 APT 是完全错误的。我只从找到的搜索结果中阅读了几句话。如果我的理解不是完全错误的话,这可能与几个 Dart 包正在使用的类似。就像 Polymer 使用 smoke 库将使用反射来读取/监视带有 @published 或 @observable 注释的字段的代码转换为不使用反射的代码。
    猜你喜欢
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多