Nathan Shively-Sanders
6ca9d04b60
Constructor functions as classes ( #32944 )
...
* Initial implementation
The original test passes but I haven't run any other tests yet, so I
assume the world is now broken.
* Append constructor function construct sigs
Instead of overwriting them
* Grab bag of improvements.
1. Mark @class-tagged functions with Class too.
2. Only gather local type parameters of constructor functions.
3. Remove getJSClassType calls with getDeclaredTypeOfSymbol.
4. Add a couple more failing tests.
getDeclaredTypeOfClassOrInterface now needs to understand prototype
assignment. That's next, I think.
* Prototype assignments work now
1. Binder marks prototype assignments as Class now.
2. Checker merges prototype assignments using the same merge code as for
functions and their declarations. No more intersections.
Many fewer failing tests now.
* Mark prototype-property assignments as Class
Even if there are no this-property assignments in them. (Then why are
you using a class?).
* Simplify getJSClassType, remove calls to its guts
It's probably not needed because now it's just a conditional call to
getDeclaredTypeOfSymbol, and I think most callers already know whether
they have a JS constructor function beforehand.
* isJSDocConstructor doesn't need to check prototype anymore
Because all the properties are merged during getDeclaredTypeOfSymbol.
* outer type parameter lookup follow prototype assignment
* this-type and -expression support in ctor funcs
Pretty cool!
* Fix remaining tests
* Fix minor lint
* Delete now-unused code
* Add class flag to nested class declarations
Also remove old TODOs
2019-08-19 14:12:53 -07:00
Wesley Wigham
fd1e22bbf1
Instantiate generic conditional infer source types in the context of the target conditional ( #31545 )
...
* Instantiate generic conditional infer source types in the context of the target conditional
* Add test case from #26627
2019-08-19 13:01:08 -07:00
rChaser53
d75de60548
Fix Cannot read property 'text' of undefined crash ( #32734 )
...
* Fix Cannot read property 'text' of undefined crash
* fix condition for tsx
* Rename and improve the method
2019-08-19 12:08:34 -07:00
Wesley Wigham
d9f0212324
Resolve SymbolFlags.Type only at first in jsdoc getTypeFromTypeReference ( #32947 )
...
* Fix lookup of exported eunm type alias in local scope in JS
* Fix by adjusting type lookup fallback behavior to not include SymbolFlags.Value in its initial lookup instead
2019-08-19 11:31:47 -07:00
falsandtru
5ae286329f
Update String#toLocale{Lower,Upper}Case methods ( #32961 )
2019-08-19 09:10:12 -07:00
Alexander T
fd72a1c76b
@typescript-eslint/unified-signatures
2019-08-19 13:38:58 +03:00
Collins Abitekaniza
75ac6eb284
restrict object spreading on unkown type
2019-08-19 03:10:08 +03:00
Klaus Meinhardt
1d942f4ddc
Detect more TS syntax in JS files
...
* optional class methods
* type arguments on tagged template expressions
2019-08-18 21:46:53 +02:00
Anders Hejlsberg
e7cbfc41e5
Update API to be backwards compatible
2019-08-17 07:05:49 -07:00
Alexander
a7f41621fb
Merge branch 'master' of https://github.com/Microsoft/TypeScript into feature/eslint
2019-08-17 16:37:39 +03:00
Anders Hejlsberg
0599f84857
Support 'asserts this' and 'asserts this is T' type predicates
2019-08-17 06:23:07 -07:00
Wesley Wigham
d304049e0c
Run user test submodule update in the correct directory ( #32921 )
2019-08-16 14:22:21 -07:00
Nathan Shively-Sanders
2b8ccf40ae
jsdoc template tags might be unmatched ( #32936 )
...
* jsdoc template tags might be unmatched
* Update fourslash test
2019-08-16 13:39:57 -07:00
Hoang Pham
46b7972885
Add JSX codefix if available ( #32281 )
...
* Add JSX codefix if available
* Update react jsx.
* Update diagnostic code.
2019-08-16 12:46:55 -07:00
Brendan Kenny
f45add0a7d
checkJs: require JSDoc type argument for Array, Object, and Promise in noImplicitAny ( #32829 )
...
* Require type argument for JSDoc Array, Object, and Promise in noImplicitAny
* add jsdoc Array/Object/Promise noImplicitAny tests
2019-08-16 12:41:09 -07:00
Anders Hejlsberg
489abcacd4
Merge pull request #32919 from microsoft/fix32752
...
Stricter criteria for eliminating types in unions during inference
2019-08-16 10:55:48 -07:00
laoxiong
cd84d75147
refactor: modify the TokenFlags default value ( #32112 )
2019-08-16 09:45:20 -07:00
Alexander T
b6d981aec8
Merge branch 'master' of https://github.com/Microsoft/TypeScript into feature/eslint
2019-08-16 12:13:57 +03:00
Alexander T
d532bf6dcb
remove 'project' option from default .eslintrc configs
2019-08-16 11:56:51 +03:00
Alexander T
8442ec01bf
remove useless comment
2019-08-16 11:52:34 +03:00
Anders Hejlsberg
abc61a0949
Add InferencePriority.Circularity per CR feedback
2019-08-15 18:08:01 -07:00
阿卡琳
a53e4a19ef
Allow to omit the begin parameter of %TypedArray%.prototype.subarray ( #32125 )
...
* Allow to omit the begin parameter of %TypedArray%.prototype.subarray
* update baselines
2019-08-15 15:58:24 -07:00
Tan Li Hau and Klaus Meinhardt
dcb763f624
Report error when using generic class in js file ( #31723 )
...
* Report error when using generic class in js file
* Replace "ClassDeclaration | ClassExpression" to ClassLikeDeclaration
Co-Authored-By: Klaus Meinhardt <klaus.meinhardt1@gmail.com >
* add noEmit:true
2019-08-15 15:49:50 -07:00
Francois Hendriks
334b8590e9
Add check for Records in reportNonexistentProperty function ( #31701 )
2019-08-15 15:29:42 -07:00
Klaus Meinhardt
efa19f6777
remove useless condition as argumentExpression is always defined ( #31567 )
...
* remove useless condition as argumentExpression is always defined
* fix formatting
* remove obsolete diagnostic
2019-08-15 15:25:10 -07:00
Ryan Cavanaugh
0bc3468733
small refactor to cut back on type assertions ( #32920 )
2019-08-15 15:18:27 -07:00
Orta
6cd8bcd6c9
Merge pull request #31185 from collin5/b30851
...
Restrict spreading for Instantiable Type with non object constraint
2019-08-15 13:50:01 -07:00
Armando Aguirre
428e8d0cb1
Fixed navigationbar regex
2019-08-15 13:49:11 -07:00
Orta
cfeebda837
Merge pull request #32765 from orta/debug_scanner
...
Adds a debugging command to the scanner
2019-08-15 12:54:45 -07:00
Matthew Miller
c6a0739dc9
fix(docs): Fixed the docs for Array#slice not spec ( #31182 )
...
ifying that the 'end' parameter is exclusive.
2019-08-15 10:28:28 -07:00
Kagami Sascha Rosylight
f304b81fa5
Point es2020 in esnext.d.ts ( #32776 )
2019-08-15 10:06:46 -07:00
Andrew Branch
2dd10bdfa1
Reuse unchanged ambient declarations in incremental parsing ( #32849 )
...
* Incrementally parse unchanged ambient declarations
* Re-parse modifiers and decorators so as not to skip errors
* Revert unnecessary change
* Undo the test change that was changed 2 years ago
2019-08-15 10:05:21 -07:00
Anders Hejlsberg
a81ce061de
Stricter criteria for eliminating types in unions during inference
2019-08-15 08:55:50 -07:00
Jack Williams
f1cfefc3db
Comment correction
2019-08-15 11:06:56 +01:00
Alexander T
f20a2828f2
Merge branch 'master' of https://github.com/Microsoft/TypeScript into feature/eslint
2019-08-15 10:32:45 +03:00
Alexander T
21d296b0cf
set augmentations, moduleAugmentations as readonly
2019-08-15 09:55:10 +03:00
Daniel Rosenwasser
d442ecc24a
Merge pull request #32904 from microsoft/getRidOfCrappyLiterals
...
Prefer reporting base primitives in various operations
2019-08-14 17:47:18 -07:00
Wesley Wigham
1747ee7a55
Perfer the non-module name of a symbol when writing the name of a symbol ( #32880 )
2019-08-14 17:16:17 -07:00
Daniel Rosenwasser
1ad443ed25
A bit of cleanup.
2019-08-14 16:48:24 -07:00
Daniel Rosenwasser
3d11930453
Get base primitive type for unary operators.
2019-08-14 16:16:43 -07:00
Daniel Rosenwasser
c555d4df89
Report on base primitives for certain operations.
2019-08-14 16:02:35 -07:00
Andrew Branch
2217f0b859
Fix export=global auto import exclusion ( #32898 )
2019-08-14 15:50:25 -07:00
Ryan Cavanaugh
11c28d6dd0
Update versions to 3.7 ( #32879 )
...
* Update versions to 3.7
* Update API baselines
2019-08-14 13:00:26 -07:00
Klaus Meinhardt
8eeb763cdd
report invalid modifiers on class expression properties
...
Fixes : #32532
2019-08-14 21:00:19 +02:00
Sheetal Nandi
0e93cf61fc
Disallow incremental with noEmit
...
Fixes #32882
2019-08-14 09:47:49 -07:00
Sheetal Nandi
31a26120f9
Merge pull request #32788 from microsoft/tsbuildFixes
...
Fixes for tsbuild scenarios
2019-08-14 09:07:24 -07:00
Alexander T
3424f843f5
lint all ts files in scripts. remove tslint: directive. add extended eslint config for CI environment
2019-08-14 14:10:40 +03:00
Alexander T
b728bf4bfa
Merge branch 'master' of https://github.com/Microsoft/TypeScript into feature/eslint
2019-08-14 13:42:02 +03:00
Alexander T
466ee10011
add .eslintrc for src and scripts. update typescript-eslint
2019-08-14 12:34:16 +03:00
Wesley Wigham
602966ba4e
Fix references to path-mapped ambient modules in declaration files ( #32878 )
...
* Fix references to path-mapped ambient modules in declaration files
* Fix lint
2019-08-13 16:34:03 -07:00