Commit Graph

11901 Commits

Author SHA1 Message Date
Ryan Cavanaugh
64e6b7669b .d.ts files don't have outputs 2018-07-02 10:15:13 -07:00
Andy
a1746d4cfe Use helper functions in a few more places (#21308)
* Use helper functions in a few more places

* Fix typo

* Update API (#24966)
2018-06-29 20:07:42 -07:00
Wesley Wigham
18e3f487a4 Support LibraryManagedAttributes<TComponent, TAttributes> JSX namespace type (#24422)
* WIP

* Allow type alias for managed type

* Add a large test

* Accept updatedbaselines

* Fix typo in test, add one more example
2018-06-29 18:45:29 -07:00
Wesley Wigham
313a0b8990 Remove deprecated SymbolDisplayBuilder API (#25331)
* Remove deprecated API

* Accept API baseline updates
2018-06-29 18:37:50 -07:00
Andy
c5bd0405c4 JsxTagNameExpression can only be Identifier | ThisExpression, not any PrimaryExpression (#21555)
* JsxTagNameExpression can only be Identifier | ThisExpression, not any PrimaryExpression

* Use a type similar to PropertyAccessEntityNameExpression

* Fix lint errors
2018-06-29 16:50:44 -07:00
Andy
48d31eddc8 Split isConst into isVarConst and isEnumConst (#25312) 2018-06-29 16:47:11 -07:00
Daniel Rosenwasser
b5f386eb6e Merge pull request #25311 from Microsoft/betterAlwaysTrueFalseErrors
Even better "always true/false" errors
2018-06-29 14:07:04 -07:00
Wesley Wigham
30db30055f Fix module specifier case handling for declaration emit (#25110) 2018-06-29 11:02:43 -07:00
Mohamed Hegazy
c27dace3df Merge pull request #25182 from Kingwl/fix-missing-enum-member
add quick fix for add missing enum member
2018-06-29 10:19:23 -07:00
Daniel Rosenwasser
f23c180a38 Merge pull request #25287 from Microsoft/skipToNonNullTargets
Skip to non null targets in error messages
2018-06-28 22:26:36 -07:00
Daniel Rosenwasser
6f06fd0d46 Use a more direct error. 2018-06-28 16:06:55 -07:00
Daniel Rosenwasser
c853d7c048 Don't elaborate on primitives at all. 2018-06-28 15:34:27 -07:00
Wesley Wigham
2a19580144 Introduce more caching and deferral into jsx checking (#25302)
* Introduce more caching and deferral into jsx checking

* Accept baseline with removed duplicated error
2018-06-28 14:43:20 -07:00
Wesley Wigham
53e163df0b Add codes and categories to related information, officially (#25304) 2018-06-28 14:41:21 -07:00
Andy
3a023ed7d6 Remove dead code testing result of resolveProjectReferencePath (#25284) 2018-06-28 10:50:39 -07:00
Nathan Shively-Sanders
5c2eeb20b1 Destructuring declaration prefers type annotation type (#25282)
* Destructuring declaration prefers type annotation type

Previously, getTypeForBindingElement would always union the declarations type and
the type of the default initializer. Now, if the declaration has a type
annotation, it does not union with the initializer type. The type
annotation's type is the one used.

* Small cleanup in parentDeclarationHasTypeAnnotation

* Refactoring based on PR comments

* Combine getCombined*Flags into a single helper function

Retain the individual functions since they are used a lot.

* Remove unneeded temp
2018-06-28 10:41:38 -07:00
Daniel Rosenwasser
35e9e165b1 Strip null and undefined from targets when relating from certain atomic types. 2018-06-28 00:11:44 -07:00
Daniel Rosenwasser
950593b669 Merge pull request #25251 from Microsoft/betterAlwaysTrueFalseErrors
Better "always true/false" errors
2018-06-27 21:57:25 -07:00
Daniel Rosenwasser
1f8ad2d318 indicates -> indicate 2018-06-27 17:20:24 -07:00
Ryan Cavanaugh
4d43a3a3c0 Merge pull request #25281 from RyanCavanaugh/fixMapFilename
Don't look for a file called 2.map
2018-06-27 14:11:14 -07:00
Andy
fd8b7f3da5 Remove redundant checks in getNameOfDeclaration (#25244) 2018-06-27 13:56:31 -07:00
Ryan Cavanaugh
e207f25ee2 Don't look for a file called 2.map 2018-06-27 13:35:29 -07:00
Andy
ab9e913af3 getEditsForFileRename: Test both before and after the rename (#25074) 2018-06-26 16:55:51 -07:00
Andy
13bc46d970 getTokenAtPosition: default includeJsDocComment to true (#25015)
* getTokenAtPosition: default includeJsDocComment to true

* Update API (#24966)

* Flip meaning of parameter

* Update API (#24966)

* Remove all `ignoreJsDocComment` uses (fixes #25162)
2018-06-26 16:20:44 -07:00
Mohamed Hegazy
4febcdf1cb Merge pull request #25231 from timocov/fix25225
Remove @internal from Program::isSourceFileDefaultLibrary
2018-06-26 15:33:58 -07:00
Daniel Rosenwasser
63a52cd21e Give a better message up-front for incompatible equality errors. 2018-06-26 15:11:41 -07:00
Wesley Wigham
fc37b7926d Stop not emitting mappings for function and class names (#25210) 2018-06-26 15:05:34 -07:00
Mohamed Hegazy
b59824ad9f Merge pull request #25190 from mprobst/fix-generic-type-emit
Fix decorator design:types emit for type variables.
2018-06-26 14:04:37 -07:00
Nathan Shively-Sanders
9025bc7c69 Fix control flow loop in yield expression (#25228)
* Fix control flow loop in yield expression

Yet again, the fix is to stop using checkExpressionCached.

* Update lib in test to reduce number of errors
2018-06-26 12:50:29 -07:00
Nathan Shively-Sanders
9044589377 Fix duplicate errors in js special assignments (#24508)
* Fix duplicate errors in js special assignments

* Simplify checkExpressionCached call to checkExpression

* Accept baselines after merge

* Use Map for deferredNodes and improve NoDeferredCheck comment

I added an assert when a duplicate was added, but it caused 18 failures
in our test suite.

* Remove NoDeferredCheck
2018-06-26 12:40:58 -07:00
Wesley Wigham
a7be62f9db Track name scope aloneside lexical scope 2018-06-26 12:24:55 -07:00
Eugene Timokhov
ff28ffab9f Remove @internal from Program::isSourceFileDefaultLibrary
Fixes #25225
2018-06-26 20:40:11 +03:00
Ryan Cavanaugh
e38aad8b79 Merge pull request #25202 from RyanCavanaugh/addChakraAPIs
Add Chakra APIs for tsc.exe --build
2018-06-26 09:29:25 -07:00
Martin Probst
6a24eabd18 Set current scope for classes. 2018-06-26 16:33:36 +02:00
Martin Probst
f1fe0b8116 use better scope 2018-06-26 15:51:37 +02:00
王文璐
a62a54df57 Merge branch 'master' into fix-missing-enum-member 2018-06-26 10:30:09 +08:00
Anders Hejlsberg
70975cd08f Merge pull request #24897 from Microsoft/restTuples
Tuples in rest parameters and spread expressions
2018-06-25 19:26:35 -07:00
王文璐
d5268c81e7 add quick fix for add missing enum member 2018-06-26 10:17:22 +08:00
Nathan Shively-Sanders
99ebcd788f Treat link tag as comment (#25206)
* First attempt at parsing. Doesn't work

But my machine is dying, so this is an emergency commit.

* Parsing sort of works

But it's not right yet; the test I added fails. See the TODO I added.

* Parse link tag as comment
2018-06-25 15:27:49 -07:00
Ryan Cavanaugh
d474603844 Pipe through Chakra APIs for tsc.exe --build 2018-06-25 14:10:07 -07:00
Anders Hejlsberg
d7443f04fd Contextual typing by tuple rest elements 2018-06-25 10:45:02 -10:00
Andy
4c326b2b6c Simplify addJSDocComment (#25196)
* Simplify addJSDocComment

* Add assert
2018-06-25 11:36:37 -07:00
Andy
62e5541a66 parseJSDocCommentWorker: Don't need result (#25197) 2018-06-25 11:34:20 -07:00
Andy
e8e80d2bbd Don't crash on property access with type (#25170)
* Don't crash on property access with type

* Move test
2018-06-25 11:25:52 -07:00
Andy
806a661be3 Add refactor to convert named to default export and back (#24878)
* Add refactor to convert named to default export and back

* Support ambient module

* Handle declaration kinds that can't be default-exported

* Update API (#24966)
2018-06-25 10:34:24 -07:00
Andy
be5986b32d Remove unused function (#25138)
* Remove unused function

* Update API (#24966)
2018-06-25 08:32:33 -07:00
Martin Probst
55c3ec3e94 Fix decorator design:types emit for type variables.
Previously, TypeScript would resolve the reified types for the
`design:types` decorator emit in the regular `currentScope`. That scope
does not include class declaration bodies.

However when reifying types, class declarations do introduce a new scope
for any `TypeVariable`s declared on them. Because TS resolved the
EntityName for such types against the parent scope (e.g. the source
file), not the class scope, TypeScript would either fail to resolve the type (giving `TypeReferenceSerializationKind.Unknown`), or
incorrectly resolve to a different, accidentally matching symbol in the outer scope (giving `TypeWithConstructSignatureAndValue`).

This would result in an emit referencing an undeclared symbol, or
mis-referencing the wrong symbol.

    __metadata("design:type", typeof (_a = typeof TypeVariable !== "undefined" && TypeVariable) === "function" && _a || Object)
    __metadata("design:type", TypeVariable)

This change special cases `currentScope` for
`serializeTypeReferenceNode` to use a class scope, if present. This
changes the emit for a `TypeVariable` back to `Object`:

    __metadata("design:type", Object)
2018-06-25 17:24:05 +02:00
Anders Hejlsberg
28c9f5933a Complete support for rest elements in tuples 2018-06-24 14:32:41 -10:00
Wesley Wigham
bd97e12f76 Multifaceted approach to performantly enabling fileExists outside of the synchronize step in the emit host (#25107)
* Multifaceted approach to performantly enabling fileExists outside of the synchronize step in the emit host

* make cache undefinable and handle correctly

* Remove unneeded cast

* Readd assert

* More useful failure messager
2018-06-22 14:05:36 -07:00
Wesley Wigham
c441451f83 Cache specifier resolutions for speed when emitting many types from the same place (#25112)
* Cache specifier resolutions for speed when emitting many types from the same place

* I swear I accepted this once already
2018-06-22 14:05:07 -07:00