@@ -652,7 +652,7 @@ class TranslatedPrefixCrementOperation extends TranslatedCrementOperation {
652
652
override Instruction getResult ( ) {
653
653
// The following distinction is needed to work around extractor limitations
654
654
// in old versions of the extractor.
655
- if expr .isPRValueCategory ( ) and not exists ( getExtractorFrontendVersion ( ) )
655
+ if expr .isPRValueCategory ( ) and not isExtractorFrontendVersion65OrHigher ( )
656
656
then
657
657
// If this is C, then the result of a prefix crement is a prvalue for the
658
658
// new value assigned to the operand. If this is C++, then the result is
@@ -1509,7 +1509,7 @@ class TranslatedAssignExpr extends TranslatedNonConstantExpr {
1509
1509
final override Instruction getResult ( ) {
1510
1510
// The following distinction is needed to work around extractor limitations
1511
1511
// in old versions of the extractor.
1512
- if expr .isPRValueCategory ( ) and not exists ( getExtractorFrontendVersion ( ) )
1512
+ if expr .isPRValueCategory ( ) and not isExtractorFrontendVersion65OrHigher ( )
1513
1513
then
1514
1514
// If this is C, then the result of an assignment is a prvalue for the new
1515
1515
// value assigned to the left operand. If this is C++, then the result is
@@ -1649,7 +1649,7 @@ class TranslatedAssignOperation extends TranslatedNonConstantExpr {
1649
1649
final override Instruction getResult ( ) {
1650
1650
// The following distinction is needed to work around extractor limitations
1651
1651
// in old versions of the extractor.
1652
- if expr .isPRValueCategory ( ) and not exists ( getExtractorFrontendVersion ( ) )
1652
+ if expr .isPRValueCategory ( ) and not isExtractorFrontendVersion65OrHigher ( )
1653
1653
then
1654
1654
// If this is C, then the result of an assignment is a prvalue for the new
1655
1655
// value assigned to the left operand. If this is C++, then the result is
@@ -2198,7 +2198,7 @@ abstract class TranslatedConditionalExpr extends TranslatedNonConstantExpr {
2198
2198
not this .elseIsVoid ( ) and tag = ConditionValueFalseStoreTag ( )
2199
2199
) and
2200
2200
opcode instanceof Opcode:: Store and
2201
- if exists ( getExtractorFrontendVersion ( ) )
2201
+ if isExtractorFrontendVersion65OrHigher ( )
2202
2202
then
2203
2203
not expr .hasLValueToRValueConversion ( ) and
2204
2204
resultType = this .getResultType ( )
@@ -2207,7 +2207,7 @@ abstract class TranslatedConditionalExpr extends TranslatedNonConstantExpr {
2207
2207
resultType = getTypeForPRValue ( expr .getType ( ) )
2208
2208
else resultType = this .getResultType ( )
2209
2209
or
2210
- ( not expr .hasLValueToRValueConversion ( ) or not exists ( getExtractorFrontendVersion ( ) ) ) and
2210
+ ( not expr .hasLValueToRValueConversion ( ) or not isExtractorFrontendVersion65OrHigher ( ) ) and
2211
2211
tag = ConditionValueResultLoadTag ( ) and
2212
2212
opcode instanceof Opcode:: Load and
2213
2213
resultType = this .getResultType ( )
@@ -2237,7 +2237,7 @@ abstract class TranslatedConditionalExpr extends TranslatedNonConstantExpr {
2237
2237
)
2238
2238
or
2239
2239
tag = ConditionValueResultTempAddressTag ( ) and
2240
- if exists ( getExtractorFrontendVersion ( ) )
2240
+ if isExtractorFrontendVersion65OrHigher ( )
2241
2241
then
2242
2242
not expr .hasLValueToRValueConversion ( ) and
2243
2243
result = this .getInstruction ( ConditionValueResultLoadTag ( ) )
@@ -2246,7 +2246,7 @@ abstract class TranslatedConditionalExpr extends TranslatedNonConstantExpr {
2246
2246
result = this .getParent ( ) .getChildSuccessor ( this )
2247
2247
else result = this .getInstruction ( ConditionValueResultLoadTag ( ) )
2248
2248
or
2249
- ( not expr .hasLValueToRValueConversion ( ) or not exists ( getExtractorFrontendVersion ( ) ) ) and
2249
+ ( not expr .hasLValueToRValueConversion ( ) or not isExtractorFrontendVersion65OrHigher ( ) ) and
2250
2250
tag = ConditionValueResultLoadTag ( ) and
2251
2251
result = this .getParent ( ) .getChildSuccessor ( this )
2252
2252
)
@@ -2275,7 +2275,7 @@ abstract class TranslatedConditionalExpr extends TranslatedNonConstantExpr {
2275
2275
result = this .getElse ( ) .getResult ( )
2276
2276
)
2277
2277
or
2278
- ( not expr .hasLValueToRValueConversion ( ) or not exists ( getExtractorFrontendVersion ( ) ) ) and
2278
+ ( not expr .hasLValueToRValueConversion ( ) or not isExtractorFrontendVersion65OrHigher ( ) ) and
2279
2279
tag = ConditionValueResultLoadTag ( ) and
2280
2280
operandTag instanceof AddressOperandTag and
2281
2281
result = this .getInstruction ( ConditionValueResultTempAddressTag ( ) )
@@ -2285,7 +2285,7 @@ abstract class TranslatedConditionalExpr extends TranslatedNonConstantExpr {
2285
2285
final override predicate hasTempVariable ( TempVariableTag tag , CppType type ) {
2286
2286
not this .resultIsVoid ( ) and
2287
2287
tag = ConditionValueTempVar ( ) and
2288
- if exists ( getExtractorFrontendVersion ( ) )
2288
+ if isExtractorFrontendVersion65OrHigher ( )
2289
2289
then
2290
2290
not expr .hasLValueToRValueConversion ( ) and
2291
2291
type = this .getResultType ( )
@@ -2307,7 +2307,7 @@ abstract class TranslatedConditionalExpr extends TranslatedNonConstantExpr {
2307
2307
2308
2308
final override Instruction getResult ( ) {
2309
2309
not this .resultIsVoid ( ) and
2310
- if exists ( getExtractorFrontendVersion ( ) )
2310
+ if isExtractorFrontendVersion65OrHigher ( )
2311
2311
then
2312
2312
expr .hasLValueToRValueConversion ( ) and
2313
2313
result = this .getInstruction ( ConditionValueResultTempAddressTag ( ) )
@@ -3277,14 +3277,14 @@ predicate exprNeedsCopyIfNotLoaded(Expr expr) {
3277
3277
(
3278
3278
not expr .isPRValueCategory ( ) // is C++
3279
3279
or
3280
- exists ( getExtractorFrontendVersion ( ) )
3280
+ isExtractorFrontendVersion65OrHigher ( )
3281
3281
)
3282
3282
or
3283
3283
expr instanceof PrefixCrementOperation and
3284
3284
(
3285
3285
not expr .isPRValueCategory ( ) // is C++
3286
3286
or
3287
- exists ( getExtractorFrontendVersion ( ) )
3287
+ isExtractorFrontendVersion65OrHigher ( )
3288
3288
)
3289
3289
or
3290
3290
// Because the load is on the `e` in `e++`.
0 commit comments