Commit graph

19050 commits

Author SHA1 Message Date
Wesley Wigham 4828c7a62b Lower RWC Harness Memory Overhead (#17692)
* Allow original compilation to be freed before checking declarations

* Use string concatenation in error baseline

* Fix lints

* No ternary
2017-08-09 16:16:16 -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 9be0f1b034 Merge pull request #17708 from Microsoft/fix-type-predicate-index-in-errors
Fix type predicate index in error reporting
2017-08-09 16:12:46 -07:00
uniqueiniquity df5e1a0f69 add fourslash test 2017-08-09 15:55:02 -07:00
Nathan Shively-Sanders a59f77ffb4 Test:type predicate uses correct index to report errors 2017-08-09 15:45:28 -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
uniqueiniquity 1663d01844 Fix outlining of objects in array 2017-08-09 15:11:05 -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
Nathan Shively-Sanders 445cc8df79 Merge pull request #17261 from unional/patch-2
Update es5.d.ts
2017-08-09 14:02:32 -07:00
Andy e73d58e21c findAllReferences: Type parameter is not globally visible (#16419)
* findAllReferences: Type parameter is not globally visible

* Add test for merged interface

* Clean up comment
2017-08-09 13:53:54 -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
Andy f124e19971 Session: don't return undefined if a response is required (#17165)
* Session: don't return undefined if a response is required

* Use ReadonlyArray and emptyArray

* Remove inferred return type
2017-08-09 13:46:47 -07:00
Andy b8c37bb50c Inline childFromLineNumber and childFromCharOffset (#17018)
* Inline childFromLineNumber and childFromCharOffset

* Handle empty document -- root node with 0 children

* Fix test
2017-08-09 13:43:25 -07:00
Andy bd68122821 scriptVersionCache: Export less (#17202)
* scriptVersionCache: Export less

* Remove LineIndexForTest, use LineIndex

* Add /* @internal */ to class LineIndex

* Make CharRangeSelection a const enum
2017-08-09 10:59:10 -07:00
Arthur Ozga 7c402d509d Merge branch 'master' into isInMultiLineComment 2017-08-09 10:49:12 -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 5d2142edb1.

* 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
Ron Buckton 37b9b7089c PR Feedback 2017-08-08 17:23:50 -07:00
Wesley Wigham 81e1e26a6c TSLint now realizes when you attempt to use a rule which is not present (#17688) 2017-08-08 17:20:25 -07:00
Wesley Wigham 43e758e1a9 Create synthetic default exports for dynamic imports (#17492)
* Create synthetic default exports for dynamic imports

* Slightly better solution

* Actually accept baselines

* Slightly adjust synthetic type

* Cache synthetic type

* Inline variables, remove non-required calls

* Rename function
2017-08-08 17:01:18 -07:00
Nathan Shively-Sanders 847d7fe3c8 Merge pull request #17404 from Microsoft/use-type-param-constraints-for-computed-prop-types
Use type parameter constraints for computed property types
2017-08-08 16:29:28 -07:00
Ron Buckton 75c8ecb2f1 Merge pull request #17517 from tinganho/IgnoredCatchParameter
Ignored catch parameter
2017-08-08 16:15:18 -07:00
Nathan Shively-Sanders fac93a304c Add parentheses:clarify evaluation order of &&/||
in isTypeAssignableToKind
2017-08-08 16:11:42 -07:00
Nathan Shively-Sanders e47df360dc Use isTypeAny instead of checking flags directly 2017-08-08 14:51:06 -07:00
Wesley Wigham d2625678f9 Add test case from #14439 (#17627) 2017-08-08 14:44:41 -07:00
Andy 3deb39bba6 Remove unnecessary check that type is ObjectType (#17418) 2017-08-08 14:01:16 -07:00
Nathan Shively-Sanders e494d73b29 Merge branch 'master' into use-type-param-constraints-for-computed-prop-types 2017-08-08 13:26:24 -07:00
Wesley Wigham a46d6bde97 Add a seperate cache for the all attributes version of the jsx attributes type (#17620) 2017-08-08 13:07:27 -07:00
Wesley Wigham af20adb137 Add tests for #15358 (#17664) 2017-08-08 13:06:12 -07:00
Ron Buckton 83ae8afef8 Merge pull request #17394 from vvakame/openParentFormatting
Add SpaceBetweenOpenParens formatting rule
2017-08-08 13:04:13 -07:00
Nathan Shively-Sanders a2c66c3262 Merge pull request #17660 from Microsoft/weak-type-errors-on-signature-only-types
Weak type errors on signature-only types
2017-08-08 12:40:50 -07:00
Andy 85f59098d3 validateSpecs: Use array helpers (#17275)
* validateSpecs: Use array helpers

* Make filter predicate smaller

* forEach -> for-of
2017-08-08 11:38:41 -07:00
Nathan Shively-Sanders 7ff1d8e797 Add specific weak type error for callable types
"Did you mean to call it?"
2017-08-08 11:25:32 -07:00
Andy d99a492ddd Simplify server logger (#17271)
* Simplify server logger

* Move function printProjects out of inner closure
2017-08-08 11:22:22 -07:00
Andy 94518e8533 Don't count self-reference when setting isReferenced (#17495)
* Don't count self-reference when setting `isReferenced`

* Improve comment
2017-08-08 11:18:20 -07:00
Andy eb8bcd77cb tsserverProjectSystem.ts: Remove unnecessary 'export's (#17201)
* tsserverProjectSystem.ts: Remove unnecessary 'export's

* Export `PostExecAction`
2017-08-08 11:02:53 -07:00
Andy 5141ce751d Deduplicate unresolvedImports (#17248)
* Deduplicate unresolvedImports

* Add `isNonDuplicateInSortedArray` helper
2017-08-08 11:02:10 -07:00
Andy f69ce5c0c8 Convert two arrays to readonly (#17685) 2017-08-08 10:54:18 -07:00
Andy e1802f4966 MultistepOperation: Don't need 'completed', just use requestId === undefined (#17173)
* MultistepOperation: Don't need 'completed', just use `requestId === undefined`

* Check for `requestId !== undefined`
2017-08-08 10:49:49 -07:00
Nathan Shively-Sanders 781da2332d Merge branch 'master' into weak-type-errors-on-signature-only-types 2017-08-08 10:45:52 -07:00
Andy ceae613e4c Add lint rule to check that Debug.assert calls do not eagerly interpolate strings (#17125)
* And lint rule to check that `Debug.assert` calls do not eagerly interpolate strings

* Use more specific 'assert' functions to avoid callbacks

* Respond to PR feedback
2017-08-08 07:56:14 -07:00
Andy a9a30d76fb Fix parsing of globalPlugins and pluginProbeLocations: Don't include empty string (#17143) 2017-08-08 07:55:03 -07:00
Andy 382785a528 Fix logging of module resolution errors (#17144) 2017-08-08 07:54:08 -07:00
Andy 9ea2350a6d Simplify parameters to updateProjectStructure and updateErrorCheck (#17175) 2017-08-08 07:31:21 -07:00
Karlis Gangis 51e9aef2a7 FileWatcher - handle empty directory path as the current directory Fixes #14559 2017-08-08 09:32:37 +03:00