fix(web_workers): support @AngularEntrypoint in web workers

And enable transformers on all playground apps

Closes #6013
This commit is contained in:
Yegor Jbanov
2015-12-18 17:00:43 -08:00
committed by Yegor
parent b0cebdba6b
commit ac85cbb28a
19 changed files with 106 additions and 88 deletions

View File

@ -73,11 +73,14 @@ const _VIEWS = const [
const _ENTRYPOINTS = const [
const ClassDescriptor('AngularEntrypoint', 'package:angular2/angular2.dart'),
const ClassDescriptor('AngularEntrypoint', 'package:angular2/core.dart'),
const ClassDescriptor('AngularEntrypoint', 'package:angular2/bootstrap.dart'),
const ClassDescriptor(
'AngularEntrypoint', 'package:angular2/bootstrap_static.dart'),
const ClassDescriptor(
'AngularEntrypoint', 'package:angular2/platform/browser.dart'),
const ClassDescriptor(
'AngularEntrypoint', 'package:angular2/platform/worker_app.dart'),
const ClassDescriptor(
'AngularEntrypoint', 'package:angular2/platform/browser_static.dart'),
const ClassDescriptor(

View File

@ -69,6 +69,10 @@ class _RewriterVisitor extends Object with RecursiveAstVisitor<Object> {
bool _setupAdded = false;
bool _importAdded = false;
/// Whether we imported static bootstrap by e.g. rewriting a non-static
/// bootstrap import.
bool _hasStaticBootstrapImport = false;
_RewriterVisitor(this._rewriter);
@override
@ -111,7 +115,8 @@ class _RewriterVisitor extends Object with RecursiveAstVisitor<Object> {
@override
Object visitMethodInvocation(MethodInvocation node) {
if (node.methodName.toString() == BOOTSTRAP_NAME) {
if (_hasStaticBootstrapImport &&
node.methodName.toString() == BOOTSTRAP_NAME) {
_rewriteBootstrapCallToStatic(node);
}
return super.visitMethodInvocation(node);
@ -143,6 +148,7 @@ class _RewriterVisitor extends Object with RecursiveAstVisitor<Object> {
buf.write(_rewriter._code.substring(_currentIndex, insertOffset));
buf.write(_getStaticReflectorInitBlock());
_currentIndex = insertOffset;
_setupAdded = true;
} else if (node is ExpressionFunctionBody) {
// TODO(kegluneq): Add support, see issue #5474.
throw new ArgumentError(
@ -169,6 +175,7 @@ class _RewriterVisitor extends Object with RecursiveAstVisitor<Object> {
buf.write(_rewriter._code.substring(_currentIndex, node.offset));
// TODO(yjbanov): handle import "..." show/hide ...
buf.write("import '$BOOTSTRAP_STATIC_URI';");
_hasStaticBootstrapImport = true;
} else {
// leave it as is
buf.write(_rewriter._code.substring(_currentIndex, node.end));

View File

@ -17,7 +17,7 @@ import 'package:angular2/src/core/reflection/reflection.dart';
@AngularEntrypoint()
void main() {ngStaticInit.initReflector();
ngStaticInit.initReflector();/*reflector.reflectionCapabilities = new ReflectionCapabilities();*/
/*reflector.reflectionCapabilities = new ReflectionCapabilities();*/
bootstrapStatic(MyComponent);
}
""";