Joey Perrott d1ea1f4c7f build: update license headers to reference Google LLC (#37205)
Update the license headers throughout the repository to reference Google LLC
rather than Google Inc, for the required license headers.

PR Close #37205
2020-05-26 14:26:58 -04:00

65 lines
1.9 KiB
TypeScript

/**
* @license
* Copyright Google LLC 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 {CompileReflector} from '../compile_reflector';
import * as o from '../output/output_ast';
/**
* Implementation of `CompileReflector` which resolves references to @angular/core
* symbols at runtime, according to a consumer-provided mapping.
*
* Only supports `resolveExternalReference`, all other methods throw.
*/
export class R3JitReflector implements CompileReflector {
constructor(private context: {[key: string]: any}) {}
resolveExternalReference(ref: o.ExternalReference): any {
// This reflector only handles @angular/core imports.
if (ref.moduleName !== '@angular/core') {
throw new Error(`Cannot resolve external reference to ${
ref.moduleName}, only references to @angular/core are supported.`);
}
if (!this.context.hasOwnProperty(ref.name!)) {
throw new Error(`No value provided for @angular/core symbol '${ref.name!}'.`);
}
return this.context[ref.name!];
}
parameters(typeOrFunc: any): any[][] {
throw new Error('Not implemented.');
}
annotations(typeOrFunc: any): any[] {
throw new Error('Not implemented.');
}
shallowAnnotations(typeOrFunc: any): any[] {
throw new Error('Not implemented.');
}
tryAnnotations(typeOrFunc: any): any[] {
throw new Error('Not implemented.');
}
propMetadata(typeOrFunc: any): {[key: string]: any[];} {
throw new Error('Not implemented.');
}
hasLifecycleHook(type: any, lcProperty: string): boolean {
throw new Error('Not implemented.');
}
guards(typeOrFunc: any): {[key: string]: any;} {
throw new Error('Not implemented.');
}
componentModuleUrl(type: any, cmpMetadata: any): string {
throw new Error('Not implemented.');
}
}