Wesley Wigham
50866e114a
Fix visibility checking of mutually recursive exports ( #19929 )
...
* Do visibility painting from collectLinkedAliases in checker to remove statefullness in declaration emit
* Fix #17085
* Add deeply destructured array to test
* Add test case for #18634
* Add PR feedback
2017-11-21 15:06:27 -08:00
Andy
6e57c2630f
Support getJSDocCommentsAndTags for special property assignments ( #20193 )
2017-11-21 14:29:52 -05:00
Anders Hejlsberg
9abb72d920
Merge pull request #20166 from Microsoft/definiteAssignmentAssertions
...
Definite assignment assertions
2017-11-21 06:27:56 -08:00
Andy
53796eed59
Clean up lexical classifier ( #20123 )
2017-11-20 16:25:51 -08:00
Wesley Wigham
a551c4cd64
Allow curly around @type jsdoc to be optional ( #20074 )
...
* Allow curly around `@type` jsdoc to be optional
* Incorporate restructuring from @andy-ms
2017-11-20 16:10:50 -08:00
Anders Hejlsberg
9b9f3f25d7
Merge branch 'master' into definiteAssignmentAssertions
2017-11-20 15:09:50 -08:00
Anders Hejlsberg
005838f6df
Merge pull request #20142 from Microsoft/fixTypeVariableInstanceof
...
Fix instanceof with type variable constrained to class
2017-11-20 12:57:51 -08:00
Anders Hejlsberg
ed4dc57a52
Merge branch 'master' into definiteAssignmentAssertions
2017-11-20 11:08:44 -08:00
Anders Hejlsberg
148dc4e013
Merge pull request #20075 from Microsoft/strictPropertyInitialization
...
Strict property initialization checks in classes
2017-11-20 10:44:27 -08:00
Anders Hejlsberg
272076391b
Allow '!' only on variable declarations within variable statements
2017-11-20 09:31:11 -08:00
Nathan Shively-Sanders
edf9f02bdd
Merge branch 'master' into jsdoc-errors-become-semantic-errors
2017-11-20 08:34:26 -08:00
Nathan Shively-Sanders
744760df91
Cache result of isCheckJsEnabledForFile in getSemanticDiagnosticsForFile
2017-11-20 08:34:01 -08:00
Anders Hejlsberg
1624e1bc1a
Definite assignment assertion '!' on variable and property declarations
2017-11-19 16:48:43 -08:00
Anders Hejlsberg
40579472a2
Handle type variables in isTypeDerivedFrom
2017-11-19 09:50:33 -08:00
Anders Hejlsberg
0fbf36c2fd
Add definite assignment checks for property accesses in constructor body
2017-11-18 11:32:17 -08:00
Anders Hejlsberg
dccf57f107
Simplify checkPropertyAccessExpressionOrQualifiedName
2017-11-18 08:49:24 -08:00
Andy
82502ea086
Fix semantic merge conflict ( #20119 )
2017-11-17 15:29:09 -08:00
Andy
97bb471e48
For import completion, if multiple re-exports exist, choose the one with the shortest path ( #20049 )
...
* For import completion, if multiple re-exports exist, choose the one with the shortest path
* Code review
2017-11-17 14:35:32 -08:00
Anders Hejlsberg
8c4c529d8e
Merge branch 'master' into strictPropertyInitialization
2017-11-17 14:30:23 -08:00
Andy
e7adb1ce79
Bundle fileName with CodeActionCommand ( #19881 )
...
* Bundle fileName with CodeActionCommand
* Update test
* Fix API tests
* Add new overloads in services
* Fix overload
* Update API baselines
2017-11-17 14:16:38 -08:00
Anders Hejlsberg
86871c7ea0
Fix lint error
2017-11-17 13:23:19 -08:00
Anders Hejlsberg
85ea473ff3
Exclude abstract properties from strict initialization checks
2017-11-17 13:21:36 -08:00
Nathan Shively-Sanders
eeeefcc10e
Report jsdoc errors as semantic errors
...
This allows reporting of semantic errors as well. Semantic errors are
likely to outnumber syntactic errors, so it's valuable not to block
semantic errors on a few syntactic errors.
2017-11-17 10:38:30 -08:00
Andy
0c0f4b81ae
Simplify documentHighlights ( #20091 )
2017-11-17 10:19:35 -08:00
Anders Hejlsberg
041d04577e
Revise return control flow graph construction logic
2017-11-17 09:05:46 -08:00
Andy
74a44e09a7
Support semantic classification of alias ( #20012 )
2017-11-17 08:04:51 -08:00
Andy
46c0edcebd
In getContextualTypeForBinaryOperand, only need to look for = assignment operator, not e.g. += ( #20037 )
...
* In `getContextualTypeForBinaryOperand`, only need to look for `=` assignment operator, not e.g. `+=`
* isNonContextualBinaryExpression -> isContextSensitiveAssignment
2017-11-17 07:29:32 -08:00
Anders Hejlsberg
190f99e460
Exclude static properties
2017-11-16 17:30:14 -08:00
Nathan Shively-Sanders
c698a2b8e5
Merge pull request #19227 from Microsoft/infer-object-type-from-string-literal-to-keyof-T
...
Infer object type from string literal to keyof T
2017-11-16 15:07:12 -08:00
Charles Pierce
1da35d9dca
Treat exhaustive switch as last statement in function #18882 ( #20063 )
2017-11-16 12:17:26 -08:00
Andy
94581c1946
Strip "/index" from import fix module specifiers ( #19962 )
...
* Strip "/index" from import fix module specifiers
* Require "node" module resolution
* More tests
2017-11-16 11:12:34 -08:00
Nathan Shively-Sanders
2263a1e73b
Merge pull request #20071 from Microsoft/error-on-excess-spread-arguments
...
Error on excess spread arguments
2017-11-16 11:00:24 -08:00
Anders Hejlsberg
8cbff0159d
Add --strictPropertyInitialization compiler option
2017-11-16 10:58:00 -08:00
Anders Hejlsberg
c11969f804
Mark returnFlowNode property as internal
2017-11-16 10:57:15 -08:00
Anders Hejlsberg
5f6d7f34d8
Add strict property initialization checks
2017-11-16 10:36:32 -08:00
Anders Hejlsberg
f1762a04ea
Attach return control flow graph to contructor declaration nodes
2017-11-16 10:35:14 -08:00
Nathan Shively-Sanders
6a08820fe7
Improve spread arity mismatch error messages
...
Thanks @weswigham for the improved wording.
2017-11-16 10:28:17 -08:00
Anders Hejlsberg
b6f96052d8
Merge pull request #19976 from Microsoft/optimizeParser
...
Optimize parsing
2017-11-16 10:19:10 -08:00
Nathan Shively-Sanders
8657dc10a7
Error on excess spread arguments
...
Make the *technically* correct construction illegal:
```ts
declare function f(n: number): void;
declare var ns: number[];
f(1, ...ns);
```
This call only makes sense if `ns = []`, but in that case, why pass
`ns` at all? Allowing this call masks other errors when functions are
refactored to have fewer parameters, or to stop using rest parameters:
```ts
declare function old(...ns: number[]): void;
declare function new(ns: number | number[]): void;
old(1, ...ns); // Fine!
new(1, ...ns); // Should error!
```
This change the error for excess spread arguments to be more
understandable:
"Expected 3 arguments, but got least 4".
Previously the error would have been
"Expected 3 argument, but got at least 3", which is, again, technically
correct, but not understandable.
2017-11-16 09:31:50 -08:00
Andy
f352e46892
Revert "Change "isThisless" predicates to "mayReferenceThis" predicates ( #20036 )" ( #20054 )
...
This reverts commit 3d05952719a8b5023ca342ca353c04b5f552f71c.
2017-11-16 06:47:12 -08:00
Ron Buckton
ccba1280dc
Use correct base primitive type
2017-11-15 17:31:52 -08:00
Ron Buckton
0b24f02aae
Use correct base primitive type
2017-11-15 17:12:05 -08:00
Ron Buckton
86b0759b09
PR feedback
2017-11-15 16:47:01 -08:00
Ron Buckton
a21a129abb
Merge branch 'master' into dynamicNames
2017-11-15 15:24:05 -08:00
Andy
4b96edf72f
Treat ... in jsdoc type as creating a synthetic rest parameter -- not as an array type ( #19483 )
...
* Treat `...` in jsdoc type as creating a synthetic rest parameter -- not as an array type
* Change type parsing so `...T[]` parses as `...(T[])` and not `(...T)[]`
* Replace the last parameter with ...args, and make access to it potentially undefined
* Code review
2017-11-15 13:04:08 -08:00
Andy
3d05952719
Change "isThisless" predicates to "mayReferenceThis" predicates ( #20036 )
...
* Change "isThisless" predicates to "mayReferenceThis" predicates
* Fix name
* Code review
2017-11-15 12:43:16 -08:00
Nathan Shively-Sanders
8a7b8445de
Merge pull request #19655 from Microsoft/instantiate-this-in-type-parameter-constraints
...
Instantiate this when used only in type parameter constraints
2017-11-14 16:22:37 -08:00
Nathan Shively-Sanders
0c77b776ce
Rename and inline functions
2017-11-14 16:06:48 -08:00
Andy
592ee00906
Have CompletionEntryDetails source use a relative path ( #19917 )
...
* Have CompletionEntryDetails source use a relative path
* Use getCanonicalFileName from services Instead of creating a new one
2017-11-14 14:26:49 -08:00
Wesley Wigham
9c51a8534e
Synchronize getEntityNameForDecoratorMetadata and serializeUnionOrIntersectionType ( #19879 )
2017-11-14 14:20:18 -08:00