From b87b7c31c1dc2955b81d15fbb18d69e8536ac6b8 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Tue, 7 May 2019 14:56:45 +0700 Subject: [PATCH] TrackingRunner: added line number to the dump for more precise testdata GitOrigin-RevId: ac8da6213d3e06974d589e36b90aabc64738d59e --- .../dataFlow/TrackingRunner.java | 2 ++ .../dataFlow/tracker/AndChainCause.java | 8 +++--- .../tracker/AndChainDependentCause.java | 16 +++++------ .../dataFlow/tracker/ArrayLength.java | 6 ++-- .../tracker/ArrayLengthCollectionSize.java | 10 +++---- .../tracker/AssignTernaryNotNull.java | 8 +++--- .../tracker/AssignTernaryNumeric.java | 10 +++---- .../dataFlow/tracker/AssignTrue.java | 4 +-- .../dataFlow/tracker/AssignmentChain.java | 6 ++-- .../dataFlow/tracker/BooleanChecked.java | 4 +-- .../BooleanReassignedMultipleTimes.java | 12 ++++---- .../tracker/BooleanUnderNegation.java | 4 +-- .../dataFlow/tracker/Constants.java | 4 +-- .../inspection/dataFlow/tracker/Ditto.java | 4 +-- .../dataFlow/tracker/IfBothNotNull.java | 10 +++---- .../tracker/IfBothNotNullReassign.java | 12 ++++---- .../dataFlow/tracker/IndexOfPlusOne.java | 14 +++++----- .../dataFlow/tracker/InstanceOfChain.java | 6 ++-- .../dataFlow/tracker/InstanceOfChain2.java | 6 ++-- .../dataFlow/tracker/InstanceOfConflict.java | 6 ++-- .../dataFlow/tracker/InstanceOfNull.java | 6 ++-- .../tracker/InstanceOfPreviousCast.java | 6 ++-- .../dataFlow/tracker/InstanceOfRedundant.java | 6 ++-- .../dataFlow/tracker/ModOutOfRange.java | 4 +-- .../dataFlow/tracker/NotInstanceOf.java | 6 ++-- .../dataFlow/tracker/NotNullAnnotated.java | 6 ++-- .../tracker/NotNullAssignmentInside.java | 6 ++-- .../dataFlow/tracker/NotNullObvious.java | 6 ++-- .../dataFlow/tracker/NotNullParameter.java | 4 +-- .../tracker/NotNullParameterAssigned.java | 4 +-- .../dataFlow/tracker/NpeAnnotation.java | 6 ++-- .../dataFlow/tracker/NpeSimple.java | 4 +-- .../dataFlow/tracker/NpeWithCast.java | 6 ++-- .../dataFlow/tracker/NullWasChecked.java | 4 +-- .../tracker/NullWasCheckedInstanceOf.java | 4 +-- .../tracker/NullWasCheckedNullAssigned.java | 6 ++-- .../dataFlow/tracker/OddityCheck.java | 8 +++--- .../dataFlow/tracker/OrChainCause.java | 28 +++++++++---------- .../tracker/RepeatingIntegerComparison.java | 4 +-- ...peatingIntegerComparisonThreeBranches.java | 4 +-- .../dataFlow/tracker/SimpleDeref.java | 4 +-- .../dataFlow/tracker/StringLength.java | 4 +-- .../dataFlow/tracker/TrivialContract.java | 6 ++-- .../dataFlow/tracker/WrongCastSimple.java | 6 ++-- .../tracker/WrongCastThreeStates.java | 10 +++---- .../dataFlow/tracker/WrongCastTwoStates.java | 6 ++-- 46 files changed, 159 insertions(+), 157 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/TrackingRunner.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/TrackingRunner.java index 8c40c0e70df6..15b33d914fad 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/TrackingRunner.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/TrackingRunner.java @@ -162,6 +162,8 @@ public class TrackingRunner extends StandardDataFlowRunner { Segment range = myTarget.getRange(); if (range != null) { text = doc.getText(TextRange.create(range)); + int lineNumber = doc.getLineNumber(range.getStartOffset()); + text += "; line#" + (lineNumber + 1); } } return StringUtil.repeat(" ", indent) + render(doc, parent) + (text == null ? "" : " (" + text + ")") + "\n" + diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/AndChainCause.java b/java/java-tests/testData/inspection/dataFlow/tracker/AndChainCause.java index bd033fa37326..b3a1d2811b90 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/AndChainCause.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/AndChainCause.java @@ -1,8 +1,8 @@ /* -Value is always false (x > 6 && y > 10) - Operand #1 of &&-chain is false (x > 6) - Left operand is 5 (x) - 'x' was assigned to '5' (=) +Value is always false (x > 6 && y > 10; line#11) + Operand #1 of &&-chain is false (x > 6; line#11) + Left operand is 5 (x; line#11) + 'x' was assigned to '5' (=; line#10) */ class Test { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/AndChainDependentCause.java b/java/java-tests/testData/inspection/dataFlow/tracker/AndChainDependentCause.java index d789ac4c4807..2dc60062176f 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/AndChainDependentCause.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/AndChainDependentCause.java @@ -1,13 +1,13 @@ /* -Value is always false (a > 5 && b < 0 && b > a) +Value is always false (a > 5 && b < 0 && b > a; line#15) One of the following happens: - Operand #1 of &&-chain is false (a > 5) - or operand #2 of &&-chain is false (b < 0) - or operand #3 of &&-chain is false (b > a) - Left operand is <= -1 (b) - Range is known from line #15 (b < 0) - and right operand is >= 6 (a) - Range is known from line #15 (a > 5) + Operand #1 of &&-chain is false (a > 5; line#15) + or operand #2 of &&-chain is false (b < 0; line#15) + or operand #3 of &&-chain is false (b > a; line#15) + Left operand is <= -1 (b; line#15) + Range is known from line #15 (b < 0; line#15) + and right operand is >= 6 (a; line#15) + Range is known from line #15 (a > 5; line#15) */ class Test { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/ArrayLength.java b/java/java-tests/testData/inspection/dataFlow/tracker/ArrayLength.java index 4187864c2015..688a6369014a 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/ArrayLength.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/ArrayLength.java @@ -1,7 +1,7 @@ /* -Value is always true (s.length > 0) - Left operand is >= 1 (s.length) - Range is known from line #8 (s[0]) +Value is always true (s.length > 0; line#10) + Left operand is >= 1 (s.length; line#10) + Range is known from line #8 (s[0]; line#8) */ class Test { void test(String[] s) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/ArrayLengthCollectionSize.java b/java/java-tests/testData/inspection/dataFlow/tracker/ArrayLengthCollectionSize.java index 5c1b635a5bb5..be927dfb168b 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/ArrayLengthCollectionSize.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/ArrayLengthCollectionSize.java @@ -1,9 +1,9 @@ /* -Value is always false (s.length == list.size()) - Left operand is >= 1 (s.length) - Range is known from line #12 (s[0]) - and right operand is 0 (list.size()) - Range is known from line #13 (list.isEmpty()) +Value is always false (s.length == list.size(); line#15) + Left operand is >= 1 (s.length; line#15) + Range is known from line #12 (s[0]; line#12) + and right operand is 0 (list.size(); line#15) + Range is known from line #13 (list.isEmpty(); line#13) */ import java.util.List; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/AssignTernaryNotNull.java b/java/java-tests/testData/inspection/dataFlow/tracker/AssignTernaryNotNull.java index c1714d2564cc..4340ac451aad 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/AssignTernaryNotNull.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/AssignTernaryNotNull.java @@ -1,9 +1,9 @@ /* -Value is always false (foo == null) - 'foo' was assigned (=) +Value is always false (foo == null; line#15) + 'foo' was assigned (=; line#14) One of the following happens: - Expression cannot be null as it's newly created object (new String("foo")) - or expression cannot be null as it's newly created object (new String("bar")) + Expression cannot be null as it's newly created object (new String("foo"); line#14) + or expression cannot be null as it's newly created object (new String("bar"); line#14) */ import org.jetbrains.annotations.Nullable; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/AssignTernaryNumeric.java b/java/java-tests/testData/inspection/dataFlow/tracker/AssignTernaryNumeric.java index 70f6d8cb7c0c..40ca65a09ae6 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/AssignTernaryNumeric.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/AssignTernaryNumeric.java @@ -1,10 +1,10 @@ /* -Value is always false (foo > 3) +Value is always false (foo > 3; line#16) One of the following happens: - Left operand is 1 (foo) - 'foo' was assigned (=) - or left operand is 2 (foo) - 'foo' was assigned (=) + Left operand is 1 (foo; line#16) + 'foo' was assigned (=; line#15) + or left operand is 2 (foo; line#16) + 'foo' was assigned (=; line#15) */ import org.jetbrains.annotations.Nullable; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/AssignTrue.java b/java/java-tests/testData/inspection/dataFlow/tracker/AssignTrue.java index 8b27e41bb4b1..2fdde0bec2a9 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/AssignTrue.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/AssignTrue.java @@ -1,6 +1,6 @@ /* -Value is always true (b) - 'b' was assigned to 'true' (=) +Value is always true (b; line#9) + 'b' was assigned to 'true' (=; line#8) */ class Test { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/AssignmentChain.java b/java/java-tests/testData/inspection/dataFlow/tracker/AssignmentChain.java index fff9d8f7771d..be1e50050670 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/AssignmentChain.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/AssignmentChain.java @@ -1,7 +1,7 @@ /* -Value is always false (s == null) - 's' was assigned (=) - 's1' is known to be 'non-null' from line #8 (s1 == null) +Value is always false (s == null; line#10) + 's' was assigned (=; line#9) + 's1' is known to be 'non-null' from line #8 (s1 == null; line#8) */ class Test { void test(String s, String s1) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/BooleanChecked.java b/java/java-tests/testData/inspection/dataFlow/tracker/BooleanChecked.java index 9bd01e0dee17..a8fd72cf6ae9 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/BooleanChecked.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/BooleanChecked.java @@ -1,6 +1,6 @@ /* -Value is always true (b) - 'b == true' was established from condition (!b) +Value is always true (b; line#11) + 'b == true' was established from condition (!b; line#9) */ import org.jetbrains.annotations.NotNull; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/BooleanReassignedMultipleTimes.java b/java/java-tests/testData/inspection/dataFlow/tracker/BooleanReassignedMultipleTimes.java index 2e1873057cc1..9651d5dbd9ef 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/BooleanReassignedMultipleTimes.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/BooleanReassignedMultipleTimes.java @@ -1,10 +1,10 @@ /* -Value is always false (b4) - 'b4' was assigned (=) - 'b3' was assigned (=) - 'b2' was assigned (=) - 'b1' was assigned (=) - 'b == false' was established from condition (b) +Value is always false (b4; line#18) + 'b4' was assigned (=; line#17) + 'b3' was assigned (=; line#16) + 'b2' was assigned (=; line#15) + 'b1' was assigned (=; line#14) + 'b == false' was established from condition (b; line#13) */ import org.jetbrains.annotations.NotNull; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/BooleanUnderNegation.java b/java/java-tests/testData/inspection/dataFlow/tracker/BooleanUnderNegation.java index 90248eab4025..b84dc8fed15a 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/BooleanUnderNegation.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/BooleanUnderNegation.java @@ -1,6 +1,6 @@ /* -Value is always false (b) - 'b == false' was established from condition (!b) +Value is always false (b; line#8) + 'b == false' was established from condition (!b; line#8) */ class Test { void test(boolean b, int limit) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/Constants.java b/java/java-tests/testData/inspection/dataFlow/tracker/Constants.java index 01e2f0dc44bb..d99fd03d88b3 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/Constants.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/Constants.java @@ -1,6 +1,6 @@ /* -Value is always false (E.A == E.B) - Comparison arguments are different constants (==) +Value is always false (E.A == E.B; line#9) + Comparison arguments are different constants (==; line#9) */ class Test { enum E {A, B, C} diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/Ditto.java b/java/java-tests/testData/inspection/dataFlow/tracker/Ditto.java index 52782531dbe9..53e2d2c0afbd 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/Ditto.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/Ditto.java @@ -1,6 +1,6 @@ /* -Value is always true (a == a) - Comparison arguments are the same (==) +Value is always true (a == a; line#7) + Comparison arguments are the same (==; line#7) */ class Test { void test(int a) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/IfBothNotNull.java b/java/java-tests/testData/inspection/dataFlow/tracker/IfBothNotNull.java index 9a4e3275ac05..a9873a959ab8 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/IfBothNotNull.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/IfBothNotNull.java @@ -1,10 +1,10 @@ /* -Value is always false (x == null) +Value is always false (x == null; line#18) One of the following happens: - 'x' was assigned (=) - Expression cannot be null as it's newly created object (new Object()) - or 'x' was assigned to '"foo"' (=) - Expression cannot be null as it's literal ("foo") + 'x' was assigned (=; line#14) + Expression cannot be null as it's newly created object (new Object(); line#14) + or 'x' was assigned to '"foo"' (=; line#16) + Expression cannot be null as it's literal ("foo"; line#16) */ class Test { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/IfBothNotNullReassign.java b/java/java-tests/testData/inspection/dataFlow/tracker/IfBothNotNullReassign.java index f45a38a50fd7..14ebd9f2c3c1 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/IfBothNotNullReassign.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/IfBothNotNullReassign.java @@ -1,11 +1,11 @@ /* -Value is always false (y == null) - 'y' was assigned (=) +Value is always false (y == null; line#20) + 'y' was assigned (=; line#19) One of the following happens: - 'x' was assigned (=) - Expression cannot be null as it's newly created object (new Object()) - or 'x' was assigned to '"foo"' (=) - Expression cannot be null as it's literal ("foo") + 'x' was assigned (=; line#15) + Expression cannot be null as it's newly created object (new Object(); line#15) + or 'x' was assigned to '"foo"' (=; line#17) + Expression cannot be null as it's literal ("foo"; line#17) */ class Test { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/IndexOfPlusOne.java b/java/java-tests/testData/inspection/dataFlow/tracker/IndexOfPlusOne.java index cf76c452591e..7b70e74e6014 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/IndexOfPlusOne.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/IndexOfPlusOne.java @@ -1,11 +1,11 @@ /* -Value is always true (j >= 0) - Left operand is >= 0 (j) - 'j' was assigned (=) - Result of '+' is >= 0 (i + 1) - Left operand is in {-1..Integer.MAX_VALUE-1} (i) - 'i' was assigned (=) - Value is in {-1..Integer.MAX_VALUE-1} (s.indexOf(' ')) +Value is always true (j >= 0; line#15) + Left operand is >= 0 (j; line#15) + 'j' was assigned (=; line#14) + Result of '+' is >= 0 (i + 1; line#14) + Left operand is in {-1..Integer.MAX_VALUE-1} (i; line#14) + 'i' was assigned (=; line#13) + Value is in {-1..Integer.MAX_VALUE-1} (s.indexOf(' '); line#13) */ class Test { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfChain.java b/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfChain.java index 63b4ed824c55..9b72c3b86dce 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfChain.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfChain.java @@ -1,7 +1,7 @@ /* -Value is always false (s instanceof String) - An object is known to be Number which is definitely incompatible with String (s) - Type of 's' is known from line #10 (s instanceof Number) +Value is always false (s instanceof String; line#12) + An object is known to be Number which is definitely incompatible with String (s; line#12) + Type of 's' is known from line #10 (s instanceof Number; line#10) */ import java.util.List; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfChain2.java b/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfChain2.java index 81a2f9a8083c..a983e2b129cf 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfChain2.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfChain2.java @@ -1,7 +1,7 @@ /* -Value is always true (s instanceof RandomAccess) - An object is already known to be ArrayList which is a subtype of RandomAccess (s) - Type of 's' is known from line #12 (s instanceof ArrayList) +Value is always true (s instanceof RandomAccess; line#14) + An object is already known to be ArrayList which is a subtype of RandomAccess (s; line#14) + Type of 's' is known from line #12 (s instanceof ArrayList; line#12) */ import java.util.*; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfConflict.java b/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfConflict.java index 45b89131e375..5d7afea8070e 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfConflict.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfConflict.java @@ -1,7 +1,7 @@ /* -Value is always false (s instanceof Integer) - An object type is exactly String which is not a subtype of Integer (s) - Type of 's' is known from line #10 (s instanceof String) +Value is always false (s instanceof Integer; line#11) + An object type is exactly String which is not a subtype of Integer (s; line#11) + Type of 's' is known from line #10 (s instanceof String; line#10) */ import java.util.List; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfNull.java b/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfNull.java index 9ad93e2bd309..9feae43939bd 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfNull.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfNull.java @@ -1,7 +1,7 @@ /* -Value is always false (s instanceof String) - Value 's' is always 'null' (s) - 's == null' was established from condition (s == null) +Value is always false (s instanceof String; line#10) + Value 's' is always 'null' (s; line#10) + 's == null' was established from condition (s == null; line#10) */ import java.util.List; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfPreviousCast.java b/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfPreviousCast.java index aa3478595c03..d9d388b0427e 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfPreviousCast.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfPreviousCast.java @@ -1,7 +1,7 @@ /* -Value is always true (s instanceof String) - An object is already known to be String (s) - Type of 's' is known from line #10 ((String)s) +Value is always true (s instanceof String; line#13) + An object is already known to be String (s; line#13) + Type of 's' is known from line #10 ((String)s; line#10) */ import java.util.List; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfRedundant.java b/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfRedundant.java index a300e4664b71..c8a5bfb0d156 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfRedundant.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/InstanceOfRedundant.java @@ -1,7 +1,7 @@ /* -Value is always true (s instanceof CharSequence) - An object type is exactly String which is a subtype of CharSequence (s) - Type of 's' is known from line #10 (s instanceof String) +Value is always true (s instanceof CharSequence; line#11) + An object type is exactly String which is a subtype of CharSequence (s; line#11) + Type of 's' is known from line #10 (s instanceof String; line#10) */ import java.util.List; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/ModOutOfRange.java b/java/java-tests/testData/inspection/dataFlow/tracker/ModOutOfRange.java index 2b96f11930f2..5c669ad1ae5c 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/ModOutOfRange.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/ModOutOfRange.java @@ -1,6 +1,6 @@ /* -Value is always false (x % 10 == 15) - Result of '%' is in {-9..9} (x % 10) +Value is always false (x % 10 == 15; line#7) + Result of '%' is in {-9..9} (x % 10; line#7) */ class Test { void test(int x) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/NotInstanceOf.java b/java/java-tests/testData/inspection/dataFlow/tracker/NotInstanceOf.java index 26cd4c055bf6..ff6615c702c6 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/NotInstanceOf.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/NotInstanceOf.java @@ -1,7 +1,7 @@ /* -Value is always false (s instanceof String) - An object is known to be not CharSequence which is a supertype of String (s) - Type of 's' is known from line #10 (s instanceof CharSequence) +Value is always false (s instanceof String; line#12) + An object is known to be not CharSequence which is a supertype of String (s; line#12) + Type of 's' is known from line #10 (s instanceof CharSequence; line#10) */ import java.util.List; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/NotNullAnnotated.java b/java/java-tests/testData/inspection/dataFlow/tracker/NotNullAnnotated.java index fd9dc371bc76..1183e648dc8a 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/NotNullAnnotated.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/NotNullAnnotated.java @@ -1,7 +1,7 @@ /* -Value is always false (s1 == null) - 's1' was assigned (=) - Method 'trim' is externally annotated as 'non-null' (trim) +Value is always false (s1 == null; line#9) + 's1' was assigned (=; line#8) + Method 'trim' is externally annotated as 'non-null' (trim; line#8) */ class Test { void test(String s) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/NotNullAssignmentInside.java b/java/java-tests/testData/inspection/dataFlow/tracker/NotNullAssignmentInside.java index 33911032b225..ae4049a79ea3 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/NotNullAssignmentInside.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/NotNullAssignmentInside.java @@ -1,7 +1,7 @@ /* -Value is always true ((s = new Object()) != null) - 's' was assigned (=) - Expression cannot be null as it's newly created object (new Object()) +Value is always true ((s = new Object()) != null; line#10) + 's' was assigned (=; line#10) + Expression cannot be null as it's newly created object (new Object(); line#10) */ class Test { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/NotNullObvious.java b/java/java-tests/testData/inspection/dataFlow/tracker/NotNullObvious.java index 0d91a307f444..8a08961e7a6c 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/NotNullObvious.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/NotNullObvious.java @@ -1,7 +1,7 @@ /* -Value is always true (s != null) - 's' was assigned (=) - Expression cannot be null as it's newly created object (new Object()) +Value is always true (s != null; line#10) + 's' was assigned (=; line#9) + Expression cannot be null as it's newly created object (new Object(); line#9) */ class Test { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/NotNullParameter.java b/java/java-tests/testData/inspection/dataFlow/tracker/NotNullParameter.java index a90c78783e89..dc7238e4bf76 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/NotNullParameter.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/NotNullParameter.java @@ -1,6 +1,6 @@ /* -Value is always false (null == s) - Parameter 's' is annotated as 'non-null' (@NotNull) +Value is always false (null == s; line#9) + Parameter 's' is annotated as 'non-null' (@NotNull; line#8) */ import org.jetbrains.annotations.NotNull; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/NotNullParameterAssigned.java b/java/java-tests/testData/inspection/dataFlow/tracker/NotNullParameterAssigned.java index 4037df331e94..01bde3d19398 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/NotNullParameterAssigned.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/NotNullParameterAssigned.java @@ -1,6 +1,6 @@ /* -Value is always true (null == s) - 's' was assigned to 'null' (=) +Value is always true (null == s; line#10) + 's' was assigned to 'null' (=; line#9) */ import org.jetbrains.annotations.NotNull; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/NpeAnnotation.java b/java/java-tests/testData/inspection/dataFlow/tracker/NpeAnnotation.java index 8c3b99bf7971..b3a9c40a1f81 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/NpeAnnotation.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/NpeAnnotation.java @@ -1,7 +1,7 @@ /* -May be null (s) - 's' was assigned (=) - Method 'loadString' is annotated as 'nullable' (@Nullable) +May be null (s; line#12) + 's' was assigned (=; line#11) + Method 'loadString' is annotated as 'nullable' (@Nullable; line#15) */ import org.jetbrains.annotations.Nullable; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/NpeSimple.java b/java/java-tests/testData/inspection/dataFlow/tracker/NpeSimple.java index e5ac9d9706f9..075d02091288 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/NpeSimple.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/NpeSimple.java @@ -1,7 +1,7 @@ /* -May be null (s) +May be null (s; line#12) An execution might exist where: - 's' is known to be 'null' from line #9 (s == null) + 's' is known to be 'null' from line #9 (s == null; line#9) */ class Test { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/NpeWithCast.java b/java/java-tests/testData/inspection/dataFlow/tracker/NpeWithCast.java index bcbea75779a7..e16f11d9243b 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/NpeWithCast.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/NpeWithCast.java @@ -1,7 +1,7 @@ /* -May be null (foo) - 'foo' was assigned (=) - Method 'getFoo' is annotated as 'nullable' (@Nullable) +May be null (foo; line#13) + 'foo' was assigned (=; line#12) + Method 'getFoo' is annotated as 'nullable' (@Nullable; line#16) */ import org.jetbrains.annotations.Nullable; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/NullWasChecked.java b/java/java-tests/testData/inspection/dataFlow/tracker/NullWasChecked.java index 48d4c4941471..6d1d0346281a 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/NullWasChecked.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/NullWasChecked.java @@ -1,6 +1,6 @@ /* -Value is always false (s == null) - 's' is known to be 'non-null' from line #7 (null == s) +Value is always false (s == null; line#9) + 's' is known to be 'non-null' from line #7 (null == s; line#7) */ class Test { void test(String s) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/NullWasCheckedInstanceOf.java b/java/java-tests/testData/inspection/dataFlow/tracker/NullWasCheckedInstanceOf.java index 129cfccc4eca..13c959a713a9 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/NullWasCheckedInstanceOf.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/NullWasCheckedInstanceOf.java @@ -1,6 +1,6 @@ /* -Value is always false (s == null) - The 'instanceof' check implies non-nullity (s instanceof String) +Value is always false (s == null; line#8) + The 'instanceof' check implies non-nullity (s instanceof String; line#7) */ class Test { void test(Object s) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/NullWasCheckedNullAssigned.java b/java/java-tests/testData/inspection/dataFlow/tracker/NullWasCheckedNullAssigned.java index 7d4dcdf7c21b..ae4e8f0e2960 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/NullWasCheckedNullAssigned.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/NullWasCheckedNullAssigned.java @@ -1,7 +1,7 @@ /* -Value is always false (s == s1) - 's' is known to be 'non-null' from line #8 (null == s) - and 's1' was assigned to 'null' (=) +Value is always false (s == s1; line#10) + 's' is known to be 'non-null' from line #8 (null == s; line#8) + and 's1' was assigned to 'null' (=; line#9) */ class Test { void test(String s) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/OddityCheck.java b/java/java-tests/testData/inspection/dataFlow/tracker/OddityCheck.java index 14b6ba563ddf..0b0496449a47 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/OddityCheck.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/OddityCheck.java @@ -1,8 +1,8 @@ /* -Value is always false (x * 2 == y * 2 + 1) - Result of '*' is even (x * 2) - and result of '+' is odd (y * 2 + 1) - Result of '*' is even (y * 2) +Value is always false (x * 2 == y * 2 + 1; line#9) + Result of '*' is even (x * 2; line#9) + and result of '+' is odd (y * 2 + 1; line#9) + Result of '*' is even (y * 2; line#9) */ class Test { void test(int x, int y) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/OrChainCause.java b/java/java-tests/testData/inspection/dataFlow/tracker/OrChainCause.java index c648bea36ae1..548acd3875a5 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/OrChainCause.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/OrChainCause.java @@ -1,19 +1,19 @@ /* -Value is always true (x || (a+b)+(c+d)==10) +Value is always true (x || (a+b)+(c+d)==10; line#22) One of the following happens: - Operand #1 of ||-chain is true (x) - or operand #2 of ||-chain is true ((a+b)+(c+d)==10) - Result of '+' is 10 ((a+b)+(c+d)) - Result of '+' is 3 (a+b) - Left operand is 1 (a) - 'a' was assigned to '1' (=) - and right operand is 2 (b) - 'b' was assigned to '2' (=) - and result of '+' is 7 (c+d) - Left operand is 3 (c) - 'c' was assigned to '3' (=) - and right operand is 4 (d) - 'd' was assigned to '4' (=) + Operand #1 of ||-chain is true (x; line#22) + or operand #2 of ||-chain is true ((a+b)+(c+d)==10; line#22) + Result of '+' is 10 ((a+b)+(c+d); line#22) + Result of '+' is 3 (a+b; line#22) + Left operand is 1 (a; line#22) + 'a' was assigned to '1' (=; line#21) + and right operand is 2 (b; line#22) + 'b' was assigned to '2' (=; line#21) + and result of '+' is 7 (c+d; line#22) + Left operand is 3 (c; line#22) + 'c' was assigned to '3' (=; line#21) + and right operand is 4 (d; line#22) + 'd' was assigned to '4' (=; line#21) */ class Test { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/RepeatingIntegerComparison.java b/java/java-tests/testData/inspection/dataFlow/tracker/RepeatingIntegerComparison.java index 512540a37758..9948d90d9581 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/RepeatingIntegerComparison.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/RepeatingIntegerComparison.java @@ -1,6 +1,6 @@ /* -Value is always true (x <= y) - Condition 'x <= y' was checked before (x > y) +Value is always true (x <= y; line#9) + Condition 'x <= y' was checked before (x > y; line#7) */ class Test { void test(int x, int y) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/RepeatingIntegerComparisonThreeBranches.java b/java/java-tests/testData/inspection/dataFlow/tracker/RepeatingIntegerComparisonThreeBranches.java index 976c77dbcc9d..6a0bbca88273 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/RepeatingIntegerComparisonThreeBranches.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/RepeatingIntegerComparisonThreeBranches.java @@ -1,6 +1,6 @@ /* -Value is always true (x < y) - Condition 'x < y' was checked before (x > y) +Value is always true (x < y; line#13) + Condition 'x < y' was checked before (x > y; line#7) */ class Test { void test(int x, int y) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/SimpleDeref.java b/java/java-tests/testData/inspection/dataFlow/tracker/SimpleDeref.java index 1e1b412cbcfa..74f7015c8f57 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/SimpleDeref.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/SimpleDeref.java @@ -1,6 +1,6 @@ /* -Value is always false (s == null) - 's' was dereferenced (s) +Value is always false (s == null; line#8) + 's' was dereferenced (s; line#7) */ class Test { void test(String s) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/StringLength.java b/java/java-tests/testData/inspection/dataFlow/tracker/StringLength.java index 49d0c8fca20a..2a6b209beaa8 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/StringLength.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/StringLength.java @@ -1,6 +1,6 @@ /* -Value is always false (s.length() < 0) - String length is always non-negative (s.length()) +Value is always false (s.length() < 0; line#7) + String length is always non-negative (s.length(); line#7) */ class Test { void test(String s) { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/TrivialContract.java b/java/java-tests/testData/inspection/dataFlow/tracker/TrivialContract.java index 44c8e12c7f85..2b1f7fb5f0d2 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/TrivialContract.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/TrivialContract.java @@ -1,7 +1,7 @@ /* -Value is always false (list == null) - 'list' was assigned (=) - According to contract, method 'loadList' always returns 'new' value (loadList) +Value is always false (list == null; line#18) + 'list' was assigned (=; line#17) + According to contract, method 'loadList' always returns 'new' value (loadList; line#17) */ import java.util.List; diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/WrongCastSimple.java b/java/java-tests/testData/inspection/dataFlow/tracker/WrongCastSimple.java index 6a1a25bc04da..8c9f9f345471 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/WrongCastSimple.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/WrongCastSimple.java @@ -1,7 +1,7 @@ /* -Cast may fail ((Integer)x) - An object type is exactly String which is not a subtype of Integer (x) - Type of 'x' is known from line #9 (x instanceof String) +Cast may fail ((Integer)x; line#10) + An object type is exactly String which is not a subtype of Integer (x; line#10) + Type of 'x' is known from line #9 (x instanceof String; line#9) */ class Test { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/WrongCastThreeStates.java b/java/java-tests/testData/inspection/dataFlow/tracker/WrongCastThreeStates.java index 704f86fb7614..78a5bfbea56a 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/WrongCastThreeStates.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/WrongCastThreeStates.java @@ -1,10 +1,10 @@ /* -Cast may fail ((Integer)x) +Cast may fail ((Integer)x; line#16) An execution might exist where: - An object type is exactly Double which is not a subtype of Integer (x) - Type of 'x' is known from line #14 (x instanceof Double) - or an object type is exactly String which is not a subtype of Integer (x) - Type of 'x' is known from line #12 (x instanceof String) + An object type is exactly Double which is not a subtype of Integer (x; line#16) + Type of 'x' is known from line #14 (x instanceof Double; line#14) + or an object type is exactly String which is not a subtype of Integer (x; line#16) + Type of 'x' is known from line #12 (x instanceof String; line#12) */ class Test { diff --git a/java/java-tests/testData/inspection/dataFlow/tracker/WrongCastTwoStates.java b/java/java-tests/testData/inspection/dataFlow/tracker/WrongCastTwoStates.java index 5f05ff6d76e1..1dfea9d8fbfb 100644 --- a/java/java-tests/testData/inspection/dataFlow/tracker/WrongCastTwoStates.java +++ b/java/java-tests/testData/inspection/dataFlow/tracker/WrongCastTwoStates.java @@ -1,8 +1,8 @@ /* -Cast may fail ((Integer)x) +Cast may fail ((Integer)x; line#12) An execution might exist where: - An object type is exactly String which is not a subtype of Integer (x) - Type of 'x' is known from line #10 (x instanceof String) + An object type is exactly String which is not a subtype of Integer (x; line#12) + Type of 'x' is known from line #10 (x instanceof String; line#10) */ class Test {