mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-11 16:38:46 -05:00
Merge pull request #4502 from Microsoft/fixClassExtendsNullDeclEmit
Fixes declaration emit for a class that extends null
This commit is contained in:
@@ -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;
|
||||
|
||||
23
tests/baselines/reference/declFileClassExtendsNull.js
Normal file
23
tests/baselines/reference/declFileClassExtendsNull.js
Normal file
@@ -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 {
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
=== tests/cases/compiler/declFileClassExtendsNull.ts ===
|
||||
|
||||
class ExtendsNull extends null {
|
||||
>ExtendsNull : Symbol(ExtendsNull, Decl(declFileClassExtendsNull.ts, 0, 0))
|
||||
}
|
||||
6
tests/baselines/reference/declFileClassExtendsNull.types
Normal file
6
tests/baselines/reference/declFileClassExtendsNull.types
Normal file
@@ -0,0 +1,6 @@
|
||||
=== tests/cases/compiler/declFileClassExtendsNull.ts ===
|
||||
|
||||
class ExtendsNull extends null {
|
||||
>ExtendsNull : ExtendsNull
|
||||
>null : null
|
||||
}
|
||||
5
tests/cases/compiler/declFileClassExtendsNull.ts
Normal file
5
tests/cases/compiler/declFileClassExtendsNull.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
// @target: ES5
|
||||
// @declaration: true
|
||||
|
||||
class ExtendsNull extends null {
|
||||
}
|
||||
Reference in New Issue
Block a user