11787 Commits

Author SHA1 Message Date
Ron Buckton
575ab61c6b Fix sources array case sensitivity 2018-06-14 23:27:04 -07:00
Ron Buckton
e62a5edc94 Fix off-by-one error with sourcemaps 2018-06-14 22:54:31 -07:00
Nathan Shively-Sanders
57e652dd02
Js/check type tags (#24967)
* Check the type expression of `@type` tags

* Update existing tests and baselines
2018-06-14 13:11:52 -07:00
Sheetal Nandi
1cd604ac69
Merge pull request #24933 from Microsoft/failedLookupWatchesWithClassicResolver
Do not watch parent folders recursively if not needed
2018-06-14 13:09:16 -07:00
Andy
345012e29d
Don't add diagnostic on unused import starting with underscore (#24958)
* Don't add diagnostic on unused import starting with underscore

* Fix lint
2018-06-14 12:55:12 -07:00
Nathan Shively-Sanders
a56b272d38
In JS, fix crash with in a file with conflicting ES2015/commonjs exports (#24960)
* fix crash with conflicting ES2015/commonjs modules

* Refactor based on PR comments
2018-06-14 11:18:23 -07:00
Wesley Wigham
a77068827d
Handle combinations of rootdir and outdir when calculating paths (#24941) 2018-06-14 11:07:46 -07:00
Wesley Wigham
2a1503610b
Stop generating sectional sourcemaps (#24917)
* Generate normal 1-part sourcemaps (at increased processing cost), since tools dislike sectional ones

* Add semicolon

* Accept sad baselines]

* Forward along sourcesContent if available

* Supress lint since the API actually calls for null here

* Fix concatenated sourcemap paths

* Accept bad baselines :(

* Add overloads

* Accept api update

* Fix lint
2018-06-13 18:52:23 -07:00
Sheetal Nandi
cd97adbf3b Do not watch the parent folders recursively if not needed.
This avoids watching folders like parent folder of the project root just to watch files created in the folder
Fixes Microsoft/vscode#51139
2018-06-13 14:37:58 -07:00
Nathan Shively-Sanders
2a8c4d1bd7
Support @this tags (#24927)
* Type check `@this` tags

No special support in fourslash yet, so quickinfo probably doesn't work.

* Do no require braces and update API baselines
2018-06-13 10:11:12 -07:00
Wesley Wigham
61fb222cd2
Use symlinks when looking for module names for declaration emit (#24874)
* fix symlink tag, support arbitrary (ie, directory) links via @link

Introduce indirect symlink lookup to specifier deriver

Use fileset, move exec

vfs path resolution :shakes fist:

Apply files symlink relative to dirname

Use directory function

* Accept really bad baseline updates
2018-06-12 12:52:44 -07:00
Nathan Shively-Sanders
5be8f1f9f9
Better handling of circular JS containers in getTypeOfVariableOrParameterOrProperty (#24732)
* avoid circularity in getTypeOfVariableOrParameterOrProperty

Modify getTypeOfVariableOrParameterOrProperty to get the type of the
variable declaration before widening it. This essentially avoids some
circularities by (1) setting the type of the variable declaration to the
unwidened type (2) updating the type of the variable declaration to the
widened one.

You will still get a circular noImplicitAny in (1), for expressions that
actually are circular, but not in (2), for the containers of things that
are not themselves circular.

* Stop checking js init object literals via checkObjectLiteral

* checkBinaryExpression: new code for special assignments

* Chained lookup for js initializer type

* Check for JS-specific types only once

Also make sure to respect the type annotation if there is one.

* Accept API changes
2018-06-12 09:42:26 -07:00
Ron Buckton
756e46bfe3 Reuse resolvedProjectReferences 2018-06-11 17:59:32 -07:00
Ryan Cavanaugh
bb4872787c Merge branch 'master' into projzilla 2018-06-11 13:36:31 -07:00
Mohamed Hegazy
35d25ff280
Merge pull request #24645 from Kingwl/this-type-accessibility
allow access protected member in this parameter context
2018-06-11 13:17:58 -07:00
Mohamed Hegazy
e07e2e0e1f
Merge pull request #23423 from Kingwl/add-braces
add support for add or remove braces to arrow function
2018-06-11 13:09:38 -07:00
Ryan Cavanaugh
ab10b86205 Almost working? 2018-06-10 19:28:38 -07:00
Ryan Cavanaugh
5804905ca6 Jakefile rewrite WIP 2018-06-10 13:23:16 -07:00
Ryan Cavanaugh
336c37662d Projzilla phase 1 2018-06-09 16:48:08 -07:00
Ryan Cavanaugh
f4fcb1912c
Merge pull request #24465 from RyanCavanaugh/tsbuild
"tsc -b" with minimal watch capabilities
2018-06-10 05:15:53 +12:00
Ryan Cavanaugh
0f626fdcb3 Last round PR comments 2018-06-09 09:43:25 -07:00
Ryan Cavanaugh
b97bc8e071 Use native map 2018-06-09 09:15:17 -07:00
Ryan Cavanaugh
1de2f839f2 PR fixups 2018-06-08 17:43:16 -07:00
Andy
04187bde8d
fixStrictClassInitialization: Support array initializer (#24810) 2018-06-08 15:56:56 -07:00
Sheetal Nandi
8c7a9ccc27
Merge pull request #24811 from Microsoft/computedPropertyNameWithDefaultImport
Always resolve the first identifier of computed property name to get the symbol and track it
2018-06-08 15:35:38 -07:00
Sheetal Nandi
5d70d9223c Always resolve the first identifier of computed property name to get the symbol and track it
Fixes #24798
2018-06-08 14:03:18 -07:00
Wesley Wigham
4240d9dc0f
always visit them all (#24802) 2018-06-08 13:11:30 -07:00
kingwl
ee310a42f0 move static flag predicate before get container 2018-06-09 03:08:15 +08:00
kingwl
0d730c008a Merge branch 'master' into add-braces 2018-06-09 01:32:53 +08:00
Andy
3822e3e4ed
tryGetModuleNameAsNodeModule: Ignore file extension (#24774) 2018-06-07 15:45:03 -07:00
Ron Buckton
e947154aec
Merge pull request #24768 from Microsoft/fix24722
Fix prologue order in async function
2018-06-07 15:05:09 -07:00
Andy
48dedacf3b
fixStrictClassInitialization: Don't provide a default for string or number (#24767)
* fixStrictClassInitialization: Don't provide a default for `string` or `number`

* Update baselines
2018-06-07 15:03:38 -07:00
Sheetal Nandi
604bebab86
Merge pull request #24769 from Microsoft/ignoreWindowsUsersFolder
Do not watch folders like "c:/users/username", "c:/users/username/folderAtRoot"
2018-06-07 14:36:10 -07:00
Sheetal Nandi
16e01174b7 Do not watch folders like "c:/users/username", "c:/users/username/folderAtRoot"
Fixes Microsoft/vscode#51139
2018-06-07 13:52:34 -07:00
Ron Buckton
2b4569c04f Fix prologue order in async function 2018-06-07 13:34:16 -07:00
Klaus Meinhardt
5b92bdd88f checker: avoid useless closures 2018-06-07 20:35:47 +02:00
Wesley Wigham
d0ae03c4cc
Handle import types in serializeType (#24701) 2018-06-07 10:40:14 -07:00
Ryan Cavanaugh
21a65f5dc0 Improved watch mode 2018-06-06 16:47:15 -07:00
Ryan Cavanaugh
b107849a3a Improve handling of container projects and issue relative filename messages 2018-06-06 13:47:59 -07:00
Ryan Cavanaugh
291289f8c2 Update messages 2018-06-06 13:03:03 -07:00
Mohamed Hegazy
34dd7738c9
Merge pull request #24672 from bakkot/binding-comma
Allow trailing commas after non-rest elements in destructuring
2018-06-06 13:00:17 -07:00
Nathan Shively-Sanders
30994c86e4
Improve valueDeclaration for js module merges (#24707)
Nearly everything in a merge of JS special assignments looks like a
valueDeclaration. This commit ensures that intermediate "module
declarations" are not used when a better valueDeclaration is available:

```js
// File1.js
var X = {}
X.Y.Z = class { }

// File2.js
X.Y = {}
```

In the above example, the `Y` in `X.Y.Z = class { }` was used as the
valueDeclaration for `Y` because it appeared before `X.Y = {}` in the
compilation.

This change exposed a bug in binding, #24703, that required a change in
typeFromPropertyAssignmentOutOfOrder. The test still fails for the
original reason it was created, and the new bug #24703 contains a repro.
2018-06-06 11:11:15 -07:00
Nathan Shively-Sanders
d6250c8342
Fix circularity error when extending class in same JSContainer (#24710)
Do this by not widening properties of an object literal that are

1. JS initialisers
2. and not an object literal

These properties have types that will never widen, so the compiler
shouldn't ask for the types earlier than it strictly needs to.
2018-06-06 09:13:38 -07:00
Ryan Cavanaugh
856fc79ae7 Lint 2018-06-05 16:28:42 -07:00
Ryan Cavanaugh
5111f4d541 Move proj ref logic to the right place 2018-06-05 16:20:07 -07:00
Ryan Cavanaugh
cf87bd446d Merge branch 'master' into tsbuild 2018-06-05 14:55:51 -07:00
Nathan Shively-Sanders
8d737ca959
Simplify parseJSDocIdentifierName (#24660)
* Simplify parseJSDocIdentifierName

It now always creates a missing node. The one place that depended on it
returning undefined, parseJSDocTypeNameWithNamespace, now returns
undefined before calling parseJSDocIdentifierName.

* Remove assert

It is adequately proven at compile time.
2018-06-05 14:30:37 -07:00
Ryan Cavanaugh
449d60cdff Don't crash on no args 2018-06-05 14:14:16 -07:00
Wesley Wigham
d9b93903c0
Use more nodelike paths for import types when possible (#24610)
* Use more nodelike paths for import types when possible

* move functionality from services into compiler, fix with propert file/directory conflict handling

* mark suspect cast
2018-06-05 12:54:36 -07:00
Ryan Cavanaugh
45842a0c34 Merge remote-tracking branch 'weswigham/sourcemap-concatenation-station' into tsbuild 2018-06-05 12:31:32 -07:00