Java Reference
In-Depth Information
procedure
(DoWhileLooping dwn )
dwn . loopBody . isReachable true
visit
dwn . terminatesNormally false
25
call dwn . loopBody . accept( this )
constExprVisitor
26
new ConstExprVisitor()
call dwn . condition . accept( constExprVisitor )
conditionValue dwn . condition . exprValue
if conditionValue true
then
bodyNormal dwn . loopBody . terminatesNormally
dwn . terminatesNormally dwn . terminatesNormally or bodyNormal
27
end
Figure 9.7: Reachability Analysis for a Do-While Statement
procedure
(ForLooping fn )
fn . terminatesNormally true
fn . loopBody . isReachable true
if
visit
fn . condition
null
then
constExprVisitor
new ConstExprVisitor()
call fn . condition . accept( constExprVisitor )
conditionValue fn . condition . exprValue
if conditionValue = true
then
fn . terminatesNormally false
else
if conditionValue = false
then fn . loopBody . isReachable false
else fn . terminatesNormally false
call fn . loopBody . accept( this )
end
Figure 9.8: Reachability Analysis for a For Loop
 
Search WWH ::




Custom Search