From fb4e3d87bd93a3299735271e659ca3e410ee1c2b Mon Sep 17 00:00:00 2001 From: Arthur Ozga Date: Sun, 26 Mar 2017 22:45:13 -0700 Subject: [PATCH] essymbol and object --- src/compiler/checker.ts | 4 ++-- ...ts => codeFixClassImplementInterfaceProperty.ts} | 10 ++++++++-- ...FixClassImplementInterfacePropertyEnumLiteral.ts | 13 ------------- 3 files changed, 10 insertions(+), 17 deletions(-) rename tests/cases/fourslash/{codeFixClassImplementInterfacePropertyEnum.ts => codeFixClassImplementInterfaceProperty.ts} (56%) delete mode 100644 tests/cases/fourslash/codeFixClassImplementInterfacePropertyEnumLiteral.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 3c2eb8c513c..7a7ce2536fe 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2295,10 +2295,10 @@ namespace ts { return createKeywordTypeNode(SyntaxKind.NeverKeyword); } if (type.flags & TypeFlags.ESSymbol) { - throw new Error("ESSymbol not implemented"); + return createKeywordTypeNode(SyntaxKind.SymbolKeyword); } if (type.flags & TypeFlags.NonPrimitive) { - throw new Error("Non primitive not implemented"); + return createKeywordTypeNode(SyntaxKind.ObjectKeyword); } if (type.flags & TypeFlags.TypeParameter && (type as TypeParameter).isThisType) { if (context.inObjectTypeLiteral) { diff --git a/tests/cases/fourslash/codeFixClassImplementInterfacePropertyEnum.ts b/tests/cases/fourslash/codeFixClassImplementInterfaceProperty.ts similarity index 56% rename from tests/cases/fourslash/codeFixClassImplementInterfacePropertyEnum.ts rename to tests/cases/fourslash/codeFixClassImplementInterfaceProperty.ts index 8b04e4a4b45..53cfce5ff6e 100644 --- a/tests/cases/fourslash/codeFixClassImplementInterfacePropertyEnum.ts +++ b/tests/cases/fourslash/codeFixClassImplementInterfaceProperty.ts @@ -4,10 +4,16 @@ //// enum E { a,b,c } //// interface I { -//// a: E; +//// x: E; +//// y: E.a +//// z: symbol; +//// w: object; //// } //// class C implements I {[| |]} verify.rangeAfterCodeFix(` - a: E; + x: E; + y: E.a; + z: symbol; + w: object; `); \ No newline at end of file diff --git a/tests/cases/fourslash/codeFixClassImplementInterfacePropertyEnumLiteral.ts b/tests/cases/fourslash/codeFixClassImplementInterfacePropertyEnumLiteral.ts deleted file mode 100644 index 720acc1cccf..00000000000 --- a/tests/cases/fourslash/codeFixClassImplementInterfacePropertyEnumLiteral.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// - -// @lib: es2017 - -//// enum E { a,b,c } -//// interface I { -//// a: E.a -//// } -//// class C implements I {[| |]} - -verify.rangeAfterCodeFix(` - a: E.a; -`); \ No newline at end of file