Lines Matching full:this
4 * you may not use this file except in compliance with the License.
84 this.fileName = fileName;
85 this.recordName = recordName;
87 this.passes = [
91 this.compilationUnits = [];
92 this.pendingCompilationUnits = [];
94 this.statistics = new CompilerStatistics();
99 this.ts2abcProcess = initiateTs2abc(args);
100 listenChildExit(this.getTs2abcProcess());
101 listenErrorEvent(this.getTs2abcProcess());
105 if (this.ts2abcProcess === undefined) {
108 return this.ts2abcProcess;
112 return this.statistics;
116 this.passes = passes;
120 let internalName = this.getFuncInternalName(decl, recorder);
121 this.pendingCompilationUnits.push(
128 return this.compilationUnits;
138 this.getASTStatistics(childNode, statics);
167 let recorder = this.compilePrologue(node, false, true);
176 this.getASTStatistics(node, statics);
179 LOGD(this.kind2String(idx) + " = " + element);
185 let recorder = this.compilePrologue(node, true, false);
192 this.ts2abcProcess = ts2abcProcess;
194 this.initiateTs2abcChildProcess([this.fileName]);
196 let ts2abcProc = this.getTs2abcProcess();
201 Ts2Panda.dumpRecord(ts2abcProc, this.recordName);
205 for (let i = 0; i < this.pendingCompilationUnits.length; i++) {
206 let unit: PendingCompilationUnit = this.pendingCompilationUnits[i];
207 this.compileImpl(unit.decl, unit.scope, unit.internalName, recorder);
216 Ts2Panda.dumpOutputFileName(ts2abcProc, this.fileName);
222 … let jsonFileName = this.fileName.substring(0, this.fileName.lastIndexOf(".")).concat(".json");
227 … let typeFileName = this.fileName.substring(0, this.fileName.lastIndexOf(".")).concat(".txt");
237 for (let i = 0; i < this.pendingCompilationUnits.length; i++) {
238 let unit: PendingCompilationUnit = this.pendingCompilationUnits[i];
239 this.compileImpl(unit.decl, unit.scope, unit.internalName, recorder);
256 let pandaGen = new PandaGen(internalName, node, this.getParametersCount(node), scope);
266 let compiler = new Compiler(node, pandaGen, this, recorder);
273 this.passes.forEach((pass) => pass.run(pandaGen));
281 this.writeBinaryFile(pandaGen);
283 Ts2Panda.dumpPandaGen(pandaGen, this.getTs2abcProcess(), recorder.recordType);
287 this.statistics!.getInsHistogramStatistics(pandaGen);
293 let recorder = this.compilePrologue(node, true, true);
297 for (let i = 0; i < this.pendingCompilationUnits.length; i++) {
298 let unit: PendingCompilationUnit = this.pendingCompilationUnits[i];
299 this.compileUnitTestImpl(unit.decl, unit.scope, unit.internalName, recorder);
310 let pandaGen = new PandaGen(internalName, node, this.getParametersCount(node), scope);
315 let compiler = new Compiler(node, pandaGen, this, recorder);
321 this.passes.forEach((pass) => pass.run(pandaGen));
323 this.compilationUnits.push(pandaGen);
344 this.setTypeInfoBeforeRecord(enableTypeRecord);
345 …let recorder = new Recorder(node, topLevelScope, this, enableTypeRecord, CompilerDriver.isTsFile, …
347 this.setTypeInfoAfterRecord(enableTypeRecord);
354 let postOrderVariableScopes = this.postOrderAnalysis(topLevelScope);
357 …this.addCompilationUnit(<ts.FunctionLikeDeclaration>variableScope.getBindingNode(), variableScope,…
365 this.statistics!.printHistogram(false);
369 this.statistics!.printHoistStatistics();
374 if (this.funcIdMap.has(node)) {
375 return this.funcIdMap.get(node)!;
379 this.funcIdMap.set(node, 0);
383 let idx = this.functionId++;
385 this.funcIdMap.set(node, idx);
392 formatedRecordName = this.recordName + '.';
399 * Runtime uses this name to bind code and a Function object
407 return this.getInternalNameForCtor(classNode, node);
414 return `${this.getFormatedRecordName()}default`;
416 return `${this.getFormatedRecordName()}#${this.getFuncId(funcNode)}#`;
420 return `${this.getFormatedRecordName()}#${this.getFuncId(funcNode)}#${name}`;
427 name = `#${this.getFuncId(funcNode)}#${name}`;
434 name = `#${this.getFuncId(funcNode)}#`
437 return `${this.getFormatedRecordName()}${name}`;
442 name = `#${this.getFuncId(ctor)}#${name}`
444 name = `#${this.getFuncId(ctor)}#`
446 return `${this.getFormatedRecordName()}${name}`;
450 if (this.needDumpHeader) {
452 this.needDumpHeader = false;
458 // each function and global scope accepts three parameters - funcObj + newTarget + this.