Commit Graph
11777 Commits
Author SHA1 Message Date
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
Andy 735a46f838 If parsing a function type fails, parseTypeReference() to ensure something is returned (#24567)
* If parsing a function type fails, parseTypeReference() to ensure something is returned

* Avoid tryParse

* Add missing semicolon

* Don't check for undefined, check for missing type

* Don't set parameters undefined, set to missingList and return false

* Update API baselines

* Code review
2018-06-05 10:24:37 -07:00
王文璐 56d042468f add commnet 2018-06-05 18:45:36 +08:00
王文璐 0bcbbbdd58 disallow static field access 2018-06-05 18:42:21 +08:00
Ron Buckton fbeb58a147 Merge pull request #23893 from Microsoft/libReference
Adds 'lib' reference directives
2018-06-04 16:14:52 -07:00
Kevin Gibbons 87bb5e3cbb Allow trailing commas after-rest elements in destructuring 2018-06-04 14:58:30 -07:00
Ron Buckton 666841264c Merge branch 'master' into libReference 2018-06-04 14:38:56 -07:00
Wesley Wigham 7eaa78846e Visit the children of an import type/require call/dynamic import when looking for those (#24663) 2018-06-04 14:31:56 -07:00
Wesley Wigham cbbf2e4e6f Resolve aliases before using getTypereferenceType (#24594) 2018-06-04 14:19:41 -07:00
Sheetal Nandi c3dcc83d4f Merge pull request #24664 from Microsoft/builderAPIBreak
Fix the issue with createSemanticDiagnosticsBuilderProgram, createEmitAndSemanticDiagnosticsBuilderProgram and createAbstractBuilder not assignable to CreateProgram<T>
2018-06-04 13:35:40 -07:00
Nathan Shively-Sanders 7db4b1cbc7 Fix property assignment on aliases (#24659)
Aliases don't have valueDeclarations, which caused a crash when passed
to isJavascriptContainer before.
2018-06-04 13:34:23 -07:00