mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
TrackingRunner: added line number to the dump for more precise testdata
GitOrigin-RevId: ac8da6213d3e06974d589e36b90aabc64738d59e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
0a6ca4e64d
commit
b87b7c31c1
@@ -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" +
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
+6
-6
@@ -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;
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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.*;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
+3
-3
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
+2
-2
@@ -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) {
|
||||
|
||||
+2
-2
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user