From bb97c5317cafa6ab2c2003cb0a0086c9a30e7d9c Mon Sep 17 00:00:00 2001 From: Andy Hanson Date: Tue, 10 Apr 2018 12:07:25 -0700 Subject: [PATCH] generateGetAccessorAndSetAccessor: Share modifier-creating code --- .../generateGetAccessorAndSetAccessor.ts | 25 +++++-------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/src/services/refactors/generateGetAccessorAndSetAccessor.ts b/src/services/refactors/generateGetAccessorAndSetAccessor.ts index f1b1499a83876..a02bd16bb6bad 100644 --- a/src/services/refactors/generateGetAccessorAndSetAccessor.ts +++ b/src/services/refactors/generateGetAccessorAndSetAccessor.ts @@ -47,8 +47,10 @@ namespace ts.refactor.generateGetAccessorAndSetAccessor { const { isStatic, fieldName, accessorName, type, container, declaration } = fieldInfo; const isInClassLike = isClassLike(container); - const accessorModifiers = getAccessorModifiers(isJS, declaration, isStatic, isInClassLike); - const fieldModifiers = getFieldModifiers(isJS, isStatic, isInClassLike); + const accessorModifiers = isInClassLike + ? !declaration.modifiers || getModifierFlags(declaration) & ModifierFlags.Private ? getModifiers(isJS, isStatic, SyntaxKind.PublicKeyword) : declaration.modifiers + : undefined; + const fieldModifiers = isInClassLike ? getModifiers(isJS, isStatic, SyntaxKind.PrivateKeyword) : undefined; updateFieldDeclaration(changeTracker, file, declaration, fieldName, fieldModifiers, container); @@ -78,24 +80,9 @@ namespace ts.refactor.generateGetAccessorAndSetAccessor { return isIdentifier(fieldName) ? createPropertyAccess(leftHead, fieldName) : createElementAccess(leftHead, createLiteral(fieldName)); } - function getAccessorModifiers(isJS: boolean, declaration: AccepedDeclaration, isStatic: boolean, isClassLike: boolean): NodeArray | undefined { - if (!isClassLike) return undefined; - - if (!declaration.modifiers || getModifierFlags(declaration) & ModifierFlags.Private) { - const modifiers = append( - !isJS ? [createToken(SyntaxKind.PublicKeyword)] : undefined, - isStatic ? createToken(SyntaxKind.StaticKeyword) : undefined - ); - return modifiers && createNodeArray(modifiers); - } - return declaration.modifiers; - } - - function getFieldModifiers(isJS: boolean, isStatic: boolean, isClassLike: boolean): NodeArray | undefined { - if (!isClassLike) return undefined; - + function getModifiers(isJS: boolean, isStatic: boolean, accessModifier: SyntaxKind.PublicKeyword | SyntaxKind.PrivateKeyword): NodeArray { const modifiers = append( - !isJS ? [createToken(SyntaxKind.PrivateKeyword)] : undefined, + !isJS ? [createToken(accessModifier) as Token | Token] : undefined, isStatic ? createToken(SyntaxKind.StaticKeyword) : undefined ); return modifiers && createNodeArray(modifiers);