| Index: pkg/smoke/README.md
|
| diff --git a/pkg/smoke/README.md b/pkg/smoke/README.md
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..188957449462dc1fd57d8627b44206cf220a013f
|
| --- /dev/null
|
| +++ b/pkg/smoke/README.md
|
| @@ -0,0 +1,37 @@
|
| +Smoke (and mirrors)
|
| +===================
|
| +
|
| +Smoke is a package that exposes a reduced reflective system API. This API
|
| +includes accessing objects in a dynamic fashion (read properties, write
|
| +properties, and call methods), inspecting types (for example, whether a
|
| +method exists), and symbol/string convertion.
|
| +
|
| +The package provides a default implementation of this API that uses the system's
|
| +mirrors, but additionally provides mechanisms for statically generating code
|
| +that can replace the mirror-based implementation.
|
| +
|
| +The intention of this package is to allow frameworks to use mirrors in a way
|
| +that will not impose on their users. The idea is that users will not worry about
|
| +how to preserve symbols when compiling with dart2js (for instance, using the
|
| +[MirrorsUsed][] annotation). Instead, this package provides the building
|
| +blocks to autogenerate whatever is needed for dart2js to be happy and to
|
| +generate reasonable code.
|
| +
|
| +Note this package alone doesn't know how to generate everything, but it provides
|
| +a simple API that different frameworks can use to define what needs to be
|
| +generated.
|
| +
|
| +
|
| +Smoke reflective API
|
| +====================
|
| +
|
| +Use `package:smoke/smoke.dart` in your framework to read and write objects and
|
| +to inspect type information. Read the Dart-docs for more details.
|
| +
|
| +Code Generation
|
| +===============
|
| +
|
| +TBD. We envision we'll have a base transformer class that can be tailored to
|
| +create a transformer for your framework.
|
| +
|
| +[MirrorsUsed]: https://api.dartlang.org/apidocs/channels/stable/#dart-mirrors.MirrorsUsed
|
|
|