12814 Commits

Author SHA1 Message Date
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
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
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
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
Andy
e0dca0bd95
Error when destructuring private property in a parameter (#28562) 2018-11-16 12:47:05 -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
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
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
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
Daniel Rosenwasser
fe263708be
Merge pull request #27019 from iliashkolyar/codefix_add_missing_new_operator
Codefix: add quick fix for missing 'new' operator
2018-11-14 16:53:25 -08:00
Aziz Khambati
24759b81e6 Fix comments after sread expression, spread assignment (#28482) 2018-11-14 14:20:07 -08:00
Andy
da37457c72
When renaming an imported symbol, rename only in current file (#28406)
* When renaming an imported symbol, rename only in current file

* Improve re-export references

* Remember to use 'range' in for loop

* Uncomment tests
2018-11-14 09:09:00 -08:00
Daniel Rosenwasser
f4fb28daa9
Merge pull request #28015 from prateekgoel/error-messages
Error messages for extending a specific type
2018-11-13 17:04:40 -08:00
Wesley Wigham
7a71887c23
Build better import paths for declaration emit/typeToString from reexports if possible (#27340)
* Build better import paths from reexports if possible, issue error on node_modules import generation

* Small refactorings

* Add file-by-file cacheing

* Minor cleanups

* Adjust error message
2018-11-13 14:07:54 -08:00
Alexander T
5c7f8ef89d Merge branch 'master' of https://github.com/Microsoft/TypeScript into feature/28297-make-error-message-at--a-constant-or-a-read-only-property--more-specific 2018-11-13 09:58:30 +02:00
Wesley Wigham
004dc89600
Use elipses for reverse mapped types in nested positions (#28494) 2018-11-12 18:50:08 -08:00
Daniel Rosenwasser
25462beeb7
Merge pull request #28456 from Microsoft/nonExperimentalBigInt
BigInt shouldn't be considered experimental
2018-11-12 15:59:15 -08:00
Wesley Wigham
2b345cc8f8
Track type recusion and symbol instantiation depth seperately in createAnonymousTypeNode (#28490) 2018-11-12 15:45:36 -08:00
Daniel Rosenwasser
830be0651c
Merge pull request #27669 from Microsoft/betterErrorForAccidentalCall
Always emit diagnostic when a call expression can be fixed by adding a semicolon
2018-11-12 14:50:23 -08:00
Wesley Wigham
13234b62f5
Force inner indexed access simplification during inference, if possible (#28420)
* Force inner indexed access simplification during inference, if possible

* rename

* Refactor to used shared implementation of distribution
2018-11-12 14:39:43 -08:00
Andy
995f746c92
Add implicit-any error on JSDocFunctionType with no return type (#28487) 2018-11-12 14:39:02 -08:00
Wesley Wigham
11eee2b6ee
Slightly improve missing property errors (#28298)
* Slightly improve missing property errors

* Add missing quote

* Fix jsx case

* Add related span

* Fix crash (why can declarations be undefined)

* Only skip top elaboration when no variant message is provided
2018-11-12 14:31:15 -08:00
Wesley Wigham
eb21eb8e11
Ensure all default type params are mapped to some default even in circular scenarios (#28423)
* Ensure all default type params are mapped to some default even in circular scenarios

* Add js example, fix typo
2018-11-12 13:52:47 -08:00
Andy
fe1ba9bee3
Improvements to generateTypes (#28458)
* Improvements to generateTypes

* createProperty only if necessary
2018-11-12 11:50:48 -08:00
Sheetal Nandi
cce26c8ff1 When serializing conditional types, use true and false type to determine emit
Fixes #27999
2018-11-12 09:23:29 -08:00
Michael Tang
4e0bb7a80a
Fix typo comment 2018-11-11 19:03:46 -08:00
Anders Hejlsberg
a2205ad53d
Merge pull request #28429 from Microsoft/fixEmptyObjectIntersection
Fix empty object intersections
2018-11-10 00:44:57 -08:00
Sheetal Nandi
b0d85c0270
Merge pull request #28450 from Microsoft/libErrors
Remove lib file errors from builder cache when global files are to be emitted
2018-11-09 17:42:08 -08:00
Wesley Wigham
7d4e0e6297
Fix duplicated amd module comments in declaration bundle (#28451) 2018-11-09 17:18:34 -08:00
Sheetal Nandi
1b8bfc832a Check modifiers on variable like declarations only 2018-11-09 17:13:39 -08:00
Sheetal Nandi
941d97c45a Handle global augmentation in the module 2018-11-09 16:41:18 -08:00
Sheetal Nandi
43c447867b PR feedback 2018-11-09 16:24:19 -08:00
Daniel Rosenwasser
f7ad54b432 Only complain about BigInt literals in pre-ESNext targets. 2018-11-09 16:20:54 -08:00
iliashkolyar
047b76f979 Merge branch 'master' into codefix_add_missing_new_operator 2018-11-10 01:45:11 +02:00
Ron Buckton
50a0174582
Merge pull request #27629 from Microsoft/sourceMapGenerator
Simplify source map generation
2018-11-09 14:50:22 -08:00
Sheetal Nandi
fdafbd6e95 Report identical modifiers needed error when checking the file instead of reporting it as part of another file's type check 2018-11-09 14:43:32 -08:00