* Error on accessing private property through destructuring assignment, and mark property used
* Factor out getTypeOfObjectLiteralDestructuringProperty
* Still generate signatures in SkipContextSensitive mode just to match on return types
* Add cache for context-free type of a signature node
* Accept post-merge baseline
* Remove index signatures from js literals, use an object flag to indicate errors should be ignored instead
* Add focused test on the keyof problem
* Fix fourslash test
* Reenable errors with noImplicitAny flag
* Also disable excess property checks outside of noImplicitAny mode for js literals
* Edit and move comments
* Fix#25954 - Always retain export modifier if default modifier is present
* Also fix an issue with scope markers in ambient modules not affecting the modifiers required
* Added reference test case and diagnostics message
* Adjusted arity checks to account for non-contiguous overloads
* Code cleanup, baseline not yet commited
* Accepted test baselines and minor implementation changes
* Cleaned up baseline tracking the now renamed arity check test
* Add range response when range contains only 2 values
* Added recent baseline
* Refined arity error messages when available overloads can be grouped
* Rolled back code formatting
* WIP cleanup needed in a few edge cases
* Finished adding new more descriptive error messages
* Code cleanup
* Added simplified version of bugfix for #19220
* Rebased onto master
* Removed whitespace after type assertion
* Code review simplifications
* Use correct diagnostic name
* Code review changes and simplification of diagnostic message
* Revert formatting changes
* Handle intersection types when looking up base types for visibility
* Extract protected constructor check to function and recur on intersections
* Remove unneeded cast
* Rework symbol visibility checking to allow for multiple potential containers
* Express a preference for the local symbol if accessible from the enclosing declaration
Previously, redirected source files merged the same way as other source
files, effectively causing the target of the redirection to be merged
twice. mergeSymbol now has an assert (`source===target`) that catches
this condition, so this change makes sure to skip redirected source
files.
This change doesn't apply to the preceding binding loop, since the
binder handles already-bound source files correctly.
* Add ncie deep elaborations
* Nice stuff
* Modify tuple error to use length error mroe often
* Accept good baselines
* Accept meh baselines
* Fix literal types
* Calculate elaborations like it was the very first time again~
* Use tristate for enum relationship to ensure elaborations are printed at least once
* Update message text, nits
* move some functions back to where they were
* Add test of deep JSX elaboration
* Add elaboration test with parenthesized expressions, comma expressions, and assignments
* Move check to allow elaborations on more anonymous types
* Fix nits
* Add specialized error to elaborations of nonliteral computed named-members
* Update error message