Skip to content

Commit ecc24d7

Browse files
committed
Merge pull request #1799 from eugene-auduchinok/no_new_variables_inspection_fix
Fix no new variable inspection for shadowing in 'for clause' case
2 parents ee83269 + b8eb9d5 commit ecc24d7

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/com/goide/inspections/GoNoNewVariablesInspection.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.goide.inspections;
1818

19+
import com.goide.psi.GoForClause;
1920
import com.goide.psi.GoShortVarDeclaration;
2021
import com.goide.psi.GoVarDefinition;
2122
import com.goide.psi.GoVisitor;
@@ -24,6 +25,7 @@
2425
import com.intellij.openapi.util.TextRange;
2526
import com.intellij.psi.PsiElement;
2627
import com.intellij.psi.PsiReference;
28+
import com.intellij.psi.util.PsiTreeUtil;
2729
import com.intellij.util.containers.ContainerUtil;
2830
import org.jetbrains.annotations.NotNull;
2931

@@ -38,7 +40,7 @@ protected GoVisitor buildGoVisitor(@NotNull final ProblemsHolder holder,
3840
@Override
3941
public void visitShortVarDeclaration(@NotNull GoShortVarDeclaration o) {
4042
List<GoVarDefinition> list = o.getVarDefinitionList();
41-
if (list.isEmpty()) return;
43+
if (list.isEmpty() || PsiTreeUtil.getParentOfType(o, GoForClause.class) != null) return;
4244

4345
GoVarDefinition first = ContainerUtil.getFirstItem(list);
4446
GoVarDefinition last = ContainerUtil.getLastItem(list);

testData/highlighting/shortVars.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,10 @@ func Test2() (err error) {
6565
}
6666

6767
return err
68-
}
68+
}
69+
70+
func <warning>shadowing</warning>(i int) {
71+
for i := 1; i < 3; i++ {
72+
_ = i
73+
}
74+
}

0 commit comments

Comments
 (0)