UNPKG

52.4 kBSource Map (JSON)View Raw
1{"version":3,"file":"static_reflector.js","sourceRoot":"","sources":["../../../../modules/@angular/compiler-cli/src/static_reflector.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Attribute, Component, ContentChild, ContentChildren, Directive, Host, HostBinding, HostListener, Inject, Injectable, Input, NgModule, Optional, Output, Pipe, Self, SkipSelf, ViewChild, ViewChildren, animate, group, keyframes, sequence, state, style, transition, trigger} from '@angular/core';\n\nimport {ReflectorReader} from './private_import_core';\n\nconst SUPPORTED_SCHEMA_VERSION = 1;\n\n/**\n * The host of the static resolver is expected to be able to provide module metadata in the form of\n * ModuleMetadata. Angular 2 CLI will produce this metadata for a module whenever a .d.ts files is\n * produced and the module has exported variables or classes with decorators. Module metadata can\n * also be produced directly from TypeScript sources by using MetadataCollector in tools/metadata.\n */\nexport interface StaticReflectorHost {\n /**\n * Return a ModuleMetadata for the given module.\n *\n * @param modulePath is a string identifier for a module as an absolute path.\n * @returns the metadata for the given module.\n */\n getMetadataFor(modulePath: string): {[key: string]: any}|{[key: string]: any}[];\n\n /**\n * Resolve a symbol from an import statement form, to the file where it is declared.\n * @param module the location imported from\n * @param containingFile for relative imports, the path of the file containing the import\n */\n findDeclaration(modulePath: string, symbolName: string, containingFile?: string): StaticSymbol;\n\n getStaticSymbol(declarationFile: string, name: string, members?: string[]): StaticSymbol;\n\n angularImportLocations(): {\n coreDecorators: string,\n diDecorators: string,\n diMetadata: string,\n diOpaqueToken: string,\n animationMetadata: string,\n provider: string\n };\n\n getCanonicalFileName(fileName: string): string;\n}\n\n/**\n * A token representing the a reference to a static type.\n *\n * This token is unique for a filePath and name and can be used as a hash table key.\n */\nexport class StaticSymbol {\n constructor(public filePath: string, public name: string, public members?: string[]) {}\n}\n\n/**\n * A static reflector implements enough of the Reflector API that is necessary to compile\n * templates statically.\n */\nexport class StaticReflector implements ReflectorReader {\n private annotationCache = new Map<StaticSymbol, any[]>();\n private propertyCache = new Map<StaticSymbol, {[key: string]: any}>();\n private parameterCache = new Map<StaticSymbol, any[]>();\n private metadataCache = new Map<string, {[key: string]: any}>();\n private conversionMap = new Map<StaticSymbol, (context: StaticSymbol, args: any[]) => any>();\n private opaqueToken: StaticSymbol;\n\n constructor(private host: StaticReflectorHost) { this.initializeConversionMap(); }\n\n importUri(typeOrFunc: StaticSymbol): string {\n const staticSymbol = this.host.findDeclaration(typeOrFunc.filePath, typeOrFunc.name, '');\n return staticSymbol ? staticSymbol.filePath : null;\n }\n\n resolveIdentifier(name: string, moduleUrl: string, runtime: any): any {\n return this.host.findDeclaration(moduleUrl, name, '');\n }\n\n resolveEnum(enumIdentifier: any, name: string): any {\n const staticSymbol: StaticSymbol = enumIdentifier;\n return this.host.getStaticSymbol(staticSymbol.filePath, staticSymbol.name, [name]);\n }\n\n public annotations(type: StaticSymbol): any[] {\n let annotations = this.annotationCache.get(type);\n if (!annotations) {\n const classMetadata = this.getTypeMetadata(type);\n if (classMetadata['decorators']) {\n annotations = this.simplify(type, classMetadata['decorators']);\n } else {\n annotations = [];\n }\n this.annotationCache.set(type, annotations.filter(ann => !!ann));\n }\n return annotations;\n }\n\n public propMetadata(type: StaticSymbol): {[key: string]: any} {\n let propMetadata = this.propertyCache.get(type);\n if (!propMetadata) {\n const classMetadata = this.getTypeMetadata(type);\n const members = classMetadata ? classMetadata['members'] : {};\n propMetadata = mapStringMap(members, (propData, propName) => {\n const prop = (<any[]>propData)\n .find(a => a['__symbolic'] == 'property' || a['__symbolic'] == 'method');\n if (prop && prop['decorators']) {\n return this.simplify(type, prop['decorators']);\n } else {\n return [];\n }\n });\n this.propertyCache.set(type, propMetadata);\n }\n return propMetadata;\n }\n\n public parameters(type: StaticSymbol): any[] {\n if (!(type instanceof StaticSymbol)) {\n throw new Error(`parameters received ${JSON.stringify(type)} which is not a StaticSymbol`);\n }\n try {\n let parameters = this.parameterCache.get(type);\n if (!parameters) {\n const classMetadata = this.getTypeMetadata(type);\n const members = classMetadata ? classMetadata['members'] : null;\n const ctorData = members ? members['__ctor__'] : null;\n if (ctorData) {\n const ctor = (<any[]>ctorData).find(a => a['__symbolic'] == 'constructor');\n const parameterTypes = <any[]>this.simplify(type, ctor['parameters'] || []);\n const parameterDecorators = <any[]>this.simplify(type, ctor['parameterDecorators'] || []);\n parameters = [];\n parameterTypes.forEach((paramType, index) => {\n const nestedResult: any[] = [];\n if (paramType) {\n nestedResult.push(paramType);\n }\n const decorators = parameterDecorators ? parameterDecorators[index] : null;\n if (decorators) {\n nestedResult.push(...decorators);\n }\n parameters.push(nestedResult);\n });\n }\n if (!parameters) {\n parameters = [];\n }\n this.parameterCache.set(type, parameters);\n }\n return parameters;\n } catch (e) {\n console.error(`Failed on type ${JSON.stringify(type)} with error ${e}`);\n throw e;\n }\n }\n\n hasLifecycleHook(type: any, lcProperty: string): boolean {\n if (!(type instanceof StaticSymbol)) {\n throw new Error(\n `hasLifecycleHook received ${JSON.stringify(type)} which is not a StaticSymbol`);\n }\n const classMetadata = this.getTypeMetadata(type);\n const members = classMetadata ? classMetadata['members'] : null;\n const member: any[] =\n members && members.hasOwnProperty(lcProperty) ? members[lcProperty] : null;\n return member ? member.some(a => a['__symbolic'] == 'method') : false;\n }\n\n private registerDecoratorOrConstructor(type: StaticSymbol, ctor: any): void {\n this.conversionMap.set(type, (context: StaticSymbol, args: any[]) => new ctor(...args));\n }\n\n private registerFunction(type: StaticSymbol, fn: any): void {\n this.conversionMap.set(type, (context: StaticSymbol, args: any[]) => fn.apply(undefined, args));\n }\n\n private initializeConversionMap(): void {\n const {coreDecorators, diDecorators, diMetadata, diOpaqueToken, animationMetadata, provider} =\n this.host.angularImportLocations();\n this.opaqueToken = this.host.findDeclaration(diOpaqueToken, 'OpaqueToken');\n\n this.registerDecoratorOrConstructor(this.host.findDeclaration(diDecorators, 'Host'), Host);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(diDecorators, 'Injectable'), Injectable);\n this.registerDecoratorOrConstructor(this.host.findDeclaration(diDecorators, 'Self'), Self);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(diDecorators, 'SkipSelf'), SkipSelf);\n this.registerDecoratorOrConstructor(this.host.findDeclaration(diDecorators, 'Inject'), Inject);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(diDecorators, 'Optional'), Optional);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(coreDecorators, 'Attribute'), Attribute);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(coreDecorators, 'ContentChild'), ContentChild);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(coreDecorators, 'ContentChildren'), ContentChildren);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(coreDecorators, 'ViewChild'), ViewChild);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(coreDecorators, 'ViewChildren'), ViewChildren);\n this.registerDecoratorOrConstructor(this.host.findDeclaration(coreDecorators, 'Input'), Input);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(coreDecorators, 'Output'), Output);\n this.registerDecoratorOrConstructor(this.host.findDeclaration(coreDecorators, 'Pipe'), Pipe);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(coreDecorators, 'HostBinding'), HostBinding);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(coreDecorators, 'HostListener'), HostListener);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(coreDecorators, 'Directive'), Directive);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(coreDecorators, 'Component'), Component);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(coreDecorators, 'NgModule'), NgModule);\n\n // Note: Some metadata classes can be used directly with Provider.deps.\n this.registerDecoratorOrConstructor(this.host.findDeclaration(diMetadata, 'Host'), Host);\n this.registerDecoratorOrConstructor(this.host.findDeclaration(diMetadata, 'Self'), Self);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(diMetadata, 'SkipSelf'), SkipSelf);\n this.registerDecoratorOrConstructor(\n this.host.findDeclaration(diMetadata, 'Optional'), Optional);\n\n this.registerFunction(this.host.findDeclaration(animationMetadata, 'trigger'), trigger);\n this.registerFunction(this.host.findDeclaration(animationMetadata, 'state'), state);\n this.registerFunction(this.host.findDeclaration(animationMetadata, 'transition'), transition);\n this.registerFunction(this.host.findDeclaration(animationMetadata, 'style'), style);\n this.registerFunction(this.host.findDeclaration(animationMetadata, 'animate'), animate);\n this.registerFunction(this.host.findDeclaration(animationMetadata, 'keyframes'), keyframes);\n this.registerFunction(this.host.findDeclaration(animationMetadata, 'sequence'), sequence);\n this.registerFunction(this.host.findDeclaration(animationMetadata, 'group'), group);\n }\n\n /** @internal */\n public simplify(context: StaticSymbol, value: any): any {\n const _this = this;\n let scope = BindingScope.empty;\n const calling = new Map<StaticSymbol, boolean>();\n\n function simplifyInContext(context: StaticSymbol, value: any, depth: number): any {\n function resolveReference(context: StaticSymbol, expression: any): StaticSymbol {\n let staticSymbol: StaticSymbol;\n if (expression['module']) {\n staticSymbol = _this.host.findDeclaration(\n expression['module'], expression['name'], context.filePath);\n } else {\n staticSymbol = _this.host.getStaticSymbol(context.filePath, expression['name']);\n }\n return staticSymbol;\n }\n\n function resolveReferenceValue(staticSymbol: StaticSymbol): any {\n const moduleMetadata = _this.getModuleMetadata(staticSymbol.filePath);\n const declarationValue =\n moduleMetadata ? moduleMetadata['metadata'][staticSymbol.name] : null;\n return declarationValue;\n }\n\n function isOpaqueToken(context: StaticSymbol, value: any): boolean {\n if (value && value.__symbolic === 'new' && value.expression) {\n const target = value.expression;\n if (target.__symbolic == 'reference') {\n return sameSymbol(resolveReference(context, target), _this.opaqueToken);\n }\n }\n return false;\n }\n\n function simplifyCall(expression: any) {\n let callContext: {[name: string]: string}|undefined = undefined;\n if (expression['__symbolic'] == 'call') {\n const target = expression['expression'];\n let functionSymbol: StaticSymbol;\n let targetFunction: any;\n if (target) {\n switch (target.__symbolic) {\n case 'reference':\n // Find the function to call.\n callContext = {name: target.name};\n functionSymbol = resolveReference(context, target);\n targetFunction = resolveReferenceValue(functionSymbol);\n break;\n case 'select':\n // Find the static method to call\n if (target.expression.__symbolic == 'reference') {\n functionSymbol = resolveReference(context, target.expression);\n const classData = resolveReferenceValue(functionSymbol);\n if (classData && classData.statics) {\n targetFunction = classData.statics[target.member];\n }\n }\n break;\n }\n }\n if (targetFunction && targetFunction['__symbolic'] == 'function') {\n if (calling.get(functionSymbol)) {\n throw new Error('Recursion not supported');\n }\n calling.set(functionSymbol, true);\n try {\n const value = targetFunction['value'];\n if (value && (depth != 0 || value.__symbolic != 'error')) {\n // Determine the arguments\n const args: any[] =\n (expression['arguments'] || []).map((arg: any) => simplify(arg));\n const parameters: string[] = targetFunction['parameters'];\n const defaults: any[] = targetFunction.defaults;\n if (defaults && defaults.length > args.length) {\n args.push(...defaults.slice(args.length).map((value: any) => simplify(value)));\n }\n const functionScope = BindingScope.build();\n for (let i = 0; i < parameters.length; i++) {\n functionScope.define(parameters[i], args[i]);\n }\n const oldScope = scope;\n let result: any;\n try {\n scope = functionScope.done();\n result = simplifyInContext(functionSymbol, value, depth + 1);\n } finally {\n scope = oldScope;\n }\n return result;\n }\n } finally {\n calling.delete(functionSymbol);\n }\n }\n }\n\n if (depth === 0) {\n // If depth is 0 we are evaluating the top level expression that is describing element\n // decorator. In this case, it is a decorator we don't understand, such as a custom\n // non-angular decorator, and we should just ignore it.\n return {__symbolic: 'ignore'};\n }\n return simplify(\n {__symbolic: 'error', message: 'Function call not supported', context: callContext});\n }\n\n function simplify(expression: any): any {\n if (isPrimitive(expression)) {\n return expression;\n }\n if (expression instanceof Array) {\n const result: any[] = [];\n for (const item of (<any>expression)) {\n // Check for a spread expression\n if (item && item.__symbolic === 'spread') {\n const spreadArray = simplify(item.expression);\n if (Array.isArray(spreadArray)) {\n for (const spreadItem of spreadArray) {\n result.push(spreadItem);\n }\n continue;\n }\n }\n const value = simplify(item);\n if (shouldIgnore(value)) {\n continue;\n }\n result.push(value);\n }\n return result;\n }\n if (expression instanceof StaticSymbol) {\n return expression;\n }\n if (expression) {\n if (expression['__symbolic']) {\n let staticSymbol: StaticSymbol;\n switch (expression['__symbolic']) {\n case 'binop':\n let left = simplify(expression['left']);\n if (shouldIgnore(left)) return left;\n let right = simplify(expression['right']);\n if (shouldIgnore(right)) return right;\n switch (expression['operator']) {\n case '&&':\n return left && right;\n case '||':\n return left || right;\n case '|':\n return left | right;\n case '^':\n return left ^ right;\n case '&':\n return left & right;\n case '==':\n return left == right;\n case '!=':\n return left != right;\n case '===':\n return left === right;\n case '!==':\n return left !== right;\n case '<':\n return left < right;\n case '>':\n return left > right;\n case '<=':\n return left <= right;\n case '>=':\n return left >= right;\n case '<<':\n return left << right;\n case '>>':\n return left >> right;\n case '+':\n return left + right;\n case '-':\n return left - right;\n case '*':\n return left * right;\n case '/':\n return left / right;\n case '%':\n return left % right;\n }\n return null;\n case 'if':\n let condition = simplify(expression['condition']);\n return condition ? simplify(expression['thenExpression']) :\n simplify(expression['elseExpression']);\n case 'pre':\n let operand = simplify(expression['operand']);\n if (shouldIgnore(operand)) return operand;\n switch (expression['operator']) {\n case '+':\n return operand;\n case '-':\n return -operand;\n case '!':\n return !operand;\n case '~':\n return ~operand;\n }\n return null;\n case 'index':\n let indexTarget = simplify(expression['expression']);\n let index = simplify(expression['index']);\n if (indexTarget && isPrimitive(index)) return indexTarget[index];\n return null;\n case 'select':\n let selectTarget = simplify(expression['expression']);\n if (selectTarget instanceof StaticSymbol) {\n // Access to a static instance variable\n const declarationValue = resolveReferenceValue(selectTarget);\n if (declarationValue && declarationValue.statics) {\n selectTarget = declarationValue.statics;\n } else {\n const member: string = expression['member'];\n const members = selectTarget.members ?\n (selectTarget.members as string[]).concat(member) :\n [member];\n return _this.host.getStaticSymbol(\n selectTarget.filePath, selectTarget.name, members);\n }\n }\n const member = simplify(expression['member']);\n if (selectTarget && isPrimitive(member)) return simplify(selectTarget[member]);\n return null;\n case 'reference':\n if (!expression.module) {\n const name: string = expression['name'];\n const localValue = scope.resolve(name);\n if (localValue != BindingScope.missing) {\n return localValue;\n }\n }\n staticSymbol = resolveReference(context, expression);\n let result: any = staticSymbol;\n let declarationValue = resolveReferenceValue(result);\n if (declarationValue) {\n if (isOpaqueToken(staticSymbol, declarationValue)) {\n // If the referenced symbol is initalized by a new OpaqueToken we can keep the\n // reference to the symbol.\n return staticSymbol;\n }\n result = simplifyInContext(staticSymbol, declarationValue, depth + 1);\n }\n return result;\n case 'class':\n return context;\n case 'function':\n return context;\n case 'new':\n case 'call':\n // Determine if the function is a built-in conversion\n let target = expression['expression'];\n if (target['module']) {\n staticSymbol = _this.host.findDeclaration(\n target['module'], target['name'], context.filePath);\n } else {\n staticSymbol = _this.host.getStaticSymbol(context.filePath, target['name']);\n }\n let converter = _this.conversionMap.get(staticSymbol);\n if (converter) {\n let args: any[] = expression['arguments'];\n if (!args) {\n args = [];\n }\n return converter(\n context, args.map(arg => simplifyInContext(context, arg, depth + 1)));\n }\n\n // Determine if the function is one we can simplify.\n return simplifyCall(expression);\n\n case 'error':\n let message = produceErrorMessage(expression);\n if (expression['line']) {\n message =\n `${message} (position ${expression['line']+1}:${expression['character']+1} in the original .ts file)`;\n throw positionalError(\n message, context.filePath, expression['line'], expression['character']);\n }\n throw new Error(message);\n }\n return null;\n }\n return mapStringMap(expression, (value, name) => simplify(value));\n }\n return null;\n }\n\n try {\n return simplify(value);\n } catch (e) {\n const message = `${e.message}, resolving symbol ${context.name} in ${context.filePath}`;\n if (e.fileName) {\n throw positionalError(message, e.fileName, e.line, e.column);\n }\n throw new Error(message);\n }\n }\n\n const result = simplifyInContext(context, value, 0);\n if (shouldIgnore(result)) {\n return undefined;\n }\n return result;\n }\n\n /**\n * @param module an absolute path to a module file.\n */\n public getModuleMetadata(module: string): {[key: string]: any} {\n let moduleMetadata = this.metadataCache.get(module);\n if (!moduleMetadata) {\n moduleMetadata = this.host.getMetadataFor(module);\n if (Array.isArray(moduleMetadata)) {\n moduleMetadata = moduleMetadata.find(md => md['version'] === SUPPORTED_SCHEMA_VERSION) ||\n moduleMetadata[0];\n }\n if (!moduleMetadata) {\n moduleMetadata =\n {__symbolic: 'module', version: SUPPORTED_SCHEMA_VERSION, module: module, metadata: {}};\n }\n if (moduleMetadata['version'] != SUPPORTED_SCHEMA_VERSION) {\n throw new Error(\n `Metadata version mismatch for module ${module}, found version ${moduleMetadata['version']}, expected ${SUPPORTED_SCHEMA_VERSION}`);\n }\n this.metadataCache.set(module, moduleMetadata);\n }\n return moduleMetadata;\n }\n\n private getTypeMetadata(type: StaticSymbol): {[key: string]: any} {\n const moduleMetadata = this.getModuleMetadata(type.filePath);\n return moduleMetadata['metadata'][type.name] || {__symbolic: 'class'};\n }\n}\n\nfunction expandedMessage(error: any): string {\n switch (error.message) {\n case 'Reference to non-exported class':\n if (error.context && error.context.className) {\n return `Reference to a non-exported class ${error.context.className}. Consider exporting the class`;\n }\n break;\n case 'Variable not initialized':\n return 'Only initialized variables and constants can be referenced because the value of this variable is needed by the template compiler';\n case 'Destructuring not supported':\n return 'Referencing an exported destructured variable or constant is not supported by the template compiler. Consider simplifying this to avoid destructuring';\n case 'Could not resolve type':\n if (error.context && error.context.typeName) {\n return `Could not resolve type ${error.context.typeName}`;\n }\n break;\n case 'Function call not supported':\n let prefix =\n error.context && error.context.name ? `Calling function '${error.context.name}', f` : 'F';\n return prefix +\n 'unction calls are not supported. Consider replacing the function or lambda with a reference to an exported function';\n case 'Reference to a local symbol':\n if (error.context && error.context.name) {\n return `Reference to a local (non-exported) symbol '${error.context.name}'. Consider exporting the symbol`;\n }\n }\n return error.message;\n}\n\nfunction produceErrorMessage(error: any): string {\n return `Error encountered resolving symbol values statically. ${expandedMessage(error)}`;\n}\n\nfunction mapStringMap(input: {[key: string]: any}, transform: (value: any, key: string) => any):\n {[key: string]: any} {\n if (!input) return {};\n const result: {[key: string]: any} = {};\n Object.keys(input).forEach((key) => {\n const value = transform(input[key], key);\n if (!shouldIgnore(value)) {\n result[key] = value;\n }\n });\n return result;\n}\n\nfunction isPrimitive(o: any): boolean {\n return o === null || (typeof o !== 'function' && typeof o !== 'object');\n}\n\ninterface BindingScopeBuilder {\n define(name: string, value: any): BindingScopeBuilder;\n done(): BindingScope;\n}\n\nabstract class BindingScope {\n abstract resolve(name: string): any;\n public static missing = {};\n public static empty: BindingScope = {resolve: name => BindingScope.missing};\n\n public static build(): BindingScopeBuilder {\n const current = new Map<string, any>();\n return {\n define: function(name, value) {\n current.set(name, value);\n return this;\n },\n done: function() {\n return current.size > 0 ? new PopulatedScope(current) : BindingScope.empty;\n }\n };\n }\n}\n\nclass PopulatedScope extends BindingScope {\n constructor(private bindings: Map<string, any>) { super(); }\n\n resolve(name: string): any {\n return this.bindings.has(name) ? this.bindings.get(name) : BindingScope.missing;\n }\n}\n\nfunction sameSymbol(a: StaticSymbol, b: StaticSymbol): boolean {\n return a === b || (a.name == b.name && a.filePath == b.filePath);\n}\n\nfunction shouldIgnore(value: any): boolean {\n return value && value.__symbolic == 'ignore';\n}\n\nfunction positionalError(message: string, fileName: string, line: number, column: number): Error {\n const result = new Error(message);\n (result as any).fileName = fileName;\n (result as any).line = line;\n (result as any).column = column;\n return result;\n}\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
\No newline at end of file