angular-cn/modules/@angular/compiler
Tobias Bosch f5c8e0989d feat(core): properly support inheritance
## Inheritance Semantics:

Decorators:
1) list the decorators of the class and its parents in the ancestor first order
2) only use the last decorator of each kind (e.g. @Component / ...)

Constructor parameters:
If a class inherits from a parent class and does not declare
a constructor, it inherits the parent class constructor,
and with it the parameter metadata of that parent class.

Lifecycle hooks:
Follow the normal class inheritance model,
i.e. lifecycle hooks of parent classes will be called
even if the method is not overwritten in the child class.

## Example

E.g. the following is a valid use of inheritance and it will
also inherit all metadata:

```
@Directive({selector: 'someDir'})
class ParentDirective {
  constructor(someDep: SomeDep) {}

  ngOnInit() {}
}

class ChildDirective extends ParentDirective {}
```

Closes #11606
Closes #12892
2016-11-28 14:12:12 -08:00
..
src feat(core): properly support inheritance 2016-11-28 14:12:12 -08:00
test feat(core): properly support inheritance 2016-11-28 14:12:12 -08:00
testing refactor(compiler): move `static_reflector` into `@angular/compiler` and rename files 2016-11-18 10:04:14 -08:00
index.ts refactor(compiler): add `createAotCompiler` factory 2016-11-18 10:04:14 -08:00
package.json docs: update descriptions in package.jsons 2016-09-14 16:44:39 -07:00
rollup-testing.config.js refactor: add license header to JS files & format files (#12081) 2016-10-04 20:39:20 -07:00
rollup.config.js refactor: add license header to JS files & format files (#12081) 2016-10-04 20:39:20 -07:00
tsconfig-build.json feature(tsc-wrapped): add option for closure compiler JSDoc annotations 2016-11-18 09:37:40 -08:00
tsconfig-testing.json fix(packages): use ES modules for primary build (#11120) 2016-08-30 18:07:40 -07:00