UFile (package = )
    UClass (name = DataClass)
        UField (name = STRING_CONSTANT)
            ULiteralExpression (value = "ABC")
        UField (name = firstName)
        UField (name = lastName)
        UField (name = age)
        UMethod (name = DataClass)
            UParameter (name = firstName)
            UParameter (name = lastName)
            UParameter (name = age)
            UBlockExpression
                UBinaryExpression (operator = =)
                    UQualifiedReferenceExpression
                        UThisExpression (label = null)
                        USimpleNameReferenceExpression (identifier = firstName)
                    USimpleNameReferenceExpression (identifier = firstName)
                UBinaryExpression (operator = =)
                    UQualifiedReferenceExpression
                        UThisExpression (label = null)
                        USimpleNameReferenceExpression (identifier = lastName)
                    USimpleNameReferenceExpression (identifier = lastName)
                UBinaryExpression (operator = =)
                    UQualifiedReferenceExpression
                        UThisExpression (label = null)
                        USimpleNameReferenceExpression (identifier = age)
                    USimpleNameReferenceExpression (identifier = age)
        UMethod (name = toString)
            UAnnotation (fqName = java.lang.Override)
            UBlockExpression
                UReturnExpression
                    UPolyadicExpression (operator = +)
                        ULiteralExpression (value = "DataClass{")
                        ULiteralExpression (value = "STRING_CONSTANT='")
                        USimpleNameReferenceExpression (identifier = STRING_CONSTANT)
                        ULiteralExpression (value = ''')
                        ULiteralExpression (value = ", firstName='")
                        USimpleNameReferenceExpression (identifier = firstName)
                        ULiteralExpression (value = ''')
                        ULiteralExpression (value = ", lastName='")
                        USimpleNameReferenceExpression (identifier = lastName)
                        ULiteralExpression (value = ''')
                        ULiteralExpression (value = ", age='")
                        USimpleNameReferenceExpression (identifier = age)
                        ULiteralExpression (value = ''')
                        ULiteralExpression (value = '}')
        UMethod (name = equals)
            UAnnotation (fqName = java.lang.Override)
            UParameter (name = o)
            UBlockExpression
                UIfExpression
                    UBinaryExpression (operator = ===)
                        UThisExpression (label = null)
                        USimpleNameReferenceExpression (identifier = o)
                    UReturnExpression
                        ULiteralExpression (value = true)
                    UastEmptyExpression
                UIfExpression
                    UBinaryExpression (operator = ||)
                        UBinaryExpression (operator = ===)
                            USimpleNameReferenceExpression (identifier = o)
                            ULiteralExpression (value = null)
                        UBinaryExpression (operator = !==)
                            UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
                                UIdentifier (Identifier (getClass))
                            UQualifiedReferenceExpression
                                USimpleNameReferenceExpression (identifier = o)
                                UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
                                    UIdentifier (Identifier (getClass))
                    UReturnExpression
                        ULiteralExpression (value = false)
                    UastEmptyExpression
                UDeclarationsExpression
                    ULocalVariable (name = dataClass)
                        UBinaryExpressionWithType
                            USimpleNameReferenceExpression (identifier = o)
                            UTypeReferenceExpression (name = DataClass)
                UIfExpression
                    UIfExpression
                        UBinaryExpression (operator = !==)
                            USimpleNameReferenceExpression (identifier = STRING_CONSTANT)
                            ULiteralExpression (value = null)
                        UPrefixExpression (operator = !)
                            UQualifiedReferenceExpression
                                USimpleNameReferenceExpression (identifier = STRING_CONSTANT)
                                UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))
                                    UIdentifier (Identifier (equals))
                                    UQualifiedReferenceExpression
                                        USimpleNameReferenceExpression (identifier = dataClass)
                                        USimpleNameReferenceExpression (identifier = STRING_CONSTANT)
                        UBinaryExpression (operator = !==)
                            UQualifiedReferenceExpression
                                USimpleNameReferenceExpression (identifier = dataClass)
                                USimpleNameReferenceExpression (identifier = STRING_CONSTANT)
                            ULiteralExpression (value = null)
                    UReturnExpression
                        ULiteralExpression (value = false)
                    UastEmptyExpression
                UIfExpression
                    UIfExpression
                        UBinaryExpression (operator = !==)
                            USimpleNameReferenceExpression (identifier = firstName)
                            ULiteralExpression (value = null)
                        UPrefixExpression (operator = !)
                            UQualifiedReferenceExpression
                                USimpleNameReferenceExpression (identifier = firstName)
                                UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))
                                    UIdentifier (Identifier (equals))
                                    UQualifiedReferenceExpression
                                        USimpleNameReferenceExpression (identifier = dataClass)
                                        USimpleNameReferenceExpression (identifier = firstName)
                        UBinaryExpression (operator = !==)
                            UQualifiedReferenceExpression
                                USimpleNameReferenceExpression (identifier = dataClass)
                                USimpleNameReferenceExpression (identifier = firstName)
                            ULiteralExpression (value = null)
                    UReturnExpression
                        ULiteralExpression (value = false)
                    UastEmptyExpression
                UIfExpression
                    UIfExpression
                        UBinaryExpression (operator = !==)
                            USimpleNameReferenceExpression (identifier = lastName)
                            ULiteralExpression (value = null)
                        UPrefixExpression (operator = !)
                            UQualifiedReferenceExpression
                                USimpleNameReferenceExpression (identifier = lastName)
                                UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))
                                    UIdentifier (Identifier (equals))
                                    UQualifiedReferenceExpression
                                        USimpleNameReferenceExpression (identifier = dataClass)
                                        USimpleNameReferenceExpression (identifier = lastName)
                        UBinaryExpression (operator = !==)
                            UQualifiedReferenceExpression
                                USimpleNameReferenceExpression (identifier = dataClass)
                                USimpleNameReferenceExpression (identifier = lastName)
                            ULiteralExpression (value = null)
                    UReturnExpression
                        ULiteralExpression (value = false)
                    UastEmptyExpression
                UReturnExpression
                    UIfExpression
                        UBinaryExpression (operator = !==)
                            USimpleNameReferenceExpression (identifier = age)
                            ULiteralExpression (value = null)
                        UQualifiedReferenceExpression
                            USimpleNameReferenceExpression (identifier = age)
                            UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))
                                UIdentifier (Identifier (equals))
                                UQualifiedReferenceExpression
                                    USimpleNameReferenceExpression (identifier = dataClass)
                                    USimpleNameReferenceExpression (identifier = age)
                        UBinaryExpression (operator = ===)
                            UQualifiedReferenceExpression
                                USimpleNameReferenceExpression (identifier = dataClass)
                                USimpleNameReferenceExpression (identifier = age)
                            ULiteralExpression (value = null)
        UMethod (name = hashCode)
            UAnnotation (fqName = java.lang.Override)
            UBlockExpression
                UDeclarationsExpression
                    ULocalVariable (name = result)
                        UIfExpression
                            UBinaryExpression (operator = !==)
                                USimpleNameReferenceExpression (identifier = STRING_CONSTANT)
                                ULiteralExpression (value = null)
                            UQualifiedReferenceExpression
                                USimpleNameReferenceExpression (identifier = STRING_CONSTANT)
                                UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
                                    UIdentifier (Identifier (hashCode))
                            ULiteralExpression (value = 0)
                UBinaryExpression (operator = =)
                    USimpleNameReferenceExpression (identifier = result)
                    UBinaryExpression (operator = +)
                        UBinaryExpression (operator = *)
                            ULiteralExpression (value = 31)
                            USimpleNameReferenceExpression (identifier = result)
                        UParenthesizedExpression
                            UIfExpression
                                UBinaryExpression (operator = !==)
                                    USimpleNameReferenceExpression (identifier = firstName)
                                    ULiteralExpression (value = null)
                                UQualifiedReferenceExpression
                                    USimpleNameReferenceExpression (identifier = firstName)
                                    UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
                                        UIdentifier (Identifier (hashCode))
                                ULiteralExpression (value = 0)
                UBinaryExpression (operator = =)
                    USimpleNameReferenceExpression (identifier = result)
                    UBinaryExpression (operator = +)
                        UBinaryExpression (operator = *)
                            ULiteralExpression (value = 31)
                            USimpleNameReferenceExpression (identifier = result)
                        UParenthesizedExpression
                            UIfExpression
                                UBinaryExpression (operator = !==)
                                    USimpleNameReferenceExpression (identifier = lastName)
                                    ULiteralExpression (value = null)
                                UQualifiedReferenceExpression
                                    USimpleNameReferenceExpression (identifier = lastName)
                                    UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
                                        UIdentifier (Identifier (hashCode))
                                ULiteralExpression (value = 0)
                UBinaryExpression (operator = =)
                    USimpleNameReferenceExpression (identifier = result)
                    UBinaryExpression (operator = +)
                        UBinaryExpression (operator = *)
                            ULiteralExpression (value = 31)
                            USimpleNameReferenceExpression (identifier = result)
                        UParenthesizedExpression
                            UIfExpression
                                UBinaryExpression (operator = !==)
                                    USimpleNameReferenceExpression (identifier = age)
                                    ULiteralExpression (value = null)
                                UQualifiedReferenceExpression
                                    USimpleNameReferenceExpression (identifier = age)
                                    UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
                                        UIdentifier (Identifier (hashCode))
                                ULiteralExpression (value = 0)
                UReturnExpression
                    USimpleNameReferenceExpression (identifier = result)
