UFile (package = ) [public final class WhenStringLiteralKt {...]
    UClass (name = WhenStringLiteralKt) [public final class WhenStringLiteralKt {...}]
        UField (name = a) [@org.jetbrains.annotations.Nullable private static final var a: java.lang.String = readLine()]
            UAnnotation (fqName = org.jetbrains.annotations.Nullable) [@org.jetbrains.annotations.Nullable]
            UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) [readLine()] : PsiType:String
                UIdentifier (Identifier (readLine)) [UIdentifier (Identifier (readLine))]
                USimpleNameReferenceExpression (identifier = readLine, resolvesTo = null) [readLine] : PsiType:String
        UField (name = b) [@org.jetbrains.annotations.NotNull private static final var b: int = switch (a)  {...]
            UAnnotation (fqName = org.jetbrains.annotations.NotNull) [@org.jetbrains.annotations.NotNull]
            USwitchExpression [switch (a)  {...] : PsiType:int
                USimpleNameReferenceExpression (identifier = a) [a] : PsiType:String
                UExpressionList (when) [    "abc" -> {...    ] : PsiType:int
                    USwitchClauseExpressionWithBody ["abc" -> {...]
                        ULiteralExpression (value = "abc") ["abc"] : PsiType:String
                        UExpressionList (when_entry) [{...]
                            UYieldExpression [yield 1]
                                ULiteralExpression (value = 1) [1] : PsiType:int
                    USwitchClauseExpressionWithBody ["def", "ghi" -> {...]
                        ULiteralExpression (value = "def") ["def"] : PsiType:String
                        ULiteralExpression (value = "ghi") ["ghi"] : PsiType:String
                        UExpressionList (when_entry) [{...]
                            UYieldExpression [yield 2]
                                ULiteralExpression (value = 2) [2] : PsiType:int
                    USwitchClauseExpressionWithBody [ -> {...]
                        UExpressionList (when_entry) [{...]
                            UYieldExpression [yield 3]
                                ULiteralExpression (value = 3) [3] : PsiType:int
        UMethod (name = getA) [public static final fun getA() : java.lang.String = UastEmptyExpression]
        UMethod (name = getB) [public static final fun getB() : int = UastEmptyExpression]
        UMethod (name = <no name provided>) [public static final fun <no name provided>() : void {...}]
            UBlockExpression [{...}] : PsiType:String
                ULiteralExpression (value = "abc1") ["abc1"] : PsiType:String
                ULiteralExpression (value = "def1") ["def1"] : PsiType:String
