Socket
Socket
Sign inDemoInstall

@angular/compiler

Package Overview
Dependencies
Maintainers
1
Versions
837
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@angular/compiler - npm Package Compare versions

Comparing version 2.3.0-rc.0 to 2.3.0

src/aot/generated_file.d.ts

2

bundles/compiler-testing.umd.js
/**
* @license Angular v2.3.0-rc.0
* @license Angular v2.3.0
* (c) 2010-2016 Google, Inc. https://angular.io/

@@ -4,0 +4,0 @@ * License: MIT

@@ -23,7 +23,3 @@ /**

*/
import { Version } from '@angular/core';
/**
* @stable
*/
export declare const VERSION: Version;
export { VERSION } from './src/version';
export * from './src/template_parser/template_ast';

@@ -39,2 +35,3 @@ export { TEMPLATE_TRANSFORMS } from './src/template_parser/template_parser';

export * from './src/aot/static_symbol';
export * from './src/aot/summary_resolver';
export { JitCompiler } from './src/jit/compiler';

@@ -41,0 +38,0 @@ export * from './src/jit/compiler_factory';

@@ -8,16 +8,28 @@ /**

*/
import { Version } from '@angular/core';
/**
* @stable
* @module
* @description
* Entry point for all APIs of the compiler package.
*
* <div class="callout is-critical">
* <header>Unstable APIs</header>
* <p>
* All compiler apis are currently considered experimental and private!
* </p>
* <p>
* We expect the APIs in this package to keep on changing. Do not rely on them.
* </p>
* </div>
*/
export var /** @type {?} */ VERSION = new Version('2.3.0-rc.0');
export { VERSION } from './src/version';
export { TextAst, BoundTextAst, AttrAst, BoundElementPropertyAst, BoundEventAst, ReferenceAst, VariableAst, ElementAst, EmbeddedTemplateAst, BoundDirectivePropertyAst, DirectiveAst, ProviderAst, ProviderAstType, NgContentAst, PropertyBindingType, templateVisitAll } from './src/template_parser/template_ast';
export { TEMPLATE_TRANSFORMS } from './src/template_parser/template_parser';
export { CompilerConfig, RenderTypes } from './src/config';
export { CompileAnimationEntryMetadata, CompileAnimationStateMetadata, CompileAnimationStateDeclarationMetadata, CompileAnimationStateTransitionMetadata, CompileAnimationMetadata, CompileAnimationKeyframesSequenceMetadata, CompileAnimationStyleMetadata, CompileAnimationAnimateMetadata, CompileAnimationWithStepsMetadata, CompileAnimationSequenceMetadata, CompileAnimationGroupMetadata, identifierName, identifierModuleUrl, tokenName, tokenReference, CompileStylesheetMetadata, CompileTemplateMetadata, CompileDirectiveMetadata, createHostComponentMeta, CompilePipeMetadata, CompileNgModuleMetadata, TransitiveCompileNgModuleMetadata, ProviderMeta } from './src/compile_metadata';
export { CompileAnimationEntryMetadata, CompileAnimationStateMetadata, CompileAnimationStateDeclarationMetadata, CompileAnimationStateTransitionMetadata, CompileAnimationMetadata, CompileAnimationKeyframesSequenceMetadata, CompileAnimationStyleMetadata, CompileAnimationAnimateMetadata, CompileAnimationWithStepsMetadata, CompileAnimationSequenceMetadata, CompileAnimationGroupMetadata, identifierName, identifierModuleUrl, CompileSummaryKind, tokenName, tokenReference, CompileStylesheetMetadata, CompileTemplateMetadata, CompileDirectiveMetadata, createHostComponentMeta, CompilePipeMetadata, CompileNgModuleMetadata, TransitiveCompileNgModuleMetadata, ProviderMeta } from './src/compile_metadata';
export { createAotCompiler } from './src/aot/compiler_factory';
export { SourceModule, AotCompiler, analyzeNgModules, analyzeAndValidateNgModules, loadNgModuleDirectives, extractProgramSymbols } from './src/aot/compiler';
export { AotCompiler, analyzeNgModules, analyzeAndValidateNgModules, extractProgramSymbols } from './src/aot/compiler';
export { StaticSymbolCache, StaticReflector } from './src/aot/static_reflector';
export { StaticAndDynamicReflectionCapabilities } from './src/aot/static_reflection_capabilities';
export { isStaticSymbol, StaticSymbol } from './src/aot/static_symbol';
export { StaticSymbol } from './src/aot/static_symbol';
export { AotSummaryResolver } from './src/aot/summary_resolver';
export { JitCompiler } from './src/jit/compiler';

@@ -36,3 +48,3 @@ export { COMPILER_PROVIDERS, JitCompilerFactory, platformCoreDynamic } from './src/jit/compiler_factory';

export { SplitInterpolation, TemplateBindingParseResult, Parser, _ParseAST } from './src/expression_parser/parser';
export { CompileMetadataResolver, componentModuleUrl } from './src/metadata_resolver';
export { ERROR_COLLECTOR_TOKEN, CompileMetadataResolver, componentModuleUrl } from './src/metadata_resolver';
export { ParseTreeResult, TreeError, HtmlParser } from './src/ml_parser/html_parser';

