Commit Graph
9697 Commits
Author SHA1 Message Date
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
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 30b3cb0f68.
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
Ron Buckton 05402b8596 Merge pull request #18027 from Microsoft/fix16924
Switch to arrow for ts class wrapper IIFE
2017-08-24 17:02:18 -07:00
Ron Buckton 4c68b6d7f0 Merge pull request #16686 from Microsoft/fix16467
Improve JavaScript type from constructor imported via require
2017-08-24 17:00:38 -07:00
Wesley Wigham f824e7214d Give mapped type properties a synthetic declaration name (#18023)
* Escape symbol names which are not valid identifiers and wrap them in quotes

* Pass forward type, do work in getNameOfSymbol

* Minimal test

* Fix nit
2017-08-24 16:48:11 -07:00
Wesley Wigham 336df751ea Fix issue #16803 do not error on getters/setters (#18031) 2017-08-24 15:53:09 -07:00
Wesley Wigham 2f1bd8cff9 Escape \0 followed by a number as a hex escape to avoid printing an octal literal (#18026) 2017-08-24 15:52:04 -07:00
Nathan Shively-Sanders 5534899e2a Allow string enums in element access
Previously literal union types were disallowed to improve errors by
printing `boolean` instead of `true | false`. But string enums are
literal union types that should be allowed, so now only booleans are
disallowed.
2017-08-24 14:04:57 -07:00
Ron Buckton 610104bef8 Switch to arrow for ts class wrapper IIFE 2017-08-24 13:40:20 -07:00
Ron Buckton 038d256fe5 Merge pull request #17996 from Microsoft/fix16681
Fix crash when exporting class without name
2017-08-24 11:07:12 -07:00
Andy c4ed554597 Simplify isExpression check (#17741) 2017-08-24 10:27:07 -07:00