TypeScript/tests/baselines/reference/jsdocOuterTypeParameters2.types
Nathan Shively-Sanders 3d7ec8aab2
Improve @template lookup and resilience (#42851)
* Improve @template lookup and resilience

1. @template parsing may produce a template tag with a type parameter
whose name is the missing identifier. These tags should be skipped
in the checker because they receive an error in the parser.
2. The fix in #37819 was incorrect; there's no such thing as a type
parameter declared on a variable declaration. Instead, there needs to be a type
parameter declared on a jsdoc comment, because that's the scope for tags
like `@return` and `@typedef`.

There are 3 tests because either fix (1) and (2) fix the first test's
failure, but both are required to fix the last two tests' failures.

* remove containsParseError call
2021-02-17 17:21:17 -08:00

30 lines
761 B
Plaintext

=== tests/cases/conformance/jsdoc/jsdocOuterTypeParameters1.js ===
/** @return {T} */
const dedupingMixin = function(mixin) {};
>dedupingMixin : (mixin: any) => T
>function(mixin) {} : (mixin: any) => T
>mixin : any
/** @template T */
const PropertyAccessors = dedupingMixin(() => {
>PropertyAccessors : T
>dedupingMixin(() => { class Bar { static bar() { this.prototype.foo(); } }}) : T
>dedupingMixin : (mixin: any) => T
>() => { class Bar { static bar() { this.prototype.foo(); } }} : () => void
class Bar {
>Bar : Bar
static bar() { this.prototype.foo(); }
>bar : () => void
>this.prototype.foo() : any
>this.prototype.foo : any
>this.prototype : Bar
>this : typeof Bar
>prototype : Bar
>foo : any
}
});