public class CreateParameterFromUsageFix extends CreateVarFromUsageFix
myReferenceExpression
EMPTY_ARRAY
Constructor and Description |
---|
CreateParameterFromUsageFix(PsiReferenceExpression referenceElement) |
Modifier and Type | Method and Description |
---|---|
PsiElement |
getElementToMakeWritable(PsiFile currentFile)
Controls whether this intention/fix is going to modify the current file.
|
java.lang.String |
getFamilyName()
Returns the name of the family of intentions.
|
java.lang.String |
getText(java.lang.String varName) |
void |
invoke(Project project,
Editor editor,
PsiFile file)
Called when user invokes intention.
|
protected boolean |
isAllowOuterTargetClass() |
protected boolean |
isAvailableImpl(int offset) |
canBeTargetClass, getElement, isValidElement
chooseTargetClass, filterTargetClasses, getTargetClasses, getTargetSubstitutor, getVisibility, isAvailable, positionCursor, setupGenericParameters, setupVisibility, shouldCreateStaticMember, startInWriteAction, startTemplate, startTemplate, startTemplate
canModify, getText, setText, toString
public CreateParameterFromUsageFix(PsiReferenceExpression referenceElement)
protected boolean isAvailableImpl(int offset)
isAvailableImpl
in class CreateVarFromUsageFix
public java.lang.String getText(java.lang.String varName)
getText
in class CreateVarFromUsageFix
public PsiElement getElementToMakeWritable(PsiFile currentFile)
FileModifier
@NotNull
, and the current file is read-only,
it will be made writable (honoring version control integration) before the intention/fix is invoked.
By default, as a heuristic, returns the same as WriteActionAware.startInWriteAction()
.
If the action is going to modify multiple files, or the set of the files is unknown in advance, please
don't bother overriding this method, return false
from WriteActionAware.startInWriteAction()
, and call FileModificationService
methods in the implementation, and take write actions yourself as needed.currentFile
- the same file where intention would be invoked (for LocalQuickFix
it would be the containing file of ProblemDescriptor.getPsiElement()
)public void invoke(Project project, Editor editor, PsiFile file)
IntentionAction
IntentionAction.startInWriteAction()
returns true
, this method is also called
inside write action.project
- the project in which the intention is invoked.editor
- the editor in which the intention is invoked.file
- the file open in the editor.protected boolean isAllowOuterTargetClass()
isAllowOuterTargetClass
in class CreateFromUsageBaseFix
public java.lang.String getFamilyName()
IntentionAction
IntentionManager.registerIntentionAndMetaData(IntentionAction, String...)