UFile (package = ) [public final class Foo {...]
    UClass (name = Foo) [public final class Foo {...}]
        UMethod (name = Foo) [public fun Foo() = UastEmptyExpression]
        UClass (name = Bar) [public static final class Bar {...}]
            UField (name = a) [@org.jetbrains.annotations.NotNull private final var a: int]
                UAnnotation (fqName = org.jetbrains.annotations.NotNull) [@org.jetbrains.annotations.NotNull]
            UField (name = b) [@org.jetbrains.annotations.NotNull private final var b: int]
                UAnnotation (fqName = org.jetbrains.annotations.NotNull) [@org.jetbrains.annotations.NotNull]
            UMethod (name = getAPlusB) [public final fun getAPlusB() : int {...}]
                UBlockExpression [{...}] = Nothing
                    UReturnExpression [return a + b] = Nothing
                        UBinaryExpression (operator = +) [a + b] = Undetermined
                            USimpleNameReferenceExpression (identifier = a) [a] = Undetermined
                            USimpleNameReferenceExpression (identifier = b) [b] = Undetermined
            UMethod (name = getA) [public final fun getA() : int = UastEmptyExpression]
            UMethod (name = getB) [public final fun getB() : int = UastEmptyExpression]
            UMethod (name = Bar) [public fun Bar(@org.jetbrains.annotations.NotNull a: int, @org.jetbrains.annotations.NotNull b: int) = UastEmptyExpression]
                UParameter (name = a) [@org.jetbrains.annotations.NotNull var a: int]
                    UAnnotation (fqName = org.jetbrains.annotations.NotNull) [@org.jetbrains.annotations.NotNull]
                UParameter (name = b) [@org.jetbrains.annotations.NotNull var b: int]
                    UAnnotation (fqName = org.jetbrains.annotations.NotNull) [@org.jetbrains.annotations.NotNull]
            UClass (name = Baz) [public static final class Baz {...}]
                UMethod (name = doNothing) [public final fun doNothing() : void {...}]
                    UBlockExpression [{...}] = Nothing
                        UReturnExpression [return Unit] = Nothing
                            USimpleNameReferenceExpression (identifier = Unit) [Unit] = external Unit()
                UMethod (name = Baz) [public fun Baz() = UastEmptyExpression]
