1779cc86d2
In preparation for some flow anaylsis work I intend to do this month, I want to make the flow analysis unit tests easier to understand and maintain. This CL creates an AST representation that models just enough of the Dart language to be able to do flow analysis testing, so that when reading or writing a flow analysis unit test, instead of having to remember the correct sequence of calls to FlowAnalysis to model a given construct, you can just create a mini-AST representation of the given construct and pass it to the flow analysis test harness. The mini-AST model for expressions contains methods that can be used to build larger expressions out of smaller ones, so a lot of code can be modeled compactly. For example, to create a mini-AST model of the statement `x = y && z == null;`, call `x.write(y.read.and(z.read.eq(nullLiteral()))).stmt`. Change-Id: I11e3882078fdc5797176019398db48011232cf35 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174560 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Paul Berry <paulberry@google.com>
FE/analyzer shared code
This package contains logic that is shared between the front_end and analyzer packages. It is intended solely to facilitate development of the Dart SDK, and is not intended for use by end users. In particular, this package has no public API, so no guarantee is made of compatibility between one version of the package and the next.
End users should consider using the analyzer package to analyze Dart source code.