* Make exportSymbol public
* Add a `getExportSymbolOfSymbol` method
* Use own implementation instead of delegating to `getExportSymbolOfValueSymbolIfExported`
* wip-try get symbol of bindingelement in objectBindingPattern first
* Add fourslash tests
* Update .types baselines
* Update .symbols baselines
* Revert checker changes
* Actually lookup type for binding property name definition
* More succinct check, clarify yui's comment
* 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
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.
* 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
* 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
* 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
* scriptVersionCache: Export less
* Remove LineIndexForTest, use LineIndex
* Add /* @internal */ to class LineIndex
* Make CharRangeSelection a const enum