From 062823c3d549fb7947fbdc8830d5a3c9f3d29ee7 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Tue, 26 Aug 2014 11:03:15 -0700 Subject: [PATCH 1/2] add new unit test for getScriptLexicalStructure --- .../cases/fourslash/scriptLexicalStructureItems2.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 tests/cases/fourslash/scriptLexicalStructureItems2.ts diff --git a/tests/cases/fourslash/scriptLexicalStructureItems2.ts b/tests/cases/fourslash/scriptLexicalStructureItems2.ts new file mode 100644 index 00000000000..092527ec937 --- /dev/null +++ b/tests/cases/fourslash/scriptLexicalStructureItems2.ts @@ -0,0 +1,12 @@ +/// + + +/////**/ + +goTo.marker(); +edit.insertLine("module A"); +edit.insert("export class "); + +// should not crash +verify.getScriptLexicalStructureListCount(1); + From 211008d01572f59ee233e7e00f5ab0f81461e24c Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Tue, 26 Aug 2014 13:03:24 -0700 Subject: [PATCH 2/2] Fix undefined symbol name in error message --- src/compiler/checker.ts | 1 + tests/baselines/reference/noDefaultLib.errors.txt | 15 +++++++++++++++ tests/baselines/reference/noDefaultLib.js | 15 +++++++++++++++ tests/cases/compiler/noDefaultLib.ts | 10 ++++++++++ 4 files changed, 41 insertions(+) create mode 100644 tests/baselines/reference/noDefaultLib.errors.txt create mode 100644 tests/baselines/reference/noDefaultLib.js create mode 100644 tests/cases/compiler/noDefaultLib.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 9f88df3aa8d..6b722f8593f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2236,6 +2236,7 @@ module ts { return emptyObjectType; } var type = getDeclaredTypeOfSymbol(symbol); + var name = symbol.name; if (!(type.flags & TypeFlags.ObjectType)) { error(getTypeDeclaration(symbol), Diagnostics.Global_type_0_must_be_a_class_or_interface_type, name); return emptyObjectType; diff --git a/tests/baselines/reference/noDefaultLib.errors.txt b/tests/baselines/reference/noDefaultLib.errors.txt new file mode 100644 index 00000000000..2f411affd56 --- /dev/null +++ b/tests/baselines/reference/noDefaultLib.errors.txt @@ -0,0 +1,15 @@ +!!! Cannot find global type 'Boolean'. +!!! Cannot find global type 'IArguments'. +==== tests/cases/compiler/noDefaultLib.ts (1 errors) ==== + /// + var x; + + interface Array {} + ~~~~~ +!!! Global type 'Array' must have 1 type parameter(s). + interface String {} + interface Number {} + interface Object {} + interface Date {} + interface Function {} + interface RegExp {} \ No newline at end of file diff --git a/tests/baselines/reference/noDefaultLib.js b/tests/baselines/reference/noDefaultLib.js new file mode 100644 index 00000000000..69e7f3d0cfd --- /dev/null +++ b/tests/baselines/reference/noDefaultLib.js @@ -0,0 +1,15 @@ +//// [noDefaultLib.ts] +/// +var x; + +interface Array {} +interface String {} +interface Number {} +interface Object {} +interface Date {} +interface Function {} +interface RegExp {} + +//// [noDefaultLib.js] +/// +var x; diff --git a/tests/cases/compiler/noDefaultLib.ts b/tests/cases/compiler/noDefaultLib.ts new file mode 100644 index 00000000000..92c8a63fc64 --- /dev/null +++ b/tests/cases/compiler/noDefaultLib.ts @@ -0,0 +1,10 @@ +/// +var x; + +interface Array {} +interface String {} +interface Number {} +interface Object {} +interface Date {} +interface Function {} +interface RegExp {} \ No newline at end of file