9706 Commits

Author SHA1 Message Date
Wesley Wigham
ed61d2d803 Emit updated export declarations when transformed from export * (#18017)
* Failing test for missing transform output

* dont elide all export stars

* Remove comment from test

* Refuse to perform ellision on transformed nodes
2017-09-06 21:58:04 -07:00
Wesley Wigham
5c779b1edb Allow singleline string writer to be recursively used (#18297)
* Allow singleline string writer to be recursively used

* Add unit test exposing issue

* Fix lints
2017-09-06 21:56:16 -07:00
Wesley Wigham
73eff819b5 Fix 18224 (#18259)
* Probably fix 18224

* Corrected test
2017-09-06 14:44:29 -07:00
Anders Hejlsberg
fc16330043 Minor changes 2017-09-06 09:48:00 -07:00
Anders Hejlsberg
95bf71f08c Use canonicalized forms when comparing signatures 2017-09-05 17:17:04 -07:00
Anders Hejlsberg
6c8bc182a9 Merge pull request #18231 from Microsoft/cacheAnonymousTypes
Improve caching of anonymous types
2017-09-05 21:11:17 +01:00
Nathan Shively-Sanders
2fc14d8ae8 Remove added type predicates
I forgot that 'f(x): x is T' implies that x is *not* T if f returns
false.
2017-09-05 10:39:32 -07:00
Nathan Shively-Sanders
d4708dcab2 Merge branch 'master' into recursive-type-reference-cache 2017-09-05 10:36:46 -07:00
Anders Hejlsberg
1edecac0ab Merge pull request #18126 from Microsoft/propertyRelations
Compare shapes of objects before comparing contained types
2017-09-03 20:33:58 +01:00
Anders Hejlsberg
82281d9910 Fix linting errors 2017-09-03 11:00:03 -07:00
Anders Hejlsberg
319617c5d8 Optimize caching of type literals 2017-09-03 08:53:04 -07:00
Anders Hejlsberg
b65ff647c1 Improved caching scheme for anonymous types 2017-09-02 10:27:48 -07:00
Nathan Shively-Sanders
541920eb31 Merge pull request #18014 from Microsoft/allow-bang+dotdotdot-as-start-of-type
Allow bang+dotdotdot as start of type
2017-09-01 14:26:16 -07:00
Nathan Shively-Sanders
520d7fff49 Add depth limit to recursive type reference id generation
4 is the limit.
2017-09-01 14:19:12 -07:00
Andy
7a4c3da239 Simplify return type parsing (#18206)
* Simplify return type parsing

* Make control flow clearer
2017-09-01 10:58:49 -07:00
Nathan Shively-Sanders
c9d081eed4 Expand type references recursively in cache key
This means that `A<B<T, C<U>>>` will include the keys for `B` and `C`
now.
2017-09-01 09:55:38 -07:00
Wesley Wigham
3e850156da Propagate isRestParameter through symbol instantiation (#18087)
* Add repro from #17666

* Actually use repro from issue, propegate isRestParameter on instantiation
2017-08-31 10:15:42 -07:00
Anders Hejlsberg
effa2597fa Cache contextual type for || operator to avoid exponential compile time 2017-08-30 16:22:16 -07:00
Andy
601c113d93 Handle indexed access types in getSymbolAtLocation and findAllReferences (#18149)
* Handle indexed access types in getSymbolAtLocation and findAllReferences

* Update baselines, simplify `const objectType`
2017-08-30 14:19:49 -07:00
Andrew Casey
ea4fdc5a99 Merge pull request #17988 from amcasey/ExtractGeneric
Handle loose type parameters in Extract Method
2017-08-29 13:00:03 -07:00
Andy
450c32ace0 Add an ExpandingFlags const enum (#17740)
* Add an ExpandingFlags const enum

* Reformat
2017-08-29 11:33:01 -07:00
Andrew Casey
30802cda97 Handle loose type parameters in Extract Method
Known limitations:

1. If a type parameter on an inner symbol shadows a type parameter on an
outer symbol, the generated code will be incorrect.  We should either
rename one or more type parameters or forbid the extraction.

2. Type arguments are always passed explicitly, even if they would be
inferred correctly.
2017-08-29 11:10:16 -07:00
Andy
2350d46e44 Simplify isContextSensitive (#17722) 2017-08-29 10:28:22 -07:00
Andy
7ac4380514 Use getPropertyOfObjectType to get a superclass property (#18113) 2017-08-29 10:23:30 -07:00
Andy
78524c1b90 Avoid climbing ancestors in getAnyImportSyntax (#17832) 2017-08-29 09:41:57 -07:00
Andy
6168d6f074 Inline checkLiteralExpression (#17720) 2017-08-29 09:38:44 -07:00
Andy
9daa70c47e Revert "Handle indexed access types in getSymbolAtLocation and findAllReferences (#17787)" (#18111)
This reverts commit 30b3cb0f682df870fe23f8b1196bab06de1380b6.
2017-08-29 09:37:27 -07:00
Andy
7306b13f74 Don't issue a use-before-declared error for a property that exists in a superclass (#17910)
* Don't issue a use-before-declared error for a property that exists in a superclass

* Simplify isInPropertyInitializer

* Respond to PR comments
2017-08-29 09:18:09 -07:00
Anders Hejlsberg
e3b1487240 Check all properties are present before checking types in relationships 2017-08-29 09:00:17 -07:00
Andy
30b3cb0f68 Handle indexed access types in getSymbolAtLocation and findAllReferences (#17787) 2017-08-29 07:53:22 -07:00
Andy
934da9fb39 Remove template strings in checker.ts (#18016)
* Remove template strings in checker.ts

* Inline function
2017-08-28 15:03:34 -07:00
Daniel Rosenwasser
a60b1037f8 Merge pull request #18077 from fwouts/regex-bug
Fix #18071: Printer failure when encountering RegularExpressionLiteral
2017-08-28 14:10:29 -07:00
Nathan Shively-Sanders
278dcc6fac Merge pull request #18029 from Microsoft/allow-string-enum-in-element-access
Allow string enum in element access
2017-08-28 12:56:08 -07:00
Andy
bab287d252 Simplify getAccessibleSymbolChain (#18053) 2017-08-28 11:44:41 -07:00
Nathan Shively-Sanders
8087206078 Explain boolean exception in getIndexedAccessType
Booleans are not treated like other unions in order to skip straight to
error reporting so that the error is reported with 'boolean' instead of
'true'.
2017-08-28 11:09:25 -07:00
Nathan Shively-Sanders
197040d3fd Merge branch 'master' into allow-string-enum-in-element-access 2017-08-28 11:00:13 -07:00
Francois Wouts
884cadf0a3 Fix TypeScript printer bug when encountering regular expression literals
See https://github.com/fwouts/sample-js-selfparsing/blob/typescriptbug/src/script.js to reproduce the bug.

Not sure where to put tests for this, unfortunately!
2017-08-27 22:03:56 +10:00
Wesley Wigham
a32d99dfc8 Use visitNode (#18059) 2017-08-25 18:22:03 -07:00
Andy
e73b10a304 Use isPartOfExpression in extractMethod, not isExpression (#18047)
* Use isPartOfExpression in extractMethod, not isExpression

* Add whitespace
2017-08-25 15:15:16 -07:00
Andy
4d05bfdf4a moduleAugmentations may contain an Identifier (#18009)
* `moduleAugmentations` may contain an `Identifier`

* Add comment

* Rename function
2017-08-25 15:14:51 -07:00
Ron Buckton
eb75619cda Merge pull request #18051 from Microsoft/fix17551
Fix crash in name resolution with custom transforms and emitDecoratorMetadata
2017-08-25 15:14:21 -07:00
Wesley Wigham
38c3f67652 Visit destructuring computed names (#18052) 2017-08-25 15:10:47 -07:00
Ron Buckton
bdfb92aebe Fix crash in name resolution with custom transforms and emitDecoratorMetadata 2017-08-25 14:17:48 -07:00
Anders Hejlsberg
555a742d16 Merge pull request #18042 from Microsoft/fixMappedTypeIndexedAccess
Defer mapped type indexed access transformations
2017-08-25 20:59:16 +01:00
Andy
fe1242c8a9 Don't try to extract import to a method (#18025) 2017-08-25 09:53:56 -07:00
Andy
3a0ab74ed6 Test for action description of code actions, and simplify description for extracting method to file (#18030)
* Test for action description of code actions, and simplify description for extracting method to file

* Add unit test file missing from tsconfig.json (only affects gulp) and update tests

* Use the actual number

* Use "module scope" or "global scope" instead of "this file"
2017-08-25 09:53:28 -07:00
Anders Hejlsberg
3d3ed04b28 Perform indexed access type transformations consistently 2017-08-25 08:49:34 -07:00
Anders Hejlsberg
616bb5fcf6 Defer mapped type indexed access transformations 2017-08-25 07:10:53 -07:00
Wesley Wigham
62eaaf9206 Fix crash when attempting to merge an import with a local declaration (#18032)
* There should be no crash when attempting to merge an import with a local declaration

* Show symbol has actually merged within the module
2017-08-24 17:12:42 -07:00
Wesley Wigham
643a7e7e33 Call dynamic import transform on expression used by export equal statement (#18028)
* Call dynamic import transform on expression used by export equal statement

* Use Debug.fail
2017-08-24 17:08:57 -07:00