Commit Graph

8814 Commits

Author SHA1 Message Date
Ron Buckton
48a9562e41 Added es5 conformance tests for async function declarations. Add ability to treat some statements as if they were prologue directives. 2016-06-27 15:26:33 -07:00
Ron Buckton
393ee28fb0 Move 'use strict' directive out of generator for async function. 2016-06-27 13:48:47 -07:00
Ron Buckton
4a16f65c00 Removed extranous original parameter. 2016-06-27 13:19:24 -07:00
Ron Buckton
a858db6ac8 Remove extraneous comments. 2016-06-27 13:14:57 -07:00
Ron Buckton
278a350add Add support for external helpers module, cleanup, and accept new baselines. 2016-06-15 13:49:32 -07:00
Ron Buckton
4eb2a82dca Merge branch 'transforms' into transforms-generators 2016-06-15 11:41:21 -07:00
Ron Buckton
f3d0b86e81 Short-circut when reporting errors for helpers. 2016-06-15 11:26:58 -07:00
Ron Buckton
5e31b25af4 Merge branch 'transforms' into transforms-generators 2016-06-15 11:04:21 -07:00
Ron Buckton
b65c648072 Merge branch 'transforms' into transforms-importHelpers 2016-06-15 11:02:52 -07:00
Yui
03d273ea5c Update baselines and fix failure when merged with master (#9172) 2016-06-15 11:02:29 -07:00
Ron Buckton
d5f5d927af Merge branch 'transforms' into transforms-importHelpers 2016-06-14 18:23:51 -07:00
Ron Buckton
9073572843 Merge branch 'transforms' into transforms-generators 2016-06-14 18:04:48 -07:00
Ron Buckton
ea61f2b32b Added tests and fixed related emit issues. 2016-06-14 17:59:44 -07:00
Ron Buckton
edf999fcbd Change symbol meaning for __extends resolution to be consistent with other helpers 2016-06-14 16:25:33 -07:00
Ron Buckton
76b34939d0 Resolve external helpers module and report errors for missing module/exports 2016-06-14 16:24:01 -07:00
Kanchalai Tanglertsampan
beb72f4057 Merge branch 'master' into transforms
# Conflicts:
#	Jakefile.js
#	src/compiler/emitter.ts
#	src/compiler/program.ts
#	src/compiler/types.ts
#	src/harness/harness.ts
#	src/services/services.ts
#	tests/baselines/reference/disallowAsyncModifierInES5.js
#	tests/baselines/reference/es5andes6module.js
#	tests/baselines/reference/es6ExportClauseWithAssignmentInEs5.js
#	tests/baselines/reference/es6modulekindWithES5Target.js
#	tests/baselines/reference/es6modulekindWithES5Target11.js
#	tests/baselines/reference/es6modulekindWithES5Target2.js
#	tests/baselines/reference/es6modulekindWithES5Target3.js
#	tests/baselines/reference/es6modulekindWithES5Target6.js
#	tests/cases/unittests/transpile.ts
#	tests/cases/unittests/tsserverProjectSystem.ts
2016-06-14 15:21:51 -07:00
Yui
171ab06cf0 [Transforms] Merge master 06/14/2016 (#9169)
* Remove check narrowing only certain types, add test showing issues with this

* string literal case test

* Reconcile fix with CFA work

* Defaultable -> NotNarrowable to align with use

* Missed a defaultable in comments

* Add test for narrowing to unions of string literals

* Rewrite isInStringLiteral to accomodate for unterminated strings

* Refactor signatureHelp to expose helper functions

* Add support for completion in string literals

* Remove unused check

* Use const instead of let

* Fix error

* Formatting changes

* Use shorthand properties

* Add failing test for #8738

* Sort baseline reference identifier by name

* Detects assignment to internal module export clause, fixes #8738

* add SharedArrayBuffer

fix

* Factor out assignment op check

* Add test for composite assignment

* Factor out the behaviour and handles x++ and ++x

* Handles ES3 default as identifier name

* Fix missing else statement

* isNameOfExportedDeclarationInNonES6Module

* Reorder options alphabetically

* Mark diagnostics, and skipDefaultLibCheck as internal

* Allow an import of "foo.js" to be matched by a file "foo.ts"

* Improve loadModuleFromFile code

* Respond to PR comments

* Respond to more PR comments

* Fix test

* Actually merge from master

* Revert to old tryLoad implementation

* Run fixupParentReferences when parsing isolated jsDocComment

* initial revision of unit test support for project system in tsserver

* Allow wildcard ("*") patterns in ambient module declarations

* Add non-widening forms of null and undefined

* Create separate control flows for property declarations with initializers

* Add regression test

* Allow trailing commas in function parameter and argument lists

* Add tests

* Remove unused variable

* Add null check and CR feedback

* Support shorthand ambient module declarations

* Revert "Merge pull request #7235 from weswigham/narrow-all-types"

This reverts commit ef0f6c8fe4, reversing
changes made to 9f087cb62a.

* reuse the fixupParentReferences function

* Improve typing of && operator with --strictNullChecks

* Add test

* Respond to PR comments

* Respond to PR comments

* Add merging tests

* Use a function `stringify` to simplify calls to `JSON.stringify(xyz, undefined, 2)`

* Update tests

* Fix mistake

* Include indent in navigation bar protocol

Previously navbar01 test had indents when run in the browser but not when run from node. Now they run the same.

* Remove unnecessary restrictions in property access narrowing

* Fix fourslash test

* Add regression test

* Consider property declarations to be control flow containers

* Adding regression test

* Remove restriction on --target es5 and --module es6

* change type definition for Object.create

* Fix signature help

* Add "implicit any" warning for shorthand ambient modules

* Remove trailing whitespace

* Support using string values in enums for CompilerOptions in transpile methods

* Remove trailing whitespace in jakefile

* Make `jake runtests-browser` support test regexes with spaces

For example: `jake runtests-browser t="transpile .js files"` now works.

* Add another test

* factor out isJsxOrTsxExtension

* Move to a conformance test

* Revert "Revert "Merge pull request #7235 from weswigham/narrow-all-types""

This reverts commit fc3e040c51.

* Use inclusive flag, as originally done, but include almost everything

* Add additional tests

* Respond to PR comments

* Fix typo

* add tests for tsserver project system

* Fix test

* Allow case comparison to undefined and null in strict null checking mode

* Remove incorrectly added tests

* check if moduleResolution when verifying that program can be reused

* more tests for module resolution change and exclude

* Fix linting issues

* Merge JSDoc of assignments from function expressions

* Allow nested assignments in type guards

* Add tests

* Improve order of parameter's merged jsdoc

* Force LF newlines for LKG builds/non debug builds
Fixes 6630

* Create intersection types in type guards for unrelated types

* Split commentsFunction test into expr/decl

And renumber.

* Remove TODO comments

* Accept new baselines

* Add tests

* Remove comments

* Fix test helper

* Recognize relative path using in outDir property (#9025)

* Recognize relative path using in outDir property

* Add projects tests

* Add project .json files

* Update baselines

* Add comments

* Add test case

The test passes in 1.8 and fails in master.

* Return trace when exception happens

* Remove Long-Done TODO

AFAIK, the harness sources have been concatenated into `run.js` for as long as I've known. This stops executing them twice (and in turn makes debugging tests much easier, since you no longer have to debug into eval'd code).

* Allow primitive type guards with typeof on right

Previously, only type guards of the form `typeof x === 'string'` were
allowed. Now you can write `'string' === typeof x`.

* Primitive type guards are now order independent

* Fix comments in tests

* Add handleing for classes

* Add more tests for target=es5 module=es6

* addExportToArgumentListKind

* Accept baseline

* Add more tests

* Adds progress indicators to the runtests-parallel build task.

* Fixed typo

* Fix comment

* Add test for out-of-range error

* Use proper method of not resolving alias

* Fix module loading error

(commandLineOptions_stringToEnum would be undefined if optionDeclarations wasn't loaded yet)

* Update tests

* Contextually type return statement in async function

* Remove stale files

* Undo change

* Improve perf

* Improve tests

* Fix sourcemaps for debugging tests

* Allow --sourceRoot with --inlineSources option
Fixes #8445

* this in parameter initializers resolves to class

Accept baselines now that the test passes.

* Add tests for more kinds of import/export

* Fix7334 Disallow async in functionExpression and ArrowFunction (#9062)

* Error when using async modifier in function-expression and arrow-function when target es5

* Add tests and baselines

* Resolve function-this in parameter initialisers when explicitly provided

* Allow null/undefined guard with null/undefined on left

Also add a test with baselines.

* Code review comments

* Update more diagnostic messages ES6->2015

Fix #8996 CC @mhegazy.

* Fixes an issue with runtests-parallel when global mocha is not installed.

* Update LKG

* Add tests

* fix baselines

* Salsa: get members of variables whose initialisers are functions

* Test adding members to JS variables whose initialisers are functions

* Recommend runtests-parallel in CONTRIBUTING

* Allow empty lists on command line

* Remove single-comma empty array form

* Remove trailing whitespace

* Implicit type inclusion changes

* Only inlineSourceMap when debugging through jake-browser (#9080)

* Only inlineSourceMap when debugging through jake-browser

* Address PR: fix typo in opt's property

* minor fix: add missing return clause

* Use camel-case instead of snake-case (#9134)

* Baseline fix, CR comments, lint

* CR changes

* Add test for jsdoc in navigation bar

* Fixes runtests-parallel not reporting failure for failed tests.

* Fix decorator metadata emit for rest arg with no type

* Add isDefinition to ReferenceEntry

Clients can now easily tell if the reference is to a definition or a
usage.

* Test isDefinition

* Add option to bail out of `jake runtests` when one test fails

* Absolute-ify paths in both places

* Refactor

* Add unit test

* lint

* Added tests.

* Accepted baselines.

* Emit 'exports.' if the shorthand is a general export.

* Accepted baselines.

* Emit 'Promise' decorator metadata return type for async methods

* Respond to PR comment

* Unescape identifiers used in code completion

* Make isDefinition required.

For the deprecated getOccurrencesAtPosition, isDefinition is always false.

* Add more isDefinition tests and fix computed property bug

* Fix bug: do unescaping in the right place, so that it only affects escaped javascript identifiers

* Use `isLiteralComputedPropertyDeclarationName`
2016-06-14 15:00:40 -07:00
Ron Buckton
6ad04375c4 PR feedback 2016-06-14 13:35:52 -07:00
Ron Buckton
147addb4e9 Merge branch 'transforms' into transforms-importHelpers 2016-06-14 13:21:24 -07:00
Nathan Shively-Sanders
7890fd58b9 Merge pull request #9088 from Microsoft/add-members-to-variable-declarations-initialised-with-function-expressions
Add members to variable declarations initialised with function expressions
2016-06-14 11:37:36 -07:00
Yui
f235bf7db8 [Transforms] Merge master 06/06/2016 (#8991)
* Remove check narrowing only certain types, add test showing issues with this

* string literal case test

* Reconcile fix with CFA work

* Defaultable -> NotNarrowable to align with use

* Missed a defaultable in comments

* Add test for narrowing to unions of string literals

* Rewrite isInStringLiteral to accomodate for unterminated strings

* Refactor signatureHelp to expose helper functions

* Add support for completion in string literals

* Remove unused check

* Use const instead of let

* Fix error

* Formatting changes

* Use shorthand properties

* Add failing test for #8738

* Sort baseline reference identifier by name

* Detects assignment to internal module export clause, fixes #8738

* add SharedArrayBuffer

fix

* Factor out assignment op check

* Add test for composite assignment

* Factor out the behaviour and handles x++ and ++x

* Handles ES3 default as identifier name

* Fix missing else statement

* isNameOfExportedDeclarationInNonES6Module

* Reorder options alphabetically

* Mark diagnostics, and skipDefaultLibCheck as internal

* Allow an import of "foo.js" to be matched by a file "foo.ts"

* Improve loadModuleFromFile code

* Respond to PR comments

* Respond to more PR comments

* Fix test

* Actually merge from master

* Revert to old tryLoad implementation

* Run fixupParentReferences when parsing isolated jsDocComment

* initial revision of unit test support for project system in tsserver

* Allow wildcard ("*") patterns in ambient module declarations

* Add non-widening forms of null and undefined

* Create separate control flows for property declarations with initializers

* Add regression test

* Allow trailing commas in function parameter and argument lists

* Add tests

* Remove unused variable

* Add null check and CR feedback

* Support shorthand ambient module declarations

* Revert "Merge pull request #7235 from weswigham/narrow-all-types"

This reverts commit ef0f6c8fe4, reversing
changes made to 9f087cb62a.

* reuse the fixupParentReferences function

* Improve typing of && operator with --strictNullChecks

* Add test

* Respond to PR comments

* Respond to PR comments

* Add merging tests

* Use a function `stringify` to simplify calls to `JSON.stringify(xyz, undefined, 2)`

* Update tests

* Fix mistake

* Include indent in navigation bar protocol

Previously navbar01 test had indents when run in the browser but not when run from node. Now they run the same.

* Remove unnecessary restrictions in property access narrowing

* Fix fourslash test

* Add regression test

* Consider property declarations to be control flow containers

* Adding regression test

* Remove restriction on --target es5 and --module es6

* change type definition for Object.create

* Fix signature help

* Add "implicit any" warning for shorthand ambient modules

* Remove trailing whitespace

* Support using string values in enums for CompilerOptions in transpile methods

* Remove trailing whitespace in jakefile

* Make `jake runtests-browser` support test regexes with spaces

For example: `jake runtests-browser t="transpile .js files"` now works.

* Add another test

* factor out isJsxOrTsxExtension

* Move to a conformance test

* Revert "Revert "Merge pull request #7235 from weswigham/narrow-all-types""

This reverts commit fc3e040c51.

* Use inclusive flag, as originally done, but include almost everything

* Add additional tests

* Respond to PR comments

* Fix typo

* add tests for tsserver project system

* Fix test

* Allow case comparison to undefined and null in strict null checking mode

* Remove incorrectly added tests

* check if moduleResolution when verifying that program can be reused

* more tests for module resolution change and exclude

* Fix linting issues

* Merge JSDoc of assignments from function expressions

* Allow nested assignments in type guards

* Add tests

* Improve order of parameter's merged jsdoc

* Force LF newlines for LKG builds/non debug builds
Fixes 6630

* Create intersection types in type guards for unrelated types

* Split commentsFunction test into expr/decl

And renumber.

* Remove TODO comments

* Accept new baselines

* Add tests

* Remove comments

* Fix test helper

* Recognize relative path using in outDir property (#9025)

* Recognize relative path using in outDir property

* Add projects tests

* Add project .json files

* Update baselines

* Add comments

* Add test case

The test passes in 1.8 and fails in master.

* Return trace when exception happens

* Remove Long-Done TODO

AFAIK, the harness sources have been concatenated into `run.js` for as long as I've known. This stops executing them twice (and in turn makes debugging tests much easier, since you no longer have to debug into eval'd code).

* Allow primitive type guards with typeof on right

Previously, only type guards of the form `typeof x === 'string'` were
allowed. Now you can write `'string' === typeof x`.

* Primitive type guards are now order independent

* Fix comments in tests

* Add handleing for classes

* Add more tests for target=es5 module=es6

* addExportToArgumentListKind

* Accept baseline

* Add more tests

* wip-fixing transforms

* Adds progress indicators to the runtests-parallel build task.

* Fixed typo

* Fix comment

* Add test for out-of-range error

* Use proper method of not resolving alias

* Fix module loading error

(commandLineOptions_stringToEnum would be undefined if optionDeclarations wasn't loaded yet)

* Port 8739

* Update tests

* Update baselines

* Contextually type return statement in async function

* Remove stale files

* Undo change

* Improve perf

* Improve tests

* Fix sourcemaps for debugging tests

* Allow --sourceRoot with --inlineSources option
Fixes #8445

* this in parameter initializers resolves to class

Accept baselines now that the test passes.

* Add tests for more kinds of import/export

* Fix7334 Disallow async in functionExpression and ArrowFunction (#9062)

* Error when using async modifier in function-expression and arrow-function when target es5

* Add tests and baselines

* Resolve function-this in parameter initialisers when explicitly provided

* Allow null/undefined guard with null/undefined on left

Also add a test with baselines.

* Code review comments

* Update more diagnostic messages ES6->2015

Fix #8996 CC @mhegazy.

* Fixes an issue with runtests-parallel when global mocha is not installed.

* Update LKG

* Add tests

* fix baselines

* Recommend runtests-parallel in CONTRIBUTING

* Only inlineSourceMap when debugging through jake-browser (#9080)

* Only inlineSourceMap when debugging through jake-browser

* Address PR: fix typo in opt's property

* Manually port tests from PR 8470

* minor fix: add missing return clause

* Support using string values in enums for CompilerOptions in transpile methods

* Support using string values in enums for CompilerOptions in transpile methods

# Conflicts:
#	tests/cases/unittests/transpile.ts

* Fix test helper

* Add test for out-of-range error

* Fix module loading error

(commandLineOptions_stringToEnum would be undefined if optionDeclarations wasn't loaded yet)

* Use camel-case instead of snake-case (#9134)

* Manually add tests for PR 8988

* Allow wildcard ("*") patterns in ambient module declarations

* Respond to PR comments

* Add another test

* Improve perf

* Improve tests

* Update baseline from merging with master

* Address PR comment

* Update baseline

* Refactor how we retrieve binding-name cache in module transformer

* Temporary accept so we get a clean run-tests result
2016-06-14 11:36:57 -07:00
Nathan Shively-Sanders
57f66b8efa Merge pull request #9148 from Microsoft/add-isDefinition-to-references
Add isDefinition to references
2016-06-14 11:12:53 -07:00
Daniel Rosenwasser
8917ddf8a1 Merge pull request #9151 from Microsoft/commonjsShorthands
Fix emit for shorthand properties when they refer to CommonJS exports.
2016-06-14 10:32:20 -07:00
Nathan Shively-Sanders
102a890214 Use isLiteralComputedPropertyDeclarationName 2016-06-14 10:27:36 -07:00
Andy
13a0f5905d Merge pull request #9159 from Microsoft/code_completion_escaping
Code completion escaping
2016-06-14 10:21:40 -07:00
Andy Hanson
6b05ecab5b Fix bug: do unescaping in the right place, so that it only affects escaped javascript identifiers 2016-06-14 09:39:48 -07:00
Nathan Shively-Sanders
7bf40c4935 Add more isDefinition tests and fix computed property bug 2016-06-14 09:39:30 -07:00
Nathan Shively-Sanders
792b23edc2 Make isDefinition required.
For the deprecated getOccurrencesAtPosition, isDefinition is always false.
2016-06-14 08:48:26 -07:00
Andy Hanson
1b4b01eed5 Unescape identifiers used in code completion 2016-06-14 08:13:55 -07:00
Andy Hanson
33e4c7a9a3 Respond to PR comment 2016-06-14 06:50:44 -07:00
Andy Hanson
f6cee27af9 Emit 'Promise' decorator metadata return type for async methods 2016-06-14 06:11:00 -07:00
Andy
b92a8f2b53 Merge pull request #9144 from Microsoft/decorator_metadata_rest_parameter
Fix decorator metadata emit for rest arg with no type
2016-06-14 05:43:24 -07:00
Wesley Wigham
9d023a83fe Merge pull request #9090 from weswigham/allow-empty-lists-command-line
Allow empty lists on command line
2016-06-14 00:29:15 -07:00
Daniel Rosenwasser
eae289c7b7 Emit 'exports.' if the shorthand is a general export. 2016-06-13 23:33:47 -07:00
Ryan Cavanaugh
f9923efd09 Merge pull request #9095 from RyanCavanaugh/implicitTypeReferences
Implicit type inclusion changes
2016-06-13 16:33:22 -07:00
Ryan Cavanaugh
29f5291453 Refactor 2016-06-13 14:37:07 -07:00
Ryan Cavanaugh
b10d93291f Absolute-ify paths in both places 2016-06-13 14:20:31 -07:00
Nathan Shively-Sanders
ac9e617e5e Test isDefinition 2016-06-13 13:23:32 -07:00
Nathan Shively-Sanders
5a7f7469ea Add isDefinition to ReferenceEntry
Clients can now easily tell if the reference is to a definition or a
usage.
2016-06-13 13:21:47 -07:00
Ron Buckton
27931d5f75 Cleanup, fix linter errors, follow hoisted declarations. 2016-06-13 13:17:56 -07:00
Andy Hanson
c0c707c37f Fix decorator metadata emit for rest arg with no type 2016-06-13 13:16:13 -07:00
Ron Buckton
0948f73f2a Cleanup, only support generators for async functions, added emit helper. 2016-06-13 12:39:55 -07:00
Ron Buckton
e85d3e6c66 Merge branch 'transforms' into transforms-generators 2016-06-13 11:10:26 -07:00
Nathan Shively-Sanders
8b093128b3 Merge pull request #9036 from Microsoft/primitive-type-guards-are-order-independent
Primitive type guards are order independent
2016-06-13 10:52:06 -07:00
Mohamed Hegazy
6f63799151 Merge pull request #9129 from plantain-00/minor_fix_add_missing_return_clause
minor fix: add missing return clause
2016-06-13 10:21:17 -07:00
Ryan Cavanaugh
6702e651a3 CR changes 2016-06-13 10:15:29 -07:00
Ryan Cavanaugh
e8ac1abbd6 Baseline fix, CR comments, lint 2016-06-13 09:33:49 -07:00
Yui
fb050f17f6 Use camel-case instead of snake-case (#9134) 2016-06-13 09:23:37 -07:00
york yao
61534225e5 minor fix: add missing return clause 2016-06-13 18:48:39 +08:00
Ron Buckton
569f057635 Formatting. 2016-06-11 00:28:12 -07:00