Nathan Shively-Sanders
25fb5419c0
Support the JSDoc @enum tag ( #26021 )
...
* Support the JSDoc @enum tag
`@enum` is used on a variable declaration with an object literal
initializer. It does a number of things:
1. The object literal has a closed set of properties, unlike other
object literals in Javascript.
2. The variable's name is resolvable as a type, but it just has the
declared type of the enum tag.
3. Each property's type must be assignable to the enum tag's declared type,
which can be any type.
For example,
```js
/** @enum {string} */
const Target = {
START: "START",
END: "END",
MISTAKE: 0, // error 'number' is not assignable to 'string' -- see (3)
}
Target.THIS_IS_AN_ERROR; // See (1)
/** @type {Target} See (2) */
var target = Target.START;
```
* Fix lint, add new test case, update API baselines
2018-07-28 07:53:08 -07:00
Sheetal Nandi
a26aff30e1
Merge pull request #25835 from Microsoft/getCurrentProgramOrUndefined
...
Reflect getCurrentProgram as Program|undefined in the ResolutionHostCache
2018-07-27 23:06:34 -07:00
Andy
5e1872f0c0
getDocCommentTemplateAtPosition: Return result if in empty comment ( #26026 )
2018-07-27 17:34:16 -07:00
Andy
644ceab02f
Document ObjectLiteralElementLike ( #26024 )
2018-07-27 17:33:42 -07:00
Andy
57d425169a
createJavaScriptSignatureHelpItems: Use array helpers and simplify ( #26025 )
2018-07-27 17:33:17 -07:00
Sheetal Nandi
ab1b899cea
Use isArray instead of isProjectsArray
2018-07-27 12:50:32 -07:00
Sheetal Nandi
399f497a32
Unify getProjects for compileOnSave and others like (navigation etc)
2018-07-27 12:47:47 -07:00
Klaus Meinhardt
d4f6b9b0a6
allow BindingPattern in FunctionRestParameter
...
also add downlevel emit for the destructured rest param
Part of #6275
2018-07-27 21:08:22 +02:00
Andy
d40d54984e
Support deleting all unused type parameters in a list, and deleting @template tag ( #25748 )
...
* Support deleting all unused type parameters in a list, and deleting @template tag
* Support type parameter in 'infer'
2018-07-27 11:55:31 -07:00
Sheetal Nandi
94033f212d
If project name is specified in compile on save, do not update all projects to just use that project
2018-07-27 11:21:14 -07:00
Klaus Meinhardt
2ea3123dbd
allow BindingPattern in BindingRestElement
...
Part of #6275
2018-07-27 15:58:02 +02:00
Andy
3bfe91cdd8
navigationBar: Fix bug for shorthand ambient module ( #25992 )
2018-07-26 17:27:12 -07:00
Andy
af3f737451
Fix bug for isValidTrigger when contextToken is undefined ( #25993 )
2018-07-26 17:26:58 -07:00
Andy
0e5af11625
Fix bugs for go-to-definition on mapped type method ( #25991 )
2018-07-26 17:26:41 -07:00
Andy
998c911c49
Break createSignatureHelpItems into functions ( #25948 )
2018-07-26 17:26:29 -07:00
Andy
0227997fa5
Use import().T for import completions/fixes of pure types in JS files ( #25852 )
...
* Use `import().T` for import completions/fixes of pure types in JS files
* Don't call tryUseExistingNamespaceImport if position undefined
2018-07-26 16:16:57 -07:00
Wesley Wigham
d590d5bd0c
Remove extraneous const, fixing #25714 ( #25982 )
2018-07-26 14:43:00 -07:00
Daniel Rosenwasser
6b60babeaf
Merge pull request #25978 from Microsoft/capturedGlobalThis
...
Better error message for captured global 'this' in noImplicitThis
2018-07-26 13:20:05 -07:00
Wesley Wigham
d17efe69d1
Fix #25954 - Always retain export modifier if default modifier is present ( #25974 )
...
* Fix #25954 - Always retain export modifier if default modifier is present
* Also fix an issue with scope markers in ambient modules not affecting the modifiers required
2018-07-26 12:39:03 -07:00
Andy
673ae746da
Simplify and inline getPropertySymbolsFromType ( #25940 )
...
* Simplify and inline getPropertySymbolsFromType
* Combine lambdas
2018-07-26 11:52:22 -07:00
Daniel Rosenwasser
64d01d8e8f
Provide a better error on arrow functions that capture the global 'this'.
2018-07-26 11:51:04 -07:00
Mohamed Hegazy
3057be3a0b
Merge pull request #25966 from ajafff/shorthandPropertyAssignment-initializer-symbol
...
correctly resolve Symbol of destructuring shorthand intializer
2018-07-26 09:32:39 -07:00
Andy
5e94cf626b
Expand span of @typedef with properties to include the @typedef tag ( #25950 )
2018-07-26 08:56:24 -07:00
Klaus Meinhardt
b65bbfd42d
correctly resolve Symbol of destructuring shorthand intializer
...
Fixes : #21046
2018-07-26 14:37:52 +02:00
Klaus Meinhardt
b057bf9f01
expose escapeLeadingUnderscores
...
Fixes : #25343
2018-07-26 14:20:48 +02:00
Klaus Meinhardt
95f061ea0a
minor cleanup in factory.ts
...
* remove deprecated signatures
* deprecate some legacy signature
* remove 2 useless conditions
2018-07-26 13:19:45 +02:00
王文璐
c531065fd0
Merge branch 'master' into definite-assignment-assertion-improve
2018-07-26 18:06:47 +08:00
Sheetal Nandi
d920efe3f9
Merge branch 'master' into resolveJsonModuleError
2018-07-25 17:32:22 -07:00
Andy
f12e9a8389
Minor refactor in goToTypeDefinition ( #25951 )
2018-07-25 17:10:06 -07:00
Andy
1e8a5bf2f1
signatureHelp: Factor out 'isSyntacticOwner' function ( #25518 )
2018-07-25 17:01:35 -07:00
Sheetal Nandi
dfb5cbd373
When json module is not found, include enabling --resolveJsonModule might help.
...
Fixes #25722
2018-07-25 16:20:37 -07:00
Matt McCutchen
da64479a64
Improve the error message when asserting to a type that is not
...
comparable to the original.
Also improve the error message for implicit conversion of a symbol to a
string in a template literal, which previously shared the error message
with type assertions.
Fixes #25539 . Addresses #25870 .
2018-07-25 19:13:10 -04:00
Mohamed Hegazy
7799ae18b4
Port generated lib files
2018-07-25 15:32:42 -07:00
Anders Hejlsberg
7473772291
Merge pull request #25938 from Microsoft/fixRestTupleArityCheck
...
Fix rest tuple arity check
2018-07-25 14:40:57 -07:00
Anders Hejlsberg
5288c37010
Rest parameter with fixed size tuple should be same as regular parameters
2018-07-25 12:42:37 -07:00
Andy
7546fd03c6
Simplify getContainers ( #23323 )
2018-07-25 12:30:13 -07:00
Andy
bd600cfd50
Fix duplicate "this" completion ( #25900 )
2018-07-25 12:29:28 -07:00
Andy
d60f4988a6
In getPropertySymbolsFromContextualType, use union discriminant to filter types ( #25914 )
2018-07-25 11:53:20 -07:00
Nathan Shively-Sanders
9658b476c2
Fix inferFromUsage on index signatures ( #25934 )
...
* Fix inferFromUsage on index signatures
1. Check the argumentExpression to determine the index signature type.
Previously, the code mistakenly checked the type of the element access
itself, which never returned a good type.
2. If inference for the index signature type fails, substitute anyType.
Previously, the code would create a bad index signature with an
undefined type.
3. Add tests. Previously, there were no tests.
* Fixing (1) means that number index signatures are now created.
Previously, only string index signatures would be created.
* Fixing (2) means that index signatures will be inferred from single
usage like `return a[0]`. Previously, the refactoring would fail,
perhaps because of a check when stringifying the index signature (I
haven't tracked down why.)
* Update fourslash test with improved inference
2018-07-25 10:51:11 -07:00
Anders Hejlsberg
7b4d13c95c
Merge pull request #25859 from Microsoft/optimizePrimitiveIntersections
...
Optimize creation of intersections of union types
2018-07-25 10:28:43 -07:00
Anders Hejlsberg
f9681e2327
Update comment
2018-07-25 07:10:44 -07:00
Anders Hejlsberg
dd4fd8c60e
Merge pull request #25913 from Microsoft/fixCircularConstraintCheck
...
Fix circular constraint check
2018-07-25 06:46:51 -07:00
Anders Hejlsberg
ff6059abf6
Address CR feedback
2018-07-24 17:58:03 -07:00
Andy
e4d4b0ae4b
Handle PropertyAssignment in getCommentOwnerInfo ( #25911 )
2018-07-24 17:43:46 -07:00
Mohamed Hegazy
fd2eb4918d
Merge pull request #25604 from mprobst/fix-exported-var-comments
...
Retain synthetic comments on exports.
2018-07-24 17:41:44 -07:00
Wesley Wigham
7d44014c56
Fix typos
2018-07-24 16:37:07 -07:00
Wesley Wigham
23eb591e01
Lookup files by resolved Path and not by fileName in sourcemapDecoder when querying program ( #25908 )
...
* Check if the file returned by the program actually refers to the same file as we intend
* Simplify
2018-07-24 15:44:22 -07:00
Anders Hejlsberg
1fd1de9625
More simplification + consistent use of getConstraintOfTypeParameter
2018-07-24 15:27:39 -07:00
Wesley Wigham
f6d3ac9b5d
Fix #25820 - handle redirected files when comparing paths ( #25902 )
...
* Fix #25820 - handle redirected files when comparing paths
* Update test to do case check
2018-07-24 15:24:52 -07:00
Mohamed Hegazy
870c55c7a5
Merge pull request #25863 from mattmccutchen/issue-9744
...
Report a semantic error for an arrow function with a "this" parameter.
2018-07-24 15:08:26 -07:00