@@ -264,7 +264,7 @@ module Stmts {
264
264
or
265
265
child .asAstNode ( ) = ast .getAnElement ( ) .getBoolean ( ) .getFullyConverted ( )
266
266
or
267
- child .asAstNode ( ) = ast .getAnElement ( ) .getAvailability ( ) . getFullyUnresolved ( )
267
+ child .asAstNode ( ) = ast .getAnElement ( ) .getAvailability ( )
268
268
}
269
269
270
270
predicate firstElement ( int i , ControlFlowElement first ) {
@@ -278,7 +278,7 @@ module Stmts {
278
278
astFirst ( ast .getElement ( i ) .getBoolean ( ) .getFullyConverted ( ) , first )
279
279
or
280
280
// ... or an availability check.
281
- astFirst ( ast .getElement ( i ) .getAvailability ( ) . getFullyUnresolved ( ) , first )
281
+ astFirst ( ast .getElement ( i ) .getAvailability ( ) , first )
282
282
)
283
283
}
284
284
@@ -296,7 +296,7 @@ module Stmts {
296
296
astLast ( ast .getElement ( i ) .getBoolean ( ) .getFullyConverted ( ) , pred , c )
297
297
or
298
298
// ... or the availability check ...
299
- astLast ( ast .getElement ( i ) .getAvailability ( ) . getFullyUnresolved ( ) , pred , c )
299
+ astLast ( ast .getElement ( i ) .getAvailability ( ) , pred , c )
300
300
) and
301
301
// We evaluate the next element
302
302
c instanceof NormalCompletion and
@@ -313,7 +313,7 @@ module Stmts {
313
313
not c .( MatchingCompletion ) .isMatch ( )
314
314
or
315
315
// Stop if an availability check failed
316
- astLast ( ast .getAnElement ( ) .getAvailability ( ) . getFullyUnresolved ( ) , last , c ) and
316
+ astLast ( ast .getAnElement ( ) .getAvailability ( ) , last , c ) and
317
317
c instanceof FalseCompletion
318
318
or
319
319
// Stop if we successfully evaluated all the conditionals
@@ -322,7 +322,7 @@ module Stmts {
322
322
or
323
323
astLast ( ast .getLastElement ( ) .getPattern ( ) .getFullyUnresolved ( ) , last , c )
324
324
or
325
- astLast ( ast .getLastElement ( ) .getAvailability ( ) . getFullyUnresolved ( ) , last , c )
325
+ astLast ( ast .getLastElement ( ) .getAvailability ( ) , last , c )
326
326
) and
327
327
c instanceof NormalCompletion
328
328
}
@@ -342,14 +342,14 @@ module Stmts {
342
342
override IfStmt ast ;
343
343
344
344
final override predicate propagatesAbnormal ( ControlFlowElement child ) {
345
- child .asAstNode ( ) = ast .getCondition ( ) . getFullyUnresolved ( ) or
345
+ child .asAstNode ( ) = ast .getCondition ( ) or
346
346
child .asAstNode ( ) = ast .getThen ( ) or
347
347
child .asAstNode ( ) = ast .getElse ( )
348
348
}
349
349
350
350
final override predicate last ( ControlFlowElement last , Completion c ) {
351
351
// Condition exits with a false completion and there is no `else` branch
352
- astLast ( ast .getCondition ( ) . getFullyUnresolved ( ) , last , c ) and
352
+ astLast ( ast .getCondition ( ) , last , c ) and
353
353
c instanceof FalseOrNonMatchCompletion and
354
354
not exists ( ast .getElse ( ) )
355
355
or
@@ -360,10 +360,10 @@ module Stmts {
360
360
final override predicate succ ( ControlFlowElement pred , ControlFlowElement succ , Completion c ) {
361
361
// Pre-order: flow from statement itself to first element of condition
362
362
pred .asAstNode ( ) = ast and
363
- astFirst ( ast .getCondition ( ) . getFullyUnresolved ( ) , succ ) and
363
+ astFirst ( ast .getCondition ( ) , succ ) and
364
364
c instanceof SimpleCompletion
365
365
or
366
- astLast ( ast .getCondition ( ) . getFullyUnresolved ( ) , pred , c ) and
366
+ astLast ( ast .getCondition ( ) , pred , c ) and
367
367
(
368
368
// Flow from last element of condition to first element of then branch
369
369
c instanceof TrueOrMatchCompletion and
@@ -380,7 +380,7 @@ module Stmts {
380
380
override GuardStmt ast ;
381
381
382
382
final override predicate propagatesAbnormal ( ControlFlowElement child ) {
383
- child .asAstNode ( ) = ast .getCondition ( ) . getFullyUnresolved ( ) or
383
+ child .asAstNode ( ) = ast .getCondition ( ) or
384
384
child .asAstNode ( ) = ast .getBody ( )
385
385
}
386
386
@@ -390,18 +390,18 @@ module Stmts {
390
390
c instanceof NormalCompletion
391
391
or
392
392
// Exit when a condition is true
393
- astLast ( ast .getCondition ( ) . getFullyUnresolved ( ) , last , c ) and
393
+ astLast ( ast .getCondition ( ) , last , c ) and
394
394
c instanceof TrueOrMatchCompletion
395
395
}
396
396
397
397
final override predicate succ ( ControlFlowElement pred , ControlFlowElement succ , Completion c ) {
398
398
// Pre-order: flow from statement itself to first element of condition
399
399
pred .asAstNode ( ) = ast and
400
- astFirst ( ast .getCondition ( ) . getFullyUnresolved ( ) , succ ) and
400
+ astFirst ( ast .getCondition ( ) , succ ) and
401
401
c instanceof SimpleCompletion
402
402
or
403
403
// Flow to the body when the condition is false
404
- astLast ( ast .getCondition ( ) . getFullyUnresolved ( ) , pred , c ) and
404
+ astLast ( ast .getCondition ( ) , pred , c ) and
405
405
c instanceof FalseOrNonMatchCompletion and
406
406
astFirst ( ast .getBody ( ) , succ )
407
407
}
@@ -458,9 +458,7 @@ module Stmts {
458
458
private class WhileTree extends LoopTree {
459
459
override WhileStmt ast ;
460
460
461
- final override ControlFlowElement getCondition ( ) {
462
- result .asAstNode ( ) = ast .getCondition ( ) .getFullyUnresolved ( )
463
- }
461
+ final override ControlFlowElement getCondition ( ) { result .asAstNode ( ) = ast .getCondition ( ) }
464
462
465
463
final override ControlFlowElement getBody ( ) { result .asAstNode ( ) = ast .getBody ( ) }
466
464
@@ -674,7 +672,7 @@ module Stmts {
674
672
675
673
final override predicate last ( ControlFlowElement last , Completion c ) {
676
674
// Case pattern exits with a non-match
677
- astLast ( ast .getLastLabel ( ) . getFullyUnresolved ( ) , last , c ) and
675
+ astLast ( ast .getLastLabel ( ) , last , c ) and
678
676
not c .( MatchingCompletion ) .isMatch ( )
679
677
or
680
678
// Case body exits with any completion
@@ -684,18 +682,18 @@ module Stmts {
684
682
override predicate succ ( ControlFlowElement pred , ControlFlowElement succ , Completion c ) {
685
683
// Pre-order: Flow from the case statement itself to the first label
686
684
pred .asAstNode ( ) = ast and
687
- astFirst ( ast .getFirstLabel ( ) . getFullyUnresolved ( ) , succ ) and
685
+ astFirst ( ast .getFirstLabel ( ) , succ ) and
688
686
c instanceof SimpleCompletion
689
687
or
690
688
// Left-to-right evaluation of labels until we find a match
691
689
exists ( int i |
692
- astLast ( ast .getLabel ( i ) . getFullyUnresolved ( ) , pred , c ) and
693
- astFirst ( ast .getLabel ( i + 1 ) . getFullyUnresolved ( ) , succ ) and
690
+ astLast ( ast .getLabel ( i ) , pred , c ) and
691
+ astFirst ( ast .getLabel ( i + 1 ) , succ ) and
694
692
c .( MatchingCompletion ) .isNonMatch ( )
695
693
)
696
694
or
697
695
// Flow from last element of pattern to first element of body
698
- astLast ( ast .getALabel ( ) . getFullyUnresolved ( ) , pred , c ) and
696
+ astLast ( ast .getALabel ( ) , pred , c ) and
699
697
astFirst ( ast .getBody ( ) , succ ) and
700
698
c .( MatchingCompletion ) .isMatch ( )
701
699
}
@@ -1164,7 +1162,7 @@ module Exprs {
1164
1162
override CaptureListExpr ast ;
1165
1163
1166
1164
final override ControlFlowElement getChildElement ( int i ) {
1167
- result .asAstNode ( ) = ast .getBindingDecl ( i ) . getFullyUnresolved ( )
1165
+ result .asAstNode ( ) = ast .getBindingDecl ( i )
1168
1166
or
1169
1167
i = ast .getNumberOfBindingDecls ( ) and
1170
1168
result .asAstNode ( ) = ast .getClosureBody ( ) .getFullyConverted ( )
@@ -1796,9 +1794,7 @@ module AvailabilityInfo {
1796
1794
private class AvailabilityInfoTree extends AstStandardPostOrderTree {
1797
1795
override AvailabilityInfo ast ;
1798
1796
1799
- final override ControlFlowElement getChildElement ( int i ) {
1800
- result .asAstNode ( ) = ast .getSpec ( i ) .getFullyUnresolved ( )
1801
- }
1797
+ final override ControlFlowElement getChildElement ( int i ) { result .asAstNode ( ) = ast .getSpec ( i ) }
1802
1798
}
1803
1799
1804
1800
private class AvailabilitySpecTree extends AstLeafTree {
0 commit comments