angular/modules/@angular/compiler/src
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
..
animation fix(animations): retain styling when transition destinations are changed (#12208) 2016-11-14 16:59:06 -08:00
aot feat(core): properly support inheritance 2016-11-28 14:12:12 -08:00
compiler_util refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
css_parser refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
expression_parser refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
i18n refactor(compiler): further minor fixes 2016-11-18 10:04:14 -08:00
jit refactor(compiler): move static_reflector into @angular/compiler and rename files 2016-11-18 10:04:14 -08:00
ml_parser refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
output refactor(compiler): Reintroduce ReflectorHost and move Extractor into @angular/compiler 2016-11-18 10:04:14 -08:00
schema refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
template_parser refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
view_compiler refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
assertions.ts refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
chars.ts chore(lint): Added license headers to most TypeScript files 2016-06-23 09:47:54 -07:00
compile_metadata.ts refactor(compiler): move static_reflector into @angular/compiler and rename files 2016-11-18 10:04:14 -08:00
config.ts fix(compiler): no longer uses assetCacheKey for token identity. 2016-08-29 12:45:02 -07:00
directive_normalizer.ts refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
directive_resolver.ts feat(core): properly support inheritance 2016-11-28 14:12:12 -08:00
directive_wrapper_compiler.ts refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
facade repackaging: all the repackaging changes squashed 2016-05-01 20:51:00 -07:00
identifiers.ts refactor(compiler): remove asset: urls 2016-11-18 10:04:14 -08:00
lifecycle_reflector.ts refactor(core): delete unused reflector code 2016-10-17 23:17:34 -07:00
metadata_resolver.ts refactor(compiler): move static_reflector into @angular/compiler and rename files 2016-11-18 10:04:14 -08:00
ng_module_compiler.ts refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
ng_module_resolver.ts feat(core): properly support inheritance 2016-11-28 14:12:12 -08:00
parse_util.ts refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
pipe_resolver.ts feat(core): properly support inheritance 2016-11-28 14:12:12 -08:00
private_import_core.ts refactor(compiler): move static_reflector into @angular/compiler and rename files 2016-11-18 10:04:14 -08:00
provider_analyzer.ts refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
resource_loader.ts fix(platform-browser-dynamic): Rename CACHED_TEMPLATE_PROVIDER to RESOURCE_CACHE_PROVIDER (#10866) 2016-08-17 09:24:44 -07:00
selector.ts refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
shadow_css.ts refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
style_compiler.ts refactor: misc cleanup (#10046) 2016-07-13 11:01:32 -07:00
style_url_resolver.ts refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
url_resolver.ts refactor(compiler): remove asset: urls 2016-11-18 10:04:14 -08:00
util.ts fix(core): fix placeholders handling in i18n. 2016-11-14 12:55:48 -08:00