UFile (package = A.B.C) [package A.B.C...]
    UClass (name = Foo) [public final class Foo {...}]
        UMethod (name = Foo) [public fun Foo() = UastEmptyExpression]
    UClass (name = Bar) [public final class Bar {...}]
        UMethod (name = getFoo) [public final fun getFoo() : A.B.C.Foo {...}]
            UBlockExpression [{...}] = Nothing
                UReturnExpression [return A.B.C.<init>()] = Nothing
                    UQualifiedReferenceExpression [A.B.C.<init>()] = external <init>()()
                        UQualifiedReferenceExpression [A.B.C] = external C()
                            UQualifiedReferenceExpression [A.B] = external B()
                                USimpleNameReferenceExpression (identifier = A) [A] = external A()
                                USimpleNameReferenceExpression (identifier = B) [B] = external B()
                            USimpleNameReferenceExpression (identifier = C) [C] = external C()
                        UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 0)) [<init>()] = external <init>()()
                            UIdentifier (Identifier (Foo)) [UIdentifier (Identifier (Foo))]
                            USimpleNameReferenceExpression (identifier = <init>, resolvesTo = PsiClass: Foo) [<init>] = external <init>()()
        UMethod (name = Bar) [public fun Bar() = UastEmptyExpression]
