UFile (package = ) [public class IncDec {...]
    UClass (name = IncDec) [public class IncDec {...}]
        UMethod (name = foo) [public static fun foo() : int {...}]
            UBlockExpression [{...}] = Nothing
                UDeclarationsExpression [var i1: int = 1] = Undetermined
                    ULocalVariable (name = i1) [var i1: int = 1]
                        ULiteralExpression (value = 1) [1] = 1
                UDeclarationsExpression [var i2: int = ++i1] = Undetermined
                    ULocalVariable (name = i2) [var i2: int = ++i1]
                        UPrefixExpression (operator = ++) [++i1] = 2 (depending on: (var i1 = 1))
                            USimpleNameReferenceExpression (identifier = i1) [i1] = (var i1 = 1)
                UDeclarationsExpression [var i3: int = i2++] = Undetermined
                    ULocalVariable (name = i3) [var i3: int = i2++]
                        UPostfixExpression (operator = ++) [i2++] = (var i2 = 2 (depending on: (var i1 = 1)))
                            USimpleNameReferenceExpression (identifier = i2) [i2] = (var i2 = 2 (depending on: (var i1 = 1)))
                UDeclarationsExpression [var i4: int = --i3] = Undetermined
                    ULocalVariable (name = i4) [var i4: int = --i3]
                        UPrefixExpression (operator = --) [--i3] = 1 (depending on: (var i3 = (var i2 = 2 (depending on: (var i1 = 1)))))
                            USimpleNameReferenceExpression (identifier = i3) [i3] = (var i3 = (var i2 = 2 (depending on: (var i1 = 1))))
                UDeclarationsExpression [var i5: int = i4--] = Undetermined
                    ULocalVariable (name = i5) [var i5: int = i4--]
                        UPostfixExpression (operator = --) [i4--] = (var i4 = 1 (depending on: (var i3 = (var i2 = 2 (depending on: (var i1 = 1))))))
                            USimpleNameReferenceExpression (identifier = i4) [i4] = (var i4 = 1 (depending on: (var i3 = (var i2 = 2 (depending on: (var i1 = 1))))))
                UReturnExpression [return i4 + i5] = Nothing
                    UBinaryExpression (operator = +) [i4 + i5] = 1 (depending on: (var i4 = 0), (var i5 = (var i4 = 1 (depending on: (var i3 = (var i2 = 2 (depending on: (var i1 = 1))))))))
                        USimpleNameReferenceExpression (identifier = i4) [i4] = (var i4 = 0)
                        USimpleNameReferenceExpression (identifier = i5) [i5] = (var i5 = (var i4 = 1 (depending on: (var i3 = (var i2 = 2 (depending on: (var i1 = 1)))))))
