1272 Commits

Author SHA1 Message Date
Ron Buckton
147addb4e9 Merge branch 'transforms' into transforms-importHelpers 2016-06-14 13:21:24 -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 ef0f6c8fe4f94a7e294cfe42d7025c9dca6535d5, reversing
changes made to 9f087cb62ade7a879e23c229df752fc8f87d679c.

* 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 fc3e040c5167868ed623612e8f33fb3beedf73b1.

* 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
Ron Buckton
f6f1a0dca1 Adds support for importing external helpers. 2016-06-11 00:12:04 -07:00
Vladimir Matveev
5fe6bd4366 reduce max used values for flags to prevent smi overflows 2016-06-09 10:12:06 -07:00
Yui
f619282af1 [Transforms] Update transforms with recent master (#8960)
* 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

* Actually merge from master

* Run fixupParentReferences when parsing isolated jsDocComment

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

* Add non-widening forms of null and undefined

* Create separate control flows for property declarations with initializers

* Add regression test

* Add tests

* Remove unused variable

* Add null check and CR feedback

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

This reverts commit ef0f6c8fe4f94a7e294cfe42d7025c9dca6535d5, reversing
changes made to 9f087cb62ade7a879e23c229df752fc8f87d679c.

* reuse the fixupParentReferences function

* Fix up error from merging with master
2016-06-03 11:02:35 -07:00
Ron Buckton
7be0db184e Removes the excludeTransformFlags property from Node 2016-06-01 19:03:13 -07:00
Ron Buckton
66514a2810 Merge branch 'transforms' into transforms-commentsPerf 2016-05-31 18:44:16 -07:00
Ron Buckton
a07965aad8 Merge branch 'master' into transforms 2016-05-31 18:43:51 -07:00
Ron Buckton
e9115cad19 Simplify disabling comments recursively, cleanup unused flags. 2016-05-31 16:24:20 -07:00
zhengbli
241920c960 Merge branch 'outerControlFlows' of https://github.com/Microsoft/TypeScript into typedefForJsdoc
# Conflicts:
#	src/compiler/binder.ts
2016-05-31 14:02:45 -07:00
zhengbli
18ee4b0a1e cr feedback 2016-05-30 22:11:43 -07:00
Anders Hejlsberg
e8ecf0e615 Track return statements in IIFE using a flow label 2016-05-28 06:43:28 -07:00
Ron Buckton
7da8f74eca Merge branch 'transforms-visitEachChildPerf' into transforms-binderPerf 2016-05-27 17:11:37 -07:00
Ron Buckton
22e0aa0d35 Merge branch 'transforms-visitEachChildPerf' into transforms-commentsPerf 2016-05-27 17:09:52 -07:00
Ron Buckton
364a485b2b Merge branch 'transforms-fixPerformance' into transforms-visitEachChildPerf 2016-05-27 16:21:38 -07:00
Ron Buckton
0d2b1c47f8 Moved code around to fix compile errors in processDiagnosticMessages script. 2016-05-27 14:55:11 -07:00
Anders Hejlsberg
3b5c72c4bc Include outer function expressions in control flow analysis 2016-05-26 15:30:31 -07:00
zhengbli
81ce532cde Change how typedef tag is parsed 2016-05-26 14:33:30 -07:00
Ron Buckton
22f3123228 Removed most needs to traverse original nodes for emit flags, comments, and source maps. 2016-05-26 01:17:08 -07:00
Ron Buckton
ee32db649d Isolate polymorfic code to individual functions to speed up inlining decisions in node. 2016-05-25 18:11:25 -07:00
Ron Buckton
ee39c4e8d4 Merge branch 'master' into transforms-merge 2016-05-25 14:14:32 -07:00
zhengbli
5f9fa69587 Merge branch 'master' of https://github.com/Microsoft/TypeScript into typedefForJsdoc
# Conflicts:
#	src/services/services.ts
#	tests/cases/unittests/jsDocParsing.ts
2016-05-24 21:06:00 -07:00
Ron Buckton
e64724ea35 Transient node properties for transformations. 2016-05-24 16:27:39 -07:00
Ryan Cavanaugh
7173fa8d02 Merge pull request #8670 from RyanCavanaugh/fix8275
Automatically consume @types/ folders
2016-05-24 15:23:06 -07:00
Ron Buckton
81d5d2b6b6 Added 'extendedDiagnostics' option for comments/sourcemap measurements. 2016-05-24 13:18:24 -07:00
Ron Buckton
e5c473c9fc Adds a NodeFlag to indicate a synthetic node. 2016-05-24 11:41:24 -07:00
Ryan Cavanaugh
675d176cef Allow duplicate identifiers as long as their declarations span multiple blocks
Fixes #8675
2016-05-24 09:58:56 -07:00
Ryan Cavanaugh
27292e4292 Merge pull request #8678 from RyanCavanaugh/fix8255
Tweak UMD / global semantics
2016-05-23 16:15:56 -07:00
Anders Hejlsberg
db109d1a7f Add --skipLibCheck compiler option 2016-05-21 17:44:37 -07:00
Ryan Cavanaugh
41290db9c6 Tweak UMD semantics 2016-05-18 17:59:43 -07:00
Ron Buckton
b5dec0b8ab Removed nodeEmitOptions to reduce GC overhead 2016-05-18 16:42:37 -07:00
Ryan Cavanaugh
06bb9affd9 Merge remote-tracking branch 'upstream/master' into fix8275 2016-05-18 12:07:11 -07:00
Anders Hejlsberg
59f269c90a Merge pull request #8652 from Microsoft/neverType
Add 'never' type
2016-05-18 11:39:22 -07:00
Anders Hejlsberg
9a22d08422 Merge pull request #8625 from Microsoft/optionalClassProperties
Optional class properties
2016-05-18 11:32:50 -07:00
Ryan Cavanaugh
f4e10eb738 Automatically consume /types 2016-05-17 15:41:31 -07:00
Anders Hejlsberg
be7e2a837b Make 'never' an intrinsic type 2016-05-17 10:05:19 -07:00
Anders Hejlsberg
c11d691d6f Introduce 'never' type 2016-05-17 06:15:57 -07:00
Anders Hejlsberg
6b3fc7f310 Remove nullability from function types in language service 2016-05-16 09:23:29 -07:00
Andy
7806de0f45 Merge pull request #8555 from Microsoft/readonly_ctr
Fix #7590: Allow 'readonly' to be used in constructor parameters
2016-05-12 10:29:22 -07:00
Ron Buckton
b69e65f1f9 Fix source maps for arrow functions, comments in sourcemap writer. 2016-05-11 13:33:59 -07:00
Andy Hanson
a9742c5861 Change name from ConstructorParameterModifier to ParameterPropertyModifier 2016-05-11 09:48:37 -07:00
Andy Hanson
ad2634e343 Fix #7590: Allow 'readonly' to be used in constructor parameters 2016-05-11 08:32:17 -07:00
Vladimir Matveev
5e94c76190 expose code path that will use Path type to avoid redundant string conversions 2016-05-10 23:43:26 -07:00
Paul van Brenk
fad25747a7 Merge pull request #8469 from Microsoft/tsconfigParsingImprovements
Add propertybag to parsed tsconfig.json file.
2016-05-06 13:33:01 -07:00
Paul van Brenk
8aff38e128 Add the entire tsconfig as a raw property to the parsed config. 2016-05-06 10:12:12 -07:00
Vladimir Matveev
2b5bbfee60 use CompilerHost.realpath to resolve actual location for symlinks 2016-05-05 13:38:09 -07:00
Anders Hejlsberg
3a4b56d6b7 Cache visited nodes and types in shared arrays to reduce object allocation 2016-05-04 15:18:57 -07:00
Paul van Brenk
4bc2314cbe Add propertybag to parsed tsconfig.json file.
This allows consumers of the LS to read properties added to the tsconfig.json
without having to worry about dealing with comments.
2016-05-04 14:50:58 -07:00
Anders Hejlsberg
e49773a7e9 Local caching of types of shared flow nodes 2016-05-04 13:24:05 -07:00
Anders Hejlsberg
79db146e32 Refactor from FlowKind to FlowFlags 2016-05-04 12:44:27 -07:00