Commit Graph

24451 Commits

Author SHA1 Message Date
Anders Hejlsberg 787bb9ddb6 Improve support for numeric string types (#48837)
* Improve support for numeric string types

* Update test

* Add tests
2022-04-25 15:36:06 -07:00
Andrew Branch c99380f87b Fix auto-import completions sometimes not updating existing imports (#48815) 2022-04-22 15:32:52 -07:00
Jake Bailey 07660c8307 Fix emit for undefined SourceFile (#48774)
Co-authored-by: Ron Buckton <ron.buckton@microsoft.com>
2022-04-22 11:18:53 -07:00
Sheetal Nandi 94cb657b1c Fix: verification of incremental correctness that was not working because of using wrote writeFile (#48751)
* Use fixed time for vfs so baselining is consistent

* Baseline buildinfos

* Write new file text in baseline even if the file wasnt read on the shadow

* Remove unnecessary debugger statement

* Make sure that incremental correctness is checked with correct writeFile so we know buildInfo was written
Also baseline these so its easy to verify the changes

* More baselines for the tsbuildinfo

* Renames and test fixes after dts Signature change merge

* COmment
2022-04-22 09:30:58 -07:00
Mateusz Burzyński af30c79093 Fixed string literal completions for partially-typed strings when overload could get matched (#48811) 2022-04-22 08:36:14 -07:00
Oleksandr T d71dd1d912 fix(48556): throw an error on jsx spread attributes with an invalid type (#48570) 2022-04-21 16:31:16 -07:00
Andrew Branch 7abdb9e7ef Format completion snippet text before escaping (#48793)
* Format snippet text before escaping

* Reset `escapes` before printing so printer can be reused
2022-04-21 13:40:14 -07:00
Sheetal Nandi ab2523bbe0 Handles time on vfs and write non empty shadowed files in baseline even if they were not read (#48703)
* Use fixed time for vfs so baselining is consistent

* Baseline buildinfos

* Write new file text in baseline even if the file wasnt read on the shadow

* Remove unnecessary debugger statement
2022-04-21 11:50:28 -07:00
Sheetal Nandi 7a59e45f48 During emit, if shape signature for the file is same as version, then update it with emitted d.ts file (#48616)
* If we are writing dts file and have used file text as version, we can update the signature when doing actual emit

* Make WriteFileCallback Api ready for future

* Assert that there is only single source file when emitting d.ts file
2022-04-21 11:00:34 -07:00
Sheetal Nandi 45faac7e70 If we are updating dts of any of the file and it affects global scope, everything needs update in signature and dts emit (#48600)
* Add test

* Renames

* More refactoring

* If we are updating dts of any of the file and it affects global scope, everything needs update in signature and dts emit
Fixes #42769
2022-04-20 21:05:10 -07:00
John Lusty 273a567617 Fix handling of prologue statements when there are parameter property declarations (#48775) 2022-04-20 08:49:22 -07:00
Wesley Wigham ce487e4fd3 Fix meta property symbol lookup (#48773) 2022-04-19 17:57:06 -07:00
Andrew Branch d81a976c14 Ensure enum aliases referenced in other enum members do not get marked as referenced (#48770)
* Add test

* Ensure enum aliases referenced in other enum members do not get marked as referenced
2022-04-19 15:23:25 -07:00
Patrick Szmucer 2e619fdc80 Fix transformed constructor code when there is code between prologue statements and super call (#48765) 2022-04-19 09:19:25 -07:00
Jake Bailey d3943fc86f Disallow line break between entity name and type arguments in typeof expression (#48755) 2022-04-18 16:18:31 -07:00
Anders Hejlsberg 65f6cb23d3 Constraints for mapped types with filtering 'as' clauses (#48699)
* Constraints for mapped types with filtering 'as' clauses

* Add regression test
2022-04-18 14:24:22 -07:00
Sheetal Nandi 56a4a93718 Instead of maintaining cache id etc, reset the "working" exports map cache. (#48579)
* Revert "Avoid no-op export map updates (#45238)"

This reverts commit 0f6e6efde0.

* Need to reset currentAffectedFilesExportedModulesMap after commiting to final exports map
2022-04-15 15:11:30 -07:00
Andrew Branch 8bd7ce6feb Find Source Definition (#48264)
* Prototype resolving to JS when go-to-def aliases all resolve to ambient declarations

* Add test infrastructure

* Start fleshing out test coverage

* Fix some go-to-def stuff

* Finish lodash test case

* Make go-to-implementation never return ambient results

* Build new functionality into go-to-implementation

* Update baselines

* Two more test cases

* Refine definition searches for unresolved imports

* Revert "Build new functionality into go-to-implementation"

This reverts commit 381799d0f1.

* Fix tests

* Revert go-to-implementation changes

* Wow a bunch of code was unnecessary

* Update baselines and go-to-def test

* Fix navigation on symbols that are not aliases but resolve through aliases in chain

* Temporarily replace go-to-def with new command implementation

* Revert "Temporarily replace go-to-def with new command implementation"

This reverts commit 34c6cfdebb.

* Revert "Wow a bunch of code was unnecessary"

This reverts commit 1cb2ba646c.

* Bring back some deleted code needed for a new test case

* Clean up a little

* Rename more stuff

* Update test

* Update API baseline

* Temporarily replace go-to-def with new command implementation

* PR review fixes

* Fix getTopMostDeclarationNamesInFile

* Rename local

* Use hash set

* Remove option from commandLineParser

* Keep noDtsResolution project around

* Handle AuxiliaryProject kind in ScriptInfo getDefaultProject etc.

* Do not run updateGraph in the background for AuxiliaryProject

* Don’t create auxiliary project outside of semantic mode

* No-op on scheduled invalidation

* Add comments to unit test

* Sync compiler options to auxiliary project

* Fix case sensitivity

* Update extensionIsOk with new file extensions

* PR feedback

* Update API baseline

* Mark scheduleInvalidateResolutionsOfFailedLookupLocations internal

* Use same heuristics on property accesses of loosely-resolvable aliases as unresolvable named imports

* Rename command, and no need to return the bound span

* Update API baseline
2022-04-14 15:44:19 -07:00
Jake Bailey e6dcf6f5cb Fix lints after dep update (#48707) 2022-04-14 15:19:22 -07:00
Josh Goldberg fa2515ecd9 Fixed multiple prologue directives with parameter properties (#48687) 2022-04-14 09:29:15 -07:00
Andrew Branch 796be45118 Update signatures to avoid post-LKG error (#48677) 2022-04-13 16:36:35 -07:00
Oleksandr T 73c93eec5c fix(48657): allow JSXElement names to be IdentifierNames (#48661) 2022-04-13 12:32:10 -07:00
Anders Hejlsberg a027cfa8ac More permissive parsing of instantiation expressions (#48659)
* More permissive parsing of expressions with type arguments

* Add test
2022-04-13 09:16:43 -04:00
Sheetal Nandi 988fa85f88 Handle declaration file names consistently (#48647) 2022-04-12 11:43:57 -07:00
Anders Hejlsberg cce61d1b69 Variance annotations on class expressions + deferred valiation (#48645)
* Variance annotations on class expressions + deferred validation

* Add regression tests
2022-04-12 09:34:33 -04:00
Sheetal Nandi a1e77edfdf Fix the issue with not serializing impliedFormat when signature and version of the file are same (#48614)
* When checking for incremental correctness always calculate signature

* Fix the issue with not serializing impliedFormat when signature == version of the file
2022-04-11 12:39:57 -07:00
Andrew Branch 02787cfde1 Make LKG and nightly declaration emit the same (#48641) 2022-04-11 12:33:57 -07:00
Sheetal Nandi 15c2120a95 Update affected files pending emit when emitting using SemanticDignosticsBuilderProgram (#48519)
* Update affected files pending emit when emitting using SemanticDignosticsBuilderProgram

* Saving of affected files pending emit is not needed any more

* PR feedback
2022-04-11 11:54:39 -07:00
Jack Bates c1db699482 Don't skip tests named *Fourslash.ts (#48615) 2022-04-11 11:45:44 -07:00
Gabriela Araujo Britto dfb9f2f953 don't have type annotations on suggested object literal methods (#48607) 2022-04-11 11:33:02 -07:00
csigs f81f63f343 LEGO: Merge pull request 48633
LEGO: Merge pull request 48633
2022-04-10 03:15:53 -07:00
Anders Hejlsberg a744862aa5 Explore fewer constraints in getResolvedBaseConstraint (#48613) 2022-04-09 10:06:01 -04:00
csigs b797a3eb2e LEGO: Merge pull request 48621
LEGO: Merge pull request 48621
2022-04-09 03:16:15 -07:00
Andrew Branch af3e1d4dfd Reuse type nodes from optional parameters even when not written as a union with undefined (#48605)
* Reuse type nodes from optional parameters and properties even when not written as a union with `undefined`

* Remove newly unneeded NodeBuilderFlag

* Update public API

* Update baselines from main
2022-04-08 14:28:36 -07:00
Oleksandr T 3b2fa50a14 fix(48487): allow using private names as the self-assignment entity name (#48496) 2022-04-08 10:48:28 -07:00
csigs b1fb7293c0 LEGO: Merge pull request 48612
LEGO: Merge pull request 48612
2022-04-08 07:59:17 -07:00
LowR b45cf0d694 disentangle the meaning of SymbolLinks.target (#47098) 2022-04-07 15:40:39 -07:00
Zzzen f4b99ea47c preserve this when extracting functions (#41992)
* preserve this when extracting functions

* rename IsThisReferringToFunction to UsesThisInFunction

* refactor

* update tests
2022-04-07 15:05:46 -07:00
Sheetal Nandi d8edd191ab Write version for baselining in buildinfo (#48602)
Also baseline buildinfo so its easier to detect mistakes
2022-04-07 13:38:54 -07:00
jihndai b18141b0bc Do not reset control flow analysis on index signatures (#48427)
* do not flag index signatures as a control flow container

* add tests and baselines
2022-04-07 13:29:07 -07:00
Ron Buckton b975dfa102 Write more useful types in .types test outputs (#48578) 2022-04-07 09:51:17 -07:00
Wesley Wigham 4d2fb5407c Preserve the distributivity of inlined conditional types in declaration emit (#48592) 2022-04-06 17:21:46 -07:00
Wesley Wigham 94d33ba85d Ensure late painted statements are only transformed once, so inner substitutions are consistently read (#48558)
* Ensure late painted statements are only transformed once, so inner substitutions are consistently read

* PR suggestion

* Fix lint
2022-04-06 16:36:42 -07:00
Sheetal Nandi 4c6f25a998 More refactoring of tsc baselines to help with easier updates (#48572)
* Some refactoring of baselines

* Some refactoring of baselines
2022-04-06 14:10:08 -07:00
Anders Hejlsberg 8f6e626d1c Permit type alias variance annotations only for certain object types (#48589)
* Permit type alias variance annotations only for certain object types

* Accept new baselines
2022-04-06 14:04:42 -07:00
Sheetal Nandi 3fd8a6e443 Some refactoring for baselining for easy update (#48516)
* Some refactoring for baselining for easy update

* Set modified time in baseline

* Some renames per feedback
2022-04-06 12:46:34 -07:00
Nathan Shively-Sanders 16b6f0f533 manually update webworker to remove AbortSignal.abort (#48580) 2022-04-05 17:08:17 -07:00
Andrew Casey 76e74370ab Only report isDefinition when FAR is triggered on a definition (#48566)
* Don't report isDefinition unless the starting node is a declaration

* Drop isDefinition everywhere it isn't specifically needed

* Fix tsserver tests

* Update shim comment

* Update baselines

* Add tests for isDefinition

* Update doc comment

* Clear isDefinition from all references if the first one lacks it
2022-04-05 17:04:18 -07:00
jihndai f7c457d207 Update Intl.DisplayNames types for better spec compliance (#48442)
* update display names types

* update baselines

* add tests and baselines

* add another test
2022-04-05 16:58:25 -07:00
Oleksandr T 9881c993fc fix(48544): allow to convert default exports to names for import type nodes (#48550) 2022-04-05 16:53:01 -07:00