9732 Commits

Author SHA1 Message Date
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
Anders Hejlsberg
3f090114ff Optimize array operations to reduce memory footprint 2017-08-30 09:44:51 -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