@Nullable public static PsiElement getContextElement(@Nullable ResolveState state) { SmartPsiElementPointer<PsiElement> context = state != null ? state.get(CONTEXT) : null; return context != null ? context.getElement() : null; }
@Override public void invoke(@NotNull Project project, @NotNull PsiFile file, @NotNull PsiElement startElement, @NotNull PsiElement endElement) { Collection<PerlVariableDeclarationElement> declarations = myVariablesProvider.getValue(); if (declarations.isEmpty()) { startElement.delete(); return; } StringBuilder newCode = new StringBuilder("our"); if (declarations.size() > 1) { newCode.append("("); } newCode.append(StringUtil.join(ContainerUtil.map(declarations, PsiElement::getText), ",")); if (declarations.size() > 1) { newCode.append(")"); } newCode.append(";"); PerlFileImpl fakeFile = PerlElementFactory.createFile(myStartElement.getProject(), newCode.toString()); PsiPerlStatement newElement = PsiTreeUtil.findChildOfType(fakeFile, PsiPerlStatement.class); if (newElement != null) { startElement.replace(newElement); } }
public PsiElement getPerlElement() { return myPerlElementPointer.getElement(); } }
@Override public void applyFix(final @NotNull Project project, @NotNull ProblemDescriptor problemDescriptor) { PhpClass phpClass = smartPhpClass.getElement(); if(phpClass == null) { return;
final PsiElement target = SmartPointerManager.getInstance(psiElement.getProject()) .createSmartPsiElementPointer(psiElement) .getElement();
PerlHeredocOpener currentOpener = currentOpenerPointer.getElement(); PerlHeredocOpener lastOpener = lastOpenerPointer.getElement(); if (lastOpener == null) { return Result.Continue; CodeStyleManager.getInstance(file.getProject()).reformatRange(file, addOffset, addOffset + closeMarker.length()); currentOpener = currentOpenerPointer.getElement();