Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.jetbrains.python.impl.buildout.config.inspection;

import com.google.common.collect.Lists;
import com.jetbrains.python.impl.PyBundle;
import com.jetbrains.python.impl.buildout.config.BuildoutCfgFileType;
import com.jetbrains.python.impl.buildout.config.psi.impl.BuildoutCfgValueLine;
import com.jetbrains.python.impl.buildout.config.ref.BuildoutPartReference;
Expand All @@ -31,85 +29,86 @@
import consulo.language.psi.PsiFile;
import consulo.language.psi.PsiRecursiveElementVisitor;
import consulo.language.psi.PsiReference;
import org.jetbrains.annotations.Nls;

import consulo.localize.LocalizeValue;
import consulo.python.impl.localize.PyLocalize;
import jakarta.annotation.Nonnull;

import java.util.List;

/**
* @author traff
*/
@ExtensionImpl
public class BuildoutUnresolvedPartInspection extends LocalInspectionTool {
@Nls
@Nonnull
@Override
public String getGroupDisplayName() {
return PyBundle.message("buildout");
}

@Nls
@Nonnull
@Override
public String getDisplayName() {
return PyBundle.message("buildout.unresolved.part.inspection");
}

@Nonnull
@Override
public String getShortName() {
return "BuildoutUnresolvedPartInspection";
}

@Nonnull
@Override
public HighlightDisplayLevel getDefaultLevel() {
return HighlightDisplayLevel.WARNING;
}

@Override
public boolean isEnabledByDefault() {
return true;
}

@Override
public ProblemDescriptor[] checkFile(@Nonnull PsiFile file, @Nonnull InspectionManager manager, boolean isOnTheFly) {
List<ProblemDescriptor> problems = Lists.newArrayList();
if (file.getFileType().equals(BuildoutCfgFileType.INSTANCE)) {
Visitor visitor = new Visitor();
file.accept(visitor);
@Nonnull
@Override
public LocalizeValue getGroupDisplayName() {
return PyLocalize.buildout();
}

for (BuildoutPartReference ref : visitor.getUnresolvedParts()) {
ProblemDescriptor d = manager
.createProblemDescriptor(ref.getElement(), ref.getRangeInElement(), PyBundle.message("buildout.unresolved.part.inspection.msg"),
ProblemHighlightType.GENERIC_ERROR_OR_WARNING, false);
problems.add(d);
}
@Nonnull
@Override
public LocalizeValue getDisplayName() {
return PyLocalize.buildoutUnresolvedPartInspection();
}
return problems.toArray(new ProblemDescriptor[problems.size()]);
}

private class Visitor extends PsiRecursiveElementVisitor {
private final List<BuildoutPartReference> unresolvedParts = Lists.newArrayList();
@Nonnull
@Override
public String getShortName() {
return "BuildoutUnresolvedPartInspection";
}

@Nonnull
@Override
public void visitElement(PsiElement element) {
if (element instanceof BuildoutCfgValueLine) {
PsiReference[] refs = element.getReferences();
for (PsiReference ref : refs) {
if (ref instanceof BuildoutPartReference && ref.resolve() == null) {
unresolvedParts.add((BuildoutPartReference)ref);
}
}
public HighlightDisplayLevel getDefaultLevel() {
return HighlightDisplayLevel.WARNING;
}

}
super.visitElement(element); //To change body of overridden methods use File | Settings | File Templates.
@Override
public boolean isEnabledByDefault() {
return true;
}

public List<BuildoutPartReference> getUnresolvedParts() {
return unresolvedParts;
@Override
public ProblemDescriptor[] checkFile(@Nonnull PsiFile file, @Nonnull InspectionManager manager, boolean isOnTheFly) {
List<ProblemDescriptor> problems = Lists.newArrayList();
if (file.getFileType().equals(BuildoutCfgFileType.INSTANCE)) {
Visitor visitor = new Visitor();
file.accept(visitor);

for (BuildoutPartReference ref : visitor.getUnresolvedParts()) {
ProblemDescriptor d = manager.createProblemDescriptor(
ref.getElement(),
ref.getRangeInElement(),
PyLocalize.buildoutUnresolvedPartInspectionMsg().get(),
ProblemHighlightType.GENERIC_ERROR_OR_WARNING,
false
);
problems.add(d);
}
}
return problems.toArray(new ProblemDescriptor[problems.size()]);
}
}

private class Visitor extends PsiRecursiveElementVisitor {
private final List<BuildoutPartReference> unresolvedParts = Lists.newArrayList();

@Override
public void visitElement(PsiElement element) {
if (element instanceof BuildoutCfgValueLine) {
PsiReference[] refs = element.getReferences();
for (PsiReference ref : refs) {
if (ref instanceof BuildoutPartReference && ref.resolve() == null) {
unresolvedParts.add((BuildoutPartReference) ref);
}
}

}
super.visitElement(element); //To change body of overridden methods use File | Settings | File Templates.
}

public List<BuildoutPartReference> getUnresolvedParts() {
return unresolvedParts;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,10 @@
package com.jetbrains.python.impl.codeInsight.intentions;

import com.google.common.collect.Sets;
import com.jetbrains.python.impl.PyBundle;
import com.jetbrains.python.impl.psi.PyUtil;
import com.jetbrains.python.impl.psi.types.PyModuleType;
import com.jetbrains.python.psi.*;
import com.jetbrains.python.psi.impl.PyPsiUtils;
import com.jetbrains.python.impl.psi.types.PyModuleType;
import com.jetbrains.python.psi.types.TypeEvalContext;
import consulo.codeEditor.Editor;
import consulo.document.Document;
Expand All @@ -33,7 +32,6 @@
import consulo.project.Project;
import consulo.python.impl.localize.PyLocalize;
import consulo.ui.NotificationType;

import jakarta.annotation.Nonnull;
import jakarta.annotation.Nullable;

Expand Down Expand Up @@ -325,7 +323,7 @@ public boolean execute(@Nonnull PsiElement element) {
//myFromImportStatement.replace(new_import);
}
catch (IncorrectOperationException ignored) {
PyUtil.showBalloon(project, PyBundle.message("QFIX.action.failed"), NotificationType.WARNING);
PyUtil.showBalloon(project, PyLocalize.qfixActionFailed().get(), NotificationType.WARNING);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.jetbrains.python.impl.codeInsight.intentions;


import jakarta.annotation.Nonnull;

import consulo.language.editor.FileModificationService;
Expand All @@ -26,15 +24,14 @@
import consulo.language.psi.PsiFile;
import consulo.language.util.IncorrectOperationException;

public abstract class PyBaseIntentionAction extends BaseIntentionAction
{

@Override
public final void invoke(@Nonnull Project project, Editor editor, PsiFile file) throws IncorrectOperationException
{
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
doInvoke(project, editor, file);
}
public abstract class PyBaseIntentionAction extends BaseIntentionAction {
@Override
public final void invoke(@Nonnull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
if (!FileModificationService.getInstance().prepareFileForWrite(file)) {
return;
}
doInvoke(project, editor, file);
}

public abstract void doInvoke(@Nonnull Project project, Editor editor, PsiFile file) throws IncorrectOperationException;
public abstract void doInvoke(@Nonnull Project project, Editor editor, PsiFile file) throws IncorrectOperationException;
}
Loading
Loading