UFile (package = ) [public class While {...]
    UClass (name = While) [public class While {...}]
        UMethod (name = foo) [public static fun foo() : int {...}]
            UBlockExpression [{...}] = Nothing
                UDeclarationsExpression [var result: int = 0...var i: int = 0] = Undetermined
                    ULocalVariable (name = result) [var result: int = 0]
                        ULiteralExpression (value = 0) [0] = 0
                    ULocalVariable (name = i) [var i: int = 0]
                        ULiteralExpression (value = 0) [0] = 0
                UWhileExpression [while (i < 10) {...}] = Undetermined
                    UBinaryExpression (operator = <) [i < 10] = Undetermined (depending on: (var i = Undetermined))
                        USimpleNameReferenceExpression (identifier = i) [i] = (var i = Undetermined)
                        ULiteralExpression (value = 10) [10] = 10
                    UBlockExpression [{...}] = Undetermined (depending on: (var result = Undetermined (depending on: (var i = Undetermined), (var i = Phi(1, 0)), (var i = 0))), (var i = Undetermined))
                        UBinaryExpression (operator = =) [result = result + i++] = Undetermined (depending on: (var result = Undetermined (depending on: (var i = Undetermined), (var i = Phi(1, 0)), (var i = 0))), (var i = Undetermined))
                            USimpleNameReferenceExpression (identifier = result) [result] = (var result = Undetermined (depending on: (var i = Undetermined), (var i = Phi(1, 0)), (var i = 0)))
                            UBinaryExpression (operator = +) [result + i++] = Undetermined (depending on: (var result = Undetermined (depending on: (var i = Undetermined), (var i = Phi(1, 0)), (var i = 0))), (var i = Undetermined))
                                USimpleNameReferenceExpression (identifier = result) [result] = (var result = Undetermined (depending on: (var i = Undetermined), (var i = Phi(1, 0)), (var i = 0)))
                                UPostfixExpression (operator = ++) [i++] = (var i = Undetermined)
                                    USimpleNameReferenceExpression (identifier = i) [i] = (var i = Undetermined)
                UReturnExpression [return result] = Nothing
                    USimpleNameReferenceExpression (identifier = result) [result] = (var result = Undetermined (depending on: (var i = Undetermined), (var i = Phi(1, 0)), (var i = 0)))
