Commit Graph

9739 Commits

Author SHA1 Message Date
Anders Hejlsberg
f40f0db676 Preserve intersections on the source side in type inference 2017-09-09 12:43:39 -07:00
Andy
e51e91dd2c Change wording of scope description (#18342) 2017-09-09 05:52:52 -07:00
Andy
409d6597eb Add never helper function (#18287)
* Add `never` helper function

* Move to Debug.assertNever, keep old messages
2017-09-08 14:22:44 -07:00
Nathan Shively-Sanders
d4e3e19763 Merge pull request #18333 from Microsoft/fix-forEachChild-JSDocTypedefTag
Fix forEachChild jsdoc `@typedef` tag
2017-09-08 08:52:46 -07:00
Nathan Shively-Sanders
cab05ddd3f Inline variable to aid control flow 2017-09-08 08:33:17 -07:00
Andy
4ee7d3aeb2 Remove unnecessary check in emitNodeList (#18327) 2017-09-08 07:18:37 -07:00
Nathan Shively-Sanders
fb5e8c6110 Fix forEachChild's visit of JSDocTypedefTag
Also remove JSDocTypeLiteral.jsdocTypeTag, which made no sense since it
was only useful when storing information for its parent `@typedef` tag.
2017-09-07 16:37:13 -07:00
Wesley Wigham
27f9cdb1ae Explicitly avoid canonicalizing paths during configuration handling (#18316)
* Explicitly avoid canonicalizing paths during configuration handling

* Extract usage of identity in commandLineParser into single function, use identity in checker
2017-09-07 15:54:24 -07:00
Andy
2e02778960 When loading a module from node_modules, get packageId even in the loadModuleFromFile case (#18185)
* When loading a module from node_modules, get packageId even in the `loadModuleFromFile` case

* Support packageId for <reference types> too
2017-09-07 14:31:20 -07:00
Andy
ed4e2e6e3b Ensure that emitter calls callbacks (#18284)
* Ensure that emitter calls calbacks

* Move new parameter to end of parameters

* Fix for ConditionalExpression

* Make suggested changes to emitter

* Fix parameter ordering

* Respond to minor comments

* Remove potentially expensive assertion

* More emitter cleanup
2017-09-07 14:30:19 -07:00
Anders Hejlsberg
8c64937888 Merge pull request #18153 from Microsoft/optimizeArrays
Optimize array operations to reduce memory footprint
2017-09-07 22:26:48 +01:00
Nathan Shively-Sanders
2bc9ecb4fd Merge pull request #18296 from Microsoft/disable-lookahead-isStartOfParameter
Disable isStartOfType's lookahead when called from isStartOfParameter
2017-09-07 13:57:28 -07:00
Nathan Shively-Sanders
397ff84f1a Merge pull request #18317 from Microsoft/object-literal-enum-property-names
Object literals computed property names allow literal-typed expressions
2017-09-07 13:56:10 -07:00
Andy
508cde0ea1 Document assignment to aliasSymbol in getUnionTypeFromSortedList (#17434)
* Document assignment to aliasSymbol in getUnionTypeFromSortedList

* Update wording
2017-09-07 12:39:13 -07:00
Daniel Rosenwasser
448d75c08f Merge pull request #17675 from HerringtonDarkholme/master
fix #16567: better coloring on light theme terminal
2017-09-07 12:33:12 -07:00
Wesley Wigham
6695255d86 Allow trailing newline to have fake position (#18298)
* Actually support baselining pretty in the harness

* Test case from 18216

* Use host newline in formatDiagnosticsWithColorAndContext

* Merge statements
2017-09-07 12:26:23 -07:00
Nathan Shively-Sanders
ac58751b62 Object literals computed property names allow literal-typed expressions 2017-09-07 11:30:38 -07:00
Wesley Wigham
c1f2afd645 Add typedef declaration space, unify typedef name gathering (#18172)
* Add typedef declaration space, unify typedef name gathering, strengthen errorUnusedLocal

* Bonus round: make jsdoc presence way mroe typesafe

* Be exhaustive in nameForNamelessJSDocTypedef

* Remove nonrequired casts

* Replace more casts with guards

* Cannot be internal

* Debug.fail returns never, assert never no longer needs unreachable throw to satisfy checker

* Rename type

* Add replacement message as in 18287
2017-09-07 10:28:58 -07:00
Klaus Meinhardt
69933bd4d1 expose isExternalModuleNameRelative and moduleHasNonRelativeName (#17971)
* expose isExternalModuleNameRelative and moduleHasNonRelativeName

Fixes: #17890

* only expose isExternalModuleNameRelative
2017-09-07 09:46:58 -07:00
Mohamed Hegazy
c82881f36e Fix build break 2017-09-07 09:36:31 -07:00
Klaus Meinhardt
a8dfdf2fa1 Add and fix some AST Node parent types (#18200) 2017-09-07 09:22:26 -07:00
Andy
193f4be355 Enable interface-over-type-literal lint rule (#17733) 2017-09-07 09:14:59 -07:00
Nathan Shively-Sanders
90d9f3d4ba Rename isStartOfType parameter used by isStartOfParameter 2017-09-07 09:07:59 -07:00
Andy
7541c705bf Support navTo for special assignment kinds (#18154)
* Support navTo for special assignment kinds

* Return ScriptElementKind.unknown
2017-09-07 07:45:11 -07:00
Andy
b3c87aa919 Support find-all-references for default keyword (#17992)
* Support find-all-references for anonymous default exports

* Also handle re-exported default exports

* Add test for using `export =` with `--allowSyntheticDefaultExports`
2017-09-07 07:26:22 -07:00
Andy
0434fe797a Get quickInfo from a contextual type if possible (#18119) 2017-09-07 07:22:39 -07:00
Wesley Wigham
72cbc12c9a Allow undefined/null to override all parameters (#18058) 2017-09-06 22:08:42 -07:00
Wesley Wigham
c3e090695e Do not consider UMD alias symbols as visible within external modules (#18049)
* Do not consider UMD alias symbols as visible within external modules in the symbol writer

* Minimal repro
2017-09-06 22:07:30 -07:00
Wesley Wigham
72884b8f27 Emit comments on system export default expressions on the surrounding export call epxression instead (#17970) 2017-09-06 21:59:06 -07:00
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
Nathan Shively-Sanders
a5c2eac2ee Test:disable lookahead in isStartOfParameter 2017-09-06 15:54:14 -07:00
Wesley Wigham
73eff819b5 Fix 18224 (#18259)
* Probably fix 18224

* Corrected test
2017-09-06 14:44:29 -07:00
Nathan Shively-Sanders
7c69dd84b9 Disable lookahead in isStartOfParameter/isStartOfType 2017-09-06 13:11:35 -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