| CSC448: Program Analysis I: Does a Block Return Anything? II [91/133] | ![]() ![]() ![]()  | 
A simple graph algorithm suffices.
Implementation: file:CheckReturns.java
          file:test024.hob
          fails (even if we initialise b):
        
$ java hobbes.Compile tests/test024.hob 
PHASE: BuildDiagrams
PHASE: CheckReturns
Exception in thread "main" hobbes.checks.CheckException: entry may fail to return
        at hobbes.controlflow.CheckReturns.checkBlock(CheckReturns.java:57)
        at hobbes.controlflow.CheckReturns.checkReturns(CheckReturns.java:40)
        at hobbes.Compile.checkReturns(Compile.java:176)
        at hobbes.Compile.main(Compile.java:90)