Commit Graph
11788 Commits
Author SHA1 Message Date
Ryan Cavanaugh e9ab5d4cbd Ryan feels shame as a major action 2018-06-13 17:33:01 -07:00
Ryan Cavanaugh 1bbe6610a4 Merge branch 'master' into esau-squash 2018-06-13 15:35:18 -07:00
Ryan Cavanaugh de82c54e6b Remove extra dependency + build smaller tsc.js into lkg 2018-06-13 14:50:01 -07:00
Ryan Cavanaugh 3212c1e502 Move internal comments around all day 2018-06-13 14:00:48 -07:00
Ryan Cavanaugh 805542a902 Move internal flag around 2018-06-13 11:55:53 -07:00
Ryan Cavanaugh 19ac7653f2 Return exit codes from tsbuild 2018-06-13 11:55:40 -07:00
Ryan Cavanaugh 94668ab338 Move Comparer around 2018-06-13 10:45:07 -07:00
Ryan Cavanaugh cddff912d5 Add internal where needed 2018-06-13 10:44:13 -07:00
Ryan Cavanaugh ce936ca88f Don't believe prepend projects are UTUTD 2018-06-13 10:44:05 -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 066b191982 Collapse core/compiler/parser into parser 2018-06-11 17:07:58 -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