Commit Graph

35940 Commits

Author SHA1 Message Date
Nathan Shively-Sanders d1efefec9c Merge branch 'master' into fail-spec-lambda-parsing-on-parameter-initialiser-missing-= 2017-09-13 09:30:57 -07:00
Nathan Shively-Sanders 014f7ba828 Test:javascript signature instantiation w/insufficient type args 2017-09-13 09:26:20 -07:00
Nathan Shively-Sanders d762f55199 Fix:Instantiate javascript constructor signatures
getSignatureInstantation takes a parameter that tells whether the
signature comes from Javascript and therefore is allowed to pass fewer
than the required number of type arguments. (Defaults are chosen if this
is the case.)

Previously, getInstantiatedConstructorsForTypeArguments forgot to
provide this argument, and constructors with insufficient type arguments
would cause a crash because getSignatureInstantiation would not know to
fill in the missing type arguments.
2017-09-13 09:23: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 f2c81cc4f4 Merge pull request #18426 from amcasey/FixBaselines
Fix fourslash baselines
2017-09-12 18:33:26 -07:00
Andrew Casey a02aaf2625 Forbid extraction of empty spans 2017-09-12 18:17:15 -07:00
Sheetal Nandi 4f7c0e5e1c Simplify event sent on background project update since its anyways just to update the error list 2017-09-12 18:16:31 -07:00
Andrew Casey ece4e4f701 Fix fourslash baselines
40e459117a was out of date in a way that
didn't register as a conflict.
2017-09-12 18:11:12 -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 74ecef418d Add missed baselines 2017-09-12 14:43:56 -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
Sheetal Nandi b536f9dade Should not remove the reused resolutions in the file when file contents have not changed. 2017-09-12 12:09:06 -07:00
Wesley Wigham 403f585622 enclosingDeclaration can be undefined within getAccessibleSymbolChain (#18400) 2017-09-12 10:43:24 -07:00
Sheetal Nandi aea8630ace Merge branch 'master' into watchImprovements 2017-09-12 10:33:58 -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
Sheetal Nandi fdb104b242 Merge branch 'master' into watchImprovements 2017-09-11 13:49:36 -07:00
Ryan Cavanaugh 1f0e7b02ea Merge pull request #18093 from RyanCavanaugh/detectBadPlugins
Detect bad plugins and work around them
2017-09-11 12:49:10 -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
Thomas den Hollander 1ee3b65141 Change typed array signatures (#18367) 2017-09-11 11:22:45 -07: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
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 6c2fe29a72 Accept new baselines 2017-09-11 11:02:11 -07:00
Anders Hejlsberg 0823eba8a3 Add tests 2017-09-11 10:38:46 -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
Wesley Wigham dc8d47c51d Remove bisect.cmd, remove reference to missing dts, update usage (#18353) 2017-09-09 15:56:11 -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
Anders Hejlsberg f40f0db676 Preserve intersections on the source side in type inference 2017-09-09 12:43:39 -07:00
Henry Mercer aa4c1963e7 Merge branch 'master' into fix-empty-object-property-access 2017-09-09 17:00:37 +01: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
Sheetal Nandi 5739b6897a Do not create map just to store empty reference files. Also update file as changed if file text is same but it had invalidated resolution 2017-09-08 18:10:12 -07:00
Andrew Casey 62899d10cd Add simple baseline tests for insertion positions 2017-09-08 16:45:47 -07:00
Anders Hejlsberg c646971cec Accept new baselines 2017-09-08 15:52:02 -07:00
Anders Hejlsberg 4ba50aadb0 Update test 2017-09-08 15:51:25 -07:00
Anders Hejlsberg c671c3ac06 Only track flow analysis stack depth 2017-09-08 15:51:11 -07:00
Sheetal Nandi de28d02626 Add test case to verify correct resolution file is picked when current resolution file is not removed but higher precedence file is created 2017-09-08 15:45:47 -07:00
Yuval Greenfield ff0961b85e Remove trailing space from emitLeadingComment
This will prevent emiting an extraneous trailing space on comments to
match https://eslint.org/docs/rules/no-trailing-spaces
This also removes a space that may have been originally there after a
comment but isn't necessary syntactically.
2017-09-08 15:02:59 -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