@@ -39,0 +51,0 @@ export { NgModuleCompiler } from './src/ng_module_compiler';

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":2,"metadata":{"VERSION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Version"},"arguments":["2.3.0-rc.0"]}},"exports":[{"from":"./src/template_parser/template_ast"},{"from":"./src/template_parser/template_parser","export":["TEMPLATE_TRANSFORMS"]},{"from":"./src/config","export":["CompilerConfig","RenderTypes"]},{"from":"./src/compile_metadata"},{"from":"./src/aot/compiler_factory"},{"from":"./src/aot/compiler"},{"from":"./src/aot/compiler_host"},{"from":"./src/aot/static_reflector"},{"from":"./src/aot/static_reflection_capabilities"},{"from":"./src/aot/static_symbol"},{"from":"./src/jit/compiler","export":["JitCompiler"]},{"from":"./src/jit/compiler_factory"},{"from":"./src/url_resolver"},{"from":"./src/resource_loader"},{"from":"./src/directive_resolver","export":["DirectiveResolver"]},{"from":"./src/pipe_resolver","export":["PipeResolver"]},{"from":"./src/ng_module_resolver","export":["NgModuleResolver"]},{"from":"./src/ml_parser/interpolation_config","export":["DEFAULT_INTERPOLATION_CONFIG","InterpolationConfig"]},{"from":"./src/schema/element_schema_registry"},{"from":"./src/i18n/index"},{"from":"./src/directive_normalizer"},{"from":"./src/expression_parser/lexer"},{"from":"./src/expression_parser/parser"},{"from":"./src/metadata_resolver"},{"from":"./src/ml_parser/html_parser"},{"from":"./src/ml_parser/interpolation_config"},{"from":"./src/ng_module_compiler","export":["NgModuleCompiler"]},{"from":"./src/directive_wrapper_compiler","export":["DirectiveWrapperCompiler"]},{"from":"./src/output/path_util"},{"from":"./src/output/ts_emitter"},{"from":"./src/parse_util"},{"from":"./src/schema/dom_element_schema_registry"},{"from":"./src/selector"},{"from":"./src/style_compiler"},{"from":"./src/template_parser/template_parser"},{"from":"./src/view_compiler/view_compiler","export":["ViewCompiler"]},{"from":"./src/animation/animation_parser","export":["AnimationParser"]}]},{"__symbolic":"module","exports":[{"from":"./src/template_parser/template_ast"},{"from":"./src/template_parser/template_parser","export":["TEMPLATE_TRANSFORMS"]},{"from":"./src/config","export":["CompilerConfig","RenderTypes"]},{"from":"./src/compile_metadata"},{"from":"./src/aot/compiler_factory"},{"from":"./src/aot/compiler"},{"from":"./src/aot/compiler_host"},{"from":"./src/aot/static_reflector"},{"from":"./src/aot/static_reflection_capabilities"},{"from":"./src/aot/static_symbol"},{"from":"./src/jit/compiler","export":["JitCompiler"]},{"from":"./src/jit/compiler_factory"},{"from":"./src/url_resolver"},{"from":"./src/resource_loader"},{"from":"./src/directive_resolver","export":["DirectiveResolver"]},{"from":"./src/pipe_resolver","export":["PipeResolver"]},{"from":"./src/ng_module_resolver","export":["NgModuleResolver"]},{"from":"./src/ml_parser/interpolation_config","export":["DEFAULT_INTERPOLATION_CONFIG","InterpolationConfig"]},{"from":"./src/schema/element_schema_registry"},{"from":"./src/i18n/index"},{"from":"./src/directive_normalizer"},{"from":"./src/expression_parser/lexer"},{"from":"./src/expression_parser/parser"},{"from":"./src/metadata_resolver"},{"from":"./src/ml_parser/html_parser"},{"from":"./src/ml_parser/interpolation_config"},{"from":"./src/ng_module_compiler","export":["NgModuleCompiler"]},{"from":"./src/directive_wrapper_compiler","export":["DirectiveWrapperCompiler"]},{"from":"./src/output/path_util"},{"from":"./src/output/ts_emitter"},{"from":"./src/parse_util"},{"from":"./src/schema/dom_element_schema_registry"},{"from":"./src/selector"},{"from":"./src/style_compiler"},{"from":"./src/template_parser/template_parser"},{"from":"./src/view_compiler/view_compiler","export":["ViewCompiler"]},{"from":"./src/animation/animation_parser","export":["AnimationParser"]}],"metadata":{"VERSION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Version"},"arguments":["2.3.0-rc.0"]}},"version":1}]
[{"__symbolic":"module","version":2,"metadata":{},"exports":[{"from":"./src/version","export":["VERSION"]},{"from":"./src/template_parser/template_ast"},{"from":"./src/template_parser/template_parser","export":["TEMPLATE_TRANSFORMS"]},{"from":"./src/config","export":["CompilerConfig","RenderTypes"]},{"from":"./src/compile_metadata"},{"from":"./src/aot/compiler_factory"},{"from":"./src/aot/compiler"},{"from":"./src/aot/compiler_host"},{"from":"./src/aot/static_reflector"},{"from":"./src/aot/static_reflection_capabilities"},{"from":"./src/aot/static_symbol"},{"from":"./src/aot/summary_resolver"},{"from":"./src/jit/compiler","export":["JitCompiler"]},{"from":"./src/jit/compiler_factory"},{"from":"./src/url_resolver"},{"from":"./src/resource_loader"},{"from":"./src/directive_resolver","export":["DirectiveResolver"]},{"from":"./src/pipe_resolver","export":["PipeResolver"]},{"from":"./src/ng_module_resolver","export":["NgModuleResolver"]},{"from":"./src/ml_parser/interpolation_config","export":["DEFAULT_INTERPOLATION_CONFIG","InterpolationConfig"]},{"from":"./src/schema/element_schema_registry"},{"from":"./src/i18n/index"},{"from":"./src/directive_normalizer"},{"from":"./src/expression_parser/lexer"},{"from":"./src/expression_parser/parser"},{"from":"./src/metadata_resolver"},{"from":"./src/ml_parser/html_parser"},{"from":"./src/ml_parser/interpolation_config"},{"from":"./src/ng_module_compiler","export":["NgModuleCompiler"]},{"from":"./src/directive_wrapper_compiler","export":["DirectiveWrapperCompiler"]},{"from":"./src/output/path_util"},{"from":"./src/output/ts_emitter"},{"from":"./src/parse_util"},{"from":"./src/schema/dom_element_schema_registry"},{"from":"./src/selector"},{"from":"./src/style_compiler"},{"from":"./src/template_parser/template_parser"},{"from":"./src/view_compiler/view_compiler","export":["ViewCompiler"]},{"from":"./src/animation/animation_parser","export":["AnimationParser"]}]},{"__symbolic":"module","exports":[{"from":"./src/version","export":["VERSION"]},{"from":"./src/template_parser/template_ast"},{"from":"./src/template_parser/template_parser","export":["TEMPLATE_TRANSFORMS"]},{"from":"./src/config","export":["CompilerConfig","RenderTypes"]},{"from":"./src/compile_metadata"},{"from":"./src/aot/compiler_factory"},{"from":"./src/aot/compiler"},{"from":"./src/aot/compiler_host"},{"from":"./src/aot/static_reflector"},{"from":"./src/aot/static_reflection_capabilities"},{"from":"./src/aot/static_symbol"},{"from":"./src/aot/summary_resolver"},{"from":"./src/jit/compiler","export":["JitCompiler"]},{"from":"./src/jit/compiler_factory"},{"from":"./src/url_resolver"},{"from":"./src/resource_loader"},{"from":"./src/directive_resolver","export":["DirectiveResolver"]},{"from":"./src/pipe_resolver","export":["PipeResolver"]},{"from":"./src/ng_module_resolver","export":["NgModuleResolver"]},{"from":"./src/ml_parser/interpolation_config","export":["DEFAULT_INTERPOLATION_CONFIG","InterpolationConfig"]},{"from":"./src/schema/element_schema_registry"},{"from":"./src/i18n/index"},{"from":"./src/directive_normalizer"},{"from":"./src/expression_parser/lexer"},{"from":"./src/expression_parser/parser"},{"from":"./src/metadata_resolver"},{"from":"./src/ml_parser/html_parser"},{"from":"./src/ml_parser/interpolation_config"},{"from":"./src/ng_module_compiler","export":["NgModuleCompiler"]},{"from":"./src/directive_wrapper_compiler","export":["DirectiveWrapperCompiler"]},{"from":"./src/output/path_util"},{"from":"./src/output/ts_emitter"},{"from":"./src/parse_util"},{"from":"./src/schema/dom_element_schema_registry"},{"from":"./src/selector"},{"from":"./src/style_compiler"},{"from":"./src/template_parser/template_parser"},{"from":"./src/view_compiler/view_compiler","export":["ViewCompiler"]},{"from":"./src/animation/animation_parser","export":["AnimationParser"]}],"metadata":{},"version":1}]
{
"name": "@angular/compiler",
"version": "2.3.0-rc.0",
"version": "2.3.0",
"description": "Angular - the compiler library",

@@ -11,3 +11,3 @@ "main": "bundles/compiler.umd.js",

"peerDependencies": {
"@angular/core": "2.3.0-rc.0"
"@angular/core": "2.3.0"
},

@@ -14,0 +14,0 @@ "repository": {

@@ -32,2 +32,3 @@ /**

import { StaticReflector } from './static_reflector';
import { AotSummaryResolver } from './summary_resolver';
/**

@@ -56,7 +57,8 @@ * Creates a new AotCompiler based on options and a host.

var /** @type {?} */ tmplParser = new TemplateParser(expressionParser, elementSchemaRegistry, htmlParser, console, []);
var /** @type {?} */ resolver = new CompileMetadataResolver(new NgModuleResolver(staticReflector), new DirectiveResolver(staticReflector), new PipeResolver(staticReflector), elementSchemaRegistry, normalizer, staticReflector);
var /** @type {?} */ summaryResolver = new AotSummaryResolver(compilerHost, staticReflector, options);
var /** @type {?} */ resolver = new CompileMetadataResolver(new NgModuleResolver(staticReflector), new DirectiveResolver(staticReflector), new PipeResolver(staticReflector), summaryResolver, elementSchemaRegistry, normalizer, staticReflector);
// TODO(vicb): do not pass options.i18nFormat here
var /** @type {?} */ compiler = new AotCompiler(resolver, tmplParser, new StyleCompiler(urlResolver), new ViewCompiler(config, elementSchemaRegistry), new DirectiveWrapperCompiler(config, expressionParser, elementSchemaRegistry, console), new NgModuleCompiler(), new TypeScriptEmitter(compilerHost), options.locale, options.i18nFormat, new AnimationParser(elementSchemaRegistry), staticReflector, options);
var /** @type {?} */ compiler = new AotCompiler(resolver, tmplParser, new StyleCompiler(urlResolver), new ViewCompiler(config, elementSchemaRegistry), new DirectiveWrapperCompiler(config, expressionParser, elementSchemaRegistry, console), new NgModuleCompiler(), new TypeScriptEmitter(compilerHost), summaryResolver, options.locale, options.i18nFormat, new AnimationParser(elementSchemaRegistry), staticReflector, options);
return { compiler: compiler, reflector: staticReflector };
}
//# sourceMappingURL=compiler_factory.js.map

@@ -10,2 +10,3 @@ /**

import { StaticReflectorHost } from './static_reflector';
import { AotSummaryResolverHost } from './summary_resolver';
/**

@@ -15,3 +16,3 @@ * The host of the AotCompiler disconnects the implementation from TypeScript / other language

*/
export interface AotCompilerHost extends StaticReflectorHost, ImportResolver {
export interface AotCompilerHost extends StaticReflectorHost, ImportResolver, AotSummaryResolverHost {
/**

@@ -18,0 +19,0 @@ * Loads a resource (e.g. html / css)

@@ -11,10 +11,6 @@ import { AnimationParser } from '../animation/animation_parser';

import { AotCompilerOptions } from './compiler_options';
import { GeneratedFile } from './generated_file';
import { StaticReflector } from './static_reflector';
import { StaticSymbol } from './static_symbol';
export declare class SourceModule {
fileUrl: string;
moduleUrl: string;
source: string;
constructor(fileUrl: string, moduleUrl: string, source: string);
}
import { AotSummaryResolver } from './summary_resolver';
export declare class AotCompiler {

@@ -28,2 +24,3 @@ private _metadataResolver;

private _outputEmitter;
private _summaryResolver;
private _localeId;

@@ -35,6 +32,6 @@ private _translationFormat;

private _animationCompiler;
constructor(_metadataResolver: CompileMetadataResolver, _templateParser: TemplateParser, _styleCompiler: StyleCompiler, _viewCompiler: ViewCompiler, _dirWrapperCompiler: DirectiveWrapperCompiler, _ngModuleCompiler: NgModuleCompiler, _outputEmitter: OutputEmitter, _localeId: string, _translationFormat: string, _animationParser: AnimationParser, _staticReflector: StaticReflector, _options: AotCompilerOptions);
constructor(_metadataResolver: CompileMetadataResolver, _templateParser: TemplateParser, _styleCompiler: StyleCompiler, _viewCompiler: ViewCompiler, _dirWrapperCompiler: DirectiveWrapperCompiler, _ngModuleCompiler: NgModuleCompiler, _outputEmitter: OutputEmitter, _summaryResolver: AotSummaryResolver, _localeId: string, _translationFormat: string, _animationParser: AnimationParser, _staticReflector: StaticReflector, _options: AotCompilerOptions);
clearCache(): void;
compileAll(rootFiles: string[]): Promise<SourceModule[]>;
private _compileSrcFile(srcFileUrl, ngModuleByPipeOrDirective, directives, ngModules);
compileAll(rootFiles: string[]): Promise<GeneratedFile[]>;
private _compileSrcFile(srcFileUrl, ngModuleByPipeOrDirective, directives, pipes, ngModules);
private _compileModule(ngModuleType, targetStatements);

@@ -45,3 +42,3 @@ private _compileDirectiveWrapper(directiveType, targetStatements);

private _codgenStyles(fileUrl, stylesCompileResult, fileSuffix);
private _codegenSourceModule(fileUrl, moduleUrl, statements, exportedVars);
private _codegenSourceModule(srcFileUrl, genFileUrl, statements, exportedVars);
}

@@ -54,2 +51,3 @@ export interface NgAnalyzedModules {

directives: StaticSymbol[];
pipes: StaticSymbol[];
ngModules: StaticSymbol[];

@@ -67,3 +65,2 @@ }>;

}, metadataResolver: CompileMetadataResolver): NgAnalyzedModules;
export declare function loadNgModuleDirectives(ngModules: CompileNgModuleMetadata[]): Promise<void>;
export declare function extractProgramSymbols(staticReflector: StaticReflector, files: string[], options?: {

@@ -70,0 +67,0 @@ includeFilePattern?: RegExp;

@@ -14,23 +14,4 @@ /**

import { ComponentFactoryDependency, DirectiveWrapperDependency, ViewClassDependency } from '../view_compiler/view_compiler';
export var SourceModule = (function () {
/**
* @param {?} fileUrl
* @param {?} moduleUrl
* @param {?} source
*/
function SourceModule(fileUrl, moduleUrl, source) {
this.fileUrl = fileUrl;
this.moduleUrl = moduleUrl;
this.source = source;
}
return SourceModule;
}());
function SourceModule_tsickle_Closure_declarations() {
/** @type {?} */
SourceModule.prototype.fileUrl;
/** @type {?} */
SourceModule.prototype.moduleUrl;
/** @type {?} */
SourceModule.prototype.source;
}
import { GeneratedFile } from './generated_file';
import { filterFileByPatterns } from './utils';
export var AotCompiler = (function () {

@@ -45,2 +26,3 @@ /**

* @param {?} _outputEmitter
* @param {?} _summaryResolver
* @param {?} _localeId

@@ -52,3 +34,3 @@ * @param {?} _translationFormat

*/
function AotCompiler(_metadataResolver, _templateParser, _styleCompiler, _viewCompiler, _dirWrapperCompiler, _ngModuleCompiler, _outputEmitter, _localeId, _translationFormat, _animationParser, _staticReflector, _options) {
function AotCompiler(_metadataResolver, _templateParser, _styleCompiler, _viewCompiler, _dirWrapperCompiler, _ngModuleCompiler, _outputEmitter, _summaryResolver, _localeId, _translationFormat, _animationParser, _staticReflector, _options) {
this._metadataResolver = _metadataResolver;

@@ -61,2 +43,3 @@ this._templateParser = _templateParser;

this._outputEmitter = _outputEmitter;
this._summaryResolver = _summaryResolver;
this._localeId = _localeId;

@@ -81,4 +64,6 @@ this._translationFormat = _translationFormat;

var _a = analyzeAndValidateNgModules(programSymbols, this._options, this._metadataResolver), ngModuleByPipeOrDirective = _a.ngModuleByPipeOrDirective, files = _a.files, ngModules = _a.ngModules;
return loadNgModuleDirectives(ngModules).then(function () {
var /** @type {?} */ sourceModules = files.map(function (file) { return _this._compileSrcFile(file.srcUrl, ngModuleByPipeOrDirective, file.directives, file.ngModules); });
return Promise
.all(ngModules.map(function (ngModule) { return _this._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(ngModule.type.reference, false); }))
.then(function () {
var /** @type {?} */ sourceModules = files.map(function (file) { return _this._compileSrcFile(file.srcUrl, ngModuleByPipeOrDirective, file.directives, file.pipes, file.ngModules); });
return ListWrapper.flatten(sourceModules);

@@ -91,6 +76,7 @@ });

* @param {?} directives
* @param {?} pipes
* @param {?} ngModules
* @return {?}
*/
AotCompiler.prototype._compileSrcFile = function (srcFileUrl, ngModuleByPipeOrDirective, directives, ngModules) {
AotCompiler.prototype._compileSrcFile = function (srcFileUrl, ngModuleByPipeOrDirective, directives, pipes, ngModules) {
var _this = this;

@@ -100,3 +86,6 @@ var /** @type {?} */ fileSuffix = _splitTypescriptSuffix(srcFileUrl)[1];

var /** @type {?} */ exportedVars = [];
var /** @type {?} */ outputSourceModules = [];
var /** @type {?} */ generatedFiles = [];
// write summary files
var /** @type {?} */ summaries = ngModules.map(function (ref) { return _this._metadataResolver.getNgModuleSummary(ref); }).concat(directives.map(function (ref) { return _this._metadataResolver.getDirectiveSummary(ref); }), pipes.map(function (ref) { return _this._metadataResolver.getPipeSummary(ref); }));
generatedFiles.push(this._summaryResolver.serializeSummaries(srcFileUrl, summaries));
// compile all ng modules

@@ -120,3 +109,3 @@ exportedVars.push.apply(exportedVars, ngModules.map(function (ngModuleType) { return _this._compileModule(ngModuleType, statements); }));

stylesCompileResults.externalStylesheets.forEach(function (compiledStyleSheet) {
outputSourceModules.push(_this._codgenStyles(srcFileUrl, compiledStyleSheet, fileSuffix));
generatedFiles.push(_this._codgenStyles(srcFileUrl, compiledStyleSheet, fileSuffix));
});

@@ -128,5 +117,5 @@ // compile components

var /** @type {?} */ srcModule = this._codegenSourceModule(srcFileUrl, _ngfactoryModuleUrl(srcFileUrl), statements, exportedVars);
outputSourceModules.unshift(srcModule);
generatedFiles.unshift(srcModule);
}
return outputSourceModules;
return generatedFiles;
};

@@ -229,4 +218,4 @@ /**

/**
* @param {?} fileUrl
* @param {?} moduleUrl
* @param {?} srcFileUrl
* @param {?} genFileUrl
* @param {?} statements

@@ -236,4 +225,4 @@ * @param {?} exportedVars

*/
AotCompiler.prototype._codegenSourceModule = function (fileUrl, moduleUrl, statements, exportedVars) {
return new SourceModule(fileUrl, moduleUrl, this._outputEmitter.emitStatements(moduleUrl, statements, exportedVars));
AotCompiler.prototype._codegenSourceModule = function (srcFileUrl, genFileUrl, statements, exportedVars) {
return new GeneratedFile(srcFileUrl, genFileUrl, this._outputEmitter.emitStatements(genFileUrl, statements, exportedVars));
};

@@ -260,2 +249,4 @@ return AotCompiler;

/** @type {?} */
AotCompiler.prototype._summaryResolver;
/** @type {?} */
AotCompiler.prototype._localeId;

@@ -379,11 +370,2 @@ /** @type {?} */

/**
* @param {?} ngModules
* @return {?}
*/
export function loadNgModuleDirectives(ngModules) {
return Promise
.all(ListWrapper.flatten(ngModules.map(function (ngModule) { return ngModule.transitiveModule.directiveLoaders.map(function (loader) { return loader(); }); })))
.then(function () { });
}
/**
* @param {?} ngModuleMetas

@@ -399,2 +381,3 @@ * @param {?} symbolsMissingModule

var /** @type {?} */ ngDirectivesByFile = new Map();
var /** @type {?} */ ngPipesByFile = new Map();
var /** @type {?} */ filePaths = new Set();

@@ -404,2 +387,3 @@ // Looping over all modules to construct:

// - a map from file to directives `ngDirectivesByFile`,
// - a map from file to pipes `ngPipesByFile`,
// - a map from directive/pipe to module `ngModuleByPipeOrDirective`.

@@ -419,2 +403,3 @@ ngModuleMetas.forEach(function (ngModuleMeta) {

filePaths.add(fileUrl);
ngPipesByFile.set(fileUrl, (ngPipesByFile.get(fileUrl) || []).concat(pipeIdentifier.reference));
ngModuleByPipeOrDirective.set(pipeIdentifier.reference, ngModuleMeta);

@@ -426,4 +411,5 @@ });

var /** @type {?} */ directives = ngDirectivesByFile.get(srcUrl) || [];
var /** @type {?} */ pipes = ngPipesByFile.get(srcUrl) || [];
var /** @type {?} */ ngModules = ngModulesByFile.get(srcUrl) || [];
files.push({ srcUrl: srcUrl, directives: directives, ngModules: ngModules });
files.push({ srcUrl: srcUrl, directives: directives, pipes: pipes, ngModules: ngModules });
});

@@ -447,3 +433,3 @@ return {

var /** @type {?} */ staticSymbols = [];
files.filter(function (fileName) { return _filterFileByPatterns(fileName, options); }).forEach(function (sourceFile) {
files.filter(function (fileName) { return filterFileByPatterns(fileName, options); }).forEach(function (sourceFile) {
var /** @type {?} */ moduleMetadata = staticReflector.getModuleMetadata(sourceFile);

@@ -480,6 +466,6 @@ if (!moduleMetadata) {

var /** @type {?} */ addNgModule = function (staticSymbol) {
if (ngModules.has(staticSymbol) || !_filterFileByPatterns(staticSymbol.filePath, options)) {
if (ngModules.has(staticSymbol) || !filterFileByPatterns(staticSymbol.filePath, options)) {
return false;
}
var /** @type {?} */ ngModule = metadataResolver.getUnloadedNgModuleMetadata(staticSymbol, false, false);
var /** @type {?} */ ngModule = metadataResolver.getNgModuleMetadata(staticSymbol, false);
if (ngModule) {

@@ -490,3 +476,3 @@ ngModules.set(ngModule.type.reference, ngModule);

// For every input module add the list of transitively included modules
ngModule.transitiveModule.modules.forEach(function (modMeta) { return addNgModule(modMeta.type.reference); });
ngModule.transitiveModule.modules.forEach(function (modMeta) { return addNgModule(modMeta.reference); });
}

@@ -505,18 +491,2 @@ return !!ngModule;

}
/**
* @param {?} fileName
* @param {?=} options
* @return {?}
*/
function _filterFileByPatterns(fileName, options) {
if (options === void 0) { options = {}; }
var /** @type {?} */ match = true;
if (options.includeFilePattern) {
match = match && !!options.includeFilePattern.exec(fileName);
}
if (options.excludeFilePattern) {
match = match && !options.excludeFilePattern.exec(fileName);
}
return match;
}
//# sourceMappingURL=compiler.js.map

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":2,"metadata":{"SourceModule":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"AotCompiler":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../metadata_resolver","name":"CompileMetadataResolver"},{"__symbolic":"reference","module":"../template_parser/template_parser","name":"TemplateParser"},{"__symbolic":"reference","module":"../style_compiler","name":"StyleCompiler"},{"__symbolic":"reference","module":"../view_compiler/view_compiler","name":"ViewCompiler"},{"__symbolic":"reference","module":"../directive_wrapper_compiler","name":"DirectiveWrapperCompiler"},{"__symbolic":"reference","module":"../ng_module_compiler","name":"NgModuleCompiler"},{"__symbolic":"reference","module":"../output/abstract_emitter","name":"OutputEmitter"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../animation/animation_parser","name":"AnimationParser"},{"__symbolic":"reference","module":"./static_reflector","name":"StaticReflector"},{"__symbolic":"reference","module":"./compiler_options","name":"AotCompilerOptions"}]}],"clearCache":[{"__symbolic":"method"}],"compileAll":[{"__symbolic":"method"}],"_compileSrcFile":[{"__symbolic":"method"}],"_compileModule":[{"__symbolic":"method"}],"_compileDirectiveWrapper":[{"__symbolic":"method"}],"_compileComponentFactory":[{"__symbolic":"method"}],"_compileComponent":[{"__symbolic":"method"}],"_codgenStyles":[{"__symbolic":"method"}],"_codegenSourceModule":[{"__symbolic":"method"}]}},"analyzeNgModules":{"__symbolic":"function"},"analyzeAndValidateNgModules":{"__symbolic":"function"},"loadNgModuleDirectives":{"__symbolic":"function","parameters":["ngModules"],"value":{"__symbolic":"error","message":"Function call not supported","line":320,"character":12}},"extractProgramSymbols":{"__symbolic":"function"}}},{"__symbolic":"module","metadata":{"SourceModule":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"AotCompiler":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../metadata_resolver","name":"CompileMetadataResolver"},{"__symbolic":"reference","module":"../template_parser/template_parser","name":"TemplateParser"},{"__symbolic":"reference","module":"../style_compiler","name":"StyleCompiler"},{"__symbolic":"reference","module":"../view_compiler/view_compiler","name":"ViewCompiler"},{"__symbolic":"reference","module":"../directive_wrapper_compiler","name":"DirectiveWrapperCompiler"},{"__symbolic":"reference","module":"../ng_module_compiler","name":"NgModuleCompiler"},{"__symbolic":"reference","module":"../output/abstract_emitter","name":"OutputEmitter"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../animation/animation_parser","name":"AnimationParser"},{"__symbolic":"reference","module":"./static_reflector","name":"StaticReflector"},{"__symbolic":"reference","module":"./compiler_options","name":"AotCompilerOptions"}]}],"clearCache":[{"__symbolic":"method"}],"compileAll":[{"__symbolic":"method"}],"_compileSrcFile":[{"__symbolic":"method"}],"_compileModule":[{"__symbolic":"method"}],"_compileDirectiveWrapper":[{"__symbolic":"method"}],"_compileComponentFactory":[{"__symbolic":"method"}],"_compileComponent":[{"__symbolic":"method"}],"_codgenStyles":[{"__symbolic":"method"}],"_codegenSourceModule":[{"__symbolic":"method"}]}},"analyzeNgModules":{"__symbolic":"function"},"analyzeAndValidateNgModules":{"__symbolic":"function"},"loadNgModuleDirectives":{"__symbolic":"function","parameters":["ngModules"],"value":{"__symbolic":"error","message":"Function call not supported","line":320,"character":12}},"extractProgramSymbols":{"__symbolic":"function"}},"version":1}]
[{"__symbolic":"module","version":2,"metadata":{"AotCompiler":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../metadata_resolver","name":"CompileMetadataResolver"},{"__symbolic":"reference","module":"../template_parser/template_parser","name":"TemplateParser"},{"__symbolic":"reference","module":"../style_compiler","name":"StyleCompiler"},{"__symbolic":"reference","module":"../view_compiler/view_compiler","name":"ViewCompiler"},{"__symbolic":"reference","module":"../directive_wrapper_compiler","name":"DirectiveWrapperCompiler"},{"__symbolic":"reference","module":"../ng_module_compiler","name":"NgModuleCompiler"},{"__symbolic":"reference","module":"../output/abstract_emitter","name":"OutputEmitter"},{"__symbolic":"reference","module":"./summary_resolver","name":"AotSummaryResolver"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../animation/animation_parser","name":"AnimationParser"},{"__symbolic":"reference","module":"./static_reflector","name":"StaticReflector"},{"__symbolic":"reference","module":"./compiler_options","name":"AotCompilerOptions"}]}],"clearCache":[{"__symbolic":"method"}],"compileAll":[{"__symbolic":"method"}],"_compileSrcFile":[{"__symbolic":"method"}],"_compileModule":[{"__symbolic":"method"}],"_compileDirectiveWrapper":[{"__symbolic":"method"}],"_compileComponentFactory":[{"__symbolic":"method"}],"_compileComponent":[{"__symbolic":"method"}],"_codgenStyles":[{"__symbolic":"method"}],"_codegenSourceModule":[{"__symbolic":"method"}]}},"analyzeNgModules":{"__symbolic":"function"},"analyzeAndValidateNgModules":{"__symbolic":"function"},"extractProgramSymbols":{"__symbolic":"function"}}},{"__symbolic":"module","metadata":{"AotCompiler":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../metadata_resolver","name":"CompileMetadataResolver"},{"__symbolic":"reference","module":"../template_parser/template_parser","name":"TemplateParser"},{"__symbolic":"reference","module":"../style_compiler","name":"StyleCompiler"},{"__symbolic":"reference","module":"../view_compiler/view_compiler","name":"ViewCompiler"},{"__symbolic":"reference","module":"../directive_wrapper_compiler","name":"DirectiveWrapperCompiler"},{"__symbolic":"reference","module":"../ng_module_compiler","name":"NgModuleCompiler"},{"__symbolic":"reference","module":"../output/abstract_emitter","name":"OutputEmitter"},{"__symbolic":"reference","module":"./summary_resolver","name":"AotSummaryResolver"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../animation/animation_parser","name":"AnimationParser"},{"__symbolic":"reference","module":"./static_reflector","name":"StaticReflector"},{"__symbolic":"reference","module":"./compiler_options","name":"AotCompilerOptions"}]}],"clearCache":[{"__symbolic":"method"}],"compileAll":[{"__symbolic":"method"}],"_compileSrcFile":[{"__symbolic":"method"}],"_compileModule":[{"__symbolic":"method"}],"_compileDirectiveWrapper":[{"__symbolic":"method"}],"_compileComponentFactory":[{"__symbolic":"method"}],"_compileComponent":[{"__symbolic":"method"}],"_codgenStyles":[{"__symbolic":"method"}],"_codegenSourceModule":[{"__symbolic":"method"}]}},"analyzeNgModules":{"__symbolic":"function"},"analyzeAndValidateNgModules":{"__symbolic":"function"},"extractProgramSymbols":{"__symbolic":"function"}},"version":1}]

@@ -42,2 +42,3 @@ import { ReflectorReader } from '../private_import_core';

private staticSymbolCache;
private errorRecorder;
private declarationCache;

@@ -59,3 +60,3 @@ private annotationCache;

fn: any;
}[]);
}[], errorRecorder?: (error: any, fileName: string) => void);
importUri(typeOrFunc: StaticSymbol): string;

