UFile (package = )
    UClass (_Dummy_, kind = class)
        UClass (SpecialExpressions, kind = class)
            UFunction (test, kind = function, paramCount = 0)
                UBlockExpression
                    UFunctionCallExpression (UastCallKind(name='assert'), argCount = 1)
                        <no element>
                        UBinaryExpression (>)
                            ULiteralExpression (5)
                            ULiteralExpression (3)
                    UFunctionCallExpression (UastCallKind(name='assert'), argCount = 2)
                        <no element>
                        UBinaryExpression (>)
                            ULiteralExpression (5)
                            ULiteralExpression (3)
                        ULiteralExpression ("Message")
                    UBlockExpression
                        UQualifiedExpression
                            UQualifiedExpression
                                USimpleReferenceExpression (System)
                                USimpleReferenceExpression (out)
                            UFunctionCallExpression (UastCallKind(name='function_call'), argCount = 1)
                                USimpleReferenceExpression (println)
                                ULiteralExpression ("A")
                    UDeclarationsExpression
                        UVariable (a, kind = local)
                            ULiteralExpression (5)
                        UVariable (b, kind = local)
                            ULiteralExpression (7)
                        UVariable (c, kind = local)
                            EmptyExpression
                    UWhileExpression
                        UBinaryExpression (>)
                            USimpleReferenceExpression (a)
                            ULiteralExpression (0)
                        UBlockExpression
                            UIfExpression
                                UBinaryExpression (===)
                                    USimpleReferenceExpression (a)
                                    ULiteralExpression (3)
                                UBlockExpression
                                    UBreakExpression (<no label>)
                                EmptyExpression
                            UIfExpression
                                UBinaryExpression (===)
                                    UBinaryExpression (%)
                                        USimpleReferenceExpression (a)
                                        ULiteralExpression (5)
                                    ULiteralExpression (0)
                                UBlockExpression
                                    UContinueExpression (<no label>)
                                EmptyExpression
                            UPostfixExpression (--)
                                USimpleReferenceExpression (a)
                    UQualifiedExpression
                        UThisExpression
                        UFunctionCallExpression (UastCallKind(name='function_call'), argCount = 0)
                            USimpleReferenceExpression (test)

                    UQualifiedExpression
                        USuperExpression
                        UFunctionCallExpression (UastCallKind(name='function_call'), argCount = 0)
                            USimpleReferenceExpression (hashCode)

                    UDeclarationsExpression
                        UVariable (x, kind = local)
                            EmptyExpression
                    USwitchExpression
                        USimpleReferenceExpression (a)
                        UBlockExpression
                            USwitchClauseExpression
                                ULiteralExpression (1)
                            UBlockExpression
                                UBinaryExpression (=)
                                    USimpleReferenceExpression (x)
                                    ULiteralExpression ("1")
                                UBreakExpression (<no label>)
                            USwitchClauseExpression
                                ULiteralExpression (3)
                            UBinaryExpression (=)
                                USimpleReferenceExpression (x)
                                ULiteralExpression ("3")
                            USwitchClauseExpression
                                ULiteralExpression (4)
                            UBinaryExpression (=)
                                USimpleReferenceExpression (x)
                                ULiteralExpression ("4")
                            DefaultUSwitchClauseExpression
                            UBinaryExpression (=)
                                USimpleReferenceExpression (x)
                                ULiteralExpression ("")
                    UIfExpression
                        UQualifiedExpression
                            UQualifiedExpression
                                USimpleReferenceExpression (System)
                                UFunctionCallExpression (UastCallKind(name='function_call'), argCount = 2)
                                    USimpleReferenceExpression (getProperty)
                                    ULiteralExpression ("abc")
                                    ULiteralExpression ("")
                            UFunctionCallExpression (UastCallKind(name='function_call'), argCount = 1)
                                USimpleReferenceExpression (equals)
                                ULiteralExpression ("1")
                        UBlockExpression
                            UThrowExpression
                                UFunctionCallExpression (UastCallKind(name='constructor_call'), argCount = 1)
                                    <no element>
                                    ULiteralExpression ("Err")
                        EmptyExpression
                    UTryExpression
                        UBlockExpression
                            UQualifiedExpression
                                USimpleReferenceExpression (Thread)
                                UFunctionCallExpression (UastCallKind(name='function_call'), argCount = 1)
                                    USimpleReferenceExpression (sleep)
                                    ULiteralExpression (1000)    UCatchClause
                            UBlockExpression
                                UBlockExpression
                            UBinaryExpression (=)
                                USimpleReferenceExpression (a)
                                ULiteralExpression (3)
                    UBlockExpression
                        UBinaryExpression (=)
                            USimpleReferenceExpression (a)
                            ULiteralExpression (5)
                    UReturnExpression
                        ULiteralExpression (true)