UFile (package = ) [public class DoWhile {...]
    UClass (name = DoWhile) [public class DoWhile {...}]
        UMethod (name = foo) [public static fun foo() : int {...}]
            UBlockExpression [{...}] = Nothing
                UDeclarationsExpression [var count: int = 0] = Undetermined
                    ULocalVariable (name = count) [var count: int = 0]
                        ULiteralExpression (value = 0) [0] = 0
                UDeclarationsExpression [var number: int = 42] = Undetermined
                    ULocalVariable (name = number) [var number: int = 42]
                        ULiteralExpression (value = 42) [42] = 42
                UDoWhileExpression [do {...] = Undetermined
                    UBinaryExpression (operator = >) [number > 0] = Undetermined (depending on: (var number = Undetermined))
                        USimpleNameReferenceExpression (identifier = number) [number] = (var number = Undetermined)
                        ULiteralExpression (value = 0) [0] = 0
                    UBlockExpression [{...}] = Undetermined (depending on: (var number = Undetermined))
                        UIfExpression [if (number % 10 === 7) {...}] = (var count = Undetermined)
                            UBinaryExpression (operator = ===) [number % 10 === 7] = Undetermined (depending on: (var number = Undetermined))
                                UBinaryExpression (operator = %) [number % 10] = Undetermined (depending on: (var number = Undetermined))
                                    USimpleNameReferenceExpression (identifier = number) [number] = (var number = Undetermined)
                                    ULiteralExpression (value = 10) [10] = 10
                                ULiteralExpression (value = 7) [7] = 7
                            UBlockExpression [{...}] = (var count = Undetermined)
                                UPostfixExpression (operator = ++) [count++] = (var count = Undetermined)
                                    USimpleNameReferenceExpression (identifier = count) [count] = (var count = Undetermined)
                            UastEmptyExpression [UastEmptyExpression] = Undetermined
                        UBinaryExpression (operator = =) [number = number / 10] = Undetermined (depending on: (var number = Undetermined))
                            USimpleNameReferenceExpression (identifier = number) [number] = (var number = Undetermined)
                            UBinaryExpression (operator = /) [number / 10] = Undetermined (depending on: (var number = Undetermined))
                                USimpleNameReferenceExpression (identifier = number) [number] = (var number = Undetermined)
                                ULiteralExpression (value = 10) [10] = 10
                UReturnExpression [return count] = Nothing
                    USimpleNameReferenceExpression (identifier = count) [count] = (var count = Undetermined)
