From 89ac1940ee002c85a1120118cadf9774d7f806e8 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Thu, 27 Aug 2015 12:53:17 -0700 Subject: [PATCH 1/3] Fixes declaration emit for a class that extends null --- src/compiler/declarationEmitter.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index 85513e8719..e5914d1006 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -896,6 +896,9 @@ namespace ts { if (isSupportedExpressionWithTypeArguments(node)) { emitTypeWithNewGetSymbolAccessibilityDiagnostic(node, getHeritageClauseVisibilityError); } + else if (!isImplementsList && node.expression.kind === SyntaxKind.NullKeyword) { + write("null"); + } function getHeritageClauseVisibilityError(symbolAccesibilityResult: SymbolAccessiblityResult): SymbolAccessibilityDiagnostic { let diagnosticMessage: DiagnosticMessage; From 481c18c8925f2db2eea41da5d187915d0110e4f7 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Thu, 27 Aug 2015 13:31:31 -0700 Subject: [PATCH 2/3] Added test --- .../reference/declFileClassExtendsNull.js | 23 +++++++++++++++++++ .../declFileClassExtendsNull.symbols | 5 ++++ .../reference/declFileClassExtendsNull.types | 6 +++++ .../compiler/declFileClassExtendsNull.ts | 5 ++++ 4 files changed, 39 insertions(+) create mode 100644 tests/baselines/reference/declFileClassExtendsNull.js create mode 100644 tests/baselines/reference/declFileClassExtendsNull.symbols create mode 100644 tests/baselines/reference/declFileClassExtendsNull.types create mode 100644 tests/cases/compiler/declFileClassExtendsNull.ts diff --git a/tests/baselines/reference/declFileClassExtendsNull.js b/tests/baselines/reference/declFileClassExtendsNull.js new file mode 100644 index 0000000000..0d50b32059 --- /dev/null +++ b/tests/baselines/reference/declFileClassExtendsNull.js @@ -0,0 +1,23 @@ +//// [declFileClassExtendsNull.ts] + +class ExtendsNull extends null { +} + +//// [declFileClassExtendsNull.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var ExtendsNull = (function (_super) { + __extends(ExtendsNull, _super); + function ExtendsNull() { + _super.apply(this, arguments); + } + return ExtendsNull; +})(null); + + +//// [declFileClassExtendsNull.d.ts] +declare class ExtendsNull extends null { +} diff --git a/tests/baselines/reference/declFileClassExtendsNull.symbols b/tests/baselines/reference/declFileClassExtendsNull.symbols new file mode 100644 index 0000000000..e86276faad --- /dev/null +++ b/tests/baselines/reference/declFileClassExtendsNull.symbols @@ -0,0 +1,5 @@ +=== tests/cases/compiler/declFileClassExtendsNull.ts === + +class ExtendsNull extends null { +>ExtendsNull : Symbol(ExtendsNull, Decl(declFileClassExtendsNull.ts, 0, 0)) +} diff --git a/tests/baselines/reference/declFileClassExtendsNull.types b/tests/baselines/reference/declFileClassExtendsNull.types new file mode 100644 index 0000000000..bbd43d99c0 --- /dev/null +++ b/tests/baselines/reference/declFileClassExtendsNull.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/declFileClassExtendsNull.ts === + +class ExtendsNull extends null { +>ExtendsNull : ExtendsNull +>null : null +} diff --git a/tests/cases/compiler/declFileClassExtendsNull.ts b/tests/cases/compiler/declFileClassExtendsNull.ts new file mode 100644 index 0000000000..d21fd5d380 --- /dev/null +++ b/tests/cases/compiler/declFileClassExtendsNull.ts @@ -0,0 +1,5 @@ +// @target: ES5 +// @declaration: true + +class ExtendsNull extends null { +} \ No newline at end of file From e0f9d3d04b57385a5095250b5fc2a705bce94ed2 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Thu, 27 Aug 2015 14:06:06 -0700 Subject: [PATCH 3/3] Adds a "typings" property to package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 9ec67593c9..b743b04838 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "url": "https://github.com/Microsoft/TypeScript.git" }, "main": "./lib/typescript.js", + "typings": "./lib/typescript.d.ts", "bin": { "tsc": "./bin/tsc", "tsserver": "./bin/tsserver"