Chromium Code Reviews| Index: pkg/smoke/README.md |
| diff --git a/pkg/smoke/README.md b/pkg/smoke/README.md |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8224a690ef7e3e045b85896ba114739d03a73585 |
| --- /dev/null |
| +++ b/pkg/smoke/README.md |
| @@ -0,0 +1,35 @@ |
| +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 |
|
Jennifer Messerly
2014/02/20 21:24:47
perhaps link to api docs, e.g.
[MirrorsUsed](http
Siggi Cherem (dart-lang)
2014/02/20 22:19:48
done.
|
| +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. |