6455 Commits

Author SHA1 Message Date
Andy
0747b33038 Fixes to emit / format for codeFix (#18484) 2017-09-14 14:30:50 -07:00
Armando Aguirre
21bbdd33c5 Merge pull request #17415 from armanio123/FixRenameInDefaultLibrary
Excluded the default library from rename service.
2017-09-14 14:04:46 -07:00
Andy
66abcb9166 Handle undefined symbol.declarations in cloneSymbol (#18474) 2017-09-14 13:03:12 -07:00
Nathan Shively-Sanders
b934c8bcbd Merge pull request #18417 from Microsoft/fail-spec-lambda-parsing-on-parameter-initialiser-missing-=
Fail speculative parsing of arrow functions when their parameter initialisers are missing a =
2017-09-14 13:01:51 -07:00
Andy
89eb06e475 For completions of union, exclude types with methods (#18124)
For completions of union, exclude arrays
2017-09-14 12:37:38 -07:00
Andy
d1e2242ee4 Allow to access exports from inside a commonjs module (#17745)
* Allow to access `exports` from inside a commonjs module

* Don't contextually type `this` in `exports.f = function() { ... }`

* Update test
2017-09-14 12:36:55 -07:00
Armando Aguirre
b03fbaf313 Merge branch 'master' into FixRenameInDefaultLibrary 2017-09-14 12:01:31 -07:00
Andy
e91af7d30d Allow template string with no substitutions to be used as a string literal type (#18452) 2017-09-14 11:19:54 -07:00
Wesley Wigham
76eab54ab7 Add error for using generalized expressions with export assignments in ambient contexts (#18444) 2017-09-14 11:11:54 -07:00
Anders Hejlsberg
2077835ff7 Merge pull request #18438 from Microsoft/unionIntersectionUnit
Remove empty intersection types in unit types
2017-09-14 18:44:02 +01:00
Andy
d96dfeb708 Don't normalize whitespace in fourslash tests (#18447)
* Don't normalize whitespace in fourslash tests

* Only render whitespace when the diff is text-only
2017-09-14 08:23:50 -07:00
Andy
cf53743bd6 In isInPropertyInitializer, don't bail out at a PropertyAssignment (#18449) 2017-09-14 07:59:53 -07:00
Anders Hejlsberg
0ac942f7ab Update test 2017-09-13 11:52:21 -07:00
Nathan Shively-Sanders
d1efefec9c Merge branch 'master' into fail-spec-lambda-parsing-on-parameter-initialiser-missing-= 2017-09-13 09:30:57 -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
Andy
c3199c7772 extractMethod: Support renameLocation (#18050)
* extractMethod: Support renameLocation

* Add tslint disable

* Properly analyze list of changes to always get a correct rename location

* Update test

* Ensure name is really unique

* Improvements to test code

* Respond to PR comments
2017-09-13 09:02:10 -07:00
Anders Hejlsberg
78f4cbe53c Add tests 2017-09-13 06:37:59 -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
Nathan Shively-Sanders
d8ace9ddfb Don't parse param init when = is required but missing
Makes another test case pass that was taking exponential time to parse,
because now it notices that the = is not present and doesn't even try to
parse the initialiser expression.
2017-09-12 14:41:51 -07:00
Nathan Shively-Sanders
4c4316da72 Fail spec parsing lambdas on parameter missing a =
Fail speculative parsing of arrow function expressions whenever it has a
parameter with an initialiser that is missing '='. Ordinarily this is
allowed for better error recovery in the language service, but for
speculative parsing, the errors can compound. When the initialiser is an
error, and when the '=>' is missing (which is also allowed), what is
putatively an arrow function may actually be something else.

For example, `(a / 8) + function ()
{ }` is currently parsed as if someone had intended to write

`(a = /8)+function()/) => { }` but they forgot the `=` of the
initialiser, the `=>` of the lambda, forgot to close the regular
expression, and mistakenly inserted a newline right after the regular
expression.
2017-09-12 14:01:49 -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
4e04a740f8 Test:contextual typing of arguments obj in JS files 2017-09-11 11:17:14 -07:00
Anders Hejlsberg
0823eba8a3 Add tests 2017-09-11 10:38:46 -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
9871c04e54 Add tests 2017-09-09 13:06:28 -07:00
Anders Hejlsberg
c6af0015a3 Fix fourslash tests 2017-09-09 12:52:10 -07:00
Andy
e51e91dd2c Change wording of scope description (#18342) 2017-09-09 05:52:52 -07:00
Andy
018c645913 In import code fix, don't treat a re-export as an import (#18341) 2017-09-09 05:52:08 -07:00
Anders Hejlsberg
4ba50aadb0 Update test 2017-09-08 15:51:25 -07:00
Anders Hejlsberg
ecea2871bd Merge branch 'master' into fixControlFlowStackOverflow 2017-09-08 14:26:13 -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
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
7aac67b9b4 Test: parsing of two-line @typedef jsdoc 2017-09-07 16:22:16 -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
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
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
3c5b2a5e9d Test Literal-typed computed property names in obj literals 2017-09-07 11:41:13 -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
Andy
be0633825c Don't provide string literal completions for string enums (#18288)
* Don't provide string literal completions for string enums

* Rename test
2017-09-07 09:13:46 -07:00
Nathan Shively-Sanders
b84e6bc188 Merge pull request #18096 from Microsoft/fix-codefix-jsdoc-variablelike-decls
Fix the jsdoc codefix for VariableLike declarations
2017-09-07 08:11:19 -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
b533b24686 extractMethod: Don't try to extract a single token (#18090)
* extractMethod: Don't try to extract a single token

* Update tests
2017-09-07 07:28:12 -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
23f793fc3e findAllReferences: Handle root symbols of binding element property symbol (#17738) 2017-09-07 07:23:06 -07:00