(file, program, start, end, context, _actionName)
| 158060 | var codefix; |
| 158061 | (function (codefix) { |
| 158062 | function generateAccessorFromProperty(file, program, start, end, context, _actionName) { |
| 158063 | var fieldInfo = getAccessorConvertiblePropertyAtPosition(file, program, start, end); |
| 158064 | if (!fieldInfo || ts.refactor.isRefactorErrorInfo(fieldInfo)) |
| 158065 | return undefined; |
| 158066 | var changeTracker = ts.textChanges.ChangeTracker.fromContext(context); |
| 158067 | var isStatic = fieldInfo.isStatic, isReadonly = fieldInfo.isReadonly, fieldName = fieldInfo.fieldName, accessorName = fieldInfo.accessorName, originalName = fieldInfo.originalName, type = fieldInfo.type, container = fieldInfo.container, declaration = fieldInfo.declaration; |
| 158068 | ts.suppressLeadingAndTrailingTrivia(fieldName); |
| 158069 | ts.suppressLeadingAndTrailingTrivia(accessorName); |
| 158070 | ts.suppressLeadingAndTrailingTrivia(declaration); |
| 158071 | ts.suppressLeadingAndTrailingTrivia(container); |
| 158072 | var accessorModifiers; |
| 158073 | var fieldModifiers; |
| 158074 | if (ts.isClassLike(container)) { |
| 158075 | var modifierFlags = ts.getEffectiveModifierFlags(declaration); |
| 158076 | if (ts.isSourceFileJS(file)) { |
| 158077 | var modifiers = ts.createModifiers(modifierFlags); |
| 158078 | accessorModifiers = modifiers; |
| 158079 | fieldModifiers = modifiers; |
| 158080 | } |
| 158081 | else { |
| 158082 | accessorModifiers = ts.createModifiers(prepareModifierFlagsForAccessor(modifierFlags)); |
| 158083 | fieldModifiers = ts.createModifiers(prepareModifierFlagsForField(modifierFlags)); |
| 158084 | } |
| 158085 | } |
| 158086 | updateFieldDeclaration(changeTracker, file, declaration, type, fieldName, fieldModifiers); |
| 158087 | var getAccessor = generateGetAccessor(fieldName, accessorName, type, accessorModifiers, isStatic, container); |
| 158088 | ts.suppressLeadingAndTrailingTrivia(getAccessor); |
| 158089 | insertAccessor(changeTracker, file, getAccessor, declaration, container); |
| 158090 | if (isReadonly) { |
| 158091 | // readonly modifier only existed in classLikeDeclaration |
| 158092 | var constructor = ts.getFirstConstructorWithBody(container); |
| 158093 | if (constructor) { |
| 158094 | updateReadonlyPropertyInitializerStatementConstructor(changeTracker, file, constructor, fieldName.text, originalName); |
| 158095 | } |
| 158096 | } |
| 158097 | else { |
| 158098 | var setAccessor = generateSetAccessor(fieldName, accessorName, type, accessorModifiers, isStatic, container); |
| 158099 | ts.suppressLeadingAndTrailingTrivia(setAccessor); |
| 158100 | insertAccessor(changeTracker, file, setAccessor, declaration, container); |
| 158101 | } |
| 158102 | return changeTracker.getChanges(); |
| 158103 | } |
| 158104 | codefix.generateAccessorFromProperty = generateAccessorFromProperty; |
| 158105 | function isConvertibleName(name) { |
| 158106 | return ts.isIdentifier(name) || ts.isStringLiteral(name); |
nothing calls this directly
no test coverage detected