//// [jsdocReadonlyDeclarations.js]
class C {
    /** @readonly */
    x = 6
    /** @readonly */
    constructor(n) {
        this.x = n
        /**
         * @readonly
         * @type {number}
         */
        this.y = n
    }
}
new C().x

function F() {
    /** @readonly */
    this.z = 1
}

// https://github.com/microsoft/TypeScript/issues/38401
class D {
    constructor(/** @readonly */ x) {}
}

//// [foo.js]
class C {
    /** @readonly */
    constructor(n) {
        /** @readonly */
        this.x = 6;
        this.x = n;
        /**
         * @readonly
         * @type {number}
         */
        this.y = n;
    }
}
new C().x;
function F() {
    /** @readonly */
    this.z = 1;
}
// https://github.com/microsoft/TypeScript/issues/38401
class D {
    constructor(/** @readonly */ x) { }
}


//// [foo.d.ts]
declare function F(): void;
declare class F {
    /** @readonly */
    readonly z: number;
}
declare class C {
    /** @readonly */
    constructor(n: any);
    /** @readonly */
    readonly x: 6;
    /**
     * @readonly
     * @type {number}
     */
    readonly y: number;
}
declare class D {
    constructor(x: any);
}
