Commit Graph

9397 Commits

Author SHA1 Message Date
Andrew Casey
66225f2e10 Merge pull request #33056 from amcasey/TripleSlashRestrictions
Make triple-slash comment classification more restrictive

(cherry picked from commit 5b59cfb1c4)
2019-08-23 16:26:54 -07:00
TypeScript Bot
03055d2fb6 Cherry-pick PR #32919 into release-3.6 (#32933)
Component commits:
a81ce061de Stricter criteria for eliminating types in unions during inference

f929a25407 Add regression test

6d46850172 Accept new baselines

86d9153374 Accept new API baselines

abc61a0949 Add InferencePriority.Circularity per CR feedback

ac2f151412 Accept new API baselines

c816cf2562 Add additional test

af7ccf954a Accept new baselines
2019-08-16 11:02:00 -07:00
TypeScript Bot
5a0a671584 Cherry-pick PR #32898 into release-3.6 (#32900)
Component commits:
7f6543c1cd Fix export=global auto import exclusion
2019-08-14 15:39:15 -07:00
Wesley Wigham
ef222a5892 Cherry-pick PR #32878 into release-3.6
Component commits:
c78c88f447 Fix references to path-mapped ambient modules in declaration files

48a1fc33f5 Fix lint
2019-08-13 23:41:56 +00:00
Daniel Rosenwasser
c8d937ecd3 Merge pull request #32726 from fuafa/completion-after-private
Fix completion disappear after a property declaration with a private modifier
2019-08-13 11:09:32 -07:00
Ron Buckton
decc3cd671 Elide /index from auto-import when using rootDirs compiler option (#32828) 2019-08-12 16:05:15 -07:00
Wesley Wigham
4ab85bbf35 Add error message for keywords with escapes in them (#32718)
* Add error message for keywords with escapes in them

* Move check into parser during advance to next token to utilize context for contextual keywords

* git add .

* Add tests for extended escapes

* Better error courtesy of @DanielRossenwaser

* Add test of browser-inconsistent case and alter condition to match spec

* Merge adjacent conditions

* Use seperate functions for checking keywords vs not

* Use flags to track unicode escape presence

* Adjust error text
2019-08-12 16:00:38 -07:00
Ron Buckton
bf054ae796 Add support for import.meta in System modules (#32797) 2019-08-12 13:00:58 -07:00
Orta
2a2866c3a9 Merge pull request #32563 from orta/fix_31298
Handle namepaths inside JSDoc type expressions a bit better
2019-08-09 16:15:50 -07:00
Ron Buckton
98b6db81d9 Allow accessors in ambient class declarations (#32787)
* Allow accessors in ambient class declarations

* Update src/compiler/transformers/declarations.ts

Co-Authored-By: Wesley Wigham <wewigham@microsoft.com>
2019-08-09 16:11:25 -07:00
Wesley Wigham
f2719f95b4 Allow functions and ambient classes to merge (#32584) 2019-08-09 16:10:10 -07:00
Sheetal Nandi
b7e49d1d1c Ignore unknown files to search from in document highlights 2019-08-09 15:06:51 -07:00
Ron Buckton
05af8faac6 Support tree-shakable imports for --target es2015 (#32742)
* Support tree-shakable imports for --target es2015

* Alias external helper imports for --module es2015
2019-08-09 14:02:18 -07:00
Nathan Shively-Sanders
85b8d27ea3 Remove error on invalid jsdoc tokens (#32769)
* Remove error on invalid jsdoc tokens

In JSDoc:

1. In the scanner, don't issue an error, even for invalid identifiers.
2. In the binder, don't issue an error for reserved (but otherwise valid)
identifiers.

/**
 * Example of 1: "\"
 * Example of 2: @private
 */

* Update baselines

* Add invalid unicode escape test for JSDoc

* Add quotes around invalid unicode escape

* Add another unicode escape JSDoc test
2019-08-09 12:53:15 -07:00
Nathan Shively-Sanders
b24050aefd Excess discriminated types match all discriminable properties (#32755)
* Target types in excess property checking must match all discriminable properties

This allows fewer types to be discriminated in excess properties, which
fixes some examples.

* Add excess property test

* Fix semicolon lint

* Remove extra semicolon!

* Improve EPC for unions with multiple discriminants
2019-08-08 15:34:52 -07:00
Andrew Branch
984956afec Only add unnecessary-await suggestion on await expressions (#32754) 2019-08-07 11:27:36 -07:00
Wesley Wigham
abd127f308 Only check import = reference when target is Value (#32747) 2019-08-06 16:44:42 -07:00
Wesley Wigham
f333684179 Fix unicode escapes in jsx identifiers and extended unicode characters in jsdoc (#32716)
* Fix unicode escapes in jsx identifiers and extended unicode characters in jsdoc

* Support unicode escapes in JSDoc

* Add tests for extended escapes
2019-08-06 15:14:32 -07:00
Nathan Shively-Sanders
480b73915f Improve excess property checking for intersections (#32582)
* Improve excess property checking for intersections

Still a draft, the implementation needs improvement

* Use mutable isIntersection in checkTypeRelatedTo

This makes parameter lists a lot shorter. Seems like a slight
improvement, although I can revert if I change my mind.

* Fix semicolon lint

* Remove TODOOOO

* Revert "Use mutable isIntersection in checkTypeRelatedTo"

This reverts commit b8dccff2a2.
2019-08-06 15:03:24 -07:00
Wesley Wigham
d00056f096 Support extended unicode escapes in identifiers, per es6 spec (#32725) 2019-08-06 14:43:41 -07:00
Orta Therox
77cdca2971 Adds another test around parsing jsdoc 2019-08-06 15:45:28 -04:00
Orta Therox
487e2ffe2a Merge master 2019-08-06 15:34:06 -04:00
Nathan Shively-Sanders
269c3d3a56 Suggestions now use diagnosticCollection (#32740)
Previously they used multiMaps, unlike all the other diagnostics. This
prevents duplicate suggestions, like other kinds diagnostics.

Fixes #28710
2019-08-06 11:15:06 -07:00
Wesley Wigham
7adc175dfc Adjust isIdentifierText to skip multiple characters when a code point is multiple chars long (#32720)
* Adjust isIdentifierText to skip multiple characters when a code point is multiple chars long

* Add a few examples with mixed unicode characters

* for posterity, add some unicode cursive script characters

* Test some more planes more explicitly
2019-08-05 23:37:26 -07:00
xiaofa
e1bca8ff2a Fix class member completion disappear after a property declaration with a private modifier 2019-08-06 08:35:34 +08:00
Ron Buckton
e3f4979736 Fix emit for object rest on a module export (#32699)
* Fix emit for object rest on a module export

* Add tests for exports of empty object/array binding patterns

* Add delay for exec to ensure diff tool has enough time to start
2019-08-05 16:53:21 -07:00
Wesley Wigham
3b54ffcf0e Preserve const enums should keep import refs (#28498)
* Preserve const enums should keep import refs

for exported const enums exported via export default

Move some functionality around, small cleanup

Remove unneeded const enum check

* Only mark const enums as references with preserveConstEnums on in export assignments

* Limit change to declarations and preserveConstEnums mode
2019-08-05 16:47:29 -07:00
Andrew Branch
c1e0db7953 Escape apparent substitution in synthesized NoSubstitutionTemplateLiterals (#32580)
* Add failing test

* Escape apparent substitution in synthesized NoSubstitutionTemplateLiterals
2019-08-05 09:31:59 -07:00
Andrew Branch
e82d0af554 Fix readonly occurrences highlighting (#32583)
* Fix readonly occurrences highlighting

* Rename function

* Rename again

* Apply suggestions from code review

Remove unused function
2019-08-02 18:24:46 -07:00
Wesley Wigham
6b4f730535 Fix binding of jsdoc typedefs with no in-comment name attached to an expression statement (#32610)
* Fix binding of jsdoc typedefs with no in-comment name attached to an expression statement

* Check toplevel flag before bind

* Small renames
2019-08-02 16:14:19 -07:00
Andrew Branch
62f65a7884 Make auto-imports more likely to be valid for the file (including JS) & project settings (#32684)
* Add failing tests

* Use default import or namespace import for import fixes when compiler options allow

* Don’t do import * for export=, ever

* Only do import default for export equals if nothing else will work

* Never do import/require in a JavaScript file

* Update tests for changes in master

* Add const/require fix for JS and select based on usage heuristic

* Fix JS UMD import
2019-08-02 15:58:10 -07:00
Andrew Branch
725321f08c Prioritize “property names” over punctuation in smart select (#32687)
* Prioritize “property names” over punctuation in smart select

* Update doc comment
2019-08-02 15:57:44 -07:00
Wesley Wigham
acdbd10626 Amend scanner to support astral characters in identifiers when parsing es6+ (#32096)
* Amend scanner to support astral characters in identifiers when parsing es6+

* Use charSize helper rather than one-off maybe advance helper

* Update script to emit informative comment, run in unicode 12.1 environment

* Add suggested change
2019-08-02 13:15:51 -07:00
Orta
4a26271b63 Merge pull request #32663 from orta/fix_31195
Ensure that the comma is removed when all named imports are removed via moveToFile
2019-08-02 10:29:51 -04:00
Orta
78e03848a4 Merge pull request #31946 from orta/30246
Don't let the additional property setting on an object show up as a definition to tsserver
2019-08-02 10:29:34 -04:00
Orta Therox
c337f046fb Ensure that the comma is removed when all named imports are removed via moveToFile - fixes #31195 2019-08-01 15:01:52 -04:00
Andrew Branch
33f362abaf Don’t issue used-before-initialization errors in declaration files (#32579) 2019-08-01 11:24:04 -07:00
Andrew Branch
73bef22f0b A merged interface with an inherited member should satisfy an abstract base class member (#32539)
* A merged interface with an inherited member should satisfy an abstract base class member

* Tighten up comments and names
2019-08-01 09:34:11 -07:00
Andrew Branch
b377e99958 Prevent infinite recursion resolving nested conditional types with import types in them (#32097)
* Prevent infinite recursion resolving conditional types

* Use push/popTypeResolution and issue error

* Add failing test

* Fix the actual problem

* Revert unnecessary changes
2019-08-01 08:37:43 -07:00
Orta Therox
3145656f6a Merge branch 'master' of https://github.com/microsoft/typescript into 30246 2019-07-31 17:08:45 -04:00
Sheetal Nandi
1d18b4941e Store already known not parenthesized arrow expression positions for faster exit in case of deep parsing
Fixes #31987
2019-07-31 11:12:01 -07:00
Andrew Casey
dbe9e3d237 Merge pull request #32565 from amcasey/TripleSlashClassification
Support classification of triple-slash references
2019-07-29 12:27:55 -07:00
Anders Hejlsberg
4cc6618fc2 Merge pull request #32558 from microsoft/fix32247
Infer between closely matching types in unions and intersections
2019-07-29 11:34:14 -07:00
Orta Therox
30aad9db8d Support more terminators for parsing jsdoc filepaths 2019-07-29 09:46:42 -04:00
Anders Hejlsberg
a717d3ab44 Add regression test 2019-07-28 09:05:57 -07:00
Andrew Branch
3d09010dc8 Intersect 'this' types in union signatures (#32538)
* Intersect this types in union signatures

* Actually update baselines
2019-07-26 14:56:03 -07:00
Wesley Wigham
2a4930f4ec Bind a jsdoc enum as SymbolFlags.TypeAlias and not SymbolFlags.Enum (#32520)
* Bind a jsdoc enum as SymbolFlags.TypeAlias and not SymbolFlags.Enum

* Actually include an @enum tag as a declaration

* Add enum tag refs into a couple more syntax kind lists

* accept symbol baseline update
2019-07-26 13:57:22 -07:00
Anders Hejlsberg
ec38799e2a Add more tests 2019-07-26 13:17:00 -07:00
Orta Therox
b902a71e5f Handle namepaths inside JSDoc type expressions a bit better - fixes #31298 2019-07-25 19:38:48 -04:00
Andrew Casey
9647506d8c Support classification of triple-slash references
Note: not restricted to the element and attribute names that actually
bind
2019-07-25 15:59:17 -07:00