Commit Graph

26317 Commits

Author SHA1 Message Date
Anders Hejlsberg fca46bb706 Compute per-element contextual type in getSpreadArgumentType 2019-03-26 07:00:19 -07:00
Sheetal Nandi 35470b3f3b Make tsbuildInfoFile as commandline option to tsc (and not tsc -b) 2019-03-25 14:47:36 -07:00
Nathan Shively-Sanders 32054f1c31 Forbid accessing block-scoped variables on globalThis (#30510)
* Forbid accessing const & let on globalThis

It's just an error; you still get the type of the property.

* Disallow access of blockscoped vars on globalThis

Also change Array, Function, String, et al from `const` to `var` so that
they remain accessible via `globalThis.String`.

* Update baselines after lib.d.ts change

Note especially the change in redefineArray, which is now allowed as
long as you provide a type that is assignable to ArrayConstructor.

* Remove blockscoped vars from typeof globalThis

Unlike forbidding them, this removes the properties entirely.

Unfortunately, this means that accessing these properties is only an
error with noImplicitAny, and that error is quite confusing.

Let's discuss our options. I see 3:

1. Forbid access of block-scoped vars as properties (in all flag
settings), but leave them on the type. Simple to implement.
2. Remove block-scoped vars from the globalThis type. Has the bad
error/flag behaviour described above, but simple to implement.
3. Remove block-scoped vars from the globalThis type. Also, forbid
accessing them by executing another resolveName lookup for failed
property accesses on globalThisSymbol. If the second lookup returns a
blockscoped var, issue an error instead of falling back to the index
signature. This seems too complex to me.

* Update baselines

* Better error for block-scoped usage on globalThis

So that value-space references have as clear an error as type-space
references.

* Update fourslash tests

* Fix semi-colon lint

* Don't copy so much when filtering blockscoped vars
2019-03-25 14:07:48 -07:00
Anders Hejlsberg 3d0e2f5f45 Introduce ContextFlags to propagate origin of request for contextual type 2019-03-24 11:15:51 -07:00
BigAru 2a15acbbfd refactor creation of template expression 2019-03-24 19:14:19 +01:00
BigAru 29fc8c30ba support case when variable is re-assigned 2019-03-24 16:52:26 +01:00
BigAru 1bcd8da415 clean test cases 2019-03-24 16:52:26 +01:00
BigAru d2ab0bd05a support single quotes when decoding raw string 2019-03-24 16:52:26 +01:00
BigAru 6a1df730c5 complete handling for octal escape 2019-03-24 16:52:26 +01:00
BigAru 806eb125d9 add skeleton for handling octal escape 2019-03-24 16:52:26 +01:00
BigAru 3ce216849a extract getEdits for template literal 2019-03-24 16:52:25 +01:00
BigAru 16109dfd00 optimize templateLiteral check 2019-03-24 16:52:25 +01:00
BigAru 2b08bd3faf change from tuple to object literal 2019-03-24 16:52:25 +01:00
BigAru 9b9aa350af optimize getEdits string concatenation 2019-03-24 16:52:25 +01:00
BigAru ad0614abea extract getEdits for string concatenation 2019-03-24 16:52:25 +01:00
BigAru 08ed6cf8bd optimize nodesToTemplate 2019-03-24 16:52:25 +01:00
BigAru 6721966504 extract creation of templateHead 2019-03-24 16:52:25 +01:00
BigAru cba0ddcbde only show toString if expression is not binary 2019-03-24 16:52:24 +01:00
BigAru 1594468250 add possibility to invoke from parentheses 2019-03-24 16:52:24 +01:00
BigAru 74e3cd758e remove parentheses also when expression at ending 2019-03-24 16:52:24 +01:00
BigAru 7d9e8f4e21 treat corner cases 2019-03-24 16:52:24 +01:00
BigAru 882e616009 optimize preceding expression 2019-03-24 16:52:24 +01:00
BigAru 6de23d766a do not offer refactoring for tagged templates 2019-03-24 16:52:24 +01:00
BigAru 6fe4663d92 combine preceding expressions to one 2019-03-24 16:52:24 +01:00
BigAru 3b284886b1 add toString visibility from expression and from middle part 2019-03-24 16:52:23 +01:00
BigAru 576271ef55 catch empty head of template literal 2019-03-24 16:52:23 +01:00
BigAru 2b299943f9 complete toString 2019-03-24 16:52:23 +01:00
BigAru fc13b2b43a add test cases 2019-03-24 16:52:23 +01:00
BigAru b84f95dc5d add working conversion to template literal 2019-03-24 16:52:23 +01:00
BigAru 03f0f88101 add diagnostic messages 2019-03-24 16:52:23 +01:00
BigAru 2db0745b64 add skeleton 2019-03-24 16:51:22 +01:00
Anders Hejlsberg 7ec7f02ec3 Instantiate contextual type using non-fixing mapper 2019-03-23 10:46:46 -07:00
Gabriela Araujo Britto 0f6f3b79b5 Fix find all references of inherited constructor (#30514)
* recursively look for inherited constructor references

* add test

* remove outdated comment

* add tests

* move function

* improve tests

* minor refactor

* fix convert params refactoring to deal with inherited constructor calls

* simplify refactor test
2019-03-22 15:17:50 -07:00
Wesley Wigham 1639a5a2c2 Handle huge unions better in createUnionOrIntersectionProperty (#30411)
* Handle huge unions better in createUnionOrIntersectionProperty

* Mimic first-in-wins behavior of pushIfUnique to retain order

* !props -> props.length === 0 (why dont we warn on that ffs)

* Avoid collection into an array if there are no properties
2019-03-22 09:56:39 -07:00
王文璐 e8b6615c2c update types 2019-03-22 18:13:18 +08:00
王文璐 35ded510bb Merge branch 'master' into attach_property_to_default_export 2019-03-22 17:40:37 +08:00
Wesley Wigham b86dea03f2 Fix crash caused by cyclic defaults (#30532) 2019-03-21 18:27:14 -07:00
Sheetal Nandi 722afc18bb Fix typo 2019-03-21 09:01:52 -07:00
Sheetal Nandi 8da384d32a Report output file not built error for any module resolution that ends up to source file
Fixes #29918
2019-03-21 08:55:12 -07:00
Sheetal Nandi 34c3233d18 Allow --incremental to be command line option 2019-03-20 14:48:47 -07:00
Sheetal Nandi 09747e5c35 Add test for current --incremental behaviour 2019-03-20 13:59:12 -07:00
Ron Buckton 2932421370 Merge pull request #30495 from Microsoft/fix29427
Adjust offset to account for 'this' parameter when emitting parameter decorators
2019-03-20 12:56:50 -07:00
Sheetal Nandi 800f7a3447 Merge pull request #30414 from Microsoft/jsSyntaxCompletions
Filter ts only keywords from js file completion
2019-03-20 10:38:11 -07:00
Sheetal Nandi e94b7d8b37 Check extended tsconfig time with oldest output time to report not upto date 2019-03-19 17:19:15 -07:00
Sheetal Nandi 8cef0c592a Merge branch 'master' into tsconfigChangeDetection 2019-03-19 16:54:25 -07:00
Ron Buckton cfb0adeadf Merge pull request #28609 from ajafff/class-decorator-generics
resolve TypeReference in class decorator at parent of class
2019-03-19 15:46:58 -07:00
Ron Buckton a0f122baa7 Merge pull request #30494 from Microsoft/fix29561
Prevent substitution of 'super' in async super helper
2019-03-19 15:42:20 -07:00
Sheetal Nandi 519426407b Merge pull request #30492 from Microsoft/prettyBuild
Ensure --pretty with --build is passed correctly to create reporters
2019-03-19 12:11:09 -07:00
Ron Buckton 07bec2893f Adjust offset to account for 'this' parameter when emitting parameter decorators 2019-03-19 11:46:18 -07:00
Ron Buckton e19c7f1a45 Prevent substitution of 'super' in async super helper 2019-03-19 11:35:18 -07:00