ANTLR4 flutter 访问 BuildVisitor 中的每个小部件

问题描述

已编辑

我正在尝试将 ANTLR 与 Flutter 结合使用,并且在尝试确定 Dart2Buildvisitor 中的哪些函数可以访问 UI 小部件时遇到了一些困难。我想分别访问每个小部件(例如:alertdialog 的函数,textfield 的函数),但由于我还是新手,我似乎不知道在哪里可以找到它们。有没有办法可以单独访问每个小部件?

编辑 2:当我解析 Flutter 代码以查看小部件在解析树中的位置时,它位于主要和标识符下

解决方法

一路下来几乎是Dart。 https://flutter.dev/docs/resources/architectural-overview 上非常全面的架构指南。小部件主要在 https://github.com/flutter/flutter/tree/master/packages/flutter/lib/src/materialhttps://github.com/flutter/flutter/tree/master/packages/flutter/lib/src/widgets

,

Flutter 小部件通常表示为 dart 中的对象字面量。查找任何 Flutter 小部件的构建函数的返回结果。 此外,Flutter 小部件比传统定义的小部件更小、更精细。

因此,在许多语言中,您可能有一个具有 20 个属性的小部件,但在 flutter 中,它可能由小型简单小部件(例如中心、边框、文本等)的嵌套树实现。