refactor(core): separate reflective injector from Injector interface

BREAKING CHANGE:
- Injector was renamed into `ReflectiveInjector`,
  as `Injector` is only an abstract class with one method on it
- `Injector.getOptional()` was changed into `Injector.get(token, notFoundValue)`
  to make implementing injectors simpler
- `ViewContainerRef.createComponent` now takes an `Injector`
  instead of `ResolvedProviders`. If a reflective injector
  should be used, create one before calling this method.
  (e.g. via `ReflectiveInjector.resolveAndCreate(…)`.
This commit is contained in:
Tobias Bosch
2016-04-14 12:35:24 -07:00
parent efbd446d18
commit 0a7d10ba55
46 changed files with 1790 additions and 1719 deletions

View File

@ -13,12 +13,12 @@ import {publicApi} from 'ts-api-guardian';
const CORE = [
'AbstractProviderError',
'AbstractProviderError.addKey(injector:Injector, key:Key):void',
'AbstractProviderError.addKey(injector:ReflectiveInjector, key:ReflectiveKey):void',
'AbstractProviderError.constructResolvingMessage:Function',
'AbstractProviderError.constructor(injector:Injector, key:Key, constructResolvingMessage:Function)',
'AbstractProviderError.constructor(injector:ReflectiveInjector, key:ReflectiveKey, constructResolvingMessage:Function)',
'AbstractProviderError.context:any',
'AbstractProviderError.injectors:Injector[]',
'AbstractProviderError.keys:Key[]',
'AbstractProviderError.injectors:ReflectiveInjector[]',
'AbstractProviderError.keys:ReflectiveKey[]',
'AbstractProviderError.message:string',
'AfterContentChecked',
'AfterContentChecked.ngAfterContentChecked():any',
@ -106,7 +106,7 @@ const CORE = [
'ContentChildrenMetadata',
'ContentChildrenMetadata.constructor(_selector:Type|string, {descendants=false,read=null}:{descendants?:boolean, read?:any})',
'CyclicDependencyError',
'CyclicDependencyError.constructor(injector:Injector, key:Key)',
'CyclicDependencyError.constructor(injector:ReflectiveInjector, key:ReflectiveKey)',
'DebugNode',
'DebugNode.componentInstance:any',
'DebugNode.constructor(nativeNode:any, parent:DebugNode, _debugInfo:RenderDebugInfo)',
@ -135,9 +135,9 @@ const CORE = [
'DebugElement.removeChild(child:DebugNode):any',
'DebugElement.triggerEventHandler(eventName:string, eventObj:any):any',
'asNativeElements(debugEls:DebugElement[]):any',
'Dependency',
'Dependency.constructor(key:Key, optional:boolean, lowerBoundVisibility:any, upperBoundVisibility:any, properties:any[])',
'Dependency.fromKey(key:Key):Dependency',
'ReflectiveDependency',
'ReflectiveDependency.constructor(key:ReflectiveKey, optional:boolean, lowerBoundVisibility:any, upperBoundVisibility:any, properties:any[])',
'ReflectiveDependency.fromKey(key:ReflectiveKey):ReflectiveDependency',
'DependencyMetadata',
'DependencyMetadata.token:any',
'DirectiveDecorator',
@ -158,7 +158,7 @@ const CORE = [
'DoCheck.ngDoCheck():any',
'DynamicComponentLoader',
'DynamicComponentLoader.loadAsRoot(type:Type, overrideSelectorOrNode:string, injector:Injector, onDispose:() => void, projectableNodes:any[][]):Promise<ComponentRef>',
'DynamicComponentLoader.loadNextToLocation(type:Type, location:ViewContainerRef, providers:ResolvedProvider[], projectableNodes:any[][]):Promise<ComponentRef>',
'DynamicComponentLoader.loadNextToLocation(type:Type, location:ViewContainerRef, providers:ResolvedReflectiveProvider[], projectableNodes:any[][]):Promise<ComponentRef>',
'ElementRef',
'ElementRef.nativeElement:any',
'ElementRef.constructor(nativeElement:any)',
@ -203,28 +203,30 @@ const CORE = [
'InjectableMetadata',
'InjectableMetadata.constructor()',
'Injector',
'Injector.createChildFromResolved(providers:ResolvedProvider[]):Injector',
'Injector.debugContext():any',
'Injector.fromResolvedBindings(providers:ResolvedProvider[]):Injector',
'Injector.fromResolvedProviders(providers:ResolvedProvider[]):Injector',
'Injector.get(token:any):any',
'Injector.getOptional(token:any):any',
'Injector.instantiateResolved(provider:ResolvedProvider):any',
'Injector.parent:Injector',
'Injector.resolve(providers:Array<Type|Provider|any[]>):ResolvedProvider[]',
'Injector.resolveAndCreate(providers:Array<Type|Provider|any[]>):Injector',
'Injector.resolveAndCreateChild(providers:Array<Type|Provider|any[]>):Injector',
'Injector.resolveAndInstantiate(provider:Type|Provider):any',
'Injector.THROW_IF_NOT_FOUND:any',
'Injector.get(token:any, notFoundValue:any):any',
'ReflectiveInjector',
'ReflectiveInjector.createChildFromResolved(providers:ResolvedReflectiveProvider[]):ReflectiveInjector',
'ReflectiveInjector.debugContext():any',
'ReflectiveInjector.fromResolvedBindings(providers:ResolvedReflectiveProvider[]):ReflectiveInjector',
'ReflectiveInjector.fromResolvedProviders(providers:ResolvedReflectiveProvider[], parent:Injector):ReflectiveInjector',
'ReflectiveInjector.get(token:any, notFoundValue:any):any',
'ReflectiveInjector.instantiateResolved(provider:ResolvedReflectiveProvider):any',
'ReflectiveInjector.parent:Injector',
'ReflectiveInjector.resolve(providers:Array<Type|Provider|any[]>):ResolvedReflectiveProvider[]',
'ReflectiveInjector.resolveAndCreate(providers:Array<Type|Provider|any[]>, parent:Injector):ReflectiveInjector',
'ReflectiveInjector.resolveAndCreateChild(providers:Array<Type|Provider|any[]>):ReflectiveInjector',
'ReflectiveInjector.resolveAndInstantiate(provider:Type|Provider):any',
'InputMetadataFactory',
'InputMetadata',
'InputMetadata.constructor(bindingPropertyName:string)',
'InstantiationError',
'InstantiationError.addKey(injector:Injector, key:Key):void',
'InstantiationError.causeKey:Key',
'InstantiationError.constructor(injector:Injector, originalException:any, originalStack:any, key:Key)',
'InstantiationError.addKey(injector:ReflectiveInjector, key:ReflectiveKey):void',
'InstantiationError.causeKey:ReflectiveKey',
'InstantiationError.constructor(injector:ReflectiveInjector, originalException:any, originalStack:any, key:ReflectiveKey)',
'InstantiationError.context:any',
'InstantiationError.injectors:Injector[]',
'InstantiationError.keys:Key[]',
'InstantiationError.injectors:ReflectiveInjector[]',
'InstantiationError.keys:ReflectiveKey[]',
'InstantiationError.wrapperMessage:string',
'InvalidProviderError',
'InvalidProviderError.constructor(provider:any)',
@ -239,11 +241,11 @@ const CORE = [
'IterableDiffers.create(factories:IterableDifferFactory[], parent:IterableDiffers):IterableDiffers',
'IterableDiffers.extend(factories:IterableDifferFactory[]):Provider',
'IterableDiffers.find(iterable:any):IterableDifferFactory',
'Key',
'Key.constructor(token:Object, id:number)',
'Key.displayName:string',
'Key.get(token:Object):Key',
'Key.numberOfKeys:number',
'ReflectiveKey',
'ReflectiveKey.constructor(token:Object, id:number)',
'ReflectiveKey.displayName:string',
'ReflectiveKey.get(token:Object):ReflectiveKey',
'ReflectiveKey.numberOfKeys:number',
'KeyValueChangeRecord',
'KeyValueChangeRecord.constructor(key:any)',
'KeyValueChangeRecord.currentValue:any',
@ -278,7 +280,7 @@ const CORE = [
'NoAnnotationError',
'NoAnnotationError.constructor(typeOrFunc:any, params:any[][])',
'NoProviderError',
'NoProviderError.constructor(injector:Injector, key:Key)',
'NoProviderError.constructor(injector:ReflectiveInjector, key:ReflectiveKey)',
'OnChanges',
'OnChanges.ngOnChanges(changes:{[key:string]:SimpleChange}):any',
'OnDestroy',
@ -393,13 +395,13 @@ const CORE = [
'Renderer.setElementProperty(renderElement:any, propertyName:string, propertyValue:any):void',
'Renderer.setElementStyle(renderElement:any, styleName:string, styleValue:string):any',
'Renderer.setText(renderNode:any, text:string):any',
'ResolvedBinding',
'ResolvedFactory',
'ResolvedFactory.constructor(factory:Function, dependencies:Dependency[])',
'ResolvedProvider',
'ResolvedProvider.key:Key',
'ResolvedProvider.multiProvider:boolean',
'ResolvedProvider.resolvedFactories:ResolvedFactory[]',
'ResolvedReflectiveBinding',
'ResolvedReflectiveFactory',
'ResolvedReflectiveFactory.constructor(factory:Function, dependencies:ReflectiveDependency[])',
'ResolvedReflectiveProvider',
'ResolvedReflectiveProvider.key:ReflectiveKey',
'ResolvedReflectiveProvider.multiProvider:boolean',
'ResolvedReflectiveProvider.resolvedFactories:ResolvedReflectiveFactory[]',
'RootRenderer',
'RootRenderer.renderComponent(componentType:RenderComponentType):Renderer',
'SelfMetadataFactory',
@ -443,9 +445,11 @@ const CORE = [
'ViewContainerRef',
'ViewContainerRef.clear():void',
'ViewContainerRef.createEmbeddedView(templateRef:TemplateRef, index:number):EmbeddedViewRef',
'ViewContainerRef.createComponent(componentFactory:ComponentFactory, index:number, dynamicallyCreatedProviders:ResolvedProvider[], projectableNodes:any[][]):ComponentRef',
'ViewContainerRef.createComponent(componentFactory:ComponentFactory, index:number, injector:Injector, projectableNodes:any[][]):ComponentRef',
'ViewContainerRef.detach(index:number):ViewRef',
'ViewContainerRef.element:ElementRef',
'ViewContainerRef.injector:Injector',
'ViewContainerRef.parentInjector:Injector',
'ViewContainerRef.get(index:number):ViewRef',
'ViewContainerRef.indexOf(viewRef:ViewRef):number',
'ViewContainerRef.insert(viewRef:ViewRef, index:number):ViewRef',
@ -820,241 +824,240 @@ const COMMON = [
'var workaround_empty_observable_list_diff:any'
];
const COMPILER =
[
'AttrAst',
'AttrAst.constructor(name:string, value:string, sourceSpan:ParseSourceSpan)',
'AttrAst.visit(visitor:TemplateAstVisitor, context:any):any',
'BoundDirectivePropertyAst',
'BoundDirectivePropertyAst.constructor(directiveName:string, templateName:string, value:AST, sourceSpan:ParseSourceSpan)',
'BoundDirectivePropertyAst.visit(visitor:TemplateAstVisitor, context:any):any',
'BoundElementPropertyAst',
'BoundElementPropertyAst.constructor(name:string, type:PropertyBindingType, value:AST, unit:string, sourceSpan:ParseSourceSpan)',
'BoundElementPropertyAst.visit(visitor:TemplateAstVisitor, context:any):any',
'BoundEventAst',
'BoundEventAst.constructor(name:string, target:string, handler:AST, sourceSpan:ParseSourceSpan)',
'BoundEventAst.fullName:any',
'BoundEventAst.visit(visitor:TemplateAstVisitor, context:any):any',
'BoundTextAst',
'BoundTextAst.constructor(value:AST, ngContentIndex:number, sourceSpan:ParseSourceSpan)',
'BoundTextAst.visit(visitor:TemplateAstVisitor, context:any):any',
'DirectiveAst',
'DirectiveAst.constructor(directive:CompileDirectiveMetadata, inputs:BoundDirectivePropertyAst[], hostProperties:BoundElementPropertyAst[], hostEvents:BoundEventAst[], exportAsVars:VariableAst[], sourceSpan:ParseSourceSpan)',
'DirectiveAst.visit(visitor:TemplateAstVisitor, context:any):any',
'ElementAst',
'ElementAst.constructor(name:string, attrs:AttrAst[], inputs:BoundElementPropertyAst[], outputs:BoundEventAst[], exportAsVars:VariableAst[], directives:DirectiveAst[], providers:ProviderAst[], hasViewContainer:boolean, children:TemplateAst[], ngContentIndex:number, sourceSpan:ParseSourceSpan)',
'ElementAst.getComponent():CompileDirectiveMetadata',
'ElementAst.isBound():boolean',
'ElementAst.visit(visitor:TemplateAstVisitor, context:any):any',
'EmbeddedTemplateAst',
'EmbeddedTemplateAst.constructor(attrs:AttrAst[], outputs:BoundEventAst[], vars:VariableAst[], directives:DirectiveAst[], providers:ProviderAst[], hasViewContainer:boolean, children:TemplateAst[], ngContentIndex:number, sourceSpan:ParseSourceSpan)',
'EmbeddedTemplateAst.visit(visitor:TemplateAstVisitor, context:any):any',
'NgContentAst',
'NgContentAst.constructor(index:number, ngContentIndex:number, sourceSpan:ParseSourceSpan)',
'NgContentAst.visit(visitor:TemplateAstVisitor, context:any):any',
'PropertyBindingType',
'PropertyBindingType.Attribute',
'PropertyBindingType.Class',
'PropertyBindingType.Property',
'PropertyBindingType.Style',
'TemplateAst',
'TemplateAst.sourceSpan:ParseSourceSpan',
'TemplateAst.visit(visitor:TemplateAstVisitor, context:any):any',
'TemplateAstVisitor',
'TemplateAstVisitor.visitAttr(ast:AttrAst, context:any):any',
'TemplateAstVisitor.visitBoundText(ast:BoundTextAst, context:any):any',
'TemplateAstVisitor.visitDirective(ast:DirectiveAst, context:any):any',
'TemplateAstVisitor.visitDirectiveProperty(ast:BoundDirectivePropertyAst, context:any):any',
'TemplateAstVisitor.visitElement(ast:ElementAst, context:any):any',
'TemplateAstVisitor.visitElementProperty(ast:BoundElementPropertyAst, context:any):any',
'TemplateAstVisitor.visitEmbeddedTemplate(ast:EmbeddedTemplateAst, context:any):any',
'TemplateAstVisitor.visitEvent(ast:BoundEventAst, context:any):any',
'TemplateAstVisitor.visitNgContent(ast:NgContentAst, context:any):any',
'TemplateAstVisitor.visitText(ast:TextAst, context:any):any',
'TemplateAstVisitor.visitVariable(ast:VariableAst, context:any):any',
'TextAst',
'TextAst.constructor(value:string, ngContentIndex:number, sourceSpan:ParseSourceSpan)',
'TextAst.visit(visitor:TemplateAstVisitor, context:any):any',
'UrlResolver',
'UrlResolver.constructor(_packagePrefix:string)',
'UrlResolver.resolve(baseUrl:string, url:string):string',
'VariableAst',
'VariableAst.constructor(name:string, value:string, sourceSpan:ParseSourceSpan)',
'VariableAst.visit(visitor:TemplateAstVisitor, context:any):any',
'XHR',
'XHR.get(url:string):Promise<string>',
'const COMPILER_PROVIDERS:Array<Type|Provider|any[]>',
'const PLATFORM_DIRECTIVES:OpaqueToken',
'const PLATFORM_PIPES:OpaqueToken',
'const TEMPLATE_TRANSFORMS:any',
'templateVisitAll(visitor:TemplateAstVisitor, asts:TemplateAst[], context:any):any[]',
'var DEFAULT_PACKAGE_URL_PROVIDER:any',
'CompileDiDependencyMetadata',
'CompileDiDependencyMetadata.constructor({isAttribute,isSelf,isHost,isSkipSelf,isOptional,isValue,query,viewQuery,token,value}:{isAttribute?:boolean, isSelf?:boolean, isHost?:boolean, isSkipSelf?:boolean, isOptional?:boolean, isValue?:boolean, query?:CompileQueryMetadata, viewQuery?:CompileQueryMetadata, token?:CompileTokenMetadata, value?:any})',
'CompileDiDependencyMetadata.fromJson(data:{[key:string]:any}):CompileDiDependencyMetadata',
'CompileDiDependencyMetadata.isAttribute:boolean',
'CompileDiDependencyMetadata.isHost:boolean',
'CompileDiDependencyMetadata.isOptional:boolean',
'CompileDiDependencyMetadata.isSelf:boolean',
'CompileDiDependencyMetadata.isSkipSelf:boolean',
'CompileDiDependencyMetadata.query:CompileQueryMetadata',
'CompileDiDependencyMetadata.toJson():{[key:string]:any}',
'CompileDiDependencyMetadata.token:CompileTokenMetadata',
'CompileDiDependencyMetadata.viewQuery:CompileQueryMetadata',
'CompileDiDependencyMetadata.isValue:boolean',
'CompileDiDependencyMetadata.value:any',
'CompileDirectiveMetadata.constructor({type,isComponent,selector,exportAs,changeDetection,inputs,outputs,hostListeners,hostProperties,hostAttributes,lifecycleHooks,providers,viewProviders,queries,viewQueries,template}:{type?:CompileTypeMetadata, isComponent?:boolean, selector?:string, exportAs?:string, changeDetection?:ChangeDetectionStrategy, inputs?:{[key:string]:string}, outputs?:{[key:string]:string}, hostListeners?:{[key:string]:string}, hostProperties?:{[key:string]:string}, hostAttributes?:{[key:string]:string}, lifecycleHooks?:LifecycleHooks[], providers?:Array<CompileProviderMetadata|CompileTypeMetadata|CompileIdentifierMetadata|any[]>, viewProviders?:Array<CompileProviderMetadata|CompileTypeMetadata|CompileIdentifierMetadata|any[]>, queries?:CompileQueryMetadata[], viewQueries?:CompileQueryMetadata[], template?:CompileTemplateMetadata})',
'CompileDirectiveMetadata.create({type,isComponent,selector,exportAs,changeDetection,inputs,outputs,host,lifecycleHooks,providers,viewProviders,queries,viewQueries,template}:{type?:CompileTypeMetadata, isComponent?:boolean, selector?:string, exportAs?:string, changeDetection?:ChangeDetectionStrategy, inputs?:string[], outputs?:string[], host?:{[key:string]:string}, lifecycleHooks?:LifecycleHooks[], providers?:Array<CompileProviderMetadata|CompileTypeMetadata|CompileIdentifierMetadata|any[]>, viewProviders?:Array<CompileProviderMetadata|CompileTypeMetadata|CompileIdentifierMetadata|any[]>, queries?:CompileQueryMetadata[], viewQueries?:CompileQueryMetadata[], template?:CompileTemplateMetadata}):CompileDirectiveMetadata',
'CompileDirectiveMetadata.providers:CompileProviderMetadata[]',
'CompileDirectiveMetadata.viewProviders:CompileProviderMetadata[]',
'CompileFactoryMetadata',
'CompileFactoryMetadata.constructor({runtime,name,moduleUrl,prefix,diDeps,value}:{runtime?:Function, name?:string, prefix?:string, moduleUrl?:string, value?:boolean, diDeps?:CompileDiDependencyMetadata[]})',
'CompileFactoryMetadata.diDeps:CompileDiDependencyMetadata[]',
'CompileFactoryMetadata.fromJson(data:{[key:string]:any}):CompileFactoryMetadata',
'CompileFactoryMetadata.identifier:CompileIdentifierMetadata',
'CompileFactoryMetadata.moduleUrl:string',
'CompileFactoryMetadata.name:string',
'CompileFactoryMetadata.prefix:string',
'CompileFactoryMetadata.runtime:Function',
'CompileFactoryMetadata.toJson():{[key:string]:any}',
'CompileFactoryMetadata.value:any',
'CompileIdentifierMetadata',
'CompileIdentifierMetadata.constructor({runtime,name,moduleUrl,prefix,value}:{runtime?:any, name?:string, moduleUrl?:string, prefix?:string, value?:any})',
'CompileIdentifierMetadata.fromJson(data:{[key:string]:any}):CompileIdentifierMetadata',
'CompileIdentifierMetadata.identifier:CompileIdentifierMetadata',
'CompileIdentifierMetadata.moduleUrl:string',
'CompileIdentifierMetadata.name:string',
'CompileIdentifierMetadata.prefix:string',
'CompileIdentifierMetadata.runtime:any',
'CompileIdentifierMetadata.toJson():{[key:string]:any}',
'CompileIdentifierMetadata.value:any',
'CompileMetadataWithIdentifier',
'CompileMetadataWithIdentifier.identifier:CompileIdentifierMetadata',
'CompileMetadataWithIdentifier.toJson():{[key:string]:any}',
'CompileMetadataWithType',
'CompileMetadataWithType.identifier:CompileIdentifierMetadata',
'CompileMetadataWithType.toJson():{[key:string]:any}',
'CompileMetadataWithType.type:CompileTypeMetadata',
'CompilePipeMetadata',
'CompilePipeMetadata.constructor({type,name,pure,lifecycleHooks}:{type?:CompileTypeMetadata, name?:string, pure?:boolean, lifecycleHooks?:LifecycleHooks[]})',
'CompilePipeMetadata.fromJson(data:{[key:string]:any}):CompilePipeMetadata',
'CompilePipeMetadata.identifier:CompileIdentifierMetadata',
'CompilePipeMetadata.lifecycleHooks:LifecycleHooks[]',
'CompilePipeMetadata.name:string',
'CompilePipeMetadata.pure:boolean',
'CompilePipeMetadata.toJson():{[key:string]:any}',
'CompilePipeMetadata.type:CompileTypeMetadata',
'CompileProviderMetadata',
'CompileProviderMetadata.constructor({token,useClass,useValue,useExisting,useFactory,deps,multi}:{token?:CompileTokenMetadata, useClass?:CompileTypeMetadata, useValue?:any, useExisting?:CompileTokenMetadata, useFactory?:CompileFactoryMetadata, deps?:CompileDiDependencyMetadata[], multi?:boolean})',
'CompileProviderMetadata.deps:CompileDiDependencyMetadata[]',
'CompileProviderMetadata.fromJson(data:{[key:string]:any}):CompileProviderMetadata',
'CompileProviderMetadata.multi:boolean',
'CompileProviderMetadata.toJson():{[key:string]:any}',
'CompileProviderMetadata.token:CompileTokenMetadata',
'CompileProviderMetadata.useClass:CompileTypeMetadata',
'CompileProviderMetadata.useExisting:CompileTokenMetadata',
'CompileProviderMetadata.useFactory:CompileFactoryMetadata',
'CompileProviderMetadata.useValue:any',
'CompileQueryMetadata',
'CompileQueryMetadata.constructor({selectors,descendants,first,propertyName,read}:{selectors?:Array<CompileTokenMetadata>, descendants?:boolean, first?:boolean, propertyName?:string, read?:CompileTokenMetadata})',
'CompileQueryMetadata.read:CompileTokenMetadata',
'CompileQueryMetadata.descendants:boolean',
'CompileQueryMetadata.first:boolean',
'CompileQueryMetadata.fromJson(data:{[key:string]:any}):CompileQueryMetadata',
'CompileQueryMetadata.propertyName:string',
'CompileQueryMetadata.selectors:Array<CompileTokenMetadata>',
'CompileQueryMetadata.toJson():{[key:string]:any}',
'CompileTokenMetadata',
'CompileTokenMetadata.assetCacheKey:any',
'CompileTokenMetadata.constructor({value,identifier,identifierIsInstance}:{value?:any, identifier?:CompileIdentifierMetadata, identifierIsInstance?:boolean})',
'CompileTokenMetadata.equalsTo(token2:CompileTokenMetadata):boolean',
'CompileTokenMetadata.fromJson(data:{[key:string]:any}):CompileTokenMetadata',
'CompileTokenMetadata.identifier:CompileIdentifierMetadata',
'CompileTokenMetadata.identifierIsInstance:boolean',
'CompileTokenMetadata.name:string',
'CompileTokenMetadata.runtimeCacheKey:any',
'CompileTokenMetadata.toJson():{[key:string]:any}',
'CompileTokenMetadata.value:any',
'CompileTypeMetadata.constructor({runtime,name,moduleUrl,prefix,isHost,value,diDeps}:{runtime?:Type, name?:string, moduleUrl?:string, prefix?:string, isHost?:boolean, value?:any, diDeps?:CompileDiDependencyMetadata[]})',
'CompileTypeMetadata.value:any',
'CompilerConfig',
'CompilerConfig.constructor(genDebugInfo:boolean, logBindingUpdate:boolean, useJit:boolean, renderTypes:RenderTypes)',
'CompilerConfig.renderTypes:RenderTypes',
'RenderTypes',
'RenderTypes.renderComment:CompileIdentifierMetadata',
'RenderTypes.renderElement:CompileIdentifierMetadata',
'RenderTypes.renderEvent:CompileIdentifierMetadata',
'RenderTypes.renderNode:CompileIdentifierMetadata',
'RenderTypes.renderText:CompileIdentifierMetadata',
'RenderTypes.renderer:CompileIdentifierMetadata',
'DirectiveResolver',
'DirectiveResolver.constructor(_reflector:ReflectorReader)',
'DirectiveResolver.resolve(type:Type):DirectiveMetadata',
'NormalizedComponentWithViewDirectives',
'NormalizedComponentWithViewDirectives.constructor(component:CompileDirectiveMetadata, directives:CompileDirectiveMetadata[], pipes:CompilePipeMetadata[])',
'OfflineCompiler',
'OfflineCompiler.compileStylesheet(stylesheetUrl:string, cssText:string):SourceModule[]',
'OfflineCompiler.compileTemplates(components:NormalizedComponentWithViewDirectives[]):SourceModule',
'OfflineCompiler.constructor(_directiveNormalizer:DirectiveNormalizer, _templateParser:TemplateParser, _styleCompiler:StyleCompiler, _viewCompiler:ViewCompiler, _outputEmitter:OutputEmitter)',
'OfflineCompiler.normalizeDirectiveMetadata(directive:CompileDirectiveMetadata):Promise<CompileDirectiveMetadata>',
'PipeResolver',
'PipeResolver.constructor(_reflector:ReflectorReader)',
'PipeResolver.resolve(type:Type):PipeMetadata',
'CompileDirectiveMetadata',
'CompileDirectiveMetadata.changeDetection:ChangeDetectionStrategy',
'CompileDirectiveMetadata.exportAs:string',
'CompileDirectiveMetadata.fromJson(data:{[key:string]:any}):CompileDirectiveMetadata',
'CompileDirectiveMetadata.hostAttributes:{[key:string]:string}',
'CompileDirectiveMetadata.hostListeners:{[key:string]:string}',
'CompileDirectiveMetadata.hostProperties:{[key:string]:string}',
'CompileDirectiveMetadata.identifier:CompileIdentifierMetadata',
'CompileDirectiveMetadata.inputs:{[key:string]:string}',
'CompileDirectiveMetadata.isComponent:boolean',
'CompileDirectiveMetadata.lifecycleHooks:LifecycleHooks[]',
'CompileDirectiveMetadata.outputs:{[key:string]:string}',
'CompileDirectiveMetadata.queries:CompileQueryMetadata[]',
'CompileDirectiveMetadata.selector:string',
'CompileDirectiveMetadata.template:CompileTemplateMetadata',
'CompileDirectiveMetadata.toJson():{[key:string]:any}',
'CompileDirectiveMetadata.type:CompileTypeMetadata',
'CompileDirectiveMetadata.viewQueries:CompileQueryMetadata[]',
'CompileTemplateMetadata',
'CompileTemplateMetadata.constructor({encapsulation,template,templateUrl,styles,styleUrls,ngContentSelectors}:{encapsulation?:ViewEncapsulation, template?:string, templateUrl?:string, styles?:string[], styleUrls?:string[], ngContentSelectors?:string[]})',
'CompileTemplateMetadata.encapsulation:ViewEncapsulation',
'CompileTemplateMetadata.fromJson(data:{[key:string]:any}):CompileTemplateMetadata',
'CompileTemplateMetadata.ngContentSelectors:string[]',
'CompileTemplateMetadata.styleUrls:string[]',
'CompileTemplateMetadata.styles:string[]',
'CompileTemplateMetadata.template:string',
'CompileTemplateMetadata.templateUrl:string',
'CompileTemplateMetadata.toJson():{[key:string]:any}',
'CompileTypeMetadata',
'CompileTypeMetadata.diDeps:CompileDiDependencyMetadata[]',
'CompileTypeMetadata.fromJson(data:{[key:string]:any}):CompileTypeMetadata',
'CompileTypeMetadata.identifier:CompileIdentifierMetadata',
'CompileTypeMetadata.isHost:boolean',
'CompileTypeMetadata.moduleUrl:string',
'CompileTypeMetadata.name:string',
'CompileTypeMetadata.prefix:string',
'CompileTypeMetadata.runtime:Type',
'CompileTypeMetadata.toJson():{[key:string]:any}',
'CompileTypeMetadata.type:CompileTypeMetadata',
'ProviderAst',
'ProviderAst.constructor(token:CompileTokenMetadata, multiProvider:boolean, eager:boolean, providers:CompileProviderMetadata[], providerType:ProviderAstType, sourceSpan:ParseSourceSpan)',
'ProviderAst.visit(visitor:TemplateAstVisitor, context:any):any',
'ProviderAstType',
'ProviderAstType.Builtin',
'ProviderAstType.Component',
'ProviderAstType.Directive',
'ProviderAstType.PrivateService',
'ProviderAstType.PublicService',
'SourceModule',
'SourceModule.constructor(moduleUrl:string, source:string)',
'ViewResolver',
'ViewResolver.constructor(_reflector:ReflectorReader)',
'ViewResolver.resolve(component:Type):ViewMetadata',
'createOfflineCompileUrlResolver():UrlResolver'
];
const COMPILER = [
'AttrAst',
'AttrAst.constructor(name:string, value:string, sourceSpan:ParseSourceSpan)',
'AttrAst.visit(visitor:TemplateAstVisitor, context:any):any',
'BoundDirectivePropertyAst',
'BoundDirectivePropertyAst.constructor(directiveName:string, templateName:string, value:AST, sourceSpan:ParseSourceSpan)',
'BoundDirectivePropertyAst.visit(visitor:TemplateAstVisitor, context:any):any',
'BoundElementPropertyAst',
'BoundElementPropertyAst.constructor(name:string, type:PropertyBindingType, value:AST, unit:string, sourceSpan:ParseSourceSpan)',
'BoundElementPropertyAst.visit(visitor:TemplateAstVisitor, context:any):any',
'BoundEventAst',
'BoundEventAst.constructor(name:string, target:string, handler:AST, sourceSpan:ParseSourceSpan)',
'BoundEventAst.fullName:any',
'BoundEventAst.visit(visitor:TemplateAstVisitor, context:any):any',
'BoundTextAst',
'BoundTextAst.constructor(value:AST, ngContentIndex:number, sourceSpan:ParseSourceSpan)',
'BoundTextAst.visit(visitor:TemplateAstVisitor, context:any):any',
'DirectiveAst',
'DirectiveAst.constructor(directive:CompileDirectiveMetadata, inputs:BoundDirectivePropertyAst[], hostProperties:BoundElementPropertyAst[], hostEvents:BoundEventAst[], exportAsVars:VariableAst[], sourceSpan:ParseSourceSpan)',
'DirectiveAst.visit(visitor:TemplateAstVisitor, context:any):any',
'ElementAst',
'ElementAst.constructor(name:string, attrs:AttrAst[], inputs:BoundElementPropertyAst[], outputs:BoundEventAst[], exportAsVars:VariableAst[], directives:DirectiveAst[], providers:ProviderAst[], hasViewContainer:boolean, children:TemplateAst[], ngContentIndex:number, sourceSpan:ParseSourceSpan)',
'ElementAst.getComponent():CompileDirectiveMetadata',
'ElementAst.isBound():boolean',
'ElementAst.visit(visitor:TemplateAstVisitor, context:any):any',
'EmbeddedTemplateAst',
'EmbeddedTemplateAst.constructor(attrs:AttrAst[], outputs:BoundEventAst[], vars:VariableAst[], directives:DirectiveAst[], providers:ProviderAst[], hasViewContainer:boolean, children:TemplateAst[], ngContentIndex:number, sourceSpan:ParseSourceSpan)',
'EmbeddedTemplateAst.visit(visitor:TemplateAstVisitor, context:any):any',
'NgContentAst',
'NgContentAst.constructor(index:number, ngContentIndex:number, sourceSpan:ParseSourceSpan)',
'NgContentAst.visit(visitor:TemplateAstVisitor, context:any):any',
'PropertyBindingType',
'PropertyBindingType.Attribute',
'PropertyBindingType.Class',
'PropertyBindingType.Property',
'PropertyBindingType.Style',
'TemplateAst',
'TemplateAst.sourceSpan:ParseSourceSpan',
'TemplateAst.visit(visitor:TemplateAstVisitor, context:any):any',
'TemplateAstVisitor',
'TemplateAstVisitor.visitAttr(ast:AttrAst, context:any):any',
'TemplateAstVisitor.visitBoundText(ast:BoundTextAst, context:any):any',
'TemplateAstVisitor.visitDirective(ast:DirectiveAst, context:any):any',
'TemplateAstVisitor.visitDirectiveProperty(ast:BoundDirectivePropertyAst, context:any):any',
'TemplateAstVisitor.visitElement(ast:ElementAst, context:any):any',
'TemplateAstVisitor.visitElementProperty(ast:BoundElementPropertyAst, context:any):any',
'TemplateAstVisitor.visitEmbeddedTemplate(ast:EmbeddedTemplateAst, context:any):any',
'TemplateAstVisitor.visitEvent(ast:BoundEventAst, context:any):any',
'TemplateAstVisitor.visitNgContent(ast:NgContentAst, context:any):any',
'TemplateAstVisitor.visitText(ast:TextAst, context:any):any',
'TemplateAstVisitor.visitVariable(ast:VariableAst, context:any):any',
'TextAst',
'TextAst.constructor(value:string, ngContentIndex:number, sourceSpan:ParseSourceSpan)',
'TextAst.visit(visitor:TemplateAstVisitor, context:any):any',
'UrlResolver',
'UrlResolver.constructor(_packagePrefix:string)',
'UrlResolver.resolve(baseUrl:string, url:string):string',
'VariableAst',
'VariableAst.constructor(name:string, value:string, sourceSpan:ParseSourceSpan)',
'VariableAst.visit(visitor:TemplateAstVisitor, context:any):any',
'XHR',
'XHR.get(url:string):Promise<string>',
'const COMPILER_PROVIDERS:Array<Type|Provider|any[]>',
'const PLATFORM_DIRECTIVES:OpaqueToken',
'const PLATFORM_PIPES:OpaqueToken',
'const TEMPLATE_TRANSFORMS:any',
'templateVisitAll(visitor:TemplateAstVisitor, asts:TemplateAst[], context:any):any[]',
'var DEFAULT_PACKAGE_URL_PROVIDER:any',
'CompileDiDependencyMetadata',
'CompileDiDependencyMetadata.constructor({isAttribute,isSelf,isHost,isSkipSelf,isOptional,isValue,query,viewQuery,token,value}:{isAttribute?:boolean, isSelf?:boolean, isHost?:boolean, isSkipSelf?:boolean, isOptional?:boolean, isValue?:boolean, query?:CompileQueryMetadata, viewQuery?:CompileQueryMetadata, token?:CompileTokenMetadata, value?:any})',
'CompileDiDependencyMetadata.fromJson(data:{[key:string]:any}):CompileDiDependencyMetadata',
'CompileDiDependencyMetadata.isAttribute:boolean',
'CompileDiDependencyMetadata.isHost:boolean',
'CompileDiDependencyMetadata.isOptional:boolean',
'CompileDiDependencyMetadata.isSelf:boolean',
'CompileDiDependencyMetadata.isSkipSelf:boolean',
'CompileDiDependencyMetadata.query:CompileQueryMetadata',
'CompileDiDependencyMetadata.toJson():{[key:string]:any}',
'CompileDiDependencyMetadata.token:CompileTokenMetadata',
'CompileDiDependencyMetadata.viewQuery:CompileQueryMetadata',
'CompileDiDependencyMetadata.isValue:boolean',
'CompileDiDependencyMetadata.value:any',
'CompileDirectiveMetadata.constructor({type,isComponent,selector,exportAs,changeDetection,inputs,outputs,hostListeners,hostProperties,hostAttributes,lifecycleHooks,providers,viewProviders,queries,viewQueries,template}:{type?:CompileTypeMetadata, isComponent?:boolean, selector?:string, exportAs?:string, changeDetection?:ChangeDetectionStrategy, inputs?:{[key:string]:string}, outputs?:{[key:string]:string}, hostListeners?:{[key:string]:string}, hostProperties?:{[key:string]:string}, hostAttributes?:{[key:string]:string}, lifecycleHooks?:LifecycleHooks[], providers?:Array<CompileProviderMetadata|CompileTypeMetadata|CompileIdentifierMetadata|any[]>, viewProviders?:Array<CompileProviderMetadata|CompileTypeMetadata|CompileIdentifierMetadata|any[]>, queries?:CompileQueryMetadata[], viewQueries?:CompileQueryMetadata[], template?:CompileTemplateMetadata})',
'CompileDirectiveMetadata.create({type,isComponent,selector,exportAs,changeDetection,inputs,outputs,host,lifecycleHooks,providers,viewProviders,queries,viewQueries,template}:{type?:CompileTypeMetadata, isComponent?:boolean, selector?:string, exportAs?:string, changeDetection?:ChangeDetectionStrategy, inputs?:string[], outputs?:string[], host?:{[key:string]:string}, lifecycleHooks?:LifecycleHooks[], providers?:Array<CompileProviderMetadata|CompileTypeMetadata|CompileIdentifierMetadata|any[]>, viewProviders?:Array<CompileProviderMetadata|CompileTypeMetadata|CompileIdentifierMetadata|any[]>, queries?:CompileQueryMetadata[], viewQueries?:CompileQueryMetadata[], template?:CompileTemplateMetadata}):CompileDirectiveMetadata',
'CompileDirectiveMetadata.providers:CompileProviderMetadata[]',
'CompileDirectiveMetadata.viewProviders:CompileProviderMetadata[]',
'CompileFactoryMetadata',
'CompileFactoryMetadata.constructor({runtime,name,moduleUrl,prefix,diDeps,value}:{runtime?:Function, name?:string, prefix?:string, moduleUrl?:string, value?:boolean, diDeps?:CompileDiDependencyMetadata[]})',
'CompileFactoryMetadata.diDeps:CompileDiDependencyMetadata[]',
'CompileFactoryMetadata.fromJson(data:{[key:string]:any}):CompileFactoryMetadata',
'CompileFactoryMetadata.identifier:CompileIdentifierMetadata',
'CompileFactoryMetadata.moduleUrl:string',
'CompileFactoryMetadata.name:string',
'CompileFactoryMetadata.prefix:string',
'CompileFactoryMetadata.runtime:Function',
'CompileFactoryMetadata.toJson():{[key:string]:any}',
'CompileFactoryMetadata.value:any',
'CompileIdentifierMetadata',
'CompileIdentifierMetadata.constructor({runtime,name,moduleUrl,prefix,value}:{runtime?:any, name?:string, moduleUrl?:string, prefix?:string, value?:any})',
'CompileIdentifierMetadata.fromJson(data:{[key:string]:any}):CompileIdentifierMetadata',
'CompileIdentifierMetadata.identifier:CompileIdentifierMetadata',
'CompileIdentifierMetadata.moduleUrl:string',
'CompileIdentifierMetadata.name:string',
'CompileIdentifierMetadata.prefix:string',
'CompileIdentifierMetadata.runtime:any',
'CompileIdentifierMetadata.toJson():{[key:string]:any}',
'CompileIdentifierMetadata.value:any',
'CompileMetadataWithIdentifier',
'CompileMetadataWithIdentifier.identifier:CompileIdentifierMetadata',
'CompileMetadataWithIdentifier.toJson():{[key:string]:any}',
'CompileMetadataWithType',
'CompileMetadataWithType.identifier:CompileIdentifierMetadata',
'CompileMetadataWithType.toJson():{[key:string]:any}',
'CompileMetadataWithType.type:CompileTypeMetadata',
'CompilePipeMetadata',
'CompilePipeMetadata.constructor({type,name,pure,lifecycleHooks}:{type?:CompileTypeMetadata, name?:string, pure?:boolean, lifecycleHooks?:LifecycleHooks[]})',
'CompilePipeMetadata.fromJson(data:{[key:string]:any}):CompilePipeMetadata',
'CompilePipeMetadata.identifier:CompileIdentifierMetadata',
'CompilePipeMetadata.lifecycleHooks:LifecycleHooks[]',
'CompilePipeMetadata.name:string',
'CompilePipeMetadata.pure:boolean',
'CompilePipeMetadata.toJson():{[key:string]:any}',
'CompilePipeMetadata.type:CompileTypeMetadata',
'CompileProviderMetadata',
'CompileProviderMetadata.constructor({token,useClass,useValue,useExisting,useFactory,deps,multi}:{token?:CompileTokenMetadata, useClass?:CompileTypeMetadata, useValue?:any, useExisting?:CompileTokenMetadata, useFactory?:CompileFactoryMetadata, deps?:CompileDiDependencyMetadata[], multi?:boolean})',
'CompileProviderMetadata.deps:CompileDiDependencyMetadata[]',
'CompileProviderMetadata.fromJson(data:{[key:string]:any}):CompileProviderMetadata',
'CompileProviderMetadata.multi:boolean',
'CompileProviderMetadata.toJson():{[key:string]:any}',
'CompileProviderMetadata.token:CompileTokenMetadata',
'CompileProviderMetadata.useClass:CompileTypeMetadata',
'CompileProviderMetadata.useExisting:CompileTokenMetadata',
'CompileProviderMetadata.useFactory:CompileFactoryMetadata',
'CompileProviderMetadata.useValue:any',
'CompileQueryMetadata',
'CompileQueryMetadata.constructor({selectors,descendants,first,propertyName,read}:{selectors?:Array<CompileTokenMetadata>, descendants?:boolean, first?:boolean, propertyName?:string, read?:CompileTokenMetadata})',
'CompileQueryMetadata.read:CompileTokenMetadata',
'CompileQueryMetadata.descendants:boolean',
'CompileQueryMetadata.first:boolean',
'CompileQueryMetadata.fromJson(data:{[key:string]:any}):CompileQueryMetadata',
'CompileQueryMetadata.propertyName:string',
'CompileQueryMetadata.selectors:Array<CompileTokenMetadata>',
'CompileQueryMetadata.toJson():{[key:string]:any}',
'CompileTokenMetadata',
'CompileTokenMetadata.assetCacheKey:any',
'CompileTokenMetadata.constructor({value,identifier,identifierIsInstance}:{value?:any, identifier?:CompileIdentifierMetadata, identifierIsInstance?:boolean})',
'CompileTokenMetadata.equalsTo(token2:CompileTokenMetadata):boolean',
'CompileTokenMetadata.fromJson(data:{[key:string]:any}):CompileTokenMetadata',
'CompileTokenMetadata.identifier:CompileIdentifierMetadata',
'CompileTokenMetadata.identifierIsInstance:boolean',
'CompileTokenMetadata.name:string',
'CompileTokenMetadata.runtimeCacheKey:any',
'CompileTokenMetadata.toJson():{[key:string]:any}',
'CompileTokenMetadata.value:any',
'CompileTypeMetadata.constructor({runtime,name,moduleUrl,prefix,isHost,value,diDeps}:{runtime?:Type, name?:string, moduleUrl?:string, prefix?:string, isHost?:boolean, value?:any, diDeps?:CompileDiDependencyMetadata[]})',
'CompileTypeMetadata.value:any',
'CompilerConfig',
'CompilerConfig.constructor(genDebugInfo:boolean, logBindingUpdate:boolean, useJit:boolean, renderTypes:RenderTypes)',
'CompilerConfig.renderTypes:RenderTypes',
'RenderTypes',
'RenderTypes.renderComment:CompileIdentifierMetadata',
'RenderTypes.renderElement:CompileIdentifierMetadata',
'RenderTypes.renderEvent:CompileIdentifierMetadata',
'RenderTypes.renderNode:CompileIdentifierMetadata',
'RenderTypes.renderText:CompileIdentifierMetadata',
'RenderTypes.renderer:CompileIdentifierMetadata',
'DirectiveResolver',
'DirectiveResolver.constructor(_reflector:ReflectorReader)',
'DirectiveResolver.resolve(type:Type):DirectiveMetadata',
'NormalizedComponentWithViewDirectives',
'NormalizedComponentWithViewDirectives.constructor(component:CompileDirectiveMetadata, directives:CompileDirectiveMetadata[], pipes:CompilePipeMetadata[])',
'OfflineCompiler',
'OfflineCompiler.compileStylesheet(stylesheetUrl:string, cssText:string):SourceModule[]',
'OfflineCompiler.compileTemplates(components:NormalizedComponentWithViewDirectives[]):SourceModule',
'OfflineCompiler.constructor(_directiveNormalizer:DirectiveNormalizer, _templateParser:TemplateParser, _styleCompiler:StyleCompiler, _viewCompiler:ViewCompiler, _outputEmitter:OutputEmitter)',
'OfflineCompiler.normalizeDirectiveMetadata(directive:CompileDirectiveMetadata):Promise<CompileDirectiveMetadata>',
'PipeResolver',
'PipeResolver.constructor(_reflector:ReflectorReader)',
'PipeResolver.resolve(type:Type):PipeMetadata',
'CompileDirectiveMetadata',
'CompileDirectiveMetadata.changeDetection:ChangeDetectionStrategy',
'CompileDirectiveMetadata.exportAs:string',
'CompileDirectiveMetadata.fromJson(data:{[key:string]:any}):CompileDirectiveMetadata',
'CompileDirectiveMetadata.hostAttributes:{[key:string]:string}',
'CompileDirectiveMetadata.hostListeners:{[key:string]:string}',
'CompileDirectiveMetadata.hostProperties:{[key:string]:string}',
'CompileDirectiveMetadata.identifier:CompileIdentifierMetadata',
'CompileDirectiveMetadata.inputs:{[key:string]:string}',
'CompileDirectiveMetadata.isComponent:boolean',
'CompileDirectiveMetadata.lifecycleHooks:LifecycleHooks[]',
'CompileDirectiveMetadata.outputs:{[key:string]:string}',
'CompileDirectiveMetadata.queries:CompileQueryMetadata[]',
'CompileDirectiveMetadata.selector:string',
'CompileDirectiveMetadata.template:CompileTemplateMetadata',
'CompileDirectiveMetadata.toJson():{[key:string]:any}',
'CompileDirectiveMetadata.type:CompileTypeMetadata',
'CompileDirectiveMetadata.viewQueries:CompileQueryMetadata[]',
'CompileTemplateMetadata',
'CompileTemplateMetadata.constructor({encapsulation,template,templateUrl,styles,styleUrls,ngContentSelectors}:{encapsulation?:ViewEncapsulation, template?:string, templateUrl?:string, styles?:string[], styleUrls?:string[], ngContentSelectors?:string[]})',
'CompileTemplateMetadata.encapsulation:ViewEncapsulation',
'CompileTemplateMetadata.fromJson(data:{[key:string]:any}):CompileTemplateMetadata',
'CompileTemplateMetadata.ngContentSelectors:string[]',
'CompileTemplateMetadata.styleUrls:string[]',
'CompileTemplateMetadata.styles:string[]',
'CompileTemplateMetadata.template:string',
'CompileTemplateMetadata.templateUrl:string',
'CompileTemplateMetadata.toJson():{[key:string]:any}',
'CompileTypeMetadata',
'CompileTypeMetadata.diDeps:CompileDiDependencyMetadata[]',
'CompileTypeMetadata.fromJson(data:{[key:string]:any}):CompileTypeMetadata',
'CompileTypeMetadata.identifier:CompileIdentifierMetadata',
'CompileTypeMetadata.isHost:boolean',
'CompileTypeMetadata.moduleUrl:string',
'CompileTypeMetadata.name:string',
'CompileTypeMetadata.prefix:string',
'CompileTypeMetadata.runtime:Type',
'CompileTypeMetadata.toJson():{[key:string]:any}',
'CompileTypeMetadata.type:CompileTypeMetadata',
'ProviderAst',
'ProviderAst.constructor(token:CompileTokenMetadata, multiProvider:boolean, eager:boolean, providers:CompileProviderMetadata[], providerType:ProviderAstType, sourceSpan:ParseSourceSpan)',
'ProviderAst.visit(visitor:TemplateAstVisitor, context:any):any',
'ProviderAstType',
'ProviderAstType.Builtin',
'ProviderAstType.Component',
'ProviderAstType.Directive',
'ProviderAstType.PrivateService',
'ProviderAstType.PublicService',
'SourceModule',
'SourceModule.constructor(moduleUrl:string, source:string)',
'ViewResolver',
'ViewResolver.constructor(_reflector:ReflectorReader)',
'ViewResolver.resolve(component:Type):ViewMetadata',
'createOfflineCompileUrlResolver():UrlResolver'
];
const INSTRUMENTATION = [
'WtfScopeFn',