Commit Graph

25099 Commits

Author SHA1 Message Date
csigs
ed4236e442 LEGO: check in for master to temporary branch. 2018-06-25 16:10:24 +00: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
3cc3b49030 Accept new baselines 2018-06-24 14:33:11 -10:00
Anders Hejlsberg
9cd8eadfd2 Update tests 2018-06-24 14:32:50 -10:00
Anders Hejlsberg
28c9f5933a Complete support for rest elements in tuples 2018-06-24 14:32:41 -10:00
csigs
22d33d2292 LEGO: Merge pull request 25165
LEGO: Merge pull request 25165
2018-06-22 15:10:59 -07:00
csigs
91568b7288 LEGO: check in for master to temporary branch. 2018-06-22 22:10:36 +00: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
Andy
38a60ac59b Fix --strictNullChecks error with getDefaultProjectForFile (#25060)
* Fix --strictNullChecks error with getDefaultProjectForFile

* Mark methods internal
2018-06-22 11:22:34 -07:00
Andy
42fc8431f7 getEditsForFileRename: Don't update import with non-relative path if the imported file didn't move (#25159) 2018-06-22 11:21:45 -07:00
Andy
cb9c3e0f6a Don't provide a path completion if a directory name was already typed (#25055) 2018-06-22 11:18:16 -07:00
Anders Hejlsberg
88444fe414 Accept new baselines 2018-06-22 06:26:59 -10:00
Anders Hejlsberg
b650d7d06b Fix issue 2018-06-22 06:26:52 -10:00
csigs
3f214445d7 LEGO: Merge pull request 25156
LEGO: Merge pull request 25156
2018-06-22 09:10:58 -07:00
Anders Hejlsberg
b0d8c6551e Merge branch 'master' into restTuples
# Conflicts:
#	src/compiler/checker.ts
2018-06-22 06:10:50 -10:00
csigs
80b4c7ea9e LEGO: check in for master to temporary branch. 2018-06-22 16:10:35 +00:00
Ron Buckton
f557d7cd1b Adds support for gulp.watch 2018-06-22 00:09:21 -07:00
Ron Buckton
cfe65d183d Merge pull request #25144 from Microsoft/gulpfileFixes
Fix runtests-parallel, tsserverlibrary, up-to-date checks in gulp builds
2018-06-21 21:54:42 -07:00
Ron Buckton
b7918bf92d Fix runtests-parallel, tsserverlibrary, up-to-date checks 2018-06-21 21:27:46 -07:00
Anders Hejlsberg
0a94f77b72 Accept new baselines 2018-06-21 17:29:24 -10:00
Anders Hejlsberg
cffa1dd2d0 Accept new baselines 2018-06-21 17:23:27 -10:00
Anders Hejlsberg
4037d07a0b Accept new baselines 2018-06-21 17:21:34 -10:00
Anders Hejlsberg
c2310009e1 Update tests 2018-06-21 17:02:35 -10:00
Anders Hejlsberg
ae859d6303 Update destructuring to support optional and rest elements in tuples 2018-06-21 17:01:46 -10:00
Nathan Shively-Sanders
0bb897273f Parse nested prop and param tags the same way (#25139)
That is, only nest them if their name matches the provided parent name.
Otherwise do not nest them.

Note that this commit changes the behaviour of an incorrect typedef that
contains both an `@type` child tag and `@property` child tags.

Previously, the `@type` would be incorrectly nested under a `@property`
tag with type `object`, just like `@property` tags would be. Now, the
`@type` tag causes the entire typedef to ignore the `@property` tags and
treat the typedef as if it were an instance of the
typedef-and-nested-type pattern:

```js
/**
 * @typedef {Object} name
 * @type {{ the, actual, type }}
 */
```
2018-06-21 16:12:55 -07:00
Daniel Rosenwasser
b4cf51365d Merge pull request #25136 from Microsoft/useGetObjectFlags
Use `getObjectFlags` as suggested in previous PR.
2018-06-21 14:30:59 -07:00
Daniel Rosenwasser
a5b9a4c5ea Use getObjectFlags as suggested in previous PR. 2018-06-21 13:52:06 -07:00
Daniel Rosenwasser
72068e22af Merge pull request #25115 from Microsoft/matchingTypeRefs
Improved errors using type reference targets
2018-06-21 13:46:21 -07:00
Wenlu Wang
51e7ae0813 provide spelling suggestion for indexed access (#22225)
* provide spelling suggestion for indexed access

* update merge

* accept baseline

* fix suggession return type

* allow string or identifier on getSuggestionForNonexistentProperty

* fix lint
2018-06-21 13:40:41 -07:00
Daniel Rosenwasser
6d755aa301 Accepted baselines. 2018-06-21 13:13:50 -07:00
Daniel Rosenwasser
9df95fee79 Expand better error messages to anonymous object types with identical type aliases. 2018-06-21 13:13:26 -07:00
Andy
662ca71efc Add 'withContext' helper in createNodeBuilder (#24994) 2018-06-21 12:17:38 -07:00
Andy
e3e4c5dd2e getEditsForFileRename: For directory rename, preserve casing of suffix (#24975) 2018-06-21 11:46:13 -07:00
Nathan Shively-Sanders
a7af92eb63 check return tag in getTypePredicateOfSignature (#25130) 2018-06-21 11:30:37 -07:00
Andy
7a73c89c57 Convert getInsertNodeAfterOptionsWorker to switch statement (#25128) 2018-06-21 11:20:03 -07:00
Ron Buckton
e200e68178 Merge pull request #25066 from Microsoft/gulpProjectRefs
Support project reference builds in gulp builds
2018-06-21 11:02:39 -07:00
Ron Buckton
272e5554c8 Merge branch 'master' into gulpProjectRefs 2018-06-21 10:55:35 -07:00
Wesley Wigham
22fde18657 Fix RWC baseline paths 2018-06-21 10:43:01 -07:00
Andy
2b9166b2f9 Don't recommend to install '@types/foo' if that already exists (#24815)
* Don't recommend to install '@types/foo' if that already exists

* Add different extra diagnostic text if the @types package exists

* Update API (#24966)
2018-06-21 10:19:14 -07:00
Andy
e7b338e943 Don't treat a declaration as a type argument position (#25046) 2018-06-21 10:18:37 -07:00
Daniel Rosenwasser
077d64fb83 Merge pull request #25122 from mprobst/fix-case-insensitive
Fix the build on case-sensitive file systems.
2018-06-21 10:03:45 -07:00
Nathan Shively-Sanders
43d0794ba3 Fix crash when binding jsdoc-style inner namepaths (#25106)
* getDeclarationIdentifier handles undefined name

getNameOfDeclaration actually doesn't handle all declarations, only
those that produce names that could be reasonably used as an identifier.
Until now, getDeclarationIdentifier assumed that getNameOfDeclaration
always returned a name. This caused crashes whenever we tried to get the
name of something like a Constructor.

* Add test and baselines

* getNameOfDeclaration can return undefined

This requires all callers to handle it, which turns out now to be too
disruptive.

* Fix lint
2018-06-21 10:01:39 -07:00
Andy
40899eaf5b Error on 'const' in class expression (#25125) 2018-06-21 09:57:52 -07:00
Andy
3e50f502bb Mark some Type[] and Signature[] as ReadonlyArray (#25099) 2018-06-21 09:57:14 -07:00
Mohamed Hegazy
398b3ef6f6 Merge pull request #25124 from nrcoley/update-mailmap
Update Mailmap - Remove Contributor Info
2018-06-21 09:23:07 -07:00
Martin Probst
4b7208a79f Fix the build on case-sensitive file systems.
Dashed locale names like `pt-BR` were misspelled as `pt-br` in several
locations.

This is a follow up fix to #23146.
2018-06-21 13:52:53 +02:00
csigs
328822e6d5 LEGO: Merge pull request 25120
LEGO: Merge pull request 25120
2018-06-21 03:11:04 -07:00
csigs
4bb3f645b5 LEGO: check in for master to temporary branch. 2018-06-21 10:10:39 +00:00