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

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -24,66 +24,63 @@
import com.siyeh.ig.psiutils.ExpressionUtils;
import com.siyeh.localize.InspectionGadgetsLocalize;
import consulo.annotation.component.ExtensionImpl;
import consulo.localize.LocalizeValue;
import jakarta.annotation.Nonnull;

@ExtensionImpl
public class MagicCharacterInspection extends BaseInspection {
@Nonnull
@Override
public LocalizeValue getDisplayName() {
return InspectionGadgetsLocalize.magicCharacterDisplayName();
}

@Override
@Nonnull
public String getDisplayName() {
return InspectionGadgetsLocalize.magicCharacterDisplayName().get();
}

@Override
@Nonnull
public String buildErrorString(Object... infos) {
return InspectionGadgetsLocalize.magicCharacterProblemDescriptor().get();
}

@Override
protected InspectionGadgetsFix buildFix(Object... infos) {
return new IntroduceConstantFix();
}

@Override
protected boolean buildQuickFixesOnlyForOnTheFlyErrors() {
return true;
}
@Override
@Nonnull
public String buildErrorString(Object... infos) {
return InspectionGadgetsLocalize.magicCharacterProblemDescriptor().get();
}

@Override
public BaseInspectionVisitor buildVisitor() {
return new CharacterLiteralsShouldBeExplicitlyDeclaredVisitor();
}
@Override
protected InspectionGadgetsFix buildFix(Object... infos) {
return new IntroduceConstantFix();
}

private static class CharacterLiteralsShouldBeExplicitlyDeclaredVisitor
extends BaseInspectionVisitor {
@Override
protected boolean buildQuickFixesOnlyForOnTheFlyErrors() {
return true;
}

@Override
public void visitLiteralExpression(
@Nonnull PsiLiteralExpression expression) {
super.visitLiteralExpression(expression);
final PsiType type = expression.getType();
if (type == null) {
return;
}
if (!type.equals(PsiType.CHAR)) {
return;
}
final String text = expression.getText();
if (text == null) {
return;
}
if (text.equals(" ")) {
return;
}
if (ExpressionUtils.isDeclaredConstant(expression)) {
return;
}
if (NonNlsUtils.isNonNlsAnnotatedUse(expression)) {
return;
}
registerError(expression);
public BaseInspectionVisitor buildVisitor() {
return new CharacterLiteralsShouldBeExplicitlyDeclaredVisitor();
}

private static class CharacterLiteralsShouldBeExplicitlyDeclaredVisitor extends BaseInspectionVisitor {
@Override
public void visitLiteralExpression(@Nonnull PsiLiteralExpression expression) {
super.visitLiteralExpression(expression);
final PsiType type = expression.getType();
if (type == null) {
return;
}
if (!type.equals(PsiType.CHAR)) {
return;
}
final String text = expression.getText();
if (text == null) {
return;
}
if (text.equals(" ")) {
return;
}
if (ExpressionUtils.isDeclaredConstant(expression)) {
return;
}
if (NonNlsUtils.isNonNlsAnnotatedUse(expression)) {
return;
}
registerError(expression);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,62 +22,63 @@
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.localize.InspectionGadgetsLocalize;
import consulo.annotation.component.ExtensionImpl;
import consulo.localize.LocalizeValue;
import jakarta.annotation.Nonnull;
import org.intellij.lang.annotations.Pattern;

@ExtensionImpl
public class NumericToStringInspection extends BaseInspection {
@Nonnull
@Override
@Pattern(VALID_ID_PATTERN)
public String getID() {
return "CallToNumericToString";
}

@Nonnull
public String getID() {
return "CallToNumericToString";
}

@Nonnull
public String getDisplayName() {
return InspectionGadgetsLocalize.callToNumericTostringDisplayName().get();
}

@Nonnull
public String buildErrorString(Object... infos) {
return InspectionGadgetsLocalize.callToNumericTostringProblemDescriptor().get();
}
@Nonnull
@Override
public LocalizeValue getDisplayName() {
return InspectionGadgetsLocalize.callToNumericTostringDisplayName();
}

public BaseInspectionVisitor buildVisitor() {
return new NumericToStringVisitor();
}
@Nonnull
public String buildErrorString(Object... infos) {
return InspectionGadgetsLocalize.callToNumericTostringProblemDescriptor().get();
}

private static class NumericToStringVisitor extends BaseInspectionVisitor {
public BaseInspectionVisitor buildVisitor() {
return new NumericToStringVisitor();
}

@Override
public void visitMethodCallExpression(
@Nonnull PsiMethodCallExpression expression) {
super.visitMethodCallExpression(expression);
final PsiReferenceExpression methodExpression =
expression.getMethodExpression();
final String methodName = methodExpression.getReferenceName();
if (!HardcodedMethodConstants.TO_STRING.equals(methodName)) {
return;
}
final PsiMethod method = expression.resolveMethod();
if (method == null) {
return;
}
final PsiParameterList parameterList = method.getParameterList();
if (parameterList.getParametersCount() != 0) {
return;
}
final PsiClass aClass = method.getContainingClass();
if (aClass == null) {
return;
}
final String className = aClass.getQualifiedName();
if (!TypeConversionUtil.isPrimitiveWrapper(className)) {
return;
}
if (NonNlsUtils.isNonNlsAnnotatedUse(expression)) {
return;
}
registerMethodCallError(expression);
private static class NumericToStringVisitor extends BaseInspectionVisitor {
@Override
public void visitMethodCallExpression(@Nonnull PsiMethodCallExpression expression) {
super.visitMethodCallExpression(expression);
final PsiReferenceExpression methodExpression = expression.getMethodExpression();
final String methodName = methodExpression.getReferenceName();
if (!HardcodedMethodConstants.TO_STRING.equals(methodName)) {
return;
}
final PsiMethod method = expression.resolveMethod();
if (method == null) {
return;
}
final PsiParameterList parameterList = method.getParameterList();
if (parameterList.getParametersCount() != 0) {
return;
}
final PsiClass aClass = method.getContainingClass();
if (aClass == null) {
return;
}
final String className = aClass.getQualifiedName();
if (!TypeConversionUtil.isPrimitiveWrapper(className)) {
return;
}
if (NonNlsUtils.isNonNlsAnnotatedUse(expression)) {
return;
}
registerMethodCallError(expression);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,47 +23,47 @@
import com.siyeh.ig.psiutils.ExpressionUtils;
import com.siyeh.localize.InspectionGadgetsLocalize;
import consulo.annotation.component.ExtensionImpl;
import consulo.localize.LocalizeValue;
import jakarta.annotation.Nonnull;

@ExtensionImpl
public class SimpleDateFormatWithoutLocaleInspection extends BaseInspection {
@Nonnull
@Override
public LocalizeValue getDisplayName() {
return InspectionGadgetsLocalize.instantiatingSimpledateformatWithoutLocaleDisplayName();
}

@Override
@Nonnull
public String getDisplayName() {
return InspectionGadgetsLocalize.instantiatingSimpledateformatWithoutLocaleDisplayName().get();
}

@Override
@Nonnull
public String buildErrorString(Object... infos) {
return InspectionGadgetsLocalize.instantiatingSimpledateformatWithoutLocaleProblemDescriptor().get();
}
@Override
@Nonnull
public String buildErrorString(Object... infos) {
return InspectionGadgetsLocalize.instantiatingSimpledateformatWithoutLocaleProblemDescriptor().get();
}

@Override
public BaseInspectionVisitor buildVisitor() {
return new SimpleDateFormatWithoutLocaleVisitor();
}
@Override
public BaseInspectionVisitor buildVisitor() {
return new SimpleDateFormatWithoutLocaleVisitor();
}

private static class SimpleDateFormatWithoutLocaleVisitor extends BaseInspectionVisitor {
private static class SimpleDateFormatWithoutLocaleVisitor extends BaseInspectionVisitor {

@Override
public void visitNewExpression(@Nonnull PsiNewExpression expression) {
super.visitNewExpression(expression);
if (!ExpressionUtils.hasType(expression, "java.text.SimpleDateFormat")) {
return;
}
final PsiExpressionList argumentList = expression.getArgumentList();
if (argumentList == null) {
return;
}
final PsiExpression[] arguments = argumentList.getExpressions();
for (PsiExpression argument : arguments) {
if (ExpressionUtils.hasType(argument, "java.util.Locale")) {
return;
@Override
public void visitNewExpression(@Nonnull PsiNewExpression expression) {
super.visitNewExpression(expression);
if (!ExpressionUtils.hasType(expression, "java.text.SimpleDateFormat")) {
return;
}
final PsiExpressionList argumentList = expression.getArgumentList();
if (argumentList == null) {
return;
}
final PsiExpression[] arguments = argumentList.getExpressions();
for (PsiExpression argument : arguments) {
if (ExpressionUtils.hasType(argument, "java.util.Locale")) {
return;
}
}
registerError(expression);
}
}
registerError(expression);
}
}
}
Loading
Loading