@@ -712,7 +712,7 @@ module Array {
712
712
ElementReferenceRangeReadKnownSummary ( ) {
713
713
mc .getNumberOfArguments ( ) = 2 and
714
714
start = getKnownArrayElementContent ( mc .getArgument ( 0 ) ) .getIndex ( ) and
715
- exists ( int length | length = mc .getArgument ( 1 ) .getValueText ( ) .toInt ( ) |
715
+ exists ( int length | length = mc .getArgument ( 1 ) .getConstantValue ( ) .getInt ( ) |
716
716
end = ( start + length - 1 ) and
717
717
this = "[](" + start + ", " + length + ")"
718
718
)
@@ -722,14 +722,14 @@ module Array {
722
722
rl = mc .getArgument ( 0 ) and
723
723
(
724
724
// Either an explicit, positive beginning index...
725
- start = rl .getBegin ( ) .getValueText ( ) .toInt ( ) and start >= 0
725
+ start = rl .getBegin ( ) .getConstantValue ( ) .getInt ( ) and start >= 0
726
726
or
727
727
// Or a begin-less one, since `..n` is equivalent to `0..n`
728
728
not exists ( rl .getBegin ( ) ) and start = 0
729
729
) and
730
730
// There must be an explicit end. An end-less range like `2..` is not
731
731
// treated as a known range, since we don't track the length of the array.
732
- exists ( int e | e = rl .getEnd ( ) .getValueText ( ) .toInt ( ) and e >= 0 |
732
+ exists ( int e | e = rl .getEnd ( ) .getConstantValue ( ) .getInt ( ) and e >= 0 |
733
733
rl .isInclusive ( ) and end = e
734
734
or
735
735
rl .isExclusive ( ) and end = e - 1
@@ -762,16 +762,16 @@ module Array {
762
762
(
763
763
mc .getNumberOfArguments ( ) = 2 and
764
764
(
765
- not exists ( mc .getArgument ( 0 ) .getValueText ( ) .toInt ( ) ) or
766
- not exists ( mc .getArgument ( 1 ) .getValueText ( ) .toInt ( ) )
765
+ not exists ( mc .getArgument ( 0 ) .getConstantValue ( ) .getInt ( ) ) or
766
+ not exists ( mc .getArgument ( 1 ) .getConstantValue ( ) .getInt ( ) )
767
767
)
768
768
or
769
769
mc .getNumberOfArguments ( ) = 1 and
770
770
exists ( RangeLiteral rl | rl = mc .getArgument ( 0 ) |
771
771
exists ( rl .getBegin ( ) ) and
772
- not exists ( int b | b = rl .getBegin ( ) .getValueText ( ) .toInt ( ) and b >= 0 )
772
+ not exists ( int b | b = rl .getBegin ( ) .getConstantValue ( ) .getInt ( ) and b >= 0 )
773
773
or
774
- not exists ( int e | e = rl .getEnd ( ) .getValueText ( ) .toInt ( ) and e >= 0 )
774
+ not exists ( int e | e = rl .getEnd ( ) .getConstantValue ( ) .getInt ( ) and e >= 0 )
775
775
)
776
776
)
777
777
}
@@ -1234,7 +1234,7 @@ module Array {
1234
1234
1235
1235
InsertKnownSummary ( ) {
1236
1236
this = "insert(" + i + ")" and
1237
- i = mc .getArgument ( 0 ) .getValueText ( ) .toInt ( )
1237
+ i = mc .getArgument ( 0 ) .getConstantValue ( ) .getInt ( )
1238
1238
}
1239
1239
1240
1240
override predicate propagatesFlowExt ( string input , string output , boolean preservesValue ) {
@@ -1275,7 +1275,7 @@ module Array {
1275
1275
private class InsertUnknownSummary extends InsertSummary {
1276
1276
InsertUnknownSummary ( ) {
1277
1277
this = "insert(index)" and
1278
- not exists ( mc .getArgument ( 0 ) .getValueText ( ) .toInt ( ) )
1278
+ not exists ( mc .getArgument ( 0 ) .getConstantValue ( ) .getInt ( ) )
1279
1279
}
1280
1280
1281
1281
override predicate propagatesFlowExt ( string input , string output , boolean preservesValue ) {
@@ -1552,7 +1552,7 @@ module Array {
1552
1552
private int c ;
1553
1553
1554
1554
RotateKnownSummary ( ) {
1555
- c = mc .getArgument ( 0 ) .getValueText ( ) .toInt ( ) and
1555
+ c = mc .getArgument ( 0 ) .getConstantValue ( ) .getInt ( ) and
1556
1556
this = "rotate(" + c + ")"
1557
1557
or
1558
1558
not exists ( mc .getArgument ( 0 ) ) and c = 1 and this = "rotate"
@@ -1580,7 +1580,7 @@ module Array {
1580
1580
RotateUnknownSummary ( ) {
1581
1581
this = "rotate(index)" and
1582
1582
exists ( mc .getArgument ( 0 ) ) and
1583
- not exists ( mc .getArgument ( 0 ) .getValueText ( ) .toInt ( ) )
1583
+ not exists ( mc .getArgument ( 0 ) .getConstantValue ( ) .getInt ( ) )
1584
1584
}
1585
1585
1586
1586
override predicate propagatesFlowExt ( string input , string output , boolean preservesValue ) {
@@ -1608,7 +1608,7 @@ module Array {
1608
1608
private int c ;
1609
1609
1610
1610
RotateBangKnownSummary ( ) {
1611
- c = mc .getArgument ( 0 ) .getValueText ( ) .toInt ( ) and
1611
+ c = mc .getArgument ( 0 ) .getConstantValue ( ) .getInt ( ) and
1612
1612
this = "rotate!(" + c + ")"
1613
1613
or
1614
1614
not exists ( mc .getArgument ( 0 ) ) and c = 1 and this = "rotate!"
@@ -1635,7 +1635,7 @@ module Array {
1635
1635
RotateBangUnknownSummary ( ) {
1636
1636
this = "rotate!(index)" and
1637
1637
exists ( mc .getArgument ( 0 ) ) and
1638
- not exists ( mc .getArgument ( 0 ) .getValueText ( ) .toInt ( ) )
1638
+ not exists ( mc .getArgument ( 0 ) .getConstantValue ( ) .getInt ( ) )
1639
1639
}
1640
1640
1641
1641
override predicate propagatesFlowExt ( string input , string output , boolean preservesValue ) {
@@ -1701,7 +1701,7 @@ module Array {
1701
1701
private int n ;
1702
1702
1703
1703
ShiftArgKnownSummary ( ) {
1704
- n = mc .getArgument ( 0 ) .getValueText ( ) .toInt ( ) and
1704
+ n = mc .getArgument ( 0 ) .getConstantValue ( ) .getInt ( ) and
1705
1705
this = "shift(" + n + ")"
1706
1706
}
1707
1707
@@ -1724,7 +1724,7 @@ module Array {
1724
1724
ShiftArgUnknownSummary ( ) {
1725
1725
this = "shift(index)" and
1726
1726
exists ( mc .getArgument ( 0 ) ) and
1727
- not exists ( mc .getArgument ( 0 ) .getValueText ( ) .toInt ( ) )
1727
+ not exists ( mc .getArgument ( 0 ) .getConstantValue ( ) .getInt ( ) )
1728
1728
}
1729
1729
1730
1730
override predicate propagatesFlowExt ( string input , string output , boolean preservesValue ) {
@@ -1826,7 +1826,7 @@ module Array {
1826
1826
SliceBangRangeKnownSummary ( ) {
1827
1827
mc .getNumberOfArguments ( ) = 2 and
1828
1828
start = getKnownArrayElementContent ( mc .getArgument ( 0 ) ) .getIndex ( ) and
1829
- exists ( int length | length = mc .getArgument ( 1 ) .getValueText ( ) .toInt ( ) |
1829
+ exists ( int length | length = mc .getArgument ( 1 ) .getConstantValue ( ) .getInt ( ) |
1830
1830
end = ( start + length - 1 ) and
1831
1831
this = "slice!(" + start + ", " + length + ")"
1832
1832
)
@@ -1835,11 +1835,11 @@ module Array {
1835
1835
exists ( RangeLiteral rl |
1836
1836
rl = mc .getArgument ( 0 ) and
1837
1837
(
1838
- start = rl .getBegin ( ) .getValueText ( ) .toInt ( ) and start >= 0
1838
+ start = rl .getBegin ( ) .getConstantValue ( ) .getInt ( ) and start >= 0
1839
1839
or
1840
1840
not exists ( rl .getBegin ( ) ) and start = 0
1841
1841
) and
1842
- exists ( int e | e = rl .getEnd ( ) .getValueText ( ) .toInt ( ) and e >= 0 |
1842
+ exists ( int e | e = rl .getEnd ( ) .getConstantValue ( ) .getInt ( ) and e >= 0 |
1843
1843
rl .isInclusive ( ) and end = e
1844
1844
or
1845
1845
rl .isExclusive ( ) and end = e - 1
@@ -1883,16 +1883,16 @@ module Array {
1883
1883
(
1884
1884
mc .getNumberOfArguments ( ) = 2 and
1885
1885
(
1886
- not exists ( mc .getArgument ( 0 ) .getValueText ( ) .toInt ( ) ) or
1887
- not exists ( mc .getArgument ( 1 ) .getValueText ( ) .toInt ( ) )
1886
+ not exists ( mc .getArgument ( 0 ) .getConstantValue ( ) .getInt ( ) ) or
1887
+ not exists ( mc .getArgument ( 1 ) .getConstantValue ( ) .getInt ( ) )
1888
1888
)
1889
1889
or
1890
1890
mc .getNumberOfArguments ( ) = 1 and
1891
1891
exists ( RangeLiteral rl | rl = mc .getArgument ( 0 ) |
1892
1892
exists ( rl .getBegin ( ) ) and
1893
- not exists ( int b | b = rl .getBegin ( ) .getValueText ( ) .toInt ( ) and b >= 0 )
1893
+ not exists ( int b | b = rl .getBegin ( ) .getConstantValue ( ) .getInt ( ) and b >= 0 )
1894
1894
or
1895
- not exists ( int e | e = rl .getEnd ( ) .getValueText ( ) .toInt ( ) and e >= 0 )
1895
+ not exists ( int e | e = rl .getEnd ( ) .getConstantValue ( ) .getInt ( ) and e >= 0 )
1896
1896
)
1897
1897
)
1898
1898
}
@@ -1920,7 +1920,7 @@ module Array {
1920
1920
ValuesAtKnownSummary ( ) {
1921
1921
this = "values_at(known)" and
1922
1922
forall ( int i | i in [ 0 .. mc .getNumberOfArguments ( ) - 1 ] |
1923
- mc .getArgument ( i ) .getValueText ( ) .toInt ( ) >= 0
1923
+ mc .getArgument ( i ) .getConstantValue ( ) .getInt ( ) >= 0
1924
1924
)
1925
1925
}
1926
1926
@@ -1932,7 +1932,7 @@ module Array {
1932
1932
or
1933
1933
exists ( ArrayIndex elementIndex , int argIndex |
1934
1934
argIndex in [ 0 .. mc .getNumberOfArguments ( ) - 1 ] and
1935
- elementIndex = mc .getArgument ( argIndex ) .getValueText ( ) .toInt ( )
1935
+ elementIndex = mc .getArgument ( argIndex ) .getConstantValue ( ) .getInt ( )
1936
1936
|
1937
1937
input = "ArrayElement[" + elementIndex + "] of Receiver" and
1938
1938
output = "ArrayElement[" + argIndex + "] of ReturnValue"
@@ -1949,7 +1949,7 @@ module Array {
1949
1949
ValuesAtUnknownSummary ( ) {
1950
1950
this = "values_at(unknown)" and
1951
1951
exists ( int i | i in [ 0 .. mc .getNumberOfArguments ( ) - 1 ] |
1952
- not exists ( int val | val = mc .getArgument ( i ) .getValueText ( ) .toInt ( ) and val >= 0 )
1952
+ not exists ( int val | val = mc .getArgument ( i ) .getConstantValue ( ) .getInt ( ) and val >= 0 )
1953
1953
)
1954
1954
}
1955
1955
@@ -2695,7 +2695,7 @@ module Enumerable {
2695
2695
2696
2696
TakeKnownSummary ( ) {
2697
2697
this = "take(" + i + ")" and
2698
- i = mc .getArgument ( 0 ) .getValueText ( ) .toInt ( )
2698
+ i = mc .getArgument ( 0 ) .getConstantValue ( ) .getInt ( )
2699
2699
}
2700
2700
2701
2701
override predicate propagatesFlowExt ( string input , string output , boolean preservesValue ) {
@@ -2715,7 +2715,7 @@ module Enumerable {
2715
2715
private class TakeUnknownSummary extends TakeSummary {
2716
2716
TakeUnknownSummary ( ) {
2717
2717
this = "take(index)" and
2718
- not exists ( mc .getArgument ( 0 ) .getValueText ( ) .toInt ( ) )
2718
+ not exists ( mc .getArgument ( 0 ) .getConstantValue ( ) .getInt ( ) )
2719
2719
}
2720
2720
2721
2721
override predicate propagatesFlowExt ( string input , string output , boolean preservesValue ) {
0 commit comments