Quando e como o decorador se aplica às classes decoradas dos pacotes @angular

Se eu usar um decorador em minha classe, o decorador será avaliado ao importar a classe. Aqui está o pequeno exemplo:

@NgModule({ ... })
export class BModule { ... }

Transpiled como:

var BModule = (function () {
    function BModule() {
    }
    BModule = __decorate([  <---------- decorators are applied here
        core_1.NgModule({...})
    ], BModule);
    return BModule;
}());
exports.BModule = BModule;

No entanto, quando o módulo ou qualquer outro decorador é aplicado no@angular&nbsp;agrupa a saída é a seguinte:

var HttpClientModule = (function () {
    function HttpClientModule() {
    }
    return HttpClientModule;
}());
HttpClientModule.decorators = [
    { type: _angular_core.NgModule, args: [{ ... },] },
];

Como você pode ver, os decoradores não são aplicados aqui. Eles são salvos apenas nodecorators&nbsp;propriedade. Por que é diferente do meu código?

A razão pela qual estou perguntando é que, ao importar minhas aulas decoradas, espero que os decoradores sejam aplicados e, portanto, useReflect&nbsp;é possível:

const providers = Reflect.getOwnMetadata('annotations', BModule);

No entanto, não funciona dessa maneira com aulas decoradas do@angular&nbsp;pacotes.