10963 Commits

Author SHA1 Message Date
Nathan Shively-Sanders
41fba6f34b Incremental prototype+prototype assignment work
Had to fix nested incremental prototype detection, so I'll probably
merge this branch back into the PR branch.
2018-02-22 11:04:29 -08:00
Nathan Shively-Sanders
b14cf4ef9a First draft of prototype assignment
* Still misses incremental additions to the prototype.
* Not tested with {} or class initalizers.
* Code needs a cleanup pass.
2018-02-22 09:25:42 -08:00
Nathan Shively-Sanders
01f2ee3d1f Set up structure of prototype assignments
No actual binding happens yet though
2018-02-20 16:03:54 -08:00
Nathan Shively-Sanders
116a8a8cff Support nested prototype declarations
And add a test for them
2018-02-20 12:23:00 -08:00
Nathan Shively-Sanders
ad43240ff0 Merge branch 'master' into js-object-literal-assignments-as-declarations 2018-02-20 09:14:36 -08:00
Nathan Shively-Sanders
518f651656 Remove assert hit by chrome devtools+update baselines
Just return undefined instead. Gets rid of many errors in chrome
devtools
2018-02-20 08:48:04 -08:00
Andy
b3edc8f9f4
Apply 'no-unnecessary-type-assertion' lint rule (#22005)
* Apply 'no-unnecessary-type-assertion' lint rule

* Fix type error

* Fix tsconfig.json

* Add --format back
2018-02-16 18:38:00 -08:00
Andy
69abe49930
Supports more locations for completions contextual types (#21946) 2018-02-16 16:48:03 -08:00
Andy
9ee51fadd9
Have Symbol#isReferenced check the SymbolFlags of the reference (#21996) 2018-02-16 16:47:13 -08:00
Andrew Casey
70e9a5e6dc
Merge pull request #21909 from amcasey/OrganizeImports
Introduce an organizeImports command
2018-02-16 12:49:02 -08:00
Andrew Casey
5c278cee17 Address PR feedback
Eliminate cancellation token

Add organizeImports.ts to tsconfig.json

Simplify ts.OrganizeImports.organizeImports

Simplify sortImports

Semantic change: all invalid module specifiers are now considered to be
equal.

Simplify comparisons using ||

Pull out imports with invalid modules specifiers

...for separate processing.  They are tacked on to the end of the
organized imports in their original order.

Bonus: downstream functions can now assume imports have valid module
specifiers.

Rename baseline folder with leading lowercase

Simplify coalesceImports

Remove some unnecessary null checks

Simplify baseline generation
2018-02-16 10:56:16 -08:00
Andy
b70aa229c6
getTextOfPropertyName: Assert input value is a PropertyName (#21981) 2018-02-16 10:48:57 -08:00
Andy
347bff14a9
textChanges: Simplify getChanges (#21971)
* textChanges: Simplify getChanges

* Return ReadonlyArray
2018-02-15 13:02:45 -08:00
Anders Hejlsberg
0f697c376b
Merge pull request #21947 from Microsoft/fixKeyofWildcard
Fix issue with 'keyof T' and conditional types
2018-02-15 12:44:51 -08:00
Nathan Shively-Sanders
54a89ac026 Simplify bindPropertyAssignment inner loop 2018-02-15 12:25:55 -08:00
Nathan Shively-Sanders
d180117d21 Move skipParentheses to utilities
Makes typingsInstaller compile without adding dependencies
2018-02-15 11:12:36 -08:00
Nathan Shively-Sanders
8f98c77217 Merge branch 'master' into js-object-literal-assignments-as-declarations 2018-02-15 10:28:25 -08:00
Nathan Shively-Sanders
0191b70d62 Further cleanup 2018-02-15 09:54:55 -08:00
Nathan Shively-Sanders
d2b933e0d6 Cleanup in binder: rename and move 2018-02-15 09:36:48 -08:00
Andy
a133cec246
Fix bug: Interface type parameter merged with property is not unused (#21966) 2018-02-15 09:30:58 -08:00
Andy
1b6aa1386f
Handle non-preserved const enums in debug messages (#21945) 2018-02-15 09:21:33 -08:00
Nathan Shively-Sanders
4fdef85608 Naming and duplication cleanup 2018-02-15 09:13:06 -08:00
Nathan Shively-Sanders
0cadfcf6df Clean up js decl code in checker+utilities 2018-02-14 15:48:20 -08:00
Andy
8518343dc8
Add isStringLiteralLike helper (#21953) 2018-02-14 13:25:04 -08:00
Andy
2ee92948d8
Support @param tag on property declaration initializer (#21907)
* Support @param tag on property declaration initializer

* Update test

* Finish updating test
2018-02-14 10:12:38 -08:00
Anders Hejlsberg
3a61f638ba Instantiation of 'keyof T' for wildcard type produces wildcard type 2018-02-14 09:19:47 -08:00
Nathan Shively-Sanders
bad155f072 Clean up bindPropertyAssignment
The add-intermediate-container-symbols loop is still quite confusing,
but it's not as bad as before.
2018-02-13 16:50:53 -08:00
Nathan Shively-Sanders
76a9ac4434 Restrict declaration initializers too 2018-02-13 15:52:35 -08:00
Nathan Shively-Sanders
88c67fa777 Refactor binder and update baselines.
Also improve assert message in fourslash.
2018-02-13 15:44:15 -08:00
Andy
8c2756fdf6
Support getting string literal completions based on a type argument constraint (#21168)
* Support getting string literal completions based on a type argument constraint

* Fix bug: look for require call before argument info

* Code review

* @sandersn code review

* Remove test cast

* Reduce completions.ts diff

* @weswigham review

* Remove getTypeArgumentConstraint's dependence on checkTypeArgumentConstraints

* Remove TODO
2018-02-13 15:18:26 -08:00
Nathan Shively-Sanders
fc08e20da8 Correctly merge JS decls
Turns out merging was incorrect even for non-nested declarations, but
tests didn't catch it before.
2018-02-13 14:17:46 -08:00
Anders Hejlsberg
a629acd8fd Allow +/- to prefix 'readonly' and '?' modifiers in mapped types 2018-02-12 16:20:49 -08:00
Andy
74f01abfcf
Clean up findPrecedingToken and avoid returning whitespace-only jsx text token (#21903) 2018-02-12 14:42:16 -08:00
Anders Hejlsberg
d07523e9e5
Merge pull request #21866 from Microsoft/fixIndexedAccessWildcard
Fix indexed access issue with conditional types
2018-02-12 14:18:44 -08:00
Adrian Leonhard
6ab5d97a5d Changed "Duplicate Identifier" to "enum cannot be merged..." (#18579)
* Changed "Duplicate Identifier" to "enum can only be merged..."
when either declaration of the identifier is an enum.

Partial (?) fix for #529

Not sure if the new test is necessary, all the cases seem to have been covered by others tests.

* picked a nit
2018-02-12 13:38:08 -08:00
Ron Buckton
2ff8fae5da
Merge pull request #21900 from Microsoft/fix21620
Fix emit when binder treats exported const as namespace
2018-02-12 13:34:54 -08:00
Ron Buckton
7a6a0673df
Merge pull request #21897 from Microsoft/fix21626
Fix duplicate label in es2017 async function
2018-02-12 13:04:39 -08:00
Ron Buckton
c84b7caa25 Fix emit when binder treats exported const as namespace 2018-02-12 13:02:47 -08:00
Ron Buckton
641f787006
Merge pull request #21896 from Microsoft/fix21878
Revert BOM emit change
2018-02-12 12:31:12 -08:00
Ron Buckton
6736ced51d Fix duplicate label in es2017 async function 2018-02-12 12:30:29 -08:00
Ron Buckton
ea8f5158c2 Revert BOM emit change 2018-02-12 12:02:34 -08:00
Andy
fca3db440c
Give MethodDeclaration and MethodSignature parent types (#21892)
* Give MethodDeclaration and MethodSignature parent types
* And fix code that used MethodDeclaration for parameter that might be a MethodSignature

* Move type check back inside checkGrammarArrowFunction
2018-02-12 11:56:44 -08:00
Andy
2d80253d09
Fix error message for implicit-any property in object literal with symbol key (#21883) 2018-02-12 11:09:50 -08:00
jack-williams
67984c720e Fix #21848: Allows to mutate const with non-null assertion (#21873) 2018-02-12 10:57:59 -08:00
Anders Hejlsberg
0a35ad7aa5 Merge branch 'master' into fixIndexedAccessWildcard 2018-02-12 10:55:25 -08:00
Mohamed Hegazy
3fb481ff40
Multiple telemetry debug assert failure fixes (#21886)
* Use getAllowSyntheticDefaultImports to access `--allowSyntheticDefaultImport` value

* Fix #21788: Handel missing imporotClause case

* Fix #21789: Add a defensive check to forgottenThisPropertyAccess code fix for non-identifier locations

* Do not suggest prefix with `this` if the name we are looking for is diffrent from the errorLocation

* Fix #21796: Handel case of unknown module

* Add check to capture more info for #21800

* Fix #21807: check for symbol before looking up its flags

* Fix #21812: Gracefully fail if the token is not `this`.
2018-02-12 10:34:17 -08:00
Anders Hejlsberg
318e53cecb Merge branch 'master' into fixIndexedAccessWildcard
# Conflicts:
#	tests/baselines/reference/conditionalTypes1.errors.txt
#	tests/baselines/reference/conditionalTypes1.js
#	tests/baselines/reference/conditionalTypes1.symbols
#	tests/baselines/reference/conditionalTypes1.types
#	tests/cases/conformance/types/conditional/conditionalTypes1.ts
2018-02-10 17:29:06 -08:00
Anders Hejlsberg
9189354713 Wildcard instantiation of indexed access should be wildcard 2018-02-10 17:10:32 -08:00
Nathan Shively-Sanders
15554d7ea5 Fix bogus jsdoc error 2018-02-09 16:20:11 -08:00
Anders Hejlsberg
fadf031088 Merge branch 'master' into fixStructuralIdentity
# Conflicts:
#	tests/baselines/reference/conditionalTypes1.errors.txt
#	tests/baselines/reference/conditionalTypes1.js
#	tests/baselines/reference/conditionalTypes1.symbols
#	tests/baselines/reference/conditionalTypes1.types
#	tests/cases/conformance/types/conditional/conditionalTypes1.ts
2018-02-09 16:16:02 -08:00