Skip to content

Commit d34cf52

Browse files
committed
Use 'noop' for NullLogger
1 parent fa3e9c8 commit d34cf52

File tree

3 files changed

+29
-69
lines changed

3 files changed

+29
-69
lines changed

src/compiler/core.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ namespace ts {
44
export const versionMajorMinor = "3.6";
55
/** The version of the TypeScript compiler release */
66
export const version = `${versionMajorMinor}.0-dev`;
7-
8-
perfLogger.logInfoEvent(`Starting TypeScript v${versionMajorMinor} with command line: ${JSON.stringify(process.argv)}`);
97
}
108

119
namespace ts {

src/compiler/perfLogger.ts

Lines changed: 28 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,28 @@
11
/* @internal */
22
namespace ts {
3-
export type PerfLogger = typeof import("@microsoft/typescript-etw"); // tslint:disable-line:no-implicit-dependencies
4-
5-
export class NullLogger implements PerfLogger {
6-
logEvent(_msg: string): void {
7-
return;
8-
}
9-
logErrEvent(_msg: string): void {
10-
return;
11-
}
12-
logPerfEvent(_msg: string): void {
13-
return;
14-
}
15-
logInfoEvent(_msg: string): void {
16-
return;
17-
}
18-
logStartCommand(_command: string, _msg: string): void {
19-
return;
20-
}
21-
logStopCommand(_command: string, _msg: string): void {
22-
return;
23-
}
24-
logStartUpdateProgram(_msg: string): void {
25-
return;
26-
}
27-
logStopUpdateProgram(_msg: string): void {
28-
return;
29-
}
30-
logStartUpdateGraph(): void {
31-
return;
32-
}
33-
logStopUpdateGraph(): void {
34-
return;
35-
}
36-
logStartResolveModule(_name: string): void {
37-
return;
38-
}
39-
logStopResolveModule(_success: string): void {
40-
return;
41-
}
42-
logStartParseSourceFile(_filename: string): void {
43-
return;
44-
}
45-
logStopParseSourceFile(): void {
46-
return;
47-
}
48-
logStartReadFile(_filename: string): void {
49-
return;
50-
}
51-
logStopReadFile(): void {
52-
return;
53-
}
54-
logStartBindFile(_filename: string): void {
55-
return;
56-
}
57-
logStopBindFile(): void {
58-
return;
59-
}
60-
logStartScheduledOperation(_operationId: string): void {
61-
return;
62-
}
63-
logStopScheduledOperation(): void {
64-
return;
65-
}
66-
}
3+
type PerfLogger = typeof import("@microsoft/typescript-etw"); // tslint:disable-line:no-implicit-dependencies
4+
const nullLogger: PerfLogger = {
5+
logEvent: noop,
6+
logErrEvent: noop,
7+
logPerfEvent: noop,
8+
logInfoEvent: noop,
9+
logStartCommand: noop,
10+
logStopCommand: noop,
11+
logStartUpdateProgram: noop,
12+
logStopUpdateProgram: noop,
13+
logStartUpdateGraph: noop,
14+
logStopUpdateGraph: noop,
15+
logStartResolveModule: noop,
16+
logStopResolveModule: noop,
17+
logStartParseSourceFile: noop,
18+
logStopParseSourceFile: noop,
19+
logStartReadFile: noop,
20+
logStopReadFile: noop,
21+
logStartBindFile: noop,
22+
logStopBindFile: noop,
23+
logStartScheduledOperation: noop,
24+
logStopScheduledOperation: noop,
25+
};
6726

6827
// Load optional module to enable Event Tracing for Windows
6928
// See https://github.com/microsoft/typescript-etw for more information
@@ -77,5 +36,8 @@ namespace ts {
7736
etwModule = undefined;
7837
}
7938

80-
export const perfLogger: PerfLogger = etwModule ? etwModule : new NullLogger();
81-
}
39+
/** Performance logger that will generate ETW events if possible */
40+
export const perfLogger: PerfLogger = etwModule ? etwModule : nullLogger;
41+
42+
perfLogger.logInfoEvent(`Starting TypeScript v${versionMajorMinor} with command line: ${JSON.stringify(process.argv)}`);
43+
}

src/compiler/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
"references": [],
88

99
"files": [
10-
"perfLogger.ts",
1110
"core.ts",
1211
"debug.ts",
1312
"performance.ts",
13+
"perfLogger.ts",
1414
"semver.ts",
1515

1616
"types.ts",

0 commit comments

Comments
 (0)