mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-92928 (name shadowing not detected)
This commit is contained in:
@@ -376,8 +376,8 @@ field.name.hides.in.superclass.ignore.option=Ignore superclass fields not visibl
|
||||
inner.class.field.hides.outer.display.name=Inner class field hides outer class field
|
||||
inner.class.field.hides.outer.ignore.option=Ignore outer fields not visible from inner class
|
||||
inner.class.field.hides.outer.problem.descriptor=Inner class field <code>#ref</code> hides outer class field #loc
|
||||
local.variable.hides.member.variable.display.name=Local variable hides member variable
|
||||
local.variable.hides.member.variable.problem.descriptor=Local variable <code>#ref</code> hides member variable #loc
|
||||
local.variable.hides.member.variable.display.name=Local variable hides field
|
||||
local.variable.hides.member.variable.problem.descriptor=Local variable <code>#ref</code> hides field in class ''{0}'' #loc
|
||||
local.variable.hides.member.variable.ignore.option=Ignore local variables in static methods
|
||||
method.overloads.display.name=Method overloads method of superclass
|
||||
method.overloads.problem.descriptor=Method <code>#ref()</code> overloads a compatible method of a superclass, when overriding might have been intended #loc
|
||||
@@ -386,8 +386,8 @@ method.overrides.private.display.name=Method overrides private method of supercl
|
||||
method.overrides.private.display.name.problem.descriptor=Method <code>#ref()</code> overrides a private method of a superclass #loc
|
||||
method.overrides.static.display.name=Method overrides static method of superclass
|
||||
method.overrides.static.problem.descriptor=Method <code>#ref()</code> overrides a static method of a superclass #loc
|
||||
parameter.hides.member.variable.display.name=Parameter hides member variable
|
||||
parameter.hides.member.variable.problem.descriptor=Parameter <code>#ref</code> hides member variable #loc
|
||||
parameter.hides.member.variable.display.name=Parameter hides field
|
||||
parameter.hides.member.variable.problem.descriptor=Parameter <code>#ref</code> hides field in class ''{0}'' #loc
|
||||
parameter.hides.member.variable.ignore.setters.option=Ignore for property setters
|
||||
parameter.hides.member.variable.ignore.superclass.option=Ignore superclass fields not visible from subclass
|
||||
parameter.hides.member.variable.ignore.constructors.option=Ignore for constructors
|
||||
|
||||
+46
-61
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
|
||||
* Copyright 2003-2012 Dave Griffith, Bas Leijdekkers
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -25,19 +25,16 @@ import com.siyeh.ig.fixes.RenameFix;
|
||||
import com.siyeh.ig.psiutils.ClassUtils;
|
||||
import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public class LocalVariableHidingMemberVariableInspection
|
||||
extends BaseInspection {
|
||||
public class LocalVariableHidingMemberVariableInspection extends BaseInspection {
|
||||
|
||||
/**
|
||||
* @noinspection PublicField
|
||||
*/
|
||||
@SuppressWarnings("PublicField")
|
||||
public boolean m_ignoreInvisibleFields = true;
|
||||
/**
|
||||
* @noinspection PublicField
|
||||
*/
|
||||
|
||||
@SuppressWarnings("PublicField")
|
||||
public boolean m_ignoreStaticMethods = true;
|
||||
|
||||
@NotNull
|
||||
@@ -47,8 +44,7 @@ public class LocalVariableHidingMemberVariableInspection
|
||||
|
||||
@NotNull
|
||||
public String getDisplayName() {
|
||||
return InspectionGadgetsBundle.message(
|
||||
"local.variable.hides.member.variable.display.name");
|
||||
return InspectionGadgetsBundle.message("local.variable.hides.member.variable.display.name");
|
||||
}
|
||||
|
||||
protected InspectionGadgetsFix buildFix(Object... infos) {
|
||||
@@ -61,19 +57,14 @@ public class LocalVariableHidingMemberVariableInspection
|
||||
|
||||
@NotNull
|
||||
public String buildErrorString(Object... infos) {
|
||||
return InspectionGadgetsBundle.message(
|
||||
"local.variable.hides.member.variable.problem.descriptor");
|
||||
final PsiClass aClass = (PsiClass)infos[0];
|
||||
return InspectionGadgetsBundle.message("local.variable.hides.member.variable.problem.descriptor", aClass.getName());
|
||||
}
|
||||
|
||||
public JComponent createOptionsPanel() {
|
||||
final MultipleCheckboxOptionsPanel optionsPanel =
|
||||
new MultipleCheckboxOptionsPanel(this);
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message(
|
||||
"field.name.hides.in.superclass.ignore.option"),
|
||||
"m_ignoreInvisibleFields");
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message(
|
||||
"local.variable.hides.member.variable.ignore.option"),
|
||||
"m_ignoreStaticMethods");
|
||||
final MultipleCheckboxOptionsPanel optionsPanel = new MultipleCheckboxOptionsPanel(this);
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message("field.name.hides.in.superclass.ignore.option"), "m_ignoreInvisibleFields");
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message("local.variable.hides.member.variable.ignore.option"), "m_ignoreStaticMethods");
|
||||
return optionsPanel;
|
||||
}
|
||||
|
||||
@@ -81,71 +72,65 @@ public class LocalVariableHidingMemberVariableInspection
|
||||
return new LocalVariableHidingMemberVariableVisitor();
|
||||
}
|
||||
|
||||
private class LocalVariableHidingMemberVariableVisitor
|
||||
extends BaseInspectionVisitor {
|
||||
private class LocalVariableHidingMemberVariableVisitor extends BaseInspectionVisitor {
|
||||
|
||||
@Override
|
||||
public void visitLocalVariable(@NotNull PsiLocalVariable variable) {
|
||||
super.visitLocalVariable(variable);
|
||||
if (m_ignoreStaticMethods) {
|
||||
final PsiMethod aMethod =
|
||||
PsiTreeUtil.getParentOfType(variable,
|
||||
PsiMethod.class);
|
||||
if (aMethod == null) {
|
||||
return;
|
||||
}
|
||||
if (aMethod.hasModifierProperty(PsiModifier.STATIC)) {
|
||||
final PsiMember member = PsiTreeUtil.getParentOfType(variable, PsiMethod.class, PsiClassInitializer.class);
|
||||
if (member != null && member.hasModifierProperty(PsiModifier.STATIC)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
final PsiClass aClass =
|
||||
ClassUtils.getContainingClass(variable);
|
||||
final PsiClass aClass = checkFieldNames(variable);
|
||||
if (aClass == null) {
|
||||
return;
|
||||
}
|
||||
final String variableName = variable.getName();
|
||||
final PsiField[] fields = aClass.getAllFields();
|
||||
for (final PsiField field : fields) {
|
||||
if (checkFieldName(field, variableName, aClass)) {
|
||||
registerVariableError(variable);
|
||||
}
|
||||
}
|
||||
registerVariableError(variable, aClass);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitParameter(@NotNull PsiParameter variable) {
|
||||
super.visitParameter(variable);
|
||||
if (!(variable.getDeclarationScope() instanceof PsiCatchSection)) {
|
||||
final PsiElement declarationScope = variable.getDeclarationScope();
|
||||
if (!(declarationScope instanceof PsiCatchSection) && !(declarationScope instanceof PsiForeachStatement)) {
|
||||
return;
|
||||
}
|
||||
final PsiClass aClass =
|
||||
ClassUtils.getContainingClass(variable);
|
||||
if (m_ignoreStaticMethods) {
|
||||
final PsiMember member = PsiTreeUtil.getParentOfType(variable, PsiMethod.class, PsiClassInitializer.class);
|
||||
if (member != null && member.hasModifierProperty(PsiModifier.STATIC)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
final PsiClass aClass = checkFieldNames(variable);
|
||||
if (aClass == null) {
|
||||
return;
|
||||
}
|
||||
final String variableName = variable.getName();
|
||||
final PsiField[] fields = aClass.getAllFields();
|
||||
for (final PsiField field : fields) {
|
||||
if (checkFieldName(field, variableName, aClass)) {
|
||||
registerVariableError(variable);
|
||||
}
|
||||
}
|
||||
registerVariableError(variable, aClass);
|
||||
}
|
||||
|
||||
private boolean checkFieldName(PsiField field, String variableName,
|
||||
PsiClass aClass) {
|
||||
if (field == null) {
|
||||
return false;
|
||||
@Nullable
|
||||
private PsiClass checkFieldNames(PsiVariable variable) {
|
||||
PsiClass aClass = ClassUtils.getContainingClass(variable);
|
||||
final String variableName = variable.getName();
|
||||
if (variableName == null) {
|
||||
return null;
|
||||
}
|
||||
final String fieldName = field.getName();
|
||||
if (fieldName == null) {
|
||||
return false;
|
||||
while (aClass != null) {
|
||||
final PsiField[] fields = aClass.getAllFields();
|
||||
for (PsiField field : fields) {
|
||||
final String fieldName = field.getName();
|
||||
if (!variableName.equals(fieldName)) {
|
||||
continue;
|
||||
}
|
||||
if (!m_ignoreInvisibleFields || ClassUtils.isFieldVisible(field, aClass)) {
|
||||
return aClass;
|
||||
}
|
||||
}
|
||||
aClass = ClassUtils.getContainingClass(aClass);
|
||||
}
|
||||
if (!fieldName.equals(variableName)) {
|
||||
return false;
|
||||
}
|
||||
return !m_ignoreInvisibleFields ||
|
||||
ClassUtils.isFieldVisible(field, aClass);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
+50
-70
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2003-2007 Dave Griffith, Bas Leijdekkers
|
||||
* Copyright 2003-2012 Dave Griffith, Bas Leijdekkers
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -17,7 +17,6 @@ package com.siyeh.ig.visibility;
|
||||
|
||||
import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.siyeh.HardcodedMethodConstants;
|
||||
import com.siyeh.InspectionGadgetsBundle;
|
||||
import com.siyeh.ig.BaseInspection;
|
||||
@@ -26,30 +25,25 @@ import com.siyeh.ig.InspectionGadgetsFix;
|
||||
import com.siyeh.ig.fixes.RenameFix;
|
||||
import com.siyeh.ig.psiutils.ClassUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public class ParameterHidingMemberVariableInspection extends BaseInspection {
|
||||
|
||||
/**
|
||||
* @noinspection PublicField
|
||||
*/
|
||||
@SuppressWarnings("PublicField")
|
||||
public boolean m_ignoreInvisibleFields = true;
|
||||
/**
|
||||
* @noinspection PublicField
|
||||
*/
|
||||
|
||||
@SuppressWarnings("PublicField")
|
||||
public boolean m_ignoreStaticMethodParametersHidingInstanceFields = false;
|
||||
/**
|
||||
* @noinspection PublicField
|
||||
*/
|
||||
|
||||
@SuppressWarnings("PublicField")
|
||||
public boolean m_ignoreForConstructors = false;
|
||||
/**
|
||||
* @noinspection PublicField
|
||||
*/
|
||||
|
||||
@SuppressWarnings("PublicField")
|
||||
public boolean m_ignoreForPropertySetters = false;
|
||||
/**
|
||||
* @noinspection PublicField
|
||||
*/
|
||||
|
||||
@SuppressWarnings("PublicField")
|
||||
public boolean m_ignoreForAbstractMethods = false;
|
||||
|
||||
@NotNull
|
||||
@@ -59,8 +53,7 @@ public class ParameterHidingMemberVariableInspection extends BaseInspection {
|
||||
|
||||
@NotNull
|
||||
public String getDisplayName() {
|
||||
return InspectionGadgetsBundle.message(
|
||||
"parameter.hides.member.variable.display.name");
|
||||
return InspectionGadgetsBundle.message("parameter.hides.member.variable.display.name");
|
||||
}
|
||||
|
||||
protected InspectionGadgetsFix buildFix(Object... infos) {
|
||||
@@ -73,27 +66,21 @@ public class ParameterHidingMemberVariableInspection extends BaseInspection {
|
||||
|
||||
@NotNull
|
||||
public String buildErrorString(Object... infos) {
|
||||
return InspectionGadgetsBundle.message(
|
||||
"parameter.hides.member.variable.problem.descriptor");
|
||||
final PsiClass aClass = (PsiClass)infos[0];
|
||||
return InspectionGadgetsBundle.message("parameter.hides.member.variable.problem.descriptor", aClass.getName());
|
||||
}
|
||||
|
||||
public JComponent createOptionsPanel() {
|
||||
final MultipleCheckboxOptionsPanel optionsPanel =
|
||||
new MultipleCheckboxOptionsPanel(this);
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message(
|
||||
"parameter.hides.member.variable.ignore.setters.option"),
|
||||
final MultipleCheckboxOptionsPanel optionsPanel = new MultipleCheckboxOptionsPanel(this);
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message("parameter.hides.member.variable.ignore.setters.option"),
|
||||
"m_ignoreForPropertySetters");
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message(
|
||||
"parameter.hides.member.variable.ignore.superclass.option"),
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message("parameter.hides.member.variable.ignore.superclass.option"),
|
||||
"m_ignoreInvisibleFields");
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message(
|
||||
"parameter.hides.member.variable.ignore.constructors.option"),
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message("parameter.hides.member.variable.ignore.constructors.option"),
|
||||
"m_ignoreForConstructors");
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message(
|
||||
"parameter.hides.member.variable.ignore.abstract.methods.option"),
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message("parameter.hides.member.variable.ignore.abstract.methods.option"),
|
||||
"m_ignoreForAbstractMethods");
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message(
|
||||
"parameter.hides.member.variable.ignore.static.parameters.option"),
|
||||
optionsPanel.addCheckbox(InspectionGadgetsBundle.message("parameter.hides.member.variable.ignore.static.parameters.option"),
|
||||
"m_ignoreStaticMethodParametersHidingInstanceFields");
|
||||
return optionsPanel;
|
||||
}
|
||||
@@ -102,21 +89,16 @@ public class ParameterHidingMemberVariableInspection extends BaseInspection {
|
||||
return new ParameterHidingMemberVariableVisitor();
|
||||
}
|
||||
|
||||
private class ParameterHidingMemberVariableVisitor
|
||||
extends BaseInspectionVisitor {
|
||||
private class ParameterHidingMemberVariableVisitor extends BaseInspectionVisitor {
|
||||
|
||||
@Override
|
||||
public void visitParameter(@NotNull PsiParameter variable) {
|
||||
super.visitParameter(variable);
|
||||
if (variable.getDeclarationScope() instanceof PsiCatchSection) {
|
||||
return;
|
||||
}
|
||||
final PsiMethod method =
|
||||
PsiTreeUtil.getParentOfType(variable,
|
||||
PsiMethod.class);
|
||||
if (method == null) {
|
||||
final PsiElement declarationScope = variable.getDeclarationScope();
|
||||
if (!(declarationScope instanceof PsiMethod)) {
|
||||
return;
|
||||
}
|
||||
final PsiMethod method = (PsiMethod)declarationScope;
|
||||
if (m_ignoreForConstructors && method.isConstructor()) {
|
||||
return;
|
||||
}
|
||||
@@ -125,51 +107,49 @@ public class ParameterHidingMemberVariableInspection extends BaseInspection {
|
||||
return;
|
||||
}
|
||||
final PsiClass containingClass = method.getContainingClass();
|
||||
if (containingClass.isInterface()) {
|
||||
if (containingClass != null && containingClass.isInterface()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (m_ignoreForPropertySetters) {
|
||||
final String methodName = method.getName();
|
||||
final PsiType returnType = method.getReturnType();
|
||||
if (methodName.startsWith(HardcodedMethodConstants.SET) &&
|
||||
PsiType.VOID.equals(returnType)) {
|
||||
if (methodName.startsWith(HardcodedMethodConstants.SET) && PsiType.VOID.equals(returnType)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
final PsiClass aClass =
|
||||
ClassUtils.getContainingClass(variable);
|
||||
if (aClass == null) {
|
||||
final PsiClass aClass = checkFieldName(variable, method);
|
||||
if (aClass == null) {
|
||||
return;
|
||||
}
|
||||
registerVariableError(variable, aClass);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private PsiClass checkFieldName(PsiVariable variable, PsiMethod method) {
|
||||
final String variableName = variable.getName();
|
||||
final PsiField[] fields = aClass.getAllFields();
|
||||
for (final PsiField field : fields) {
|
||||
if (checkFieldName(field, variableName, aClass)) {
|
||||
if (m_ignoreStaticMethodParametersHidingInstanceFields &&
|
||||
!field.hasModifierProperty(PsiModifier.STATIC) &&
|
||||
if (variableName == null) {
|
||||
return null;
|
||||
}
|
||||
PsiClass aClass = ClassUtils.getContainingClass(variable);
|
||||
while (aClass != null) {
|
||||
final PsiField[] fields = aClass.getAllFields();
|
||||
for (PsiField field : fields) {
|
||||
final String fieldName = field.getName();
|
||||
if (!variableName.equals(fieldName)) {
|
||||
continue;
|
||||
}
|
||||
if (m_ignoreStaticMethodParametersHidingInstanceFields && !field.hasModifierProperty(PsiModifier.STATIC) &&
|
||||
method.hasModifierProperty(PsiModifier.STATIC)) {
|
||||
continue;
|
||||
}
|
||||
registerVariableError(variable);
|
||||
if (!m_ignoreInvisibleFields || ClassUtils.isFieldVisible(field, aClass)) {
|
||||
return aClass;
|
||||
}
|
||||
}
|
||||
aClass = ClassUtils.getContainingClass(aClass);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkFieldName(PsiField field, String variableName,
|
||||
PsiClass aClass) {
|
||||
if (field == null) {
|
||||
return false;
|
||||
}
|
||||
final String fieldName = field.getName();
|
||||
if (fieldName == null) {
|
||||
return false;
|
||||
}
|
||||
if (!fieldName.equals(variableName)) {
|
||||
return false;
|
||||
}
|
||||
return !m_ignoreInvisibleFields ||
|
||||
ClassUtils.isFieldVisible(field, aClass);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
+3
-2
@@ -1,7 +1,8 @@
|
||||
<html>
|
||||
<body>
|
||||
Reports local variables being named identically to visible member variables of their
|
||||
class. Such a variable name may be confusing.
|
||||
Reports local variables named identically to visible fields of their class
|
||||
or surrounding classes if it is a local variable inside of an inner or anonymous class.
|
||||
Such a variable name may be confusing.
|
||||
<!-- tooltip end -->
|
||||
<p>
|
||||
<small>Powered by InspectionGadgets</small>
|
||||
|
||||
+3
-2
@@ -1,7 +1,8 @@
|
||||
<html>
|
||||
<body>
|
||||
Reports method parameters being named identically to visible member variables of their
|
||||
class. Such a parameter name may be confusing.
|
||||
Reports method parameters named identically to visible fields of their class
|
||||
or surrounding classes if it is a parameter inside of an inner or anonymous class.
|
||||
Such a parameter name may be confusing.
|
||||
<!-- tooltip end -->
|
||||
<p>
|
||||
<small>Powered by InspectionGadgets</small>
|
||||
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package com.siyeh.igtest.visibility;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.HashSet;
|
||||
|
||||
public class FieldHidesSuperclassFieldInspection extends LocalVariableHidingMemberVariableInspection
|
||||
{
|
||||
private int m_barangus = -1;
|
||||
|
||||
public FieldHidesSuperclassFieldInspection(int barangus)
|
||||
{
|
||||
super(barangus);
|
||||
}
|
||||
|
||||
public void foo()
|
||||
{
|
||||
System.out.println("bar" + m_barangus);
|
||||
}
|
||||
}
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
package com.siyeh.igtest.visibility;
|
||||
|
||||
import com.siyeh.igtest.visibility2.DifferentPackageClass;
|
||||
|
||||
|
||||
public class LocalVariableHidingMemberVariableInspection extends DifferentPackageClass
|
||||
{
|
||||
private int m_barangus = -1;
|
||||
|
||||
public LocalVariableHidingMemberVariableInspection(int barangus)
|
||||
{
|
||||
m_barangus = barangus;
|
||||
}
|
||||
|
||||
public void foo()
|
||||
{
|
||||
int fooBar;
|
||||
final Object m_barangus = new Object();
|
||||
System.out.println("bar" + m_barangus);
|
||||
}
|
||||
|
||||
public void setBarangus(int barangus)
|
||||
{
|
||||
m_barangus = barangus;
|
||||
System.out.println(m_barangus);
|
||||
}
|
||||
}
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
package com.siyeh.igtest.visibility;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.HashSet;
|
||||
|
||||
public class ParameterHidingMemberVariableInspection
|
||||
{
|
||||
private int bar = -1;
|
||||
|
||||
public ParameterHidingMemberVariableInspection(int bar)
|
||||
{
|
||||
this.bar = bar;
|
||||
}
|
||||
|
||||
public void setBar(int bar)
|
||||
{
|
||||
this.bar = bar;
|
||||
}
|
||||
|
||||
public void foo(Object bar)
|
||||
{
|
||||
System.out.println("bar" + bar);
|
||||
}
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
package com.siyeh.igtest.visibility.local_variable_hiding_member_variable;
|
||||
|
||||
import com.siyeh.igtest.visibility2.DifferentPackageClass;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class LocalVariableHidingMemberVariable extends DifferentPackageClass
|
||||
{
|
||||
private int m_barangus = -1;
|
||||
|
||||
public LocalVariableHidingMemberVariable(int barangus)
|
||||
{
|
||||
m_barangus = barangus;
|
||||
}
|
||||
|
||||
public void foo()
|
||||
{
|
||||
int fooBar;
|
||||
final Object m_barangus = new Object();
|
||||
System.out.println("bar" + m_barangus);
|
||||
}
|
||||
|
||||
public void setBarangus(int barangus)
|
||||
{
|
||||
m_barangus = barangus;
|
||||
System.out.println(m_barangus);
|
||||
}
|
||||
|
||||
public void innerContainer() {
|
||||
new Object() {
|
||||
void foo() {
|
||||
Object m_barangus = new Object();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public void foreach(List<String> list) {
|
||||
for (String m_barangus : list) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
final Object m_barangus = new Object();
|
||||
}
|
||||
|
||||
static {
|
||||
final Object m_barangus = new Object();
|
||||
}
|
||||
|
||||
static void silentForeach(List<String> list) {
|
||||
for (String m_barangus : list) {}
|
||||
}
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<problems>
|
||||
<problem>
|
||||
<file>LocalVariableHidingMemberVariable.java</file>
|
||||
<line>20</line>
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Local variable hides field</problem_class>
|
||||
<description>Local variable <code>m_barangus</code> hides field in class 'LocalVariableHidingMemberVariable' #loc</description>
|
||||
</problem>
|
||||
|
||||
<problem>
|
||||
<file>LocalVariableHidingMemberVariable.java</file>
|
||||
<line>33</line>
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Local variable hides field</problem_class>
|
||||
<description>Local variable <code>m_barangus</code> hides field in class 'LocalVariableHidingMemberVariable' #loc</description>
|
||||
</problem>
|
||||
|
||||
<problem>
|
||||
<file>LocalVariableHidingMemberVariable.java</file>
|
||||
<line>39</line>
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Local variable hides field</problem_class>
|
||||
<description>Local variable <code>m_barangus</code> hides field in class 'LocalVariableHidingMemberVariable' #loc</description>
|
||||
</problem>
|
||||
|
||||
<problem>
|
||||
<file>LocalVariableHidingMemberVariable.java</file>
|
||||
<line>45</line>
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Local variable hides field</problem_class>
|
||||
<description>Local variable <code>m_barangus</code> hides field in class 'LocalVariableHidingMemberVariable' #loc</description>
|
||||
</problem>
|
||||
</problems>
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
package com.siyeh.igtest.visibility.parameter_hiding_member_variable;
|
||||
|
||||
public class ParameterHidingMemberVariable
|
||||
{
|
||||
private int bar = -1;
|
||||
|
||||
public ParameterHidingMemberVariable(int bar)
|
||||
{
|
||||
this.bar = bar;
|
||||
}
|
||||
|
||||
public void setBar(int bar)
|
||||
{
|
||||
this.bar = bar;
|
||||
}
|
||||
|
||||
public void foo(Object bar)
|
||||
{
|
||||
System.out.println("bar" + bar);
|
||||
}
|
||||
|
||||
private static String x = "hello";
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
new Object() {
|
||||
public void foo(final String x) {
|
||||
System.out.println(x);
|
||||
}
|
||||
};
|
||||
return x+super.toString();
|
||||
}
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<problems>
|
||||
<problem>
|
||||
<file>ParameterHidingMemberVariable.java</file>
|
||||
<line>7</line>
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Parameter hides field</problem_class>
|
||||
<description>Parameter <code>bar</code> hides field in class 'ParameterHidingMemberVariable' #loc</description>
|
||||
</problem>
|
||||
|
||||
<problem>
|
||||
<file>ParameterHidingMemberVariable.java</file>
|
||||
<line>12</line>
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Parameter hides field</problem_class>
|
||||
<description>Parameter <code>bar</code> hides field in class 'ParameterHidingMemberVariable' #loc</description>
|
||||
</problem>
|
||||
|
||||
<problem>
|
||||
<file>ParameterHidingMemberVariable.java</file>
|
||||
<line>17</line>
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Parameter hides field</problem_class>
|
||||
<description>Parameter <code>bar</code> hides field in class 'ParameterHidingMemberVariable' #loc</description>
|
||||
</problem>
|
||||
|
||||
<problem>
|
||||
<file>ParameterHidingMemberVariable.java</file>
|
||||
<line>27</line>
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Parameter hides field</problem_class>
|
||||
<description>Parameter <code>x</code> hides field in class 'ParameterHidingMemberVariable' #loc</description>
|
||||
</problem>
|
||||
</problems>
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.siyeh.ig.visibility;
|
||||
|
||||
import com.siyeh.ig.IGInspectionTestCase;
|
||||
|
||||
public class LocalVariableHidingMemberVariableInspectionTest extends IGInspectionTestCase {
|
||||
|
||||
public void test() throws Exception {
|
||||
final LocalVariableHidingMemberVariableInspection inspection = new LocalVariableHidingMemberVariableInspection();
|
||||
inspection.m_ignoreStaticMethods = true;
|
||||
doTest("com/siyeh/igtest/visibility/local_variable_hiding_member_variable", inspection);
|
||||
}
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.siyeh.ig.visibility;
|
||||
|
||||
import com.siyeh.ig.IGInspectionTestCase;
|
||||
|
||||
public class ParameterHidingMemberVariableInspectionTest extends IGInspectionTestCase {
|
||||
|
||||
public void test() throws Exception {
|
||||
doTest("com/siyeh/igtest/visibility/parameter_hiding_member_variable", new ParameterHidingMemberVariableInspection());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user