9759 Commits

Author SHA1 Message Date
Andy
cf53743bd6 In isInPropertyInitializer, don't bail out at a PropertyAssignment (#18449) 2017-09-14 07:59:53 -07:00
Andy
2a70bf5158 Don't count a write-only reference as a use (#17752)
* Don't count a write-only reference as a use

* Split isWriteAccess to isWriteOnlyAccess and isReadOnlyAccess

* Update "unusedParameterUsedInTypeOf" to use "b"

* Update diagnostic messages: "is never used" -> "its value is never read"

* Use a WriteKind enum

* Rename enum and move documentation to enum members
2017-09-13 09:02:33 -07:00
Andrew Casey
40e459117a Merge pull request #18343 from amcasey/InsertionPosition
Improve insertion position of extracted methods
2017-09-12 16:48:45 -07:00
Wesley Wigham
403f585622 enclosingDeclaration can be undefined within getAccessibleSymbolChain (#18400) 2017-09-12 10:43:24 -07:00
Nathan Shively-Sanders
2fbc2259a1 Merge pull request #18392 from Microsoft/fix-contextually-typing-arguments-object
Fix contextually typing arguments object
2017-09-11 16:22:17 -07:00
Anders Hejlsberg
d90814bc57 Merge pull request #18391 from Microsoft/fixMappedTypeInference
Inference for higher order mapped, index and lookup types
2017-09-11 20:47:38 +01:00
Anders Hejlsberg
d65a3e1c67 Merge pull request #18363 from Microsoft/fixIntersectionInference
Fix intersection inference
2017-09-11 20:46:43 +01:00
Anders Hejlsberg
1b49c8f0a8 Merge pull request #18246 from Microsoft/fixControlFlowStackOverflow
Error on excessively large control flow graphs
2017-09-11 20:45:22 +01:00
Herrington Darkholme
29d5e4dadd fix #18225, fix error message on abstract class instance (#18368)
* fix #18225, fix error message on abstract class instance

abstract class check should be inside constructor call

* add new test and accept baseline
2017-09-11 11:21:35 -07:00
Nathan Shively-Sanders
2fdb5b8659 assignContextualParameterTypes handles arguments object
Previously, it would crash — the arguments object is a transient
symbol with no declaration, and `getEffectiveTypeAnnotationNode`
does not accept `undefined`.
2017-09-11 11:16:01 -07:00
Anders Hejlsberg
63d746bc4c Higher order inference for mapped, index and lookup types 2017-09-11 10:24:27 -07:00
Wesley Wigham
eb80799ef0 Care about esnext where we look for es2015 (#18331)
* Care about esnext where we look for es2015

* Update diagnostic message to be more agnostic
2017-09-09 16:30:06 -07:00
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
Anders Hejlsberg
c671c3ac06 Only track flow analysis stack depth 2017-09-08 15:51:11 -07:00
Andrew Casey
e77425f984 Delete staticAssertNever in favor of assertTypeIsNever 2017-09-08 14:36:21 -07:00
Anders Hejlsberg
ecea2871bd Merge branch 'master' into fixControlFlowStackOverflow 2017-09-08 14:26:13 -07:00
Anders Hejlsberg
25268ce368 Separate counters for stack depth and visited flow nodes 2017-09-08 14:24:32 -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
Andrew Casey
26903552fe Improve insertion position of extracted methods
Old: End of target scope
New: Before the first non-constructor function following the extracted
range in the target scope
2017-09-08 14:19:28 -07:00
Anders Hejlsberg
37d320d0c8 Rename visitedFlowXXX to sharedFlowXXX 2017-09-08 14:19:18 -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
Anders Hejlsberg
9eecf8ca56 Report error on first token of excessively large function or module body 2017-09-08 06:35:14 -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