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