@@ -82,2 +83,3 @@ resolveIdentifier(name: string, moduleUrl: string, runtime: any): any;

getStaticSymbol(declarationFile: string, name: string, members?: string[]): StaticSymbol;
private reportError(error, context, path?);
private resolveExportedSymbol(filePath, symbolName);

@@ -84,0 +86,0 @@ findDeclaration(module: string, symbolName: string, containingFile?: string): StaticSymbol;

@@ -64,4 +64,5 @@ /**

* @param {?=} knownMetadataFunctions
* @param {?=} errorRecorder
*/
function StaticReflector(host, staticSymbolCache, knownMetadataClasses, knownMetadataFunctions) {
function StaticReflector(host, staticSymbolCache, knownMetadataClasses, knownMetadataFunctions, errorRecorder) {
var _this = this;

@@ -73,2 +74,3 @@ if (staticSymbolCache === void 0) { staticSymbolCache = new StaticSymbolCache(); }

this.staticSymbolCache = staticSymbolCache;
this.errorRecorder = errorRecorder;
this.declarationCache = new Map();

@@ -172,3 +174,4 @@ this.annotationCache = new Map();

if (!(type instanceof StaticSymbol)) {
throw new Error("parameters received " + JSON.stringify(type) + " which is not a StaticSymbol");
this.reportError(new Error("parameters received " + JSON.stringify(type) + " which is not a StaticSymbol"), type);
return [];
}

@@ -245,3 +248,3 @@ try {

if (!(type instanceof StaticSymbol)) {
throw new Error("hasLifecycleHook received " + JSON.stringify(type) + " which is not a StaticSymbol");
this.reportError(new Error("hasLifecycleHook received " + JSON.stringify(type) + " which is not a StaticSymbol"), type);
}

@@ -324,2 +327,16 @@ try {

/**
* @param {?} error
* @param {?} context
* @param {?=} path
* @return {?}
*/
StaticReflector.prototype.reportError = function (error, context, path) {
if (this.errorRecorder) {
this.errorRecorder(error, (context && context.filePath) || path);
}
else {
throw error;
}
};
/**
* @param {?} filePath

@@ -334,3 +351,3 @@ * @param {?} symbolName

if (!resolvedModulePath) {
throw new Error("Could not resolve module '" + moduleName + "' relative to file " + filePath);
_this.reportError(new Error("Could not resolve module '" + moduleName + "' relative to file " + filePath), null, filePath);
}

@@ -369,3 +386,8 @@ return resolvedModulePath;

}
staticSymbol = this.resolveExportedSymbol(resolveModule(moduleExport.from), symName);
var /** @type {?} */ resolvedModule = resolveModule(moduleExport.from);
if (resolvedModule) {
staticSymbol =
this.resolveExportedSymbol(resolveModule(moduleExport.from), symName);
break;
}
}

@@ -380,6 +402,8 @@ }

var /** @type {?} */ resolvedModule = resolveModule(moduleExport.from);
var /** @type {?} */ candidateSymbol = this.resolveExportedSymbol(resolvedModule, symbolName);
if (candidateSymbol) {
staticSymbol = candidateSymbol;
break;
if (resolvedModule) {
var /** @type {?} */ candidateSymbol = this.resolveExportedSymbol(resolvedModule, symbolName);
if (candidateSymbol) {
staticSymbol = candidateSymbol;
break;
}
}

@@ -427,2 +451,3 @@ }

StaticReflector.prototype.simplify = function (context, value) {
var _this = this;
var /** @type {?} */ self = this;

@@ -758,3 +783,12 @@ var /** @type {?} */ scope = BindingScope.empty;

}
var /** @type {?} */ result = simplifyInContext(context, value, 0);
var /** @type {?} */ recordedSimplifyInContext = function (context, value, depth) {
try {
return simplifyInContext(context, value, depth);
}
catch (e) {
_this.reportError(e, context);
}
};
var /** @type {?} */ result = this.errorRecorder ? recordedSimplifyInContext(context, value, 0) :
simplifyInContext(context, value, 0);
if (shouldIgnore(result)) {

@@ -787,3 +821,3 @@ return undefined;

if (moduleMetadata['version'] != SUPPORTED_SCHEMA_VERSION) {
throw new Error("Metadata version mismatch for module " + module + ", found version " + moduleMetadata['version'] + ", expected " + SUPPORTED_SCHEMA_VERSION);
this.reportError(new Error("Metadata version mismatch for module " + module + ", found version " + moduleMetadata['version'] + ", expected " + SUPPORTED_SCHEMA_VERSION), null);
}

@@ -825,2 +859,4 @@ this.metadataCache.set(module, moduleMetadata);

StaticReflector.prototype.staticSymbolCache;
/** @type {?} */
StaticReflector.prototype.errorRecorder;
}

@@ -827,0 +863,0 @@ /**

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":2,"metadata":{"StaticSymbolCache":{"__symbolic":"class","members":{"get":[{"__symbolic":"method"}]}},"StaticReflector":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":80,"character":20,"context":{"typeName":"StaticReflectorHost"}},{"__symbolic":"reference","name":"StaticSymbolCache"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":82,"character":28}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":83,"character":30}]}]}],"importUri":[{"__symbolic":"method"}],"resolveIdentifier":[{"__symbolic":"method"}],"resolveEnum":[{"__symbolic":"method"}],"annotations":[{"__symbolic":"method"}],"propMetadata":[{"__symbolic":"method"}],"parameters":[{"__symbolic":"method"}],"_methodNames":[{"__symbolic":"method"}],"hasLifecycleHook":[{"__symbolic":"method"}],"_registerDecoratorOrConstructor":[{"__symbolic":"method"}],"_registerFunction":[{"__symbolic":"method"}],"initializeConversionMap":[{"__symbolic":"method"}],"getStaticSymbol":[{"__symbolic":"method"}],"resolveExportedSymbol":[{"__symbolic":"method"}],"findDeclaration":[{"__symbolic":"method"}],"simplify":[{"__symbolic":"method"}],"getModuleMetadata":[{"__symbolic":"method"}],"getTypeMetadata":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","metadata":{"StaticSymbolCache":{"__symbolic":"class","members":{"get":[{"__symbolic":"method"}]}},"StaticReflector":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":80,"character":20,"context":{"typeName":"StaticReflectorHost"}},{"__symbolic":"reference","name":"StaticSymbolCache"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":82,"character":28}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":83,"character":30}]}]}],"importUri":[{"__symbolic":"method"}],"resolveIdentifier":[{"__symbolic":"method"}],"resolveEnum":[{"__symbolic":"method"}],"annotations":[{"__symbolic":"method"}],"propMetadata":[{"__symbolic":"method"}],"parameters":[{"__symbolic":"method"}],"_methodNames":[{"__symbolic":"method"}],"hasLifecycleHook":[{"__symbolic":"method"}],"_registerDecoratorOrConstructor":[{"__symbolic":"method"}],"_registerFunction":[{"__symbolic":"method"}],"initializeConversionMap":[{"__symbolic":"method"}],"getStaticSymbol":[{"__symbolic":"method"}],"resolveExportedSymbol":[{"__symbolic":"method"}],"findDeclaration":[{"__symbolic":"method"}],"simplify":[{"__symbolic":"method"}],"getModuleMetadata":[{"__symbolic":"method"}],"getTypeMetadata":[{"__symbolic":"method"}]}}},"version":1}]
[{"__symbolic":"module","version":2,"metadata":{"StaticSymbolCache":{"__symbolic":"class","members":{"get":[{"__symbolic":"method"}]}},"StaticReflector":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":80,"character":20,"context":{"typeName":"StaticReflectorHost"}},{"__symbolic":"reference","name":"StaticSymbolCache"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":82,"character":28}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":83,"character":30}]},{"__symbolic":"error","message":"Expression form not supported","line":84,"character":30}]}],"importUri":[{"__symbolic":"method"}],"resolveIdentifier":[{"__symbolic":"method"}],"resolveEnum":[{"__symbolic":"method"}],"annotations":[{"__symbolic":"method"}],"propMetadata":[{"__symbolic":"method"}],"parameters":[{"__symbolic":"method"}],"_methodNames":[{"__symbolic":"method"}],"hasLifecycleHook":[{"__symbolic":"method"}],"_registerDecoratorOrConstructor":[{"__symbolic":"method"}],"_registerFunction":[{"__symbolic":"method"}],"initializeConversionMap":[{"__symbolic":"method"}],"getStaticSymbol":[{"__symbolic":"method"}],"reportError":[{"__symbolic":"method"}],"resolveExportedSymbol":[{"__symbolic":"method"}],"findDeclaration":[{"__symbolic":"method"}],"simplify":[{"__symbolic":"method"}],"getModuleMetadata":[{"__symbolic":"method"}],"getTypeMetadata":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","metadata":{"StaticSymbolCache":{"__symbolic":"class","members":{"get":[{"__symbolic":"method"}]}},"StaticReflector":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":80,"character":20,"context":{"typeName":"StaticReflectorHost"}},{"__symbolic":"reference","name":"StaticSymbolCache"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":82,"character":28}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":83,"character":30}]},{"__symbolic":"error","message":"Expression form not supported","line":84,"character":30}]}],"importUri":[{"__symbolic":"method"}],"resolveIdentifier":[{"__symbolic":"method"}],"resolveEnum":[{"__symbolic":"method"}],"annotations":[{"__symbolic":"method"}],"propMetadata":[{"__symbolic":"method"}],"parameters":[{"__symbolic":"method"}],"_methodNames":[{"__symbolic":"method"}],"hasLifecycleHook":[{"__symbolic":"method"}],"_registerDecoratorOrConstructor":[{"__symbolic":"method"}],"_registerFunction":[{"__symbolic":"method"}],"initializeConversionMap":[{"__symbolic":"method"}],"getStaticSymbol":[{"__symbolic":"method"}],"reportError":[{"__symbolic":"method"}],"resolveExportedSymbol":[{"__symbolic":"method"}],"findDeclaration":[{"__symbolic":"method"}],"simplify":[{"__symbolic":"method"}],"getModuleMetadata":[{"__symbolic":"method"}],"getTypeMetadata":[{"__symbolic":"method"}]}}},"version":1}]

@@ -8,3 +8,2 @@ /**

*/
export declare function isStaticSymbol(value: any): value is StaticSymbol;
/**

@@ -11,0 +10,0 @@ * A token representing the a reference to a static type.

/**
* @license undefined
* 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
* @param {?} value
* @return {?}
*/
export function isStaticSymbol(value) {
return typeof value === 'object' && value !== null && value['name'] && value['filePath'];
}
/**
* A token representing the a reference to a static type.

@@ -15,0 +3,0 @@ * *

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":2,"metadata":{"isStaticSymbol":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":9,"character":9},"right":"object"},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"value"},"right":null}},"right":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"value"},"index":"name"}},"right":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"value"},"index":"filePath"}}},"StaticSymbol":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"string"}]}]}]}}}},{"__symbolic":"module","metadata":{"isStaticSymbol":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":9,"character":9},"right":"object"},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"value"},"right":null}},"right":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"value"},"index":"name"}},"right":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"value"},"index":"filePath"}}},"StaticSymbol":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"string"}]}]}]}}},"version":1}]
[{"__symbolic":"module","version":2,"metadata":{"StaticSymbol":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"string"}]}]}]}}}},{"__symbolic":"module","metadata":{"StaticSymbol":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"string"}]}]}]}}},"version":1}]

@@ -62,2 +62,8 @@ /**

}
export declare enum CompileSummaryKind {
Template = 0,
Pipe = 1,
Directive = 2,
NgModule = 3,
}
/**

@@ -69,4 +75,7 @@ * A CompileSummary is the data needed to use a directive / pipe / module

export interface CompileSummary {
isSummary: boolean;
summaryKind: CompileSummaryKind;
}
export interface CompileTypeSummary extends CompileSummary {
type: CompileTypeMetadata;
}
export interface CompileDiDependencyMetadata {

@@ -133,3 +142,2 @@ isAttribute?: boolean;

export interface CompileTemplateSummary extends CompileSummary {
isSummary: boolean;
animations: string[];

@@ -165,4 +173,3 @@ ngContentSelectors: string[];

}
export interface CompileDirectiveSummary extends CompileSummary {
isSummary: boolean;
export interface CompileDirectiveSummary extends CompileTypeSummary {
type: CompileTypeMetadata;

@@ -279,4 +286,3 @@ isComponent: boolean;

export declare function createHostComponentMeta(typeReference: any, compMeta: CompileDirectiveMetadata): CompileDirectiveMetadata;
export interface CompilePipeSummary extends CompileSummary {
isSummary: boolean;
export interface CompilePipeSummary extends CompileTypeSummary {
type: CompileTypeMetadata;

@@ -297,19 +303,13 @@ name: string;

}
export interface CompileNgModuleInjectorSummary extends CompileSummary {
isSummary: boolean;
export interface CompileNgModuleSummary extends CompileTypeSummary {
type: CompileTypeMetadata;
entryComponents: CompileIdentifierMetadata[];
providers: CompileProviderMetadata[];
importedModules: CompileNgModuleInjectorSummary[];
exportedModules: CompileNgModuleInjectorSummary[];
}
export interface CompileNgModuleDirectiveSummary extends CompileSummary {
isSummary: boolean;
type: CompileTypeMetadata;
exportedDirectives: CompileIdentifierMetadata[];
exportedPipes: CompileIdentifierMetadata[];
exportedModules: CompileNgModuleDirectiveSummary[];
directiveLoaders: (() => Promise<void>)[];
entryComponents: CompileIdentifierMetadata[];
providers: {
provider: CompileProviderMetadata;
module: CompileIdentifierMetadata;
}[];
modules: CompileTypeMetadata[];
}
export declare type CompileNgModuleSummary = CompileNgModuleInjectorSummary & CompileNgModuleDirectiveSummary;
/**

@@ -348,15 +348,27 @@ * Metadata regarding compilation of a module.

toSummary(): CompileNgModuleSummary;
toInjectorSummary(): CompileNgModuleInjectorSummary;
toDirectiveSummary(): CompileNgModuleDirectiveSummary;
}
export declare class TransitiveCompileNgModuleMetadata {
modules: CompileNgModuleInjectorSummary[];
providers: CompileProviderMetadata[];
entryComponents: CompileIdentifierMetadata[];
directivesSet: Set<any>;
directives: CompileIdentifierMetadata[];
exportedDirectivesSet: Set<any>;
exportedDirectives: CompileIdentifierMetadata[];
pipesSet: Set<any>;
pipes: CompileIdentifierMetadata[];
directiveLoaders: (() => Promise<void>)[];
directivesSet: Set<any>;
pipesSet: Set<any>;
constructor(modules: CompileNgModuleInjectorSummary[], providers: CompileProviderMetadata[], entryComponents: CompileIdentifierMetadata[], directives: CompileIdentifierMetadata[], pipes: CompileIdentifierMetadata[], directiveLoaders: (() => Promise<void>)[]);
exportedPipesSet: Set<any>;
exportedPipes: CompileIdentifierMetadata[];
modulesSet: Set<any>;
modules: CompileTypeMetadata[];
entryComponentsSet: Set<any>;
entryComponents: CompileIdentifierMetadata[];
providers: {
provider: CompileProviderMetadata;
module: CompileIdentifierMetadata;
}[];
addProvider(provider: CompileProviderMetadata, module: CompileIdentifierMetadata): void;
addDirective(id: CompileIdentifierMetadata): void;
addExportedDirective(id: CompileIdentifierMetadata): void;
addPipe(id: CompileIdentifierMetadata): void;
addExportedPipe(id: CompileIdentifierMetadata): void;
addModule(id: CompileTypeMetadata): void;
addEntryComponent(id: CompileIdentifierMetadata): void;
}

@@ -363,0 +375,0 @@ export declare class ProviderMeta {

@@ -14,3 +14,3 @@ /**

import { ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
import { isStaticSymbol } from './aot/static_symbol';
import { StaticSymbol } from './aot/static_symbol';
import { ListWrapper } from './facade/collection';

@@ -220,3 +220,3 @@ import { isPresent, stringify } from './facade/lang';

var /** @type {?} */ ref = compileIdentifier.reference;
if (isStaticSymbol(ref)) {
if (ref instanceof StaticSymbol) {
return ref.name;

@@ -244,3 +244,3 @@ }

var /** @type {?} */ ref = compileIdentifier.reference;
if (isStaticSymbol(ref)) {
if (ref instanceof StaticSymbol) {
return ref.filePath;

@@ -250,2 +250,11 @@ }

}
export var CompileSummaryKind = {};
CompileSummaryKind.Template = 0;
CompileSummaryKind.Pipe = 1;
CompileSummaryKind.Directive = 2;
CompileSummaryKind.NgModule = 3;
CompileSummaryKind[CompileSummaryKind.Template] = "Template";
CompileSummaryKind[CompileSummaryKind.Pipe] = "Pipe";
CompileSummaryKind[CompileSummaryKind.Directive] = "Directive";
CompileSummaryKind[CompileSummaryKind.NgModule] = "NgModule";
/**

@@ -321,3 +330,3 @@ * @param {?} token

return {
isSummary: true,
summaryKind: CompileSummaryKind.Template,
animations: this.animations.map(function (anim) { return anim.name; }),

@@ -441,3 +450,3 @@ ngContentSelectors: this.ngContentSelectors,

return {
isSummary: true,
summaryKind: CompileSummaryKind.Directive,
type: this.type,

@@ -544,3 +553,8 @@ isComponent: this.isComponent,

CompilePipeMetadata.prototype.toSummary = function () {
return { isSummary: true, type: this.type, name: this.name, pure: this.pure };
return {
summaryKind: CompileSummaryKind.Pipe,
type: this.type,
name: this.name,
pure: this.pure
};
};

@@ -585,39 +599,11 @@ return CompilePipeMetadata;

return {
isSummary: true,
summaryKind: CompileSummaryKind.NgModule,
type: this.type,
entryComponents: this.entryComponents,
providers: this.providers,
importedModules: this.importedModules,
exportedModules: this.exportedModules,
exportedDirectives: this.exportedDirectives,
exportedPipes: this.exportedPipes,
directiveLoaders: this.transitiveModule.directiveLoaders
entryComponents: this.transitiveModule.entryComponents,
providers: this.transitiveModule.providers,
modules: this.transitiveModule.modules,
exportedDirectives: this.transitiveModule.exportedDirectives,
exportedPipes: this.transitiveModule.exportedPipes
};
};
/**
* @return {?}
*/
CompileNgModuleMetadata.prototype.toInjectorSummary = function () {
return {
isSummary: true,
type: this.type,
entryComponents: this.entryComponents,
providers: this.providers,
importedModules: this.importedModules,
exportedModules: this.exportedModules
};
};
/**
* @return {?}
*/
CompileNgModuleMetadata.prototype.toDirectiveSummary = function () {
return {
isSummary: true,
type: this.type,
exportedDirectives: this.exportedDirectives,
exportedPipes: this.exportedPipes,
exportedModules: this.exportedModules,
directiveLoaders: this.transitiveModule.directiveLoaders
};
};
return CompileNgModuleMetadata;

@@ -654,23 +640,85 @@ }());

export var TransitiveCompileNgModuleMetadata = (function () {
/**
* @param {?} modules
* @param {?} providers
* @param {?} entryComponents
* @param {?} directives
* @param {?} pipes
* @param {?} directiveLoaders
*/
function TransitiveCompileNgModuleMetadata(modules, providers, entryComponents, directives, pipes, directiveLoaders) {
var _this = this;
this.modules = modules;
this.providers = providers;
this.entryComponents = entryComponents;
this.directives = directives;
this.pipes = pipes;
this.directiveLoaders = directiveLoaders;
function TransitiveCompileNgModuleMetadata() {
this.directivesSet = new Set();
this.directives = [];
this.exportedDirectivesSet = new Set();
this.exportedDirectives = [];
this.pipesSet = new Set();
directives.forEach(function (dir) { return _this.directivesSet.add(dir.reference); });
pipes.forEach(function (pipe) { return _this.pipesSet.add(pipe.reference); });
this.pipes = [];
this.exportedPipesSet = new Set();
this.exportedPipes = [];
this.modulesSet = new Set();
this.modules = [];
this.entryComponentsSet = new Set();
this.entryComponents = [];
this.providers = [];
}
/**
* @param {?} provider
* @param {?} module
* @return {?}
*/
TransitiveCompileNgModuleMetadata.prototype.addProvider = function (provider, module) {
this.providers.push({ provider: provider, module: module });
};
/**
* @param {?} id
* @return {?}
*/
TransitiveCompileNgModuleMetadata.prototype.addDirective = function (id) {
if (!this.directivesSet.has(id.reference)) {
this.directivesSet.add(id.reference);
this.directives.push(id);
}
};
/**
* @param {?} id
* @return {?}
*/
TransitiveCompileNgModuleMetadata.prototype.addExportedDirective = function (id) {
if (!this.exportedDirectivesSet.has(id.reference)) {
this.exportedDirectivesSet.add(id.reference);
this.exportedDirectives.push(id);
}
};
/**
* @param {?} id
* @return {?}
*/
TransitiveCompileNgModuleMetadata.prototype.addPipe = function (id) {
if (!this.pipesSet.has(id.reference)) {
this.pipesSet.add(id.reference);
this.pipes.push(id);
}
};
/**
* @param {?} id
* @return {?}
*/
TransitiveCompileNgModuleMetadata.prototype.addExportedPipe = function (id) {
if (!this.exportedPipesSet.has(id.reference)) {
this.exportedPipesSet.add(id.reference);
this.exportedPipes.push(id);
}
};
/**
* @param {?} id
* @return {?}
*/
TransitiveCompileNgModuleMetadata.prototype.addModule = function (id) {
if (!this.modulesSet.has(id.reference)) {
this.modulesSet.add(id.reference);
this.modules.push(id);
}
};
/**
* @param {?} id
* @return {?}
*/
TransitiveCompileNgModuleMetadata.prototype.addEntryComponent = function (id) {
if (!this.entryComponentsSet.has(id.reference)) {
this.entryComponentsSet.add(id.reference);
this.entryComponents.push(id);
}
};
return TransitiveCompileNgModuleMetadata;

@@ -682,15 +730,25 @@ }());

/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.directives;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.exportedDirectivesSet;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.exportedDirectives;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.pipesSet;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.pipes;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.exportedPipesSet;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.exportedPipes;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.modulesSet;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.modules;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.providers;
TransitiveCompileNgModuleMetadata.prototype.entryComponentsSet;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.entryComponents;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.directives;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.pipes;
/** @type {?} */
TransitiveCompileNgModuleMetadata.prototype.directiveLoaders;
TransitiveCompileNgModuleMetadata.prototype.providers;
}

@@ -697,0 +755,0 @@ /**

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":2,"metadata":{"CompileAnimationEntryMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationStateMetadata"}]}]}]}},"CompileAnimationStateMetadata":{"__symbolic":"class"},"CompileAnimationStateDeclarationMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationStateMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"CompileAnimationStyleMetadata"}]}]}},"CompileAnimationStateTransitionMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationStateMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}},"CompileAnimationMetadata":{"__symbolic":"class"},"CompileAnimationKeyframesSequenceMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationStyleMetadata"}]}]}]}},"CompileAnimationStyleMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":52,"character":50}]}]}]}},"CompileAnimationAnimateMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":59,"character":22},{"__symbolic":"error","message":"Expression form not supported","line":59,"character":56}]}]}},"CompileAnimationWithStepsMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}]}},"CompileAnimationSequenceMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationWithStepsMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}]}},"CompileAnimationGroupMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationWithStepsMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}]}},"identifierName":{"__symbolic":"function"},"identifierModuleUrl":{"__symbolic":"function"},"tokenName":{"__symbolic":"function","parameters":["token"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"./facade/lang","name":"isPresent"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"value"}]},"thenExpression":{"__symbolic":"error","message":"Reference to a non-exported function","line":78,"character":9,"context":{"name":"_sanitizeIdentifier"}},"elseExpression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"identifierName"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"identifier"}]}}},"tokenReference":{"__symbolic":"function"},"CompileStylesheetMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":195,"character":19}]}]}},"CompileTemplateMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":227,"character":43}]}],"toSummary":[{"__symbolic":"method"}]}},"CompileDirectiveMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":380,"character":48}]}],"toSummary":[{"__symbolic":"method"}]}},"createHostComponentMeta":{"__symbolic":"function"},"CompilePipeMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":484,"character":34}]}],"toSummary":[{"__symbolic":"method"}]}},"CompileNgModuleMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":549,"character":30}]}],"toSummary":[{"__symbolic":"method"}],"toInjectorSummary":[{"__symbolic":"method"}],"toDirectiveSummary":[{"__symbolic":"method"}]}},"TransitiveCompileNgModuleMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":620,"character":22,"context":{"typeName":"CompileNgModuleInjectorSummary"}}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":620,"character":74,"context":{"typeName":"CompileProviderMetadata"}}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":621,"character":30,"context":{"typeName":"CompileIdentifierMetadata"}}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":622,"character":25,"context":{"typeName":"CompileIdentifierMetadata"}}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":622,"character":68,"context":{"typeName":"CompileIdentifierMetadata"}}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":623,"character":31}]}]}]}},"ProviderMeta":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"error","message":"Expression form not supported","line":642,"character":86}]}]}}}},{"__symbolic":"module","metadata":{"CompileAnimationEntryMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationStateMetadata"}]}]}]}},"CompileAnimationStateMetadata":{"__symbolic":"class"},"CompileAnimationStateDeclarationMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationStateMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"CompileAnimationStyleMetadata"}]}]}},"CompileAnimationStateTransitionMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationStateMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}},"CompileAnimationMetadata":{"__symbolic":"class"},"CompileAnimationKeyframesSequenceMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationStyleMetadata"}]}]}]}},"CompileAnimationStyleMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":52,"character":50}]}]}]}},"CompileAnimationAnimateMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":59,"character":22},{"__symbolic":"error","message":"Expression form not supported","line":59,"character":56}]}]}},"CompileAnimationWithStepsMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}]}},"CompileAnimationSequenceMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationWithStepsMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}]}},"CompileAnimationGroupMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationWithStepsMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}]}},"identifierName":{"__symbolic":"function"},"identifierModuleUrl":{"__symbolic":"function"},"tokenName":{"__symbolic":"function","parameters":["token"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"./facade/lang","name":"isPresent"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"value"}]},"thenExpression":{"__symbolic":"error","message":"Reference to a non-exported function","line":78,"character":9,"context":{"name":"_sanitizeIdentifier"}},"elseExpression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"identifierName"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"identifier"}]}}},"tokenReference":{"__symbolic":"function"},"CompileStylesheetMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":195,"character":19}]}]}},"CompileTemplateMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":227,"character":43}]}],"toSummary":[{"__symbolic":"method"}]}},"CompileDirectiveMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":380,"character":48}]}],"toSummary":[{"__symbolic":"method"}]}},"createHostComponentMeta":{"__symbolic":"function"},"CompilePipeMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":484,"character":34}]}],"toSummary":[{"__symbolic":"method"}]}},"CompileNgModuleMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":549,"character":30}]}],"toSummary":[{"__symbolic":"method"}],"toInjectorSummary":[{"__symbolic":"method"}],"toDirectiveSummary":[{"__symbolic":"method"}]}},"TransitiveCompileNgModuleMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":620,"character":22,"context":{"typeName":"CompileNgModuleInjectorSummary"}}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":620,"character":74,"context":{"typeName":"CompileProviderMetadata"}}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":621,"character":30,"context":{"typeName":"CompileIdentifierMetadata"}}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":622,"character":25,"context":{"typeName":"CompileIdentifierMetadata"}}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":622,"character":68,"context":{"typeName":"CompileIdentifierMetadata"}}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":623,"character":31}]}]}]}},"ProviderMeta":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"error","message":"Expression form not supported","line":642,"character":86}]}]}}},"version":1}]
[{"__symbolic":"module","version":2,"metadata":{"CompileAnimationEntryMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationStateMetadata"}]}]}]}},"CompileAnimationStateMetadata":{"__symbolic":"class"},"CompileAnimationStateDeclarationMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationStateMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"CompileAnimationStyleMetadata"}]}]}},"CompileAnimationStateTransitionMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationStateMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}},"CompileAnimationMetadata":{"__symbolic":"class"},"CompileAnimationKeyframesSequenceMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationStyleMetadata"}]}]}]}},"CompileAnimationStyleMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":52,"character":50}]}]}]}},"CompileAnimationAnimateMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":59,"character":22},{"__symbolic":"error","message":"Expression form not supported","line":59,"character":56}]}]}},"CompileAnimationWithStepsMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}]}},"CompileAnimationSequenceMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationWithStepsMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}]}},"CompileAnimationGroupMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationWithStepsMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}]}},"identifierName":{"__symbolic":"function"},"identifierModuleUrl":{"__symbolic":"function"},"CompileSummaryKind":{"Template":0,"Pipe":1,"Directive":2,"NgModule":3},"tokenName":{"__symbolic":"function","parameters":["token"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"./facade/lang","name":"isPresent"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"value"}]},"thenExpression":{"__symbolic":"error","message":"Reference to a non-exported function","line":78,"character":9,"context":{"name":"_sanitizeIdentifier"}},"elseExpression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"identifierName"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"identifier"}]}}},"tokenReference":{"__symbolic":"function"},"CompileStylesheetMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":202,"character":19}]}]}},"CompileTemplateMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":233,"character":43}]}],"toSummary":[{"__symbolic":"method"}]}},"CompileDirectiveMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":385,"character":48}]}],"toSummary":[{"__symbolic":"method"}]}},"createHostComponentMeta":{"__symbolic":"function"},"CompilePipeMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":488,"character":34}]}],"toSummary":[{"__symbolic":"method"}]}},"CompileNgModuleMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":550,"character":30}]}],"toSummary":[{"__symbolic":"method"}]}},"TransitiveCompileNgModuleMetadata":{"__symbolic":"class","members":{"addProvider":[{"__symbolic":"method"}],"addDirective":[{"__symbolic":"method"}],"addExportedDirective":[{"__symbolic":"method"}],"addPipe":[{"__symbolic":"method"}],"addExportedPipe":[{"__symbolic":"method"}],"addModule":[{"__symbolic":"method"}],"addEntryComponent":[{"__symbolic":"method"}]}},"ProviderMeta":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"error","message":"Expression form not supported","line":664,"character":86}]}]}}}},{"__symbolic":"module","metadata":{"CompileAnimationEntryMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationStateMetadata"}]}]}]}},"CompileAnimationStateMetadata":{"__symbolic":"class"},"CompileAnimationStateDeclarationMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationStateMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"CompileAnimationStyleMetadata"}]}]}},"CompileAnimationStateTransitionMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationStateMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}},"CompileAnimationMetadata":{"__symbolic":"class"},"CompileAnimationKeyframesSequenceMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationStyleMetadata"}]}]}]}},"CompileAnimationStyleMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":52,"character":50}]}]}]}},"CompileAnimationAnimateMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":59,"character":22},{"__symbolic":"error","message":"Expression form not supported","line":59,"character":56}]}]}},"CompileAnimationWithStepsMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}]}},"CompileAnimationSequenceMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationWithStepsMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}]}},"CompileAnimationGroupMetadata":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CompileAnimationWithStepsMetadata"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"CompileAnimationMetadata"}]}]}]}},"identifierName":{"__symbolic":"function"},"identifierModuleUrl":{"__symbolic":"function"},"CompileSummaryKind":{"Template":0,"Pipe":1,"Directive":2,"NgModule":3},"tokenName":{"__symbolic":"function","parameters":["token"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"./facade/lang","name":"isPresent"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"value"}]},"thenExpression":{"__symbolic":"error","message":"Reference to a non-exported function","line":78,"character":9,"context":{"name":"_sanitizeIdentifier"}},"elseExpression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"identifierName"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"token"},"member":"identifier"}]}}},"tokenReference":{"__symbolic":"function"},"CompileStylesheetMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":202,"character":19}]}]}},"CompileTemplateMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":233,"character":43}]}],"toSummary":[{"__symbolic":"method"}]}},"CompileDirectiveMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":385,"character":48}]}],"toSummary":[{"__symbolic":"method"}]}},"createHostComponentMeta":{"__symbolic":"function"},"CompilePipeMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":488,"character":34}]}],"toSummary":[{"__symbolic":"method"}]}},"CompileNgModuleMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":550,"character":30}]}],"toSummary":[{"__symbolic":"method"}]}},"TransitiveCompileNgModuleMetadata":{"__symbolic":"class","members":{"addProvider":[{"__symbolic":"method"}],"addDirective":[{"__symbolic":"method"}],"addExportedDirective":[{"__symbolic":"method"}],"addPipe":[{"__symbolic":"method"}],"addExportedPipe":[{"__symbolic":"method"}],"addModule":[{"__symbolic":"method"}],"addEntryComponent":[{"__symbolic":"method"}]}},"ProviderMeta":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"error","message":"Expression form not supported","line":664,"character":86}]}]}}},"version":1}]

@@ -371,3 +371,9 @@ /**

_AstToIrVisitor.prototype.visitKeyedRead = function (ast, mode) {
return convertToStatementIfNeeded(mode, this.visit(ast.obj, _Mode.Expression).key(this.visit(ast.key, _Mode.Expression)));
var /** @type {?} */ leftMostSafe = this.leftMostSafeNode(ast);
if (leftMostSafe) {
return this.convertSafeAccess(ast, leftMostSafe, mode);
}
else {
return convertToStatementIfNeeded(mode, this.visit(ast.obj, _Mode.Expression).key(this.visit(ast.key, _Mode.Expression)));
}
};

@@ -374,0 +380,0 @@ /**

import { StaticReflector, StaticReflectorHost } from '../aot/static_reflector';
import { AotSummaryResolverHost } from '../aot/summary_resolver';
import { CompileMetadataResolver } from '../metadata_resolver';

@@ -12,3 +13,3 @@ import { MessageBundle } from './message_bundle';

*/
export interface ExtractorHost extends StaticReflectorHost {
export interface ExtractorHost extends StaticReflectorHost, AotSummaryResolverHost {
/**

@@ -15,0 +16,0 @@ * Loads a resource (e.g. html / css)

@@ -9,5 +9,6 @@ /**

import { ViewEncapsulation } from '@angular/core';
import { analyzeAndValidateNgModules, extractProgramSymbols, loadNgModuleDirectives } from '../aot/compiler';
import { analyzeAndValidateNgModules, extractProgramSymbols } from '../aot/compiler';
import { StaticAndDynamicReflectionCapabilities } from '../aot/static_reflection_capabilities';
import { StaticReflector } from '../aot/static_reflector';
import { AotSummaryResolver } from '../aot/summary_resolver';
import { CompilerConfig } from '../config';

@@ -48,3 +49,5 @@ import { DirectiveNormalizer } from '../directive_normalizer';

var _a = analyzeAndValidateNgModules(programSymbols, this.options, this.metadataResolver), ngModuleByPipeOrDirective = _a.ngModuleByPipeOrDirective, files = _a.files, ngModules = _a.ngModules;
return loadNgModuleDirectives(ngModules).then(function () {
return Promise
.all(ngModules.map(function (ngModule) { return _this.metadataResolver.loadNgModuleDirectiveAndPipeMetadata(ngModule.type.reference, false); }))
.then(function () {
var /** @type {?} */ errors = [];

@@ -89,3 +92,3 @@ files.forEach(function (file) {

var /** @type {?} */ elementSchemaRegistry = new DomElementSchemaRegistry();
var /** @type {?} */ resolver = new CompileMetadataResolver(new NgModuleResolver(staticReflector), new DirectiveResolver(staticReflector), new PipeResolver(staticReflector), elementSchemaRegistry, normalizer, staticReflector);
var /** @type {?} */ resolver = new CompileMetadataResolver(new NgModuleResolver(staticReflector), new DirectiveResolver(staticReflector), new PipeResolver(staticReflector), new AotSummaryResolver(host, staticReflector, options), elementSchemaRegistry, normalizer, staticReflector);
// TODO(vicb): implicit tags & attributes

@@ -92,0 +95,0 @@ var /** @type {?} */ messageBundle = new MessageBundle(htmlParser, [], {});

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":2,"metadata":{"Extractor":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":52,"character":23,"context":{"typeName":"ExtractorOptions"}},{"__symbolic":"error","message":"Could not resolve type","line":52,"character":54,"context":{"typeName":"ExtractorHost"}},{"__symbolic":"reference","module":"../aot/static_reflector","name":"StaticReflector"},{"__symbolic":"reference","module":"./message_bundle","name":"MessageBundle"},{"__symbolic":"reference","module":"../metadata_resolver","name":"CompileMetadataResolver"}]}],"extract":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","metadata":{"Extractor":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":52,"character":23,"context":{"typeName":"ExtractorOptions"}},{"__symbolic":"error","message":"Could not resolve type","line":52,"character":54,"context":{"typeName":"ExtractorHost"}},{"__symbolic":"reference","module":"../aot/static_reflector","name":"StaticReflector"},{"__symbolic":"reference","module":"./message_bundle","name":"MessageBundle"},{"__symbolic":"reference","module":"../metadata_resolver","name":"CompileMetadataResolver"}]}],"extract":[{"__symbolic":"method"}]}}},"version":1}]
[{"__symbolic":"module","version":2,"metadata":{"Extractor":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":53,"character":23,"context":{"typeName":"ExtractorOptions"}},{"__symbolic":"error","message":"Could not resolve type","line":53,"character":54,"context":{"typeName":"ExtractorHost"}},{"__symbolic":"reference","module":"../aot/static_reflector","name":"StaticReflector"},{"__symbolic":"reference","module":"./message_bundle","name":"MessageBundle"},{"__symbolic":"reference","module":"../metadata_resolver","name":"CompileMetadataResolver"}]}],"extract":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","metadata":{"Extractor":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":53,"character":23,"context":{"typeName":"ExtractorOptions"}},{"__symbolic":"error","message":"Could not resolve type","line":53,"character":54,"context":{"typeName":"ExtractorHost"}},{"__symbolic":"reference","module":"../aot/static_reflector","name":"StaticReflector"},{"__symbolic":"reference","module":"./message_bundle","name":"MessageBundle"},{"__symbolic":"reference","module":"../metadata_resolver","name":"CompileMetadataResolver"}]}],"extract":[{"__symbolic":"method"}]}}},"version":1}]

@@ -27,2 +27,3 @@ /**

import { StyleCompiler } from '../style_compiler';
import { SummaryResolver } from '../summary_resolver';
import { TemplateParser } from '../template_parser/template_parser';

@@ -49,2 +50,3 @@ import { DEFAULT_PACKAGE_URL_PROVIDER, UrlResolver } from '../url_resolver';

{ provide: ResourceLoader, useValue: _NO_RESOURCE_LOADER },
SummaryResolver,
Console,

@@ -51,0 +53,0 @@ Lexer,

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":2,"metadata":{"COMPILER_PROVIDERS":{"__symbolic":"error","message":"Function call not supported","line":54,"character":16},"JitCompilerFactory":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"COMPILER_OPTIONS"}]}]],"parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"@angular/core","name":"CompilerOptions"}]}]}],"createCompiler":[{"__symbolic":"method"}]}},"platformCoreDynamic":{"__symbolic":"error","message":"Reference to a non-exported function","line":120,"character":9,"context":{"name":"_initReflector"}}}},{"__symbolic":"module","metadata":{"COMPILER_PROVIDERS":{"__symbolic":"error","message":"Function call not supported","line":54,"character":16},"JitCompilerFactory":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"COMPILER_OPTIONS"}]}]],"parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"@angular/core","name":"CompilerOptions"}]}]}],"createCompiler":[{"__symbolic":"method"}]}},"platformCoreDynamic":{"__symbolic":"error","message":"Reference to a non-exported function","line":120,"character":9,"context":{"name":"_initReflector"}}},"version":1}]
[{"__symbolic":"module","version":2,"metadata":{"COMPILER_PROVIDERS":{"__symbolic":"error","message":"Function call not supported","line":56,"character":16},"JitCompilerFactory":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"COMPILER_OPTIONS"}]}]],"parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"@angular/core","name":"CompilerOptions"}]}]}],"createCompiler":[{"__symbolic":"method"}]}},"platformCoreDynamic":{"__symbolic":"error","message":"Reference to a non-exported function","line":122,"character":9,"context":{"name":"_initReflector"}}}},{"__symbolic":"module","metadata":{"COMPILER_PROVIDERS":{"__symbolic":"error","message":"Function call not supported","line":56,"character":16},"JitCompilerFactory":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"COMPILER_OPTIONS"}]}]],"parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"@angular/core","name":"CompilerOptions"}]}]}],"createCompiler":[{"__symbolic":"method"}]}},"platformCoreDynamic":{"__symbolic":"error","message":"Reference to a non-exported function","line":122,"character":9,"context":{"name":"_initReflector"}}},"version":1}]

@@ -143,4 +143,3 @@ /**

var /** @type {?} */ loadingPromises = [];
var _a = this._metadataResolver.loadNgModuleMetadata(mainModule, isSync), ngModule = _a.ngModule, loading = _a.loading;
loadingPromises.push(loading);
var /** @type {?} */ ngModule = this._metadataResolver.getNgModuleMetadata(mainModule);
// Note: the loadingPromise for a module only includes the loading of the exported directives

@@ -151,4 +150,3 @@ // of imported modules.

ngModule.transitiveModule.modules.forEach(function (localModuleMeta) {
loadingPromises.push(_this._metadataResolver.loadNgModuleMetadata(localModuleMeta.type.reference, isSync)
.loading);
loadingPromises.push(_this._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(localModuleMeta.reference, isSync));
});

@@ -195,3 +193,3 @@ return Promise.all(loadingPromises);

ngModule.transitiveModule.modules.forEach(function (localModuleSummary) {
var /** @type {?} */ localModuleMeta = _this._metadataResolver.getNgModuleMetadata(localModuleSummary.type.reference);
var /** @type {?} */ localModuleMeta = _this._metadataResolver.getNgModuleMetadata(localModuleSummary.reference);
localModuleMeta.declaredDirectives.forEach(function (dirIdentifier) {

@@ -212,3 +210,3 @@ moduleByDirective.set(dirIdentifier.reference, localModuleMeta);

ngModule.transitiveModule.modules.forEach(function (localModuleSummary) {
var /** @type {?} */ localModuleMeta = _this._metadataResolver.getNgModuleMetadata(localModuleSummary.type.reference);
var /** @type {?} */ localModuleMeta = _this._metadataResolver.getNgModuleMetadata(localModuleSummary.reference);
localModuleMeta.declaredDirectives.forEach(function (dirIdentifier) {

@@ -215,0 +213,0 @@ var /** @type {?} */ dirMeta = _this._metadataResolver.getDirectiveMetadata(dirIdentifier.reference);

@@ -8,3 +8,3 @@ /**

*/
import { AnimationEntryMetadata, Component, Directive, Type } from '@angular/core';
import { AnimationEntryMetadata, Component, Directive, OpaqueToken, Type } from '@angular/core';
import * as cpl from './compile_metadata';

@@ -17,2 +17,5 @@ import { DirectiveNormalizer } from './directive_normalizer';

import { ElementSchemaRegistry } from './schema/element_schema_registry';
import { SummaryResolver } from './summary_resolver';
export declare type ErrorCollector = (error: any, type?: any) => void;
export declare const ERROR_COLLECTOR_TOKEN: OpaqueToken;
export declare class CompileMetadataResolver {

@@ -22,12 +25,13 @@ private _ngModuleResolver;

private _pipeResolver;
private _summaryResolver;
private _schemaRegistry;
private _directiveNormalizer;
private _reflector;
private _errorCollector;
private _directiveCache;
private _directiveSummaryCache;
private _summaryCache;
private _pipeCache;
private _pipeSummaryCache;
private _ngModuleCache;
private _ngModuleOfTypes;
constructor(_ngModuleResolver: NgModuleResolver, _directiveResolver: DirectiveResolver, _pipeResolver: PipeResolver, _schemaRegistry: ElementSchemaRegistry, _directiveNormalizer: DirectiveNormalizer, _reflector?: ReflectorReader);
constructor(_ngModuleResolver: NgModuleResolver, _directiveResolver: DirectiveResolver, _pipeResolver: PipeResolver, _summaryResolver: SummaryResolver, _schemaRegistry: ElementSchemaRegistry, _directiveNormalizer: DirectiveNormalizer, _reflector?: ReflectorReader, _errorCollector?: ErrorCollector);
clearCacheFor(type: Type<any>): void;

@@ -39,2 +43,3 @@ clearCache(): void;

private _getAnimationMetadata(value);
private _loadSummary(type, kind);
private _loadDirectiveMetadata(directiveType, isSync);

@@ -53,22 +58,8 @@ getNonNormalizedDirectiveMetadata(directiveType: any): {

isPipe(type: any): boolean;
getNgModuleSummary(moduleType: any): cpl.CompileNgModuleSummary;
/**
* Gets the metadata for the given module.
* This assumes `loadNgModuleMetadata` has been called first.
* Loads the declared directives and pipes of an NgModule.
*/
getNgModuleMetadata(moduleType: any): cpl.CompileNgModuleMetadata;
private _loadNgModuleSummary(moduleType, isSync);
/**
* Loads an NgModule and all of its directives. This includes loading the exported directives of
* imported modules,
* but not private directives of imported modules.
*/
loadNgModuleMetadata(moduleType: any, isSync: boolean, throwIfNotFound?: boolean): {
ngModule: cpl.CompileNgModuleMetadata;
loading: Promise<any>;
};
/**
* Get the NgModule metadata without loading the directives.
*/
getUnloadedNgModuleMetadata(moduleType: any, isSync: boolean, throwIfNotFound?: boolean): cpl.CompileNgModuleMetadata;
private _loadNgModuleMetadata(moduleType, isSync, throwIfNotFound?);
loadNgModuleDirectiveAndPipeMetadata(moduleType: any, isSync: boolean, throwIfNotFound?: boolean): Promise<any>;
getNgModuleMetadata(moduleType: any, throwIfNotFound?: boolean): cpl.CompileNgModuleMetadata;
private _getTypeDescriptor(type);

@@ -90,4 +81,4 @@ private _addTypeToModule(type, moduleType);

private _getTokenMetadata(token);
private _getProvidersMetadata(providers, targetEntryComponents, debugInfo?, compileProviders?);
private _getEntryComponentsFromProvider(provider);
private _getProvidersMetadata(providers, targetEntryComponents, debugInfo?, compileProviders?, type?);
private _getEntryComponentsFromProvider(provider, type?);
getProviderMetadata(provider: cpl.ProviderMeta): cpl.CompileProviderMetadata;

@@ -97,3 +88,4 @@ private _getQueriesMetadata(queries, isViewQuery, directiveType);

private _getQueryMetadata(q, propertyName, typeOrFunc);
private _reportError(error, type?, otherType?);
}
export declare function componentModuleUrl(reflector: ReflectorReader, type: Type<any>, cmpMetadata: Component): string;

@@ -13,4 +13,4 @@ /**

};
import { AnimationAnimateMetadata, AnimationGroupMetadata, AnimationKeyframesSequenceMetadata, AnimationStateDeclarationMetadata, AnimationStateTransitionMetadata, AnimationStyleMetadata, AnimationWithStepsMetadata, Attribute, Component, Host, Inject, Injectable, Optional, Self, SkipSelf, Type, resolveForwardRef } from '@angular/core';
import { isStaticSymbol } from './aot/static_symbol';
import { AnimationAnimateMetadata, AnimationGroupMetadata, AnimationKeyframesSequenceMetadata, AnimationStateDeclarationMetadata, AnimationStateTransitionMetadata, AnimationStyleMetadata, AnimationWithStepsMetadata, Attribute, Component, Host, Inject, Injectable, OpaqueToken, Optional, Self, SkipSelf, Type, resolveForwardRef } from '@angular/core';
import { StaticSymbol } from './aot/static_symbol';
import { assertArrayOfStrings, assertInterpolationSymbols } from './assertions';

@@ -20,3 +20,2 @@ import * as cpl from './compile_metadata';

import { DirectiveResolver } from './directive_resolver';
import { ListWrapper } from './facade/collection';
import { isBlank, isPresent, stringify } from './facade/lang';

@@ -29,4 +28,6 @@ import { Identifiers, resolveIdentifier } from './identifiers';

import { ElementSchemaRegistry } from './schema/element_schema_registry';
import { SummaryResolver } from './summary_resolver';
import { getUrlScheme } from './url_resolver';
import { MODULE_SUFFIX, ValueTransformer, visitValue } from './util';
export var /** @type {?} */ ERROR_COLLECTOR_TOKEN = new OpaqueToken('ErrorCollector');
// Design notes:

@@ -44,7 +45,9 @@ // - don't lazily create metadata:

* @param {?} _pipeResolver
* @param {?} _summaryResolver
* @param {?} _schemaRegistry
* @param {?} _directiveNormalizer
* @param {?=} _reflector
* @param {?=} _errorCollector
*/
function CompileMetadataResolver(_ngModuleResolver, _directiveResolver, _pipeResolver, _schemaRegistry, _directiveNormalizer, _reflector) {
function CompileMetadataResolver(_ngModuleResolver, _directiveResolver, _pipeResolver, _summaryResolver, _schemaRegistry, _directiveNormalizer, _reflector, _errorCollector) {
if (_reflector === void 0) { _reflector = reflector; }

@@ -54,9 +57,10 @@ this._ngModuleResolver = _ngModuleResolver;

this._pipeResolver = _pipeResolver;
this._summaryResolver = _summaryResolver;
this._schemaRegistry = _schemaRegistry;
this._directiveNormalizer = _directiveNormalizer;
this._reflector = _reflector;
this._errorCollector = _errorCollector;
this._directiveCache = new Map();
this._directiveSummaryCache = new Map();
this._summaryCache = new Map();
this._pipeCache = new Map();
this._pipeSummaryCache = new Map();
this._ngModuleCache = new Map();

@@ -72,5 +76,4 @@ this._ngModuleOfTypes = new Map();

this._directiveCache.delete(type);
this._directiveSummaryCache.delete(type);
this._summaryCache.delete(type);
this._pipeCache.delete(type);
this._pipeSummaryCache.delete(type);
this._ngModuleOfTypes.delete(type);

@@ -88,5 +91,4 @@ // Clear all of the NgModule as they contain transitive information!

this._directiveCache.clear();
this._directiveSummaryCache.clear();
this._summaryCache.clear();
this._pipeCache.clear();
this._pipeSummaryCache.clear();
this._ngModuleCache.clear();

@@ -153,2 +155,15 @@ this._ngModuleOfTypes.clear();

/**
* @param {?} type
* @param {?} kind
* @return {?}
*/
CompileMetadataResolver.prototype._loadSummary = function (type, kind) {
var /** @type {?} */ summary = this._summaryCache.get(type);
if (!summary) {
summary = this._summaryResolver.resolveSummary(type);
this._summaryCache.set(type, summary);
}
return summary && summary.summaryKind === kind ? summary : null;
};
/**
* @param {?} directiveType

@@ -185,7 +200,7 @@ * @param {?} isSync

_this._directiveCache.set(directiveType, normalizedDirMeta);
_this._directiveSummaryCache.set(directiveType, normalizedDirMeta.toSummary());
_this._summaryCache.set(directiveType, normalizedDirMeta.toSummary());
return normalizedDirMeta;
};
if (metadata.isComponent) {
var /** @type {?} */ templateMeta_1 = this._directiveNormalizer.normalizeTemplate({
var /** @type {?} */ templateMeta = this._directiveNormalizer.normalizeTemplate({
componentType: directiveType,

@@ -201,4 +216,4 @@ moduleUrl: componentModuleUrl(this._reflector, directiveType, annotation),

});
if (templateMeta_1.syncResult) {
createDirectiveMetadata(templateMeta_1.syncResult);
if (templateMeta.syncResult) {
createDirectiveMetadata(templateMeta.syncResult);
return null;

@@ -208,5 +223,6 @@ }

if (isSync) {
throw new ComponentStillLoadingError(directiveType);
this._reportError(new ComponentStillLoadingError(directiveType), directiveType);
return null;
}
return function () { return templateMeta_1.asyncResult.then(createDirectiveMetadata); };
return templateMeta.asyncResult.then(createDirectiveMetadata);
}

@@ -258,3 +274,3 @@ }

if (dirMeta.viewProviders) {
viewProviders = this._getProvidersMetadata(dirMeta.viewProviders, entryComponentMetadata, "viewProviders for \"" + stringify(directiveType) + "\"");
viewProviders = this._getProvidersMetadata(dirMeta.viewProviders, entryComponentMetadata, "viewProviders for \"" + stringify(directiveType) + "\"", [], directiveType);
}

@@ -273,3 +289,4 @@ if (dirMeta.entryComponents) {

if (!selector) {
throw new Error("Directive " + stringify(directiveType) + " has no selector, please add it!");
this._reportError(new Error("Directive " + stringify(directiveType) + " has no selector, please add it!"), directiveType);
selector = 'error';
}

@@ -279,3 +296,3 @@ }

if (isPresent(dirMeta.providers)) {
providers = this._getProvidersMetadata(dirMeta.providers, entryComponentMetadata, "providers for \"" + stringify(directiveType) + "\"");
providers = this._getProvidersMetadata(dirMeta.providers, entryComponentMetadata, "providers for \"" + stringify(directiveType) + "\"", [], directiveType);
}

@@ -315,3 +332,3 @@ var /** @type {?} */ queries = [];

if (!dirMeta) {
throw new Error("Illegal state: getDirectiveMetadata can only be called after loadNgModuleMetadata for a module that declares it. Directive " + stringify(directiveType) + ".");
this._reportError(new Error("Illegal state: getDirectiveMetadata can only be called after loadNgModuleMetadata for a module that declares it. Directive " + stringify(directiveType) + "."), directiveType);
}

@@ -325,5 +342,5 @@ return dirMeta;

CompileMetadataResolver.prototype.getDirectiveSummary = function (dirType) {
var /** @type {?} */ dirSummary = this._directiveSummaryCache.get(dirType);
var /** @type {?} */ dirSummary = (this._loadSummary(dirType, cpl.CompileSummaryKind.Directive));
if (!dirSummary) {
throw new Error("Illegal state: getDirectiveSummary can only be called after loadNgModuleMetadata for a module that imports it. Directive " + stringify(dirType) + ".");
this._reportError(new Error("Illegal state: Could not load the summary for directive " + stringify(dirType) + "."), dirType);
}

@@ -343,61 +360,45 @@ return dirSummary;

/**
* Gets the metadata for the given module.
* This assumes `loadNgModuleMetadata` has been called first.
* @param {?} moduleType
* @return {?}
*/
CompileMetadataResolver.prototype.getNgModuleMetadata = function (moduleType) {
var /** @type {?} */ modMeta = this._ngModuleCache.get(moduleType);
if (!modMeta) {
throw new Error("Illegal state: getNgModuleMetadata can only be called after loadNgModuleMetadata. Module " + stringify(moduleType) + ".");
CompileMetadataResolver.prototype.getNgModuleSummary = function (moduleType) {
var /** @type {?} */ moduleSummary = (this._loadSummary(moduleType, cpl.CompileSummaryKind.NgModule));
if (!moduleSummary) {
var /** @type {?} */ moduleMeta = this.getNgModuleMetadata(moduleType, false);
moduleSummary = moduleMeta ? moduleMeta.toSummary() : null;
if (moduleSummary) {
this._summaryCache.set(moduleType, moduleSummary);
}
}
return modMeta;
return moduleSummary;
};
/**
* Loads the declared directives and pipes of an NgModule.
* @param {?} moduleType
* @param {?} isSync
* @return {?}
*/
CompileMetadataResolver.prototype._loadNgModuleSummary = function (moduleType, isSync) {
// TODO(tbosch): add logic to read summary files!
// - needs to add directive / pipe summaries to this._directiveSummaryCache /
// this._pipeSummaryCache as well!
var /** @type {?} */ moduleMeta = this._loadNgModuleMetadata(moduleType, isSync, false);
return moduleMeta ? moduleMeta.toSummary() : null;
};
/**
* Loads an NgModule and all of its directives. This includes loading the exported directives of
* imported modules,
* but not private directives of imported modules.
* @param {?} moduleType
* @param {?} isSync
* @param {?=} throwIfNotFound
* @return {?}
*/
CompileMetadataResolver.prototype.loadNgModuleMetadata = function (moduleType, isSync, throwIfNotFound) {
CompileMetadataResolver.prototype.loadNgModuleDirectiveAndPipeMetadata = function (moduleType, isSync, throwIfNotFound) {
var _this = this;
if (throwIfNotFound === void 0) { throwIfNotFound = true; }
var /** @type {?} */ ngModule = this._loadNgModuleMetadata(moduleType, isSync, throwIfNotFound);
var /** @type {?} */ loading = ngModule ?
Promise.all(ngModule.transitiveModule.directiveLoaders.map(function (loader) { return loader(); })) :
Promise.resolve(null);
return { ngModule: ngModule, loading: loading };
var /** @type {?} */ ngModule = this.getNgModuleMetadata(moduleType, throwIfNotFound);
var /** @type {?} */ loading = [];
if (ngModule) {
ngModule.declaredDirectives.forEach(function (id) {
var /** @type {?} */ promise = _this._loadDirectiveMetadata(id.reference, isSync);
if (promise) {
loading.push(promise);
}
});
ngModule.declaredPipes.forEach(function (id) { return _this._loadPipeMetadata(id.reference); });
}
return Promise.all(loading);
};
/**
* Get the NgModule metadata without loading the directives.
* @param {?} moduleType
* @param {?} isSync
* @param {?=} throwIfNotFound
* @return {?}
*/
CompileMetadataResolver.prototype.getUnloadedNgModuleMetadata = function (moduleType, isSync, throwIfNotFound) {
if (throwIfNotFound === void 0) { throwIfNotFound = true; }
return this._loadNgModuleMetadata(moduleType, isSync, throwIfNotFound);
};
/**
* @param {?} moduleType
* @param {?} isSync
* @param {?=} throwIfNotFound
* @return {?}
*/
CompileMetadataResolver.prototype._loadNgModuleMetadata = function (moduleType, isSync, throwIfNotFound) {
CompileMetadataResolver.prototype.getNgModuleMetadata = function (moduleType, throwIfNotFound) {
var _this = this;

@@ -433,9 +434,10 @@ if (throwIfNotFound === void 0) { throwIfNotFound = true; }

if (moduleWithProviders.providers) {
providers.push.apply(providers, _this._getProvidersMetadata(moduleWithProviders.providers, entryComponents, "provider for the NgModule '" + stringify(importedModuleType) + "'"));
providers.push.apply(providers, _this._getProvidersMetadata(moduleWithProviders.providers, entryComponents, "provider for the NgModule '" + stringify(importedModuleType) + "'", [], importedType));
}
}
if (importedModuleType) {
var /** @type {?} */ importedModuleSummary = _this._loadNgModuleSummary(importedModuleType, isSync);
var /** @type {?} */ importedModuleSummary = _this.getNgModuleSummary(importedModuleType);
if (!importedModuleSummary) {
throw new Error("Unexpected " + _this._getTypeDescriptor(importedType) + " '" + stringify(importedType) + "' imported by the module '" + stringify(moduleType) + "'");
_this._reportError(new Error("Unexpected " + _this._getTypeDescriptor(importedType) + " '" + stringify(importedType) + "' imported by the module '" + stringify(moduleType) + "'"), moduleType);
return;
}

@@ -445,3 +447,4 @@ importedModules.push(importedModuleSummary);

else {
throw new Error("Unexpected value '" + stringify(importedType) + "' imported by the module '" + stringify(moduleType) + "'");
_this._reportError(new Error("Unexpected value '" + stringify(importedType) + "' imported by the module '" + stringify(moduleType) + "'"), moduleType);
return;
}

@@ -453,5 +456,6 @@ });

if (!isValidType(exportedType)) {
throw new Error("Unexpected value '" + stringify(exportedType) + "' exported by the module '" + stringify(moduleType) + "'");
_this._reportError(new Error("Unexpected value '" + stringify(exportedType) + "' exported by the module '" + stringify(moduleType) + "'"), moduleType);
return;
}
var /** @type {?} */ exportedModuleSummary = _this._loadNgModuleSummary(exportedType, isSync);
var /** @type {?} */ exportedModuleSummary = _this.getNgModuleSummary(exportedType);
if (exportedModuleSummary) {

@@ -471,24 +475,20 @@ exportedModules.push(exportedModuleSummary);

if (!isValidType(declaredType)) {
throw new Error("Unexpected value '" + stringify(declaredType) + "' declared by the module '" + stringify(moduleType) + "'");
_this._reportError(new Error("Unexpected value '" + stringify(declaredType) + "' declared by the module '" + stringify(moduleType) + "'"), moduleType);
return;
}
var /** @type {?} */ declaredIdentifier = _this._getIdentifierMetadata(declaredType);
if (_this._directiveResolver.isDirective(declaredType)) {
transitiveModule.directivesSet.add(declaredType);
transitiveModule.directives.push(declaredIdentifier);
transitiveModule.addDirective(declaredIdentifier);
declaredDirectives.push(declaredIdentifier);
_this._addTypeToModule(declaredType, moduleType);
var /** @type {?} */ loader = _this._loadDirectiveMetadata(declaredType, isSync);
if (loader) {
transitiveModule.directiveLoaders.push(loader);
}
}
else if (_this._pipeResolver.isPipe(declaredType)) {
transitiveModule.pipesSet.add(declaredType);
transitiveModule.addPipe(declaredIdentifier);
transitiveModule.pipes.push(declaredIdentifier);
declaredPipes.push(declaredIdentifier);
_this._addTypeToModule(declaredType, moduleType);
_this._loadPipeMetadata(declaredType);
}
else {
throw new Error("Unexpected " + _this._getTypeDescriptor(declaredType) + " '" + stringify(declaredType) + "' declared by the module '" + stringify(moduleType) + "'");
_this._reportError(new Error("Unexpected " + _this._getTypeDescriptor(declaredType) + " '" + stringify(declaredType) + "' declared by the module '" + stringify(moduleType) + "'"), moduleType);
return;
}

@@ -502,8 +502,10 @@ });

exportedDirectives.push(exportedId);
transitiveModule.addExportedDirective(exportedId);
}
else if (transitiveModule.pipesSet.has(exportedId.reference)) {
exportedPipes.push(exportedId);
transitiveModule.addExportedPipe(exportedId);
}
else {
throw new Error("Can't export " + _this._getTypeDescriptor(exportedId.reference) + " " + stringify(exportedId.reference) + " from " + stringify(moduleType) + " as it was neither declared nor imported!");
_this._reportError(new Error("Can't export " + _this._getTypeDescriptor(exportedId.reference) + " " + stringify(exportedId.reference) + " from " + stringify(moduleType) + " as it was neither declared nor imported!"), moduleType);
}

@@ -514,3 +516,3 @@ });

if (meta.providers) {
providers.push.apply(providers, this._getProvidersMetadata(meta.providers, entryComponents, "provider for the NgModule '" + stringify(moduleType) + "'"));
providers.push.apply(providers, this._getProvidersMetadata(meta.providers, entryComponents, "provider for the NgModule '" + stringify(moduleType) + "'", [], moduleType));
}

@@ -521,9 +523,9 @@ if (meta.entryComponents) {

if (meta.bootstrap) {
var /** @type {?} */ typeMetadata = flattenAndDedupeArray(meta.bootstrap).map(function (type) {
flattenAndDedupeArray(meta.bootstrap).forEach(function (type) {
if (!isValidType(type)) {
throw new Error("Unexpected value '" + stringify(type) + "' used in the bootstrap property of module '" + stringify(moduleType) + "'");
_this._reportError(new Error("Unexpected value '" + stringify(type) + "' used in the bootstrap property of module '" + stringify(moduleType) + "'"), moduleType);
return;
}
return _this._getTypeMetadata(type);
bootstrapComponents.push(_this._getTypeMetadata(type));
});
bootstrapComponents.push.apply(bootstrapComponents, typeMetadata);
}

@@ -534,4 +536,2 @@ entryComponents.push.apply(entryComponents, bootstrapComponents);

}
(_a = transitiveModule.entryComponents).push.apply(_a, entryComponents);
(_b = transitiveModule.providers).push.apply(_b, providers);
compileMeta = new cpl.CompileNgModuleMetadata({

@@ -552,6 +552,7 @@ type: this._getTypeMetadata(moduleType),

});
transitiveModule.modules.push(compileMeta.toInjectorSummary());
entryComponents.forEach(function (id) { return transitiveModule.addEntryComponent(id); });
providers.forEach(function (provider) { return transitiveModule.addProvider(provider, compileMeta.type); });
transitiveModule.addModule(compileMeta.type);
this._ngModuleCache.set(moduleType, compileMeta);
return compileMeta;
var _a, _b;
};

@@ -585,5 +586,5 @@ /**

if (oldModule && oldModule !== moduleType) {
throw new Error(("Type " + stringify(type) + " is part of the declarations of 2 modules: " + stringify(oldModule) + " and " + stringify(moduleType) + "! ") +
this._reportError(new Error(("Type " + stringify(type) + " is part of the declarations of 2 modules: " + stringify(oldModule) + " and " + stringify(moduleType) + "! ") +
("Please consider moving " + stringify(type) + " to a higher module that imports " + stringify(oldModule) + " and " + stringify(moduleType) + ". ") +
("You can also create a new NgModule that exports and includes " + stringify(type) + " then import that NgModule in " + stringify(oldModule) + " and " + stringify(moduleType) + "."));
("You can also create a new NgModule that exports and includes " + stringify(type) + " then import that NgModule in " + stringify(oldModule) + " and " + stringify(moduleType) + ".")), moduleType);
}

@@ -599,10 +600,34 @@ this._ngModuleOfTypes.set(type, moduleType);

// collect `providers` / `entryComponents` from all imported and all exported modules
var /** @type {?} */ transitiveModules = getTransitiveImportedModules(importedModules.concat(exportedModules));
var /** @type {?} */ providers = flattenArray(transitiveModules.map(function (ngModule) { return ngModule.providers; }));
var /** @type {?} */ entryComponents = flattenArray(transitiveModules.map(function (ngModule) { return ngModule.entryComponents; }));
var /** @type {?} */ transitiveExportedModules = getTransitiveExportedModules(importedModules);
var /** @type {?} */ directives = flattenArray(transitiveExportedModules.map(function (ngModule) { return ngModule.exportedDirectives; }));
var /** @type {?} */ pipes = flattenArray(transitiveExportedModules.map(function (ngModule) { return ngModule.exportedPipes; }));
var /** @type {?} */ directiveLoaders = ListWrapper.flatten(transitiveExportedModules.map(function (ngModule) { return ngModule.directiveLoaders; }));
return new cpl.TransitiveCompileNgModuleMetadata(transitiveModules, providers, entryComponents, directives, pipes, directiveLoaders);
var /** @type {?} */ result = new cpl.TransitiveCompileNgModuleMetadata();
var /** @type {?} */ modulesByToken = new Map();
importedModules.concat(exportedModules).forEach(function (modSummary) {
modSummary.modules.forEach(function (mod) { return result.addModule(mod); });
modSummary.entryComponents.forEach(function (comp) { return result.addEntryComponent(comp); });
var /** @type {?} */ addedTokens = new Set();
modSummary.providers.forEach(function (entry) {
var /** @type {?} */ tokenRef = cpl.tokenReference(entry.provider.token);
var /** @type {?} */ prevModules = modulesByToken.get(tokenRef);
if (!prevModules) {
prevModules = new Set();
modulesByToken.set(tokenRef, prevModules);
}
var /** @type {?} */ moduleRef = entry.module.reference;
// Note: the providers of one module may still contain multiple providers
// per token (e.g. for multi providers), and we need to preserve these.
if (addedTokens.has(tokenRef) || !prevModules.has(moduleRef)) {
prevModules.add(moduleRef);
addedTokens.add(tokenRef);
result.addProvider(entry.provider, entry.module);
}
});
});
exportedModules.forEach(function (modSummary) {
modSummary.exportedDirectives.forEach(function (id) { return result.addExportedDirective(id); });
modSummary.exportedPipes.forEach(function (id) { return result.addExportedPipe(id); });
});
importedModules.forEach(function (modSummary) {
modSummary.exportedDirectives.forEach(function (id) { return result.addDirective(id); });
modSummary.exportedPipes.forEach(function (id) { return result.addPipe(id); });
});
return result;
};

@@ -650,3 +675,3 @@ /**

if (!pipeMeta) {
throw new Error("Illegal state: getPipeMetadata can only be called after loadNgModuleMetadata for a module that declares it. Pipe " + stringify(pipeType) + ".");
this._reportError(new Error("Illegal state: getPipeMetadata can only be called after loadNgModuleMetadata for a module that declares it. Pipe " + stringify(pipeType) + "."), pipeType);
}

@@ -660,5 +685,5 @@ return pipeMeta;

CompileMetadataResolver.prototype.getPipeSummary = function (pipeType) {
var /** @type {?} */ pipeSummary = this._pipeSummaryCache.get(pipeType);
var /** @type {?} */ pipeSummary = (this._loadSummary(pipeType, cpl.CompileSummaryKind.Pipe));
if (!pipeSummary) {
throw new Error("Illegal state: getPipeSummary can only be called after loadNgModuleMetadata for a module that imports it. Pipe " + stringify(pipeType) + ".");
this._reportError(new Error("Illegal state: Could not load the summary for pipe " + stringify(pipeType) + "."), pipeType);
}

@@ -691,3 +716,3 @@ return pipeSummary;

this._pipeCache.set(pipeType, pipeMeta);
this._pipeSummaryCache.set(pipeType, pipeMeta.toSummary());
this._summaryCache.set(pipeType, pipeMeta.toSummary());
return pipeMeta;

@@ -755,3 +780,3 @@ };

var /** @type {?} */ depsTokens = dependenciesMetadata.map(function (dep) { return dep ? stringify(dep.token) : '?'; }).join(', ');
throw new Error("Can't resolve all parameters for " + stringify(typeOrFunc) + ": (" + depsTokens + ").");
this._reportError(new Error("Can't resolve all parameters for " + stringify(typeOrFunc) + ": (" + depsTokens + ")."), typeOrFunc);
}

@@ -780,5 +805,6 @@ return dependenciesMetadata;

* @param {?=} compileProviders
* @param {?=} type
* @return {?}
*/
CompileMetadataResolver.prototype._getProvidersMetadata = function (providers, targetEntryComponents, debugInfo, compileProviders) {
CompileMetadataResolver.prototype._getProvidersMetadata = function (providers, targetEntryComponents, debugInfo, compileProviders, type) {
var _this = this;

@@ -813,6 +839,6 @@ if (compileProviders === void 0) { compileProviders = []; }

.join(', ');
throw new Error("Invalid " + (debugInfo ? debugInfo : 'provider') + " - only instances of Provider and Type are allowed, got: [" + providersInfo + "]");
_this._reportError(new Error("Invalid " + (debugInfo ? debugInfo : 'provider') + " - only instances of Provider and Type are allowed, got: [" + providersInfo + "]"), type);
}
if (providerMeta.token === resolveIdentifier(Identifiers.ANALYZE_FOR_ENTRY_COMPONENTS)) {
targetEntryComponents.push.apply(targetEntryComponents, _this._getEntryComponentsFromProvider(providerMeta));
targetEntryComponents.push.apply(targetEntryComponents, _this._getEntryComponentsFromProvider(providerMeta, type));
}

@@ -828,5 +854,6 @@ else {

* @param {?} provider
* @param {?=} type
* @return {?}
*/
CompileMetadataResolver.prototype._getEntryComponentsFromProvider = function (provider) {
CompileMetadataResolver.prototype._getEntryComponentsFromProvider = function (provider, type) {
var _this = this;

@@ -836,6 +863,8 @@ var /** @type {?} */ components = [];

if (provider.useFactory || provider.useExisting || provider.useClass) {
throw new Error("The ANALYZE_FOR_ENTRY_COMPONENTS token only supports useValue!");
this._reportError(new Error("The ANALYZE_FOR_ENTRY_COMPONENTS token only supports useValue!"), type);
return [];
}
if (!provider.multi) {
throw new Error("The ANALYZE_FOR_ENTRY_COMPONENTS token only supports 'multi = true'!");
this._reportError(new Error("The ANALYZE_FOR_ENTRY_COMPONENTS token only supports 'multi = true'!"), type);
return [];
}

@@ -918,3 +947,3 @@ extractIdentifiers(provider.useValue, collectedIdentifiers);

if (!q.selector) {
throw new Error("Can't construct a query for the property \"" + propertyName + "\" of \"" + stringify(typeOrFunc) + "\" since the query selector wasn't defined.");
this._reportError(new Error("Can't construct a query for the property \"" + propertyName + "\" of \"" + stringify(typeOrFunc) + "\" since the query selector wasn't defined."), typeOrFunc);
}

@@ -930,2 +959,19 @@ selectors = [this._getTokenMetadata(q.selector)];

};
/**
* @param {?} error
* @param {?=} type
* @param {?=} otherType
* @return {?}
*/
CompileMetadataResolver.prototype._reportError = function (error, type, otherType) {
if (this._errorCollector) {
this._errorCollector(error, type);
if (otherType) {
this._errorCollector(error, otherType);
}
}
else {
throw error;
}
};
CompileMetadataResolver.decorators = [

@@ -939,5 +985,7 @@ { type: Injectable },

{ type: PipeResolver, },
{ type: SummaryResolver, },
{ type: ElementSchemaRegistry, },
{ type: DirectiveNormalizer, },
{ type: ReflectorReader, },
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [ERROR_COLLECTOR_TOKEN,] },] },
]; };

@@ -957,8 +1005,6 @@ return CompileMetadataResolver;

/** @type {?} */
CompileMetadataResolver.prototype._directiveSummaryCache;
CompileMetadataResolver.prototype._summaryCache;
/** @type {?} */
CompileMetadataResolver.prototype._pipeCache;
/** @type {?} */
CompileMetadataResolver.prototype._pipeSummaryCache;
/** @type {?} */
CompileMetadataResolver.prototype._ngModuleCache;

@@ -974,2 +1020,4 @@ /** @type {?} */

/** @type {?} */
CompileMetadataResolver.prototype._summaryResolver;
/** @type {?} */
CompileMetadataResolver.prototype._schemaRegistry;

@@ -980,45 +1028,6 @@ /** @type {?} */

CompileMetadataResolver.prototype._reflector;
/** @type {?} */
CompileMetadataResolver.prototype._errorCollector;
}
/**
* @param {?} modules
* @param {?=} targetModules
* @param {?=} visitedModules
* @return {?}
*/
function getTransitiveExportedModules(modules, targetModules, visitedModules) {
if (targetModules === void 0) { targetModules = []; }
if (visitedModules === void 0) { visitedModules = new Set(); }
modules.forEach(function (ngModule) {
if (!visitedModules.has(ngModule.type.reference)) {
visitedModules.add(ngModule.type.reference);
getTransitiveExportedModules(ngModule.exportedModules, targetModules, visitedModules);
// Add after recursing so imported/exported modules are before the module itself.
// This is important for overwriting providers of imported modules!
targetModules.push(ngModule);
}
});
return targetModules;
}
/**
* @param {?} modules
* @param {?=} targetModules
* @param {?=} visitedModules
* @return {?}
*/
function getTransitiveImportedModules(modules, targetModules, visitedModules) {
if (targetModules === void 0) { targetModules = []; }
if (visitedModules === void 0) { visitedModules = new Set(); }
modules.forEach(function (ngModule) {
if (!visitedModules.has(ngModule.type.reference)) {
visitedModules.add(ngModule.type.reference);
var /** @type {?} */ nestedModules = ngModule.importedModules.concat(ngModule.exportedModules);
getTransitiveImportedModules(nestedModules, targetModules, visitedModules);
// Add after recursing so imported/exported modules are before the module itself.
// This is important for overwriting providers of imported modules!
targetModules.push(ngModule);
}
});
return targetModules;
}
/**
* @param {?} tree

@@ -1065,3 +1074,3 @@ * @param {?=} out

function isValidType(value) {
return isStaticSymbol(value) || (value instanceof Type);
return (value instanceof StaticSymbol) || (value instanceof Type);
}

@@ -1075,3 +1084,3 @@ /**

export function componentModuleUrl(reflector, type, cmpMetadata) {
if (isStaticSymbol(type)) {
if (type instanceof StaticSymbol) {
return type.filePath;

@@ -1078,0 +1087,0 @@ }

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":2,"metadata":{"CompileMetadataResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./ng_module_resolver","name":"NgModuleResolver"},{"__symbolic":"reference","module":"./directive_resolver","name":"DirectiveResolver"},{"__symbolic":"reference","module":"./pipe_resolver","name":"PipeResolver"},{"__symbolic":"reference","module":"./schema/element_schema_registry","name":"ElementSchemaRegistry"},{"__symbolic":"reference","module":"./directive_normalizer","name":"DirectiveNormalizer"},{"__symbolic":"reference","module":"./private_import_core","name":"ReflectorReader"}]}],"clearCacheFor":[{"__symbolic":"method"}],"clearCache":[{"__symbolic":"method"}],"getAnimationEntryMetadata":[{"__symbolic":"method"}],"_getAnimationStateMetadata":[{"__symbolic":"method"}],"_getAnimationStyleMetadata":[{"__symbolic":"method"}],"_getAnimationMetadata":[{"__symbolic":"method"}],"_loadDirectiveMetadata":[{"__symbolic":"method"}],"getNonNormalizedDirectiveMetadata":[{"__symbolic":"method"}],"getDirectiveMetadata":[{"__symbolic":"method"}],"getDirectiveSummary":[{"__symbolic":"method"}],"isDirective":[{"__symbolic":"method"}],"isPipe":[{"__symbolic":"method"}],"getNgModuleMetadata":[{"__symbolic":"method"}],"_loadNgModuleSummary":[{"__symbolic":"method"}],"loadNgModuleMetadata":[{"__symbolic":"method"}],"getUnloadedNgModuleMetadata":[{"__symbolic":"method"}],"_loadNgModuleMetadata":[{"__symbolic":"method"}],"_getTypeDescriptor":[{"__symbolic":"method"}],"_addTypeToModule":[{"__symbolic":"method"}],"_getTransitiveNgModuleMetadata":[{"__symbolic":"method"}],"_getIdentifierMetadata":[{"__symbolic":"method"}],"_getTypeMetadata":[{"__symbolic":"method"}],"_getFactoryMetadata":[{"__symbolic":"method"}],"getPipeMetadata":[{"__symbolic":"method"}],"getPipeSummary":[{"__symbolic":"method"}],"getOrLoadPipeMetadata":[{"__symbolic":"method"}],"_loadPipeMetadata":[{"__symbolic":"method"}],"_getDependenciesMetadata":[{"__symbolic":"method"}],"_getTokenMetadata":[{"__symbolic":"method"}],"_getProvidersMetadata":[{"__symbolic":"method"}],"_getEntryComponentsFromProvider":[{"__symbolic":"method"}],"getProviderMetadata":[{"__symbolic":"method"}],"_getQueriesMetadata":[{"__symbolic":"method"}],"_queryVarBindings":[{"__symbolic":"method"}],"_getQueryMetadata":[{"__symbolic":"method"}]}},"componentModuleUrl":{"__symbolic":"function"}}},{"__symbolic":"module","metadata":{"CompileMetadataResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./ng_module_resolver","name":"NgModuleResolver"},{"__symbolic":"reference","module":"./directive_resolver","name":"DirectiveResolver"},{"__symbolic":"reference","module":"./pipe_resolver","name":"PipeResolver"},{"__symbolic":"reference","module":"./schema/element_schema_registry","name":"ElementSchemaRegistry"},{"__symbolic":"reference","module":"./directive_normalizer","name":"DirectiveNormalizer"},{"__symbolic":"reference","module":"./private_import_core","name":"ReflectorReader"}]}],"clearCacheFor":[{"__symbolic":"method"}],"clearCache":[{"__symbolic":"method"}],"getAnimationEntryMetadata":[{"__symbolic":"method"}],"_getAnimationStateMetadata":[{"__symbolic":"method"}],"_getAnimationStyleMetadata":[{"__symbolic":"method"}],"_getAnimationMetadata":[{"__symbolic":"method"}],"_loadDirectiveMetadata":[{"__symbolic":"method"}],"getNonNormalizedDirectiveMetadata":[{"__symbolic":"method"}],"getDirectiveMetadata":[{"__symbolic":"method"}],"getDirectiveSummary":[{"__symbolic":"method"}],"isDirective":[{"__symbolic":"method"}],"isPipe":[{"__symbolic":"method"}],"getNgModuleMetadata":[{"__symbolic":"method"}],"_loadNgModuleSummary":[{"__symbolic":"method"}],"loadNgModuleMetadata":[{"__symbolic":"method"}],"getUnloadedNgModuleMetadata":[{"__symbolic":"method"}],"_loadNgModuleMetadata":[{"__symbolic":"method"}],"_getTypeDescriptor":[{"__symbolic":"method"}],"_addTypeToModule":[{"__symbolic":"method"}],"_getTransitiveNgModuleMetadata":[{"__symbolic":"method"}],"_getIdentifierMetadata":[{"__symbolic":"method"}],"_getTypeMetadata":[{"__symbolic":"method"}],"_getFactoryMetadata":[{"__symbolic":"method"}],"getPipeMetadata":[{"__symbolic":"method"}],"getPipeSummary":[{"__symbolic":"method"}],"getOrLoadPipeMetadata":[{"__symbolic":"method"}],"_loadPipeMetadata":[{"__symbolic":"method"}],"_getDependenciesMetadata":[{"__symbolic":"method"}],"_getTokenMetadata":[{"__symbolic":"method"}],"_getProvidersMetadata":[{"__symbolic":"method"}],"_getEntryComponentsFromProvider":[{"__symbolic":"method"}],"getProviderMetadata":[{"__symbolic":"method"}],"_getQueriesMetadata":[{"__symbolic":"method"}],"_queryVarBindings":[{"__symbolic":"method"}],"_getQueryMetadata":[{"__symbolic":"method"}]}},"componentModuleUrl":{"__symbolic":"function"}},"version":1}]
[{"__symbolic":"module","version":2,"metadata":{"ERROR_COLLECTOR_TOKEN":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["ErrorCollector"]},"CompileMetadataResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"ERROR_COLLECTOR_TOKEN"}]}]],"parameters":[{"__symbolic":"reference","module":"./ng_module_resolver","name":"NgModuleResolver"},{"__symbolic":"reference","module":"./directive_resolver","name":"DirectiveResolver"},{"__symbolic":"reference","module":"./pipe_resolver","name":"PipeResolver"},{"__symbolic":"reference","module":"./summary_resolver","name":"SummaryResolver"},{"__symbolic":"reference","module":"./schema/element_schema_registry","name":"ElementSchemaRegistry"},{"__symbolic":"reference","module":"./directive_normalizer","name":"DirectiveNormalizer"},{"__symbolic":"reference","module":"./private_import_core","name":"ReflectorReader"},{"__symbolic":"error","message":"Could not resolve type","line":51,"character":75,"context":{"typeName":"ErrorCollector"}}]}],"clearCacheFor":[{"__symbolic":"method"}],"clearCache":[{"__symbolic":"method"}],"getAnimationEntryMetadata":[{"__symbolic":"method"}],"_getAnimationStateMetadata":[{"__symbolic":"method"}],"_getAnimationStyleMetadata":[{"__symbolic":"method"}],"_getAnimationMetadata":[{"__symbolic":"method"}],"_loadSummary":[{"__symbolic":"method"}],"_loadDirectiveMetadata":[{"__symbolic":"method"}],"getNonNormalizedDirectiveMetadata":[{"__symbolic":"method"}],"getDirectiveMetadata":[{"__symbolic":"method"}],"getDirectiveSummary":[{"__symbolic":"method"}],"isDirective":[{"__symbolic":"method"}],"isPipe":[{"__symbolic":"method"}],"getNgModuleSummary":[{"__symbolic":"method"}],"loadNgModuleDirectiveAndPipeMetadata":[{"__symbolic":"method"}],"getNgModuleMetadata":[{"__symbolic":"method"}],"_getTypeDescriptor":[{"__symbolic":"method"}],"_addTypeToModule":[{"__symbolic":"method"}],"_getTransitiveNgModuleMetadata":[{"__symbolic":"method"}],"_getIdentifierMetadata":[{"__symbolic":"method"}],"_getTypeMetadata":[{"__symbolic":"method"}],"_getFactoryMetadata":[{"__symbolic":"method"}],"getPipeMetadata":[{"__symbolic":"method"}],"getPipeSummary":[{"__symbolic":"method"}],"getOrLoadPipeMetadata":[{"__symbolic":"method"}],"_loadPipeMetadata":[{"__symbolic":"method"}],"_getDependenciesMetadata":[{"__symbolic":"method"}],"_getTokenMetadata":[{"__symbolic":"method"}],"_getProvidersMetadata":[{"__symbolic":"method"}],"_getEntryComponentsFromProvider":[{"__symbolic":"method"}],"getProviderMetadata":[{"__symbolic":"method"}],"_getQueriesMetadata":[{"__symbolic":"method"}],"_queryVarBindings":[{"__symbolic":"method"}],"_getQueryMetadata":[{"__symbolic":"method"}],"_reportError":[{"__symbolic":"method"}]}},"componentModuleUrl":{"__symbolic":"function"}}},{"__symbolic":"module","metadata":{"ERROR_COLLECTOR_TOKEN":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["ErrorCollector"]},"CompileMetadataResolver":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"ERROR_COLLECTOR_TOKEN"}]}]],"parameters":[{"__symbolic":"reference","module":"./ng_module_resolver","name":"NgModuleResolver"},{"__symbolic":"reference","module":"./directive_resolver","name":"DirectiveResolver"},{"__symbolic":"reference","module":"./pipe_resolver","name":"PipeResolver"},{"__symbolic":"reference","module":"./summary_resolver","name":"SummaryResolver"},{"__symbolic":"reference","module":"./schema/element_schema_registry","name":"ElementSchemaRegistry"},{"__symbolic":"reference","module":"./directive_normalizer","name":"DirectiveNormalizer"},{"__symbolic":"reference","module":"./private_import_core","name":"ReflectorReader"},{"__symbolic":"error","message":"Could not resolve type","line":51,"character":75,"context":{"typeName":"ErrorCollector"}}]}],"clearCacheFor":[{"__symbolic":"method"}],"clearCache":[{"__symbolic":"method"}],"getAnimationEntryMetadata":[{"__symbolic":"method"}],"_getAnimationStateMetadata":[{"__symbolic":"method"}],"_getAnimationStyleMetadata":[{"__symbolic":"method"}],"_getAnimationMetadata":[{"__symbolic":"method"}],"_loadSummary":[{"__symbolic":"method"}],"_loadDirectiveMetadata":[{"__symbolic":"method"}],"getNonNormalizedDirectiveMetadata":[{"__symbolic":"method"}],"getDirectiveMetadata":[{"__symbolic":"method"}],"getDirectiveSummary":[{"__symbolic":"method"}],"isDirective":[{"__symbolic":"method"}],"isPipe":[{"__symbolic":"method"}],"getNgModuleSummary":[{"__symbolic":"method"}],"loadNgModuleDirectiveAndPipeMetadata":[{"__symbolic":"method"}],"getNgModuleMetadata":[{"__symbolic":"method"}],"_getTypeDescriptor":[{"__symbolic":"method"}],"_addTypeToModule":[{"__symbolic":"method"}],"_getTransitiveNgModuleMetadata":[{"__symbolic":"method"}],"_getIdentifierMetadata":[{"__symbolic":"method"}],"_getTypeMetadata":[{"__symbolic":"method"}],"_getFactoryMetadata":[{"__symbolic":"method"}],"getPipeMetadata":[{"__symbolic":"method"}],"getPipeSummary":[{"__symbolic":"method"}],"getOrLoadPipeMetadata":[{"__symbolic":"method"}],"_loadPipeMetadata":[{"__symbolic":"method"}],"_getDependenciesMetadata":[{"__symbolic":"method"}],"_getTokenMetadata":[{"__symbolic":"method"}],"_getProvidersMetadata":[{"__symbolic":"method"}],"_getEntryComponentsFromProvider":[{"__symbolic":"method"}],"getProviderMetadata":[{"__symbolic":"method"}],"_getQueriesMetadata":[{"__symbolic":"method"}],"_queryVarBindings":[{"__symbolic":"method"}],"_getQueryMetadata":[{"__symbolic":"method"}],"_reportError":[{"__symbolic":"method"}]}},"componentModuleUrl":{"__symbolic":"function"}},"version":1}]

@@ -76,3 +76,3 @@ /**

var /** @type {?} */ id = { reference: null };
if (ngModuleMeta.bootstrapComponents.indexOf(entryComponent) > -1) {
if (ngModuleMeta.bootstrapComponents.some(function (id) { return id.reference === entryComponent.reference; })) {
bootstrapComponentFactories.push(id);

@@ -79,0 +79,0 @@ }

@@ -365,8 +365,7 @@ /**

this._allProviders = new Map();
var ngModuleTypes = ngModule.transitiveModule.modules.map(function (moduleMeta) { return moduleMeta.type; });
ngModuleTypes.forEach(function (ngModuleType) {
ngModule.transitiveModule.modules.forEach(function (ngModuleType) {
var ngModuleProvider = { token: { identifier: ngModuleType }, useClass: ngModuleType };
_resolveProviders([ngModuleProvider], ProviderAstType.PublicService, true, sourceSpan, _this._errors, _this._allProviders);
});
_resolveProviders(ngModule.transitiveModule.providers.concat(extraProviders), ProviderAstType.PublicService, false, sourceSpan, this._errors, this._allProviders);
_resolveProviders(ngModule.transitiveModule.providers.map(function (entry) { return entry.provider; }).concat(extraProviders), ProviderAstType.PublicService, false, sourceSpan, this._errors, this._allProviders);
}

@@ -373,0 +372,0 @@ /**

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc