=== tests/cases/conformance/jsdoc/declarations/index.js === class С1 { >С1 : С1 /** @type {string=} */ p1 = undefined; >p1 : string | undefined >undefined : undefined /** @type {string | undefined} */ p2 = undefined; >p2 : string | undefined >undefined : undefined /** @type {?string} */ p3 = null; >p3 : string | null >null : null /** @type {string | null} */ p4 = null; >p4 : string | null >null : null } class С2 { >С2 : С2 /** @type {string=} */ get p1() { >p1 : string | undefined return undefined; >undefined : undefined } /** @type {string | undefined} */ get p2() { >p2 : string | undefined return undefined; >undefined : undefined } /** @type {?string} */ get p3() { >p3 : string | null return null; >null : null } /** @type {string | null} */ get p4() { >p4 : string | null return null; >null : null } } class С3 { >С3 : С3 /** @type {string=} */ get p1() { >p1 : string | undefined return undefined; >undefined : undefined } /** @param {string=} value */ set p1(value) { >p1 : string | undefined >value : string | undefined this.p1 = value; >this.p1 = value : string | undefined >this.p1 : string | undefined >this : this >p1 : string | undefined >value : string | undefined } /** @type {string | undefined} */ get p2() { >p2 : string | undefined return undefined; >undefined : undefined } /** @param {string | undefined} value */ set p2(value) { >p2 : string | undefined >value : string | undefined this.p2 = value; >this.p2 = value : string | undefined >this.p2 : string | undefined >this : this >p2 : string | undefined >value : string | undefined } /** @type {?string} */ get p3() { >p3 : string | null return null; >null : null } /** @param {?string} value */ set p3(value) { >p3 : string | null >value : string | null this.p3 = value; >this.p3 = value : string | null >this.p3 : string | null >this : this >p3 : string | null >value : string | null } /** @type {string | null} */ get p4() { >p4 : string | null return null; >null : null } /** @param {string | null} value */ set p4(value) { >p4 : string | null >value : string | null this.p4 = value; >this.p4 = value : string | null >this.p4 : string | null >this : this >p4 : string | null >value : string | null } } class С4 { >С4 : С4 /** @param {string=} value */ set p1(value) { >p1 : string | undefined >value : string | undefined this.p1 = value; >this.p1 = value : string | undefined >this.p1 : string | undefined >this : this >p1 : string | undefined >value : string | undefined } /** @param {string | undefined} value */ set p2(value) { >p2 : string | undefined >value : string | undefined this.p2 = value; >this.p2 = value : string | undefined >this.p2 : string | undefined >this : this >p2 : string | undefined >value : string | undefined } /** @param {?string} value */ set p3(value) { >p3 : string | null >value : string | null this.p3 = value; >this.p3 = value : string | null >this.p3 : string | null >this : this >p3 : string | null >value : string | null } /** @param {string | null} value */ set p4(value) { >p4 : string | null >value : string | null this.p4 = value; >this.p4 = value : string | null >this.p4 : string | null >this : this >p4 : string | null >value : string | null } }