{"record":{"id":"b3e5cfc2d2080e9a","repo":"biomejs/biome","slug":"getter-signatures-are-not-supported-in","errorCode":null,"errorMessage":"getter signatures are not supported in {}","messagePattern":"getter signatures are not supported in (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"xtask/codegen/src/generate_global_types/lower.rs","lineNumber":2302,"sourceCode":"    match member {\n        AnyTsTypeMember::TsMethodSignatureTypeMember(member) => {\n            lower_disposable_method_signature(&member, spec)\n        }\n        AnyTsTypeMember::TsPropertySignatureTypeMember(_) => {\n            bail!(\"properties are not supported in {}\", spec.interface_name)\n        }\n        AnyTsTypeMember::TsCallSignatureTypeMember(_)\n        | AnyTsTypeMember::TsConstructSignatureTypeMember(_) => {\n            bail!(\"signatures are not supported in {}\", spec.interface_name)\n        }\n        AnyTsTypeMember::JsBogusMember(_) => {\n            bail!(\"bogus members are not supported in {}\", spec.interface_name)\n        }\n        AnyTsTypeMember::JsMetavariable(_) => {\n            bail!(\"metavariables are not supported in {}\", spec.interface_name)\n        }\n        AnyTsTypeMember::TsGetterSignatureTypeMember(_) => {\n            bail!(\n                \"getter signatures are not supported in {}\",\n                spec.interface_name\n            )\n        }\n        AnyTsTypeMember::TsIndexSignatureTypeMember(_) => {\n            bail!(\n                \"index signatures are not supported in {}\",\n                spec.interface_name\n            )\n        }\n        AnyTsTypeMember::TsSetterSignatureTypeMember(_) => {\n            bail!(\n                \"setter signatures are not supported in {}\",\n                spec.interface_name\n            )\n        }\n    }\n}","sourceCodeStart":2284,"sourceCodeEnd":2320,"githubUrl":"https://github.com/biomejs/biome/blob/3835945f0638c88162351318b7bc8b64c5f2fba7/xtask/codegen/src/generate_global_types/lower.rs#L2284-L2320","documentation":"Emitted by lower_disposable_type_member when a member of the disposable interface declaration is a getter signature. The lowering pipeline supports exactly one computed method signature (`[Symbol.dispose](): void`); getter signatures (e.g. `[Symbol.toStringTag]: getter` style members) are not modeled and cause the codegen to bail.","triggerScenarios":"Adding a getter member like `get [Symbol.dispose]() { ... }` or a `get x(): T;` signature to the disposable-interface d.ts fixture, then running the xtask codegen.","commonSituations":"A contributor models a lazily-computed dispose helper as a getter in the declaration fixture, or copies a lib.esnext.disposable.d.ts-style declaration that uses a getter, without realizing the lowering only handles method signatures.","solutions":["Rewrite the getter as the supported computed method signature: `[Symbol.dispose](): void` (no `get` keyword).","Remove the getter member entirely if it is not the dispose/asyncDispose method the spec requires.","Re-run `cargo run -p xtask codegen` to verify lowering succeeds."],"exampleFix":"// before (fixture)\ninterface Disposable {\n  get [Symbol.dispose](): () => void;\n}\n// after\ninterface Disposable {\n  [Symbol.dispose](): void;\n}","handlingStrategy":"validation","validationCode":"// Before codegen, reject getter members in the disposable fixture:\n//   grep -nE '\\bget\\b' disposable.d.ts\n// The command must return no matches inside interface bodies.","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Model dispose helpers as computed method signatures, not getters, in global fixtures.","Consult the lowering spec (lower_disposable_type_member) before adding new member kinds; extend the match arm deliberately if a new shape is genuinely needed.","Run the codegen immediately after any fixture change."],"tags":["codegen","typescript","build-time","fixture"],"backgroundTag":"schema-validation-failed","analyzedSha":"3835945f0638c88162351318b7bc8b64c5f2fba7","analyzedAt":"2026-09-13T15:11:16.919Z","contentChangedAt":"2026-09-13T15:11:16.919Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}