diff --git a/java/java-tests/testData/inspection/magic/Propagate.java b/java/java-tests/testData/inspection/magic/Propagate.java
new file mode 100644
index 000000000000..c2192819e56c
--- /dev/null
+++ b/java/java-tests/testData/inspection/magic/Propagate.java
@@ -0,0 +1,36 @@
+import org.intellij.lang.annotations.MagicConstant;
+
+class Main {
+ static final int V1 = 10;
+ static final int V2 = 20;
+
+ void consume(@MagicConstant(intValues = {V1, V2}) int x) {
+
+ }
+}
+class Use {
+ int field;
+ int fieldOk;
+ @MagicConstant(intValues = {Main.V1, Main.V2})
+ int fieldOkAnnotated;
+
+ Use() {
+ this.field = 123;
+ this.fieldOk = Main.V1;
+ this.fieldOkAnnotated = Main.V2;
+ test(123, Main.V1, Main.V2);
+ }
+
+ void test(int parameter, int parameterOk, @MagicConstant(intValues = {Main.V1, Main.V2}) int parameterOkAnnotated) {
+ int local = 123;
+ int localOk = Main.V1;
+ new Main().consume(field);
+ new Main().consume(fieldOk);
+ new Main().consume(fieldOkAnnotated);
+ new Main().consume(local);
+ new Main().consume(localOk);
+ new Main().consume(parameter);
+ new Main().consume(parameterOk);
+ new Main().consume(parameterOkAnnotated);
+ }
+}
diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/MagicConstantInspectionTest.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/MagicConstantInspectionTest.java
index 6b273dd247f6..180650a10baf 100644
--- a/java/java-tests/testSrc/com/intellij/java/codeInspection/MagicConstantInspectionTest.java
+++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/MagicConstantInspectionTest.java
@@ -37,6 +37,7 @@ public class MagicConstantInspectionTest extends LightJavaCodeInsightFixtureTest
public void testEnumConstructor() { doTest(); }
public void testFieldInitializer() { doTest(); }
public void testSwitchBlock() { doTest(); }
+ public void testPropagate() { doTest(); }
public void testSwitchExpression1() { IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_14, () -> doTest()); }
public void testSwitchExpression2() { IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_14, () -> doTest()); }