9605 Commits

Author SHA1 Message Date
Arthur Ozga
6b68da1185 Revert "Fix getConstraintOfIndexedAccess" 2017-08-18 11:32:53 -07:00
Arthur Ozga
439cdca52f Merge pull request #17870 from Microsoft/fix-getConstraintOfIndexedAccess
Fix getConstraintOfIndexedAccess
2017-08-18 11:32:48 -07:00
Andy
eef7d8bd3d Treat explicit imports from node_modules as external library imports (#16364)
* Treat explicit imports from `node_modules` as external library imports

* Update baselines
2017-08-17 13:26:38 -07:00
Nathan Shively-Sanders
a187b17e97 Simplify mapped-type handling in computeBaseConstraint 2017-08-17 13:09:21 -07:00
Nathan Shively-Sanders
b8e0dedac0 Fix #17069 and #15371
1. `T[K]` now correctly produces `number` when
   `K extends string, T extends Record<K, number>`.
2. `T[K]` no longer allows any type to be assigned to it when
   `T extends object, K extends keyof T`.

Previously both of these cases failed in
getConstraintOfIndexedAccessType because both bases followed `K`'s base
constraint to `string` and then incorrectly produced `any` for types
(like `object`) with no string index signature. In (1), this produced an
error in checkBinaryLikeExpression`. In (2), this failed to produce an
error in `checkTypeRelatedTo`.
2017-08-17 12:40:10 -07:00
Daniel Rosenwasser
2729281a14 Merge pull request #17631 from Microsoft/synthesizedNamespaces
Always emit leading 'var' declarations for synthesized namespaces
2017-08-16 23:56:07 -07:00
Daniel Rosenwasser
a38da8af70 Merge pull request #17838 from Microsoft/rev2.6.0
Bump version to 2.6.0.
2017-08-16 23:50:50 -07:00
Daniel Rosenwasser
b7020628c1 Addressed code review feedback. 2017-08-16 15:06:51 -07:00
Daniel Rosenwasser
3f50f20d0a Updated version in 'src' as well. 2017-08-16 14:49:44 -07:00
Andy
d4fecd4e46 Have grammarErrorAtPos take the source file of its argument (#17834) 2017-08-16 14:48:58 -07:00
Andy
9bcbc97e14 Replace 'isSourceFileJavaScript(getSourceFileOfNode())' with 'NodeFlags.JavaScriptFile' (#17835) 2017-08-16 14:48:46 -07:00
Tycho Grouwstra
76fb6545a5 fix some copy-pasting error (#17766)
* fix some copy-pasting error

* update to reflect @ahejlsberg's feedback
2017-08-16 11:49:24 -07:00
Nathan Shively-Sanders
146f828919 Merge pull request #17710 from Microsoft/add-readonly-check-to-property-access-of-index-signature
Add readonly check to property access of index signature
2017-08-16 11:16:54 -07:00
Nathan Shively-Sanders
7809398ad4 Indexed-assignment readonly err is not unknownType
Now, in an assignment to an indexed access of a readonly property, the
resulting type is still the property's type. Previously it was
unknownType. This improves error reporting slightly by reporting some
errors that were previously missed.
2017-08-16 10:06:01 -07:00
Andy
34a55899be Remove unnecessary call to getApparentType (#17788) 2017-08-16 10:04:51 -07:00
Anders Hejlsberg
ce2ac1751e Merge pull request #17771 from Microsoft/fixCircularContextualType
Fix circular contextual return type error
2017-08-16 09:17:15 +02:00
Andy
93abebc04a Change function name to camelCase (#17751) 2017-08-15 12:26:00 -07:00
Andy
7409648416 Remove unused UseTypeAliasValue flag (#17779) 2017-08-15 10:24:15 -07:00
Andy
10c8d5effa In services, show the aliasSymbol for a type even if it's not accessible in the current scope (#17433)
* In services, show the aliasSymbol for a type even if it's not accessible in the current scope

* Rename flag
2017-08-15 10:23:45 -07:00
Daniel Rosenwasser
a51397e339 Just track the local names of identifiers instead of ever using symbols. 2017-08-14 21:24:30 -04:00
Anders Hejlsberg
a1cbeb2eca Merge pull request #17767 from tycho01/15768-generic-numeric-index-error
loosen number index check, fixes #15768
2017-08-14 19:02:06 +02:00
Andy
543e0affff Make exportSymbol public (#17457)
* Make exportSymbol public

* Add a `getExportSymbolOfSymbol` method

* Use own implementation instead of delegating to `getExportSymbolOfValueSymbolIfExported`
2017-08-14 09:20:48 -07:00
Daniel Rosenwasser
ea7c7d3467 Merge pull request #16631 from Microsoft/fix13721
Emit class annotation comment on downlevel classes
2017-08-14 10:33:41 -04:00
Tycho Grouwstra
4268e13cde simplify fix as suggested by @ahejlsberg 2017-08-14 17:45:18 +08:00
Anders Hejlsberg
dacc851434 No contextual return type when type is circular 2017-08-14 09:01:50 +02:00
Tycho Grouwstra
1d6863ab0b loosen number index check, fixes #15768 2017-08-14 02:18:47 +08:00
Wesley Wigham
d03d1074ee Make compiler options which map to a flag case-insensitive again (#17755) 2017-08-11 19:59:43 -07:00
Ron Buckton
e3b6df64b3 Add support to infer the quote style for import quick fixes 2017-08-11 14:26:25 -07:00
Ryan Cavanaugh
c110ecb870 Merge pull request #17625 from RyanCavanaugh/extract-method-2
Extract Method
2017-08-11 10:54:48 -07:00
Andy
f64b8ad902 Add "preserveSymlinks" option (#16661)
* Add "preserveSymlinks" option

* Respond to PR comments
2017-08-11 10:03:21 -07:00
Andy
b3f3f336ad Use hasModifier and hasModifiers helper functions (#17724) 2017-08-11 07:15:15 -07:00
Ryan Cavanaugh
8a92315171 Merge 2017-08-10 17:05:45 -07:00
Ryan Cavanaugh
c27ee81341 Merge branch 'master' into extract-method-2 2017-08-10 17:02:14 -07:00
Ryan Cavanaugh
f957429efd Style fixups 2017-08-10 16:23:17 -07:00
Ryan Cavanaugh
1ad411e13e Various fixes 2017-08-10 13:13:18 -07:00
Andy
08fbcd8b80 Fix many no-object-literal-type-assertion lint errors (#17278)
* Fix many no-object-literal-type-assertion lint errors

* Simple fixes

* Use a union for FlowNode

* PR feedback and remove remaining `id()` uses

* Use a union for CodeBlock

* Discriminate CodeBlock by CodeBlockKind
2017-08-10 12:52:15 -07:00
Andy
fe3a05e89a A function should be context-sensitive if its return expression is (#17697)
* A function should be context-sensitive if its return expression is

* Remove outdated comment

* Fix typo
2017-08-10 07:08:24 -07:00
Andy
4c824505ad Treat NoSubstitutionTemplateLiteral same as a StringLiteral (#17704) 2017-08-10 06:53:48 -07:00
Andy
2c4361aadf Simplify assignTypeToParameterAndFixTypeParameters (#17706) 2017-08-10 06:51:50 -07:00
Nathan Shively-Sanders
50b2b77f44 Add readonly check to property access of index signature
Unfortunately, the checking code isn't reusable in a large chunk, so I copied it
from `getPropertyTypeForIndexType`. It still might be better to extract
the four lines to report the error into its own function.
2017-08-09 16:14:00 -07:00
Nathan Shively-Sanders
8ae7c6c227 Fix type predicate index in error reporting
Previously type predicate error checking didn't take the `this`
parameter into account when checking for errors. This led to spurious
errors. Note that it's not feasible to change the initial value of
`parameterIndex` because several checks refer to the original
declaration, for example to make sure that a type predicate doesn't
refer to a rest parameter.
2017-08-09 15:43:47 -07:00
Andy
e1ba65ae64 Add simple version of chooseOverload for common case of single non-generic signature (#17589)
* Add simple version of `chooseOverload` for common case of single non-generic signature

* Use a single function
2017-08-09 14:41:38 -07:00
Andy
37b20ee670 For duplicate source files of the same package, make one redirect to the other (#16274)
* For duplicate source files of the same package, make one redirect to the other

* Add reuseProgramStructure tests

* Copy `sourceFileToPackageId` and `isSourceFileTargetOfRedirect` only if we completely reuse old structure

* Use fallthrough instead of early exit from loop

* Use a set to efficiently detect duplicate package names

* Move map setting outside of createRedirectSourceFile

* Correctly handle seenPackageNames set

* sourceFileToPackageId -> sourceFileToPackageName

* Renames

* Respond to PR comments

* Fix bug where `oldSourceFile !== newSourceFile` because oldSourceFile was a redirect

* Clean up redirectInfo

* Respond to PR comments
2017-08-09 14:39:06 -07:00
Andy
17a6f7b56a Remove unused internal utilities (#17380)
* Remove unused internal utilities

* Handle undefined input to `mapDefined`
2017-08-09 14:37:59 -07:00
Wesley Wigham
a6f37f55e4 Add a leading space on binary operator token trailing comments (#17691)
* Add a leading space on token trailing comments

* Demystify comment
2017-08-09 14:27:37 -07:00
Andy
f28f5fd041 Don't check function expression grammar if this is SkipContextSensitive (#17698) 2017-08-09 14:09:52 -07:00
Wesley Wigham
6221d7089e Fix import addition location (#17327)
* Add test with bug

* Fix for import placement

* Consolidate comment recognition functions into utilities

* Add another test with all 3 kinds

* Recognize path directives as part of triple slash directives

* Also handle no-default-lib triple-slash comments

* Test for all the triple-slash kinds

* Keep import-placement logic in the quickfix, since its not really a node start; accept new baselines

* Work in not-ES6, use a real no-lib comment

* Remove no default lib triple slash comment, it disables checking and thereby quick fixes

* Copy regex rather than have a regex copy
2017-08-09 14:03:37 -07:00
Yui
39e0cc61a7 Fix 16628: "undefined" exception when name of binding element in binding pattern is empty (#17132)
* Handle the case where binding pattern name element is empty

* Update tests and baselines

* Feedback from PR

* Handle empty binding patterns more generally in emitter

* Dont simply handling fo empty binding patterns and stay spec compliant

* PR feedback
2017-08-09 13:47:44 -07:00
Wesley Wigham
c399230767 Retain comments inside return statements (#17557)
* Retain comments inside return statements by including the return keyword in the parse tree

* Revert "Retain comments inside return statements by including the return keyword in the parse tree"

This reverts commit 5d2142edb1ffb9f6cb150b815aff6e627ae80449.

* Readd test

* Function for handling printing comments on a token
2017-08-08 19:53:53 -07:00
Ron Buckton
73f941d1c0 Merge pull request #17658 from Knagis/14559-non-polling-watcher
Handle empty directory path as the current directory Fixes #14559
2017-08-08 17:28:58 -07:00