/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import {Compiler, CompilerOptions, Component, Directive, Injector, NgModule, Pipe, Type} from '@angular/core'; import {MetadataOverride} from './metadata_override'; function unimplemented(): any { throw Error('unimplemented'); } /** * Special interface to the compiler only used by testing * * @experimental */ export class TestingCompiler extends Compiler { get injector(): Injector { throw unimplemented(); } overrideModule(module: Type, overrides: MetadataOverride): void { throw unimplemented(); } overrideDirective(directive: Type, overrides: MetadataOverride): void { throw unimplemented(); } overrideComponent(component: Type, overrides: MetadataOverride): void { throw unimplemented(); } overridePipe(directive: Type, overrides: MetadataOverride): void { throw unimplemented(); } } /** * A factory for creating a Compiler * * @experimental */ export abstract class TestingCompilerFactory { abstract createTestingCompiler(options?: CompilerOptions[]): TestingCompiler; }