angular-cn/packages/compiler-cli
JoostK d68ad3e617 fix(ivy): ngcc - recognize synthesized constructors (#27897)
A constructor function may have been "synthesized" by TypeScript during
JavaScript emit, in the case no user-defined constructor exists and e.g.
property initializers are used. Those initializers need to be emitted
into a constructor in JavaScript, so the TypeScript compiler generates a
synthetic constructor.

This commit adds identification of such constructors as ngcc needs to be
able to tell if a class did originally have a constructor in the
TypeScript source. When a class has a superclass, a synthesized
constructor must not be considered as a user-defined constructor as that
prevents a base factory call from being created by ngtsc, resulting in a
factory function that does not inject the dependencies of the superclass.
Hence, we identify a default synthesized super call in the constructor
body, according to the structure that TypeScript emits.

PR Close #27897
2019-01-09 11:48:10 -08:00
..
integrationtest test(ivy): replace resolved issue in compiler-cli test with new root cause (#27709) 2018-12-17 16:46:42 -08:00
src fix(ivy): ngcc - recognize synthesized constructors (#27897) 2019-01-09 11:48:10 -08:00
test fix(ivy): sanitization for Host Bindings (#27939) 2019-01-08 17:17:04 -08:00
BUILD.bazel feat(ivy): produce diagnostics for missing exports, incorrect entrypoint (#27743) 2019-01-08 16:36:18 -08:00
DEVELOPER.md build: remove "build.sh" script (#27937) 2019-01-07 15:35:09 -08:00
browser-rollup.config.js refactor: make all rollup config ES5 compatible (#20028) 2017-10-30 23:09:17 -04:00
index.ts fix(compiler-cli): don't report emit diagnostics when --noEmitOnError is off (#20063) 2017-11-02 14:49:38 -07:00
ngtools2.ts refactor(compiler-cli): expose ngtools api separately (#18978) 2017-08-31 14:37:13 -07:00
package.json feat: add support for typescript 3.2 (#27536) 2018-12-18 13:20:01 -08:00
tsconfig-build.json build: Move non-bazel deps to devDependencies (#26691) 2018-10-30 16:19:13 -04:00
tsconfig.json build(compiler-cli): fix tsconfig.json circularity issue (#22722) 2018-03-15 21:18:07 -07:00