TypeScript/tests/baselines/reference/jsdocOverrideTag1.types
Wenlu Wang 2f0c8b2bea
--noImplicitOverride (#39669)
* wip: add types

* wip

* Add cases

* Add some case

* Add more check

* accept baseline

* add abstract abd declare method

* add override in declaration

* accept baseline

* add property override

* Fix decalre modifier

* update baseline

* Add more cases

* make lint happy

* make lint happy

* Update description

* Add codefix

* simplify code

* accept baseline

* Update desc

* Accept baseline

* Add override completions

* filter out implements field in override context

* fix tests

* Add parameter property check

* Accept baseline

* acept baseline

* Add parameter property to declaration code action

* Add quickfix for override parameter property

* fix code style

* Add override with interface tests

* Add more cases about modifier position

* rename flag

* rename flags

* Added tests.

* Accepted baselines.

* Always issue errors for unnecessary 'override' modifiers.

* Accepted baselines.

* Override perf (#4)

* try cache check result

* pre check for override

* Do not issue error if implement abstract

* Add abstract-spec check

* Avoid override dead lock

* Add more case

* Add codefix for new error

* Fix error message

* Add jsdoc override tag (#6)

* Override jsdoc tag (#7)

* accept baseline

* Disallow codefix in js

* update baseline

* Omit override in d.ts

* Add more case in js

* Accept baseline

* fix override js test

* fix crlf

* Revert merge conflict changes

* Accept baseline

* Avoid space

* Fix CR issues

* Accept baseline

* Fix typo and add more check

* Fix error name

Co-authored-by: Daniel Rosenwasser <Daniel.Rosenwasser@microsoft.com>
2021-03-26 16:29:22 -07:00

70 lines
1.1 KiB
Plaintext

=== tests/cases/conformance/jsdoc/0.js ===
class A {
>A : A
/**
* @method
* @param {string | number} a
* @returns {boolean}
*/
foo (a) {
>foo : (a: string | number) => boolean
>a : string | number
return typeof a === 'string'
>typeof a === 'string' : boolean
>typeof a : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"
>a : string | number
>'string' : "string"
}
bar () {
>bar : () => void
}
}
class B extends A {
>B : B
>A : A
/**
* @override
* @method
* @param {string | number} a
* @returns {boolean}
*/
foo (a) {
>foo : (a: string | number) => boolean
>a : string | number
return super.foo(a)
>super.foo(a) : boolean
>super.foo : (a: string | number) => boolean
>super : A
>foo : (a: string | number) => boolean
>a : string | number
}
bar () {
>bar : () => void
}
/** @override */
baz () {
>baz : () => void
}
}
class C {
>C : C
/** @override */
foo () {
>foo : () => void
}
}