diff --git a/packages/svelte/src/compiler/phases/2-analyze/visitors/ClassBody.js b/packages/svelte/src/compiler/phases/2-analyze/visitors/ClassBody.js index 3319e2d397..0208e075f4 100644 --- a/packages/svelte/src/compiler/phases/2-analyze/visitors/ClassBody.js +++ b/packages/svelte/src/compiler/phases/2-analyze/visitors/ClassBody.js @@ -76,7 +76,7 @@ export function ClassBody(node, context) { fields.set(key, ['prop']); continue; } - field.push('prop'); + e.duplicate_class_field(child, key); } if (child.type === 'MethodDefinition') { @@ -89,6 +89,9 @@ export function ClassBody(node, context) { fields.set(key, [child.kind]); continue; } + if (field.includes(child.kind) || field.includes('prop')) { + e.duplicate_class_field(child, key); + } if (child.kind === 'get') { if (field.length === 1 && field[0] === 'set') { field.push('get');