refactor(compiler): use the new compiler everywhere

Closes #3605

BREAKING CHANGE:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  This changes the indices when using `DebugElement.componentViewChildren` / `DebugElement.children`.
- `@Directive.compileChildren` was removed,
  `ng-non-bindable` is now builtin and not a directive any more
- angular no more adds the `ng-binding` class to elements with bindings
- directives are now ordered as they are listed in the View.directives regarding change detection.
  Previously they had an undefined order.
- the `Renderer` interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.
- reprojection with `ng-content` is now all or nothing per `ng-content` element
- angular2 transformer can't be used in tests that modify directive metadata.
  Use `angular2/src/transform/inliner_for_test` transformer instead.
This commit is contained in:
Tobias Bosch
2015-10-01 10:07:49 -07:00
parent 30ca0434a2
commit 76247b7097
124 changed files with 2013 additions and 3451 deletions

View File

@ -152,10 +152,10 @@ var NG_API = [
'Class:js',
'Compiler',
'Compiler.compileInHost()',
'Compiler.clearCache()',
'Component',
'Component.bindings',
'Component.changeDetection',
'Component.compileChildren',
'Component.outputs',
'Component.exportAs',
'Component.host',
@ -167,7 +167,6 @@ var NG_API = [
'ComponentMetadata',
'ComponentMetadata.bindings',
'ComponentMetadata.changeDetection',
'ComponentMetadata.compileChildren',
'ComponentMetadata.outputs',
'ComponentMetadata.exportAs',
'ComponentMetadata.host',
@ -372,7 +371,6 @@ var NG_API = [
'DependencyMetadata.token',
'Directive',
'Directive.bindings',
'Directive.compileChildren',
'Directive.outputs',
'Directive.exportAs',
'Directive.host',
@ -382,7 +380,6 @@ var NG_API = [
'Directive.selector',
'DirectiveMetadata',
'DirectiveMetadata.bindings',
'DirectiveMetadata.compileChildren',
'DirectiveMetadata.outputs',
'DirectiveMetadata.exportAs',
'DirectiveMetadata.host',
@ -720,7 +717,6 @@ var NG_API = [
'NgModel.viewModel',
'NgModel.viewModel=',
'NgModel.viewToModelUpdate()',
'NgNonBindable',
'NgSelectOption',
'NgStyle',
'NgStyle.doCheck()',
@ -899,6 +895,8 @@ var NG_API = [
'Renderer',
'Renderer.attachFragmentAfterElement()',
'Renderer.attachFragmentAfterFragment()',
'Renderer.createProtoView()',
'Renderer.registerComponentTemplate()',
'Renderer.createRootHostView()',
'Renderer.createView()',
'Renderer.dehydrateView()',
@ -967,7 +965,6 @@ var NG_API = [
'UpperCasePipe',
'UpperCasePipe.transform()',
'UrlResolver',
'UrlResolver.packagePrefix',
'UrlResolver.resolve()',
'Validators#array()',
'Validators#compose()',
@ -1129,6 +1126,36 @@ var NG_API = [
'{OnInit}',
'{PipeOnDestroy}',
'{PipeTransform}',
'{RenderBeginCmd}',
'{RenderBeginCmd}.isBound',
'{RenderBeginCmd}.isBound=',
'{RenderBeginCmd}.ngContentIndex',
'{RenderBeginCmd}.ngContentIndex=',
'{RenderBeginComponentCmd}',
'{RenderBeginComponentCmd}.nativeShadow',
'{RenderBeginComponentCmd}.nativeShadow=',
'{RenderBeginComponentCmd}.templateId',
'{RenderBeginComponentCmd}.templateId=',
'{RenderBeginElementCmd}',
'{RenderBeginElementCmd}.attrNameAndValues',
'{RenderBeginElementCmd}.attrNameAndValues=',
'{RenderBeginElementCmd}.eventTargetAndNames',
'{RenderBeginElementCmd}.eventTargetAndNames=',
'{RenderBeginElementCmd}.name',
'{RenderBeginElementCmd}.name=',
'{RenderCommandVisitor}',
'{RenderEmbeddedTemplateCmd}',
'{RenderEmbeddedTemplateCmd}.children',
'{RenderEmbeddedTemplateCmd}.children=',
'{RenderEmbeddedTemplateCmd}.isMerged',
'{RenderEmbeddedTemplateCmd}.isMerged=',
'{RenderNgContentCmd}',
'{RenderNgContentCmd}.ngContentIndex',
'{RenderNgContentCmd}.ngContentIndex=',
'{RenderTemplateCmd}',
'{RenderTextCmd}',
'{RenderTextCmd}.value',
'{RenderTextCmd}.value=',
'{RenderElementRef}',
'{RenderElementRef}.renderBoundElementIndex',
'{RenderElementRef}.renderBoundElementIndex=',