Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(239)

Side by Side Diff: lib/facade_converter.ts

Issue 2416003003: Update package name, update and lock clang-format and tslint versions, and format all source files … (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/declaration.ts ('k') | lib/main.ts » ('j') | package.json » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 import * as ts from 'typescript'; 1 import * as ts from 'typescript';
2 2
3 import * as base from './base'; 3 import * as base from './base';
4 import {Set, TypeDisplayOptions} from './base'; 4 import {Set, TypeDisplayOptions} from './base';
5 import {DART_LIBRARIES_FOR_BROWSER_TYPES, TS_TO_DART_TYPENAMES} from './dart_lib raries_for_browser_types'; 5 import {DART_LIBRARIES_FOR_BROWSER_TYPES, TS_TO_DART_TYPENAMES} from './dart_lib raries_for_browser_types';
6 import {Transpiler} from './main'; 6 import {Transpiler} from './main';
7 import {MergedType} from './merge'; 7 import {MergedType} from './merge';
8 8
9 const FACADE_DEBUG = false; 9 const FACADE_DEBUG = false;
10 const FACADE_NODE_MODULES_PREFIX = /^(\.\.\/)*node_modules\//; 10 const FACADE_NODE_MODULES_PREFIX = /^(\.\.\/)*node_modules\//;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 } 75 }
76 76
77 class DartNameRecord { 77 class DartNameRecord {
78 name: string; 78 name: string;
79 constructor(private node: ts.Node, name: string, private library: DartLibrary) { 79 constructor(private node: ts.Node, name: string, private library: DartLibrary) {
80 this.name = name; 80 this.name = name;
81 } 81 }
82 } 82 }
83 83
84 export class DartLibrary { 84 export class DartLibrary {
85 constructor(private fileName: string) { this.usedNames = {}; } 85 constructor(private fileName: string) {
86 this.usedNames = {};
87 }
86 88
87 /** 89 /**
88 * @returns {boolean} whether the name was added. 90 * @returns {boolean} whether the name was added.
89 */ 91 */
90 addName(name: string): boolean { 92 addName(name: string): boolean {
91 if (Object.prototype.hasOwnProperty.call(this.usedNames, name)) { 93 if (Object.prototype.hasOwnProperty.call(this.usedNames, name)) {
92 return false; 94 return false;
93 } 95 }
94 this.usedNames[name] = true; 96 this.usedNames[name] = true;
95 return true; 97 return true;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 const file = m[fileName]; 260 const file = m[fileName];
259 if (file === undefined) { 261 if (file === undefined) {
260 return; 262 return;
261 } 263 }
262 Object.keys(file) 264 Object.keys(file)
263 .map((propName) => propName.substring(propName.lastIndexOf('.') + 1)) 265 .map((propName) => propName.substring(propName.lastIndexOf('.') + 1))
264 .forEach((propName) => candidates[propName] = true); 266 .forEach((propName) => candidates[propName] = true);
265 } 267 }
266 } 268 }
267 269
268 setTypeChecker(tc: ts.TypeChecker) { this.tc = tc; } 270 setTypeChecker(tc: ts.TypeChecker) {
271 this.tc = tc;
272 }
269 273
270 pushTypeParameterNames(n: ts.FunctionLikeDeclaration) { 274 pushTypeParameterNames(n: ts.FunctionLikeDeclaration) {
271 if (!n.typeParameters) return; 275 if (!n.typeParameters) return;
272 this.genericMethodDeclDepth++; 276 this.genericMethodDeclDepth++;
273 } 277 }
274 278
275 popTypeParameterNames(n: ts.FunctionLikeDeclaration) { 279 popTypeParameterNames(n: ts.FunctionLikeDeclaration) {
276 if (!n.typeParameters) return; 280 if (!n.typeParameters) return;
277 this.genericMethodDeclDepth--; 281 this.genericMethodDeclDepth--;
278 } 282 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 let symbol = this.tc.getSymbolAtLocation(name); 319 let symbol = this.tc.getSymbolAtLocation(name);
316 if (symbol !== t.symbol) return false; 320 if (symbol !== t.symbol) return false;
317 321
318 // Check that the Type Parameter has been declared by a function declaration . 322 // Check that the Type Parameter has been declared by a function declaration .
319 return symbol.declarations.some(d => d.parent.kind === ts.SyntaxKind.Functio nDeclaration); 323 return symbol.declarations.some(d => d.parent.kind === ts.SyntaxKind.Functio nDeclaration);
320 } 324 }
321 325
322 generateTypeList(types: ts.TypeNode[], options: TypeDisplayOptions, seperator = ','): string { 326 generateTypeList(types: ts.TypeNode[], options: TypeDisplayOptions, seperator = ','): string {
323 let that = this; 327 let that = this;
324 return types 328 return types
325 .map((type) => { return that.generateDartTypeName(type, addInsideTypeArg ument(options)); }) 329 .map((type) => {
330 return that.generateDartTypeName(type, addInsideTypeArgument(options)) ;
331 })
326 .join(seperator); 332 .join(seperator);
327 } 333 }
328 334
329 generateDartTypeName(node: ts.TypeNode, options?: TypeDisplayOptions): string { 335 generateDartTypeName(node: ts.TypeNode, options?: TypeDisplayOptions): string {
330 if (!options) { 336 if (!options) {
331 options = { 337 options = {
332 insideComment: this.insideCodeComment, 338 insideComment: this.insideCodeComment,
333 insideTypeArgument: this.insideTypeArgument 339 insideTypeArgument: this.insideTypeArgument
334 }; 340 };
335 } 341 }
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 /** 713 /**
708 * This method works around the lack of Dart support for union types 714 * This method works around the lack of Dart support for union types
709 * generating a valid Dart type that satisfies all the types passed in. 715 * generating a valid Dart type that satisfies all the types passed in.
710 */ 716 */
711 toSimpleDartType(types: Array<ts.TypeNode>): ts.TypeNode { 717 toSimpleDartType(types: Array<ts.TypeNode>): ts.TypeNode {
712 // We use MergeType to ensure that we have already deduped types that are 718 // We use MergeType to ensure that we have already deduped types that are
713 // equivalent even if they aren't obviously identical. 719 // equivalent even if they aren't obviously identical.
714 // MergedType will also follow typed aliases, etc which allows us to avoid 720 // MergedType will also follow typed aliases, etc which allows us to avoid
715 // including that logic here as well. 721 // including that logic here as well.
716 let mergedType = new MergedType(this); 722 let mergedType = new MergedType(this);
717 types.forEach((type) => { mergedType.merge(type); }); 723 types.forEach((type) => {
724 mergedType.merge(type);
725 });
718 return mergedType.toSimpleTypeNode(); 726 return mergedType.toSimpleTypeNode();
719 } 727 }
720 728
721 findCommonType(type: ts.TypeNode, common: ts.TypeNode): ts.TypeNode { 729 findCommonType(type: ts.TypeNode, common: ts.TypeNode): ts.TypeNode {
722 if (common === type) return common; 730 if (common === type) return common;
723 731
724 // If both types generate the exact same Dart type name without comments the n 732 // If both types generate the exact same Dart type name without comments the n
725 // there is no need to do anything. The types 733 // there is no need to do anything. The types
726 if (this.generateDartTypeName(common, {hideComment: true}) === 734 if (this.generateDartTypeName(common, {hideComment: true}) ===
727 this.generateDartTypeName(type, {hideComment: true})) { 735 this.generateDartTypeName(type, {hideComment: true})) {
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
863 let qname = this.tc.getFullyQualifiedName(symbol); 871 let qname = this.tc.getFullyQualifiedName(symbol);
864 // Some Qualified Names include their file name. Might be a bug in TypeScrip t, 872 // Some Qualified Names include their file name. Might be a bug in TypeScrip t,
865 // for the time being just special case. 873 // for the time being just special case.
866 if (symbol.flags & (ts.SymbolFlags.Class | ts.SymbolFlags.Function | ts.Symb olFlags.Variable)) { 874 if (symbol.flags & (ts.SymbolFlags.Class | ts.SymbolFlags.Function | ts.Symb olFlags.Variable)) {
867 qname = symbol.getName(); 875 qname = symbol.getName();
868 } 876 }
869 if (FACADE_DEBUG) console.error('fn:', fileName, 'cfn:', canonicalFileName, 'qn:', qname); 877 if (FACADE_DEBUG) console.error('fn:', fileName, 'cfn:', canonicalFileName, 'qn:', qname);
870 return {fileName: canonicalFileName, qname}; 878 return {fileName: canonicalFileName, qname};
871 } 879 }
872 } 880 }
OLDNEW
« no previous file with comments | « lib/declaration.ts ('k') | lib/main.ts » ('j') | package.json » ('J')

Powered by Google App Engine
This is Rietveld 408576698