
Update the license headers throughout the repository to reference Google LLC rather than Google Inc, for the required license headers. PR Close #37205
65 lines
1.9 KiB
TypeScript
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.');
|
|
}
|
|
}
|