Nathan Shively-Sanders
ca840ee683
Fix name resolution of exports in JS ( #27394 )
...
The ad-hoc name resolution rule for `exports` forgets to check the
requested meaning. When `getTypeReferenceType` calls`
resolveTypeReferenceName` with `Type` only in order to give an error
when the program uses a value like a type, it is incorrectly able to
resolve `exports` instead of producing an error. Then this incorrect
symbol gets treated like an alias, which it isn't, causing the assert.
The fix, for now, is to make resolution of `exports` check the requested
meaning so that it only resolves when `Value` is requested. This makes
the above code an error ("Cannot use the namespace 'exports' as a
type."), but I think this is fine for a bug fix. We can decide later if
`exports` should behave like other expandos and be a legal type
reference.
Note that the name actually does resolve correctly, so JS users will get
the desired completions. They'll just have an error to suppress if they
have checkJs on.
2018-10-08 13:01:14 -07:00
Nathan Shively-Sanders
8a4b6e03ab
Fix class/constructor-function merge ( #27366 )
...
The check for prototype assignment on constructor functions assumes
that the prototype property, if present, comes from an assignment
declaration, such as:
```js
SomeClass.prototype = { /* methods go here */ }
```
In this case, however, when class SomeClass and var SomeClass merge
(because this is allowed), prototype is the synthetic property from
class SomeClass, which has no valueDeclaration.
The fix is to check that prototype has a valueDeclaration before
checking whether the valueDeclaration is in fact a prototype-assignment
declaration.
2018-10-08 12:56:19 -07:00
Sheetal Nandi
a6a27e9de9
Merge pull request #27577 from Microsoft/projectLoadEvent
...
Send event for ProjectLoadStart and ProjectLoadFinish
2018-10-08 12:54:15 -07:00
Ryan Cavanaugh
6e5f477a89
Merge pull request #27608 from flowkraD/isPartOfTypeNode
...
Added ObjectKeyword check to isPartOfTypeNode
2018-10-08 11:34:19 -07:00
Anders Hejlsberg
6a9055ca0b
Merge pull request #27612 from Microsoft/fixSwitchCaseControlFlow
...
Fix switch case control flow
2018-10-08 11:12:24 -07:00
Nathan Shively-Sanders
b185784708
Only functions can be constructor functions ( #27369 )
...
`@constructor` put on anything incorrectly makes it a JS constructor. This
is a problem for actual constructors, because getJSClassType doesn't
work on actual classes. The fix is to make isJSConstructor require that
its declaration is a function.
2018-10-08 10:14:31 -07:00
TypeScript Bot
93b37863b6
Update user baselines ( #27606 )
2018-10-08 10:13:00 -07:00
Anders Hejlsberg
7bdc36191a
Accept new baselines
2018-10-08 10:00:21 -07:00
Anders Hejlsberg
077bd1afd1
Add regression test
2018-10-08 10:00:15 -07:00
Anders Hejlsberg
cb47351851
Remove duplicate code
2018-10-08 10:00:04 -07:00
Anders Hejlsberg
c80f532e01
Add missing check in getTypeAtSwitchClause
2018-10-08 09:59:47 -07:00
Nathan Shively-Sanders
a4a5b3806e
Report circular JSDoc type references ( #27404 )
...
JSDoc types references can often be to values, which can often be
circular in ways that types tied to declarations cannot. I decided to
create a separate property on SymbolLinks rather than reusing
declaredType, although I'm not sure that's strictly required.
2018-10-08 08:56:29 -07:00
Benjamin Lichtman
6afa880aa3
Merge pull request #27573 from uniqueiniquity/alwaysAwait
...
Always await expression of promise type in return position
2018-10-08 08:47:44 -07:00
Prateek Nayak
0d19023dc1
Added ObjectKeyword check to isPartOfTypeNode
...
The check for ObjectKeyword which seemed to be missing while checking for type of node was added to isPartOfTypeNode
2018-10-08 19:10:12 +05:30
Daniel Rosenwasser
8474949336
Merge pull request #27203 from sbaidon/signatureHelpInAdjacentBlockBody
...
Fix signature help not showing in block body bug
2018-10-07 23:07:59 -07:00
iliashkolyar
6bd9b766b3
Code review - remove 'isCallExpression' check
2018-10-07 22:19:09 +03:00
Anders Hejlsberg
62aeeadd1b
Merge branch 'master' into fixUnionOfTupleIndexing
...
# Conflicts:
# src/compiler/checker.ts
2018-10-06 18:21:23 -07:00
Anders Hejlsberg
48f2dd963c
Fix linting issue
2018-10-06 18:17:10 -07:00
Anders Hejlsberg
86704e5bf9
Accept new baselines
2018-10-06 17:03:27 -07:00
Anders Hejlsberg
d4f480cbbb
Add tests
2018-10-06 17:03:19 -07:00
Anders Hejlsberg
919fce95fc
Accept new baselines
2018-10-06 13:50:43 -07:00
Anders Hejlsberg
1299c9395e
Remove unused (and incorrect) code in sys.ts
2018-10-06 13:50:24 -07:00
Anders Hejlsberg
7f3f98ea83
Properly handle unions of tuple types
2018-10-06 13:49:42 -07:00
Anders Hejlsberg
c9ea6c3e03
Accept new baselines
2018-10-06 08:04:09 -07:00
Ron Buckton
85a3475df8
Merge pull request #26707 from mprobst/async-super-rename-safe
...
Per-property super accessors in async functions.
2018-10-05 17:20:21 -07:00
Anders Hejlsberg
4d9a202ef1
Properly widen initializer types in binding elements
2018-10-05 16:23:42 -07:00
Wesley Wigham
6175e60fec
Formatting a union should not create a 1-element union type node ( #27582 )
2018-10-05 16:11:47 -07:00
Daniel Rosenwasser
9ad95ef213
Merge pull request #27581 from eddiejaoude/patch-1
...
Added Microsoft code of conduct file
2018-10-05 15:53:56 -07:00
Sheetal Nandi
f30e73fc80
Report the errors for static incompatibility only if instance types are assignable
...
Fixes #26138
2018-10-05 15:38:13 -07:00
Wesley Wigham
07dbd8be21
Discriminate jsx contextual types same as object contextual types ( #27408 )
...
* Discriminate jsx contextual types same as object contextual types
* Extract core discrimination algorithm to getDiscriminationResultForProperty
* Merge all discrimination implementations
* Fix lints
2018-10-05 15:11:12 -07:00
Sheetal Nandi
37e25c8873
Send even for ProjectLoadStart and ProjectLoadFinish
...
Fixes #27206
2018-10-05 15:09:33 -07:00
Wesley Wigham
a7b4635446
Add object check to justify cast ( #27576 )
2018-10-05 14:40:23 -07:00
Wesley Wigham
4ad6541646
Store and check deferred nodes by containing file ( #27378 )
2018-10-05 14:40:09 -07:00
Eddie Jaoude
f58ca240fa
Added Microsoft code of conduct file
2018-10-05 22:10:20 +01:00
Nathan Shively-Sanders
c080324974
Elt access assignment uses declared, not narrowed type ( #27574 )
...
I forgot to do this in #26424 .
Fixes #27557
Fixes #27412
2018-10-05 11:30:10 -07:00
Benjamin Lichtman
2ebd986d99
Always await expression of promise type in return position
2018-10-05 09:59:22 -07:00
Wesley Wigham
e1d346ea53
Infer tuples for jsx children if contextually typed by a tuple ( #27409 )
2018-10-04 17:56:38 -07:00
Sheetal Nandi
638cf5b7b8
Ignore the directory watchers invoked in non polling watch mode with no relative file name information
...
Fixes #27326
2018-10-04 15:55:17 -07:00
Andy
deeb40129d
Remove duplicate case in parseJsDocCommentWorker ( #27164 )
2018-10-04 15:44:01 -07:00
Sheetal Nandi
dd343149a2
Add tests for project updates with tsserver
2018-10-04 15:04:13 -07:00
Sheetal Nandi
2fb11d8530
Test transitive references in folders side by side so that later we can add tsserver tests as well
2018-10-04 15:04:12 -07:00
Sheetal Nandi
3e67cf43b0
Verify errors on transitively referenced files
2018-10-04 15:04:12 -07:00
Sheetal Nandi
94df5167b0
Handle resolution caching when referenced tsconfig changes
2018-10-04 15:04:12 -07:00
Sheetal Nandi
d4e4b43239
Verify that own config change in module resolution gets reflected
2018-10-04 15:04:11 -07:00
Sheetal Nandi
4d413a6a55
Fix the fileByName cache when program is used completely which breaks the getSourceFile not return redirected file by its name
2018-10-04 15:04:11 -07:00
Sheetal Nandi
6923f2cdb0
Handle caching of module resolution depending on project references
2018-10-04 15:04:11 -07:00
Sheetal Nandi
0e4b10d726
Use resolution options of project reference if the file is from the project reference
2018-10-04 15:04:10 -07:00
Sheetal Nandi
0ac96580d5
Resolve project references transitively
2018-10-04 15:04:10 -07:00
Wesley Wigham
10edf6fa58
Widen export assignment types so they arent accidentally fresh ( #27397 )
2018-10-04 14:27:19 -07:00
Nathan Shively-Sanders
04266aa617
narrowTypeByInstanceof understands ctor funcs ( #27551 )
...
* narrowTypeByInstanceof understands ctor funcs
* Rename test filename
* Fix whitespace lint
2018-10-04 13:52:38 -07:00