Commit graph

25888 commits

Author SHA1 Message Date
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
Andy 79b9fa51b6 Avoid infinite loop checking yield expression (#21728)
* Avoid infinite loop checking yield expression

* Revert now-unneeded change

* Revert test filename changes
2018-11-19 11:18:32 -08:00
Andy ca7f78b8df Fix typo (#28526) 2018-11-19 10:54:54 -08:00
TypeScript Bot b3b927291f Update user baselines (#28601) 2018-11-19 10:54:13 -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
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
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
Sheetal Nandi f7584ad868
Merge pull request #28572 from calebsander/fix/unused-baselines
Remove unused baselines
2018-11-16 08:53:32 -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
Caleb Sander 10fa76c06a Remove unused baselines 2018-11-15 23:31:13 -08:00
Andrew Casey 8bfdb4145d Fix tests and lint 2018-11-15 16:00:35 -08:00
Andrew Casey d5b95b5904 Update API baseline 2018-11-15 15:54:21 -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
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
Andy Hanson 643678bb54 generateGetAccessorAndSetAccessor: Don't use FindAllReferences 2018-11-14 15:05:46 -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
TypeScript Bot 89fbaf211c Update user baselines (#28504) 2018-11-13 15:56:49 -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
Daniel Rosenwasser 12e371beaa
Merge pull request #28313 from a-tarasyuk/feature/28297-make-error-message-at--a-constant-or-a-read-only-property--more-specific
Feature/28297 make error message at  a constant or a read only property  more specific
2018-11-13 11:42:13 -08:00
Sheetal Nandi bc5668ee4b
Merge pull request #28496 from calebsander/fix/remove-unused-baselines
Remove unused baselines
2018-11-13 05:12:55 -08:00
Alexander T d3d211486c update baseline after merge the latest changes from master 2018-11-13 10:14:43 +02: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
Caleb Sander e7a03bc242 Remove no longer used baselines 2018-11-12 18:07:37 -08:00