UFile (package = ) [public final class AnnotatedExpressionsKt {...]
    UClass (name = AnnotatedExpressionsKt) [public final class AnnotatedExpressionsKt {...}]
        UMethod (name = foo) [public static final fun foo() : void {...}]
            UBlockExpression [{...}] = Undetermined
                UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) [foo()] = external foo()()
                    UAnnotation (fqName = kotlin.Suppress) [@kotlin.Suppress]
                    UIdentifier (Identifier (foo)) [UIdentifier (Identifier (foo))]
                    USimpleNameReferenceExpression (identifier = foo, resolvesTo = null) [foo] = external foo()()
                UDeclarationsExpression [@kotlin.Suppress var a: int = 1] = Undetermined
                    ULocalVariable (name = a) [@kotlin.Suppress var a: int = 1]
                        UAnnotation (fqName = kotlin.Suppress) [@kotlin.Suppress]
                        ULiteralExpression (value = 1) [1] = 1
                UDeclarationsExpression [@kotlin.Suppress var b: int = 2] = Undetermined
                    ULocalVariable (name = b) [@kotlin.Suppress var b: int = 2]
                        UAnnotation (fqName = kotlin.Suppress) [@kotlin.Suppress]
                        ULiteralExpression (value = 2) [2] = 2
                UBinaryExpression (operator = =) [b = a] = (var a = 1)
                    UAnnotation (fqName = kotlin.Suppress) [@kotlin.Suppress]
                    USimpleNameReferenceExpression (identifier = b) [b] = (var b = 2)
                    USimpleNameReferenceExpression (identifier = a) [a] = (var a = 1)
                UIfExpression [if (a > 2) a else b] = (var b = (var a = 1))
                    UAnnotation (fqName = kotlin.Suppress) [@kotlin.Suppress]
                    UBinaryExpression (operator = >) [a > 2] = false (depending on: (var a = 1))
                        USimpleNameReferenceExpression (identifier = a) [a] = (var a = 1)
                        ULiteralExpression (value = 2) [2] = 2
                    USimpleNameReferenceExpression (identifier = a) [a] = (var a = 1)
                    USimpleNameReferenceExpression (identifier = b) [b] = (var b = (var a = 1))
                UDeclarationsExpression [var c: int = elvis {...}] = Undetermined
                    ULocalVariable (name = c) [var c: int = elvis {...}]
                        UExpressionList (elvis) [elvis {...}] = Undetermined
                            UDeclarationsExpression [var varae507364: int = a] = Undetermined
                                ULocalVariable (name = varae507364) [var varae507364: int = a]
                                    USimpleNameReferenceExpression (identifier = a) [a] = Undetermined
                                        UAnnotation (fqName = kotlin.Suppress) [@kotlin.Suppress]
                            UIfExpression [if (varae507364 != null) varae507364 else b] = Undetermined
                                UBinaryExpression (operator = !=) [varae507364 != null] = Undetermined
                                    USimpleNameReferenceExpression (identifier = varae507364) [varae507364] = Undetermined
                                    ULiteralExpression (value = null) [null] = null
                                USimpleNameReferenceExpression (identifier = varae507364) [varae507364] = Undetermined
                                USimpleNameReferenceExpression (identifier = b) [b] = Undetermined
        UMethod (name = annotatedSwitch) [public static final fun annotatedSwitch(@org.jetbrains.annotations.NotNull str: java.lang.String) : java.lang.Integer {...}]
            UParameter (name = str) [@org.jetbrains.annotations.NotNull var str: java.lang.String]
                UAnnotation (fqName = org.jetbrains.annotations.NotNull) [@org.jetbrains.annotations.NotNull]
            UBlockExpression [{...}] = Nothing
                UReturnExpression [return switch  {...] = Nothing
                    USwitchExpression [switch  {...] = null
                        UExpressionList (when) [    str.isBlank() -> {...    ] = null
                            USwitchClauseExpressionWithBody [str.isBlank() -> {...] = Undetermined
                                UQualifiedReferenceExpression [str.isBlank()] = external isBlank()()
                                    UAnnotation (fqName = kotlin.Suppress) [@kotlin.Suppress(names = "DEPRECATION")]
                                        UNamedExpression (name = names) [names = "DEPRECATION"] = Nothing
                                            ULiteralExpression (value = "DEPRECATION") ["DEPRECATION"] = "DEPRECATION"
                                    USimpleNameReferenceExpression (identifier = str) [str] = Undetermined
                                    UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) [isBlank()] = external isBlank()()
                                        UIdentifier (Identifier (isBlank)) [UIdentifier (Identifier (isBlank))]
                                        USimpleNameReferenceExpression (identifier = isBlank, resolvesTo = null) [isBlank] = external isBlank()()
                                UExpressionList (when_entry) [{...] = Undetermined
                                    UYieldExpression [yield null] = UYieldResult(null)
                                        ULiteralExpression (value = null) [null] = null
                            USwitchClauseExpressionWithBody [str.isNotEmpty() != null -> {...] = Undetermined
                                UBinaryExpression (operator = !=) [str.isNotEmpty() != null] = Undetermined
                                    UQualifiedReferenceExpression [str.isNotEmpty()] = external isNotEmpty()()
                                        USimpleNameReferenceExpression (identifier = str) [str] = Undetermined
                                        UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) [isNotEmpty()] = external isNotEmpty()()
                                            UIdentifier (Identifier (isNotEmpty)) [UIdentifier (Identifier (isNotEmpty))]
                                            USimpleNameReferenceExpression (identifier = isNotEmpty, resolvesTo = null) [isNotEmpty] = external isNotEmpty()()
                                    ULiteralExpression (value = null) [null] = null
                                UExpressionList (when_entry) [{...] = Undetermined
                                    UYieldExpression [yield null] = UYieldResult(null)
                                        ULiteralExpression (value = null) [null] = null
                            USwitchClauseExpressionWithBody [ -> {...] = Undetermined
                                UExpressionList (when_entry) [{...] = Undetermined
                                    UYieldExpression [yield 1] = UYieldResult(1)
                                        ULiteralExpression (value = 1) [1] = 1
