mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-14 07:02:44 -05:00
Clone properties prior to constructing accessors so they don't get shared and stomped on.
This commit is contained in:
@@ -124,21 +124,21 @@ namespace ts.codefix {
|
||||
for (const accessor of orderedAccessors) {
|
||||
if (isGetAccessorDeclaration(accessor)) {
|
||||
addClassElement(factory.createGetAccessorDeclaration(
|
||||
modifiers,
|
||||
name,
|
||||
getSynthesizedDeepClones(modifiers),
|
||||
getSynthesizedDeepClone(name),
|
||||
emptyArray,
|
||||
typeNode,
|
||||
ambient ? undefined : body || createStubbedMethodBody(quotePreference)));
|
||||
getSynthesizedDeepClone(typeNode),
|
||||
ambient ? undefined : createStubbedMethodBody(quotePreference)));
|
||||
}
|
||||
else {
|
||||
Debug.assertNode(accessor, isSetAccessorDeclaration, "The counterpart to a getter should be a setter");
|
||||
const parameter = getSetAccessorValueParameter(accessor);
|
||||
const parameterName = parameter && isIdentifier(parameter.name) ? idText(parameter.name) : undefined;
|
||||
addClassElement(factory.createSetAccessorDeclaration(
|
||||
modifiers,
|
||||
name,
|
||||
createDummyParameters(1, [parameterName], [typeNode], 1, /*inJs*/ false),
|
||||
ambient ? undefined : body || createStubbedMethodBody(quotePreference)));
|
||||
getSynthesizedDeepClones(modifiers),
|
||||
getSynthesizedDeepClone(name),
|
||||
createDummyParameters(1, [parameterName], [getSynthesizedDeepClone(typeNode)], 1, /*inJs*/ false),
|
||||
ambient ? undefined : createStubbedMethodBody(quotePreference)));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user