Wesley Wigham 4e6b2f3c93 Created a branded type for identifier-escaped strings (#16915)
* Created a branded type for escaped strings

Then flowed it throughout the compiler, finding and fixing a handful of
bugs relating to underscore-prefixed identifiers in the process.
Includes a test for two cases noticed - diagnostics from conflicting
symbols from export *'s, and enum with underscore prefixed member emit.

* Correctly double underscores WRT mapped types

* Add fourslash tests for other fixed issues

* use function call over cast

* Update forEachEntry type accuracy

* Just use escaped names for ActiveLabel

* Remove casts from getPropertyNameForPropertyNameNode

* This pattern has occurred a few times, could use a helper function.

* Remove duplicated helper

* Remove unneeded check, use helper

* Identifiers list is no longer escaped strings

* Extract repeated string-getting code into helper

* Rename type and associated functions

* Make getName() return UnderscoreEscapedString, add getUnescapedName()

* Add list of internal symbol names to escaped string type to cut back on casting

* Remove outdated comments

* Reassign interned values to nodes, just in case

* Swap to string enum

* Add deprecated aliases to escapeIdentifier and unescapeIdentifier

* Add temp var

* Remove unsafe casts

* Rename escaped string type as per @sandersn's suggestion, fix string enum usages

* Reorganize double underscore tests

* Remove jfreeman from TODO

* Remove unneeded parenthesis
2017-07-06 14:45:50 -07:00
..
2017-05-23 14:35:05 -07:00
2017-02-13 15:03:26 -08:00
2017-03-08 21:50:23 -08:00
2017-03-08 21:50:23 -08:00
2017-03-08 21:50:23 -08:00
2017-03-08 21:50:23 -08:00
2017-03-07 13:48:37 -08:00
2017-03-23 11:23:26 -07:00
2017-02-06 20:08:13 -08:00
2017-02-06 20:08:13 -08:00
2017-02-27 01:05:56 +00:00
2017-03-27 11:44:49 +02:00
2017-03-09 11:57:56 -08:00
2017-04-04 14:53:48 -07:00
2017-02-28 09:59:17 -08:00
2017-02-09 17:47:04 -08:00
2017-06-12 13:17:24 -07:00
2017-03-13 13:24:14 -07:00
2017-02-13 15:03:26 -08:00
2017-02-13 15:03:26 -08:00
2017-02-13 15:03:26 -08:00
2017-02-13 15:03:26 -08:00
2017-02-13 15:03:26 -08:00
2017-04-03 12:32:54 -07:00
2016-11-29 12:29:40 -08:00
2017-02-28 16:09:42 -08:00
2016-11-12 01:40:37 -08:00
2017-02-28 16:09:42 -08:00
2016-11-13 08:35:40 -08:00
2016-11-14 17:06:46 -08:00
2017-05-04 10:20:13 -07:00