Wesley Wigham
e594407103
Count only unit types when counting overlapping keys
2018-11-27 16:17:57 -08:00
Ron Buckton
aa3734c148
Merge pull request #28645 from Microsoft/pathPerf
...
Add perf optimizations for path comparisons
2018-11-26 15:06:39 -08:00
Nathan Shively-Sanders
f915420c80
Revert "Don't consider 'typeof a' as using 'a' ( #28528 )"
...
This reverts commit 0c4ceeec24f16f87e75386355c86ac38612a1175.
2018-11-26 14:45:19 -08:00
Daniel Rosenwasser
6627d33540
Merge pull request #27087 from Microsoft/overlappyTypes
...
Elaborate on types in unions with the most overlap in properties
2018-11-26 14:58:15 -05:00
Ron Buckton
5198bf3c67
Add perf optimizations for path comparisons
2018-11-21 21:51:42 -08:00
Sheetal Nandi
1f2d403f6d
Merge branch 'master' into cacheHostResults
2018-11-21 12:20:19 -08:00
Sheetal Nandi
2128cc49a0
Dont explicitly get declaration diagnostics
2018-11-21 11:43:36 -08:00
Sheetal Nandi
8d5d900567
Factor out caching logic so tsc (without watch can use it and --watch has its own cache logic).
2018-11-21 09:18:03 -08:00
Sheetal Nandi
c7f8959034
PR feedback.
2018-11-21 09:03:26 -08:00
Sheetal Nandi
6a37fd46fe
Cache results for readFile, fileExists, directory exists, sourceFiles for .d.ts files across the build (only first time)
2018-11-20 15:16:15 -08:00
Klaus Meinhardt
94d7e30393
MethodSignature doesn't have 'arguments' ( #28625 )
...
Fixes : #28622
2018-11-20 13:01:34 -08:00
Daniel Rosenwasser
ece46113a5
Bump to 3.3.
2018-11-20 01:52:42 -05:00
Wesley Wigham
96937fd592
Allow union signatures to merge when they have differing argument counts ( #28604 )
...
* Allow union signatures to merge when they have differing argument counts
* Accept updated baselines
* Adjust comments io changed tests
2018-11-19 17:05:28 -08:00
Sheetal Nandi
ddded2df7c
Merge pull request #28610 from Microsoft/resolvedReferencedDirectMap
...
Create map from fileNames in referenced projects to resolvedProjectReference for quick determination of fileName to projectReferenceRedirect
2018-11-19 16:58:48 -08:00
Sheetal Nandi
979dac3ced
Create map from fileNames in referenced projects to resolvedProjectReference for quick determination of fileName to projectReferenceRedirect
2018-11-19 14:55:41 -08:00
Sheetal Nandi
07769483e7
Merge pull request #28607 from Microsoft/extendedDiagnostics
...
Enable statistics reporting per program through temporary build api
2018-11-19 14:25:50 -08:00
Nathan Shively-Sanders
0774bb81ce
Fix crash on property assignment of unresolved module ( #28606 )
...
Previously, the compiler would crash when binding a non-top-level
property assignment on the symbol of an unresolved module:
```js
import x from 'arglebaz'
{
x.bar = 1
}
```
That's because `x` looks like an alias but doesn't have a
valueDeclaration (since there is no file named 'arglebaz'), and the new
code for binding Object.defineProperty calls forgot to check for an
undefined valueDeclaration.
This change adds the checks for an undefined valueDeclaration.
2018-11-19 13:29:46 -08:00
Sheetal Nandi
99d357db57
Enable statistics reporting per program through temporary build api
2018-11-19 12:38:36 -08:00
Andy
b8a8ceae86
Handle merging unknownSymbol ( #28453 )
...
* Handle merging unknownSymbol
* mergeSymbol of unknown target returns source, not unknown
2018-11-19 10:51:58 -08:00
Sheetal Nandi
dc03115d14
Merge pull request #28585 from Microsoft/isTypeOnlyCompletion
...
Properly set symbolMeanings when calling getSymbolsInScope
2018-11-19 08:50:41 -08:00
Sheetal Nandi
eeaa8bb527
Merge pull request #28533 from Microsoft/generateGetAndSet_noFindAllRefs
...
generateGetAccessorAndSetAccessor: Don't use FindAllReferences
2018-11-19 08:47:12 -08:00
Sheetal Nandi
d7e08669f5
Merge pull request #28588 from dsherret/removeNonInternalStuffJsDocComment
...
Remove jsdoc comment on ts namespace
2018-11-19 08:44:29 -08:00
David Sherret
1acfce680e
Remove jsdoc on ts namespace.
2018-11-17 11:50:06 -05:00
Wesley Wigham
608a8307ac
Dont emit module resolution errors when looking up specifiers for container symbols ( #28558 )
2018-11-16 17:15:40 -08:00
Andy Hanson
59c014ba32
Properly set symbolMeanings when calling getSymbolsInScope
2018-11-16 17:04:29 -08:00
Andy
da33c580eb
Minor cleanups in checkUnusedIdentifiers ( #28513 )
2018-11-16 16:58:36 -08:00
Wesley Wigham
cd08a22ef5
Clamp calculated sourcemap positions rather than throwing ( #28583 )
...
* Clamp calculated sourcemap positions rather than throwing, to allow the underlying file to drift out of date with the sourcemap without a crash
* Clamp line as well
2018-11-16 16:05:07 -08:00
Andy
12f3d0d54c
Enable --strictPropertyInitialization ( #27558 )
...
* Enable --strictPropertyInitialization
* Code review
2018-11-16 16:02:23 -08:00
Daniel Rosenwasser
b7da98b1c3
Use intersection of member names to find largest overlap.
2018-11-16 15:59:00 -08:00
Sheetal Nandi
6bb1ff2214
Merge pull request #27376 from Microsoft/codeFixCannotFindModule_suggestion_falsePositive
...
Don't implicit-any diagnostic for json module
2018-11-16 15:48:37 -08:00
Daniel Rosenwasser
6ae288fbb3
Merge remote-tracking branch 'origin/master' into overlappyTypes
2018-11-16 15:02:13 -08:00
Andrew Casey
642803c182
Merge pull request #28559 from amcasey/FileSize
...
Expose aggregate file sizes in FileStats
2018-11-16 13:52:12 -08:00
Andy
e0dca0bd95
Error when destructuring private property in a parameter ( #28562 )
2018-11-16 12:47:05 -08:00
Andrew Casey
5c1c34a16e
Add telemetry test
2018-11-16 11:00:41 -08:00
Andrew Casey
a8c634d70d
Restore useText
2018-11-16 10:48:06 -08:00
Nathan Shively-Sanders
ea8ccc2ce4
In JS, constructor functions infer from call+construct ( #28353 )
...
* constructor functions infer from call+construct
Also fix an incorrect combining of inferences for rest parameters: the
inferred types will be arrays in the body of the function and the
arguments from outside the function will be the element type.
* All functions infer from call+construct contexts
2018-11-16 09:51:07 -08:00
Andy
1089424035
Ensure getApplicableRefactors doesn't crash when given a position ( #28361 )
2018-11-16 09:30:37 -08:00
Andy
a6ef176dbb
Consistently return 'void' from ChangeTracker methods ( #28563 )
2018-11-16 08:58:00 -08:00
Andy
0c4ceeec24
Don't consider 'typeof a' as using 'a' ( #28528 )
...
* Don't consider 'typeof a' as using 'a'
* Also handle markPropertyAsReferenced
* Use isInTypeQuery
2018-11-16 08:35:36 -08:00
Andrew Casey
8bfdb4145d
Fix tests and lint
2018-11-15 16:00:35 -08:00
Andy
b059135c51
When adding relative completions with rootDirs, still add completions for regular relative imports ( #28561 )
2018-11-15 15:11:27 -08:00
Andrew Casey
2c7d67fded
Expose aggregate file sizes in FileStats
...
We're not sure that file counts are a good proxy for project size and
this will give us more direct insight.
2018-11-15 13:56:24 -08:00
Andrew Casey
02d5cb045c
Expose file size from TextStorage
...
Since it's for telemetry, it prefers to return a stale value rather than
triggering file IO (though it will load the file if not even a stale
value is available).
2018-11-15 13:56:24 -08:00
Wesley Wigham
b90d2910fb
Strongly typecheck unions of intrinsic tag names ( #28557 )
2018-11-15 13:46:32 -08:00
Klaus Meinhardt
1ad7b0fe69
forEachToken: correctly handle JSDocTag ( #28369 )
...
* forEachChild: handle JSDocTags and all their children
* fix codefix for unused identifier
* fix lint
* fix build
* Fix test failures
2018-11-15 13:22:25 -08:00
Nathan Shively-Sanders
6cee7c3080
Better nameless parameter implicit any error ( #28554 )
...
* Initial version, doesn't work for primitives yet.
Need to find out why.
* Primitives now work, plus improve error message
null and void don't even parse without parameter names so they are not
tested.
* Codefix: Add names to nameless parameters
* Improve error wording
* Add detail to error message
2018-11-15 12:45:39 -08:00
Andy
079f0436f3
Remove unused function ( #28531 )
2018-11-15 09:34:07 -08:00
Nathan Shively-Sanders
53bb4e84a2
Better checking of assignment declarations ( #28387 )
...
Previously, type checking was turned off for all assignment
declarations. This is a problem when the declarations are annotated with
jsdoc types.
This PR checks assignment declarations, *except* for expando
initialisers. Expando initialisers are
1. Empty object types.
2. Function types.
3. Class types.
4. Non-empty object types when the assignment declaration kind is
prototype assignment or module.exports assignment.
2018-11-15 08:46:11 -08:00
Nathan Shively-Sanders
7a7328a17f
string|number inferences are low priority ( #28381 )
...
* string|number inferences are low priority
Also, refactor unifyFromContext to explicitly handle priorities
* string/number/strnum are not mutually exclusive
* Assert that high/low can't apply to same element
2018-11-15 08:32:28 -08:00
Andy
2600250a24
Add 'bigint' to type keywords ( #28537 )
2018-11-14 22:18:05 -08:00