TranslationUnitDecl 0x6bd18f8 <>  |-TypedefDecl 0x6bd21d0 <>  implicit __int128_t '__int128' | `-BuiltinType 0x6bd1e90 '__int128' |-TypedefDecl 0x6bd2238 <>  implicit __uint128_t 'unsigned __int128' | `-BuiltinType 0x6bd1eb0 'unsigned __int128' |-TypedefDecl 0x6bd2568 <>  implicit __NSConstantString '__NSConstantString_tag' | `-RecordType 0x6bd2310 '__NSConstantString_tag' | `-CXXRecord 0x6bd2288 '__NSConstantString_tag' |-TypedefDecl 0x6c0c340 <>  implicit __builtin_ms_va_list 'char *' | `-PointerType 0x6bd25c0 'char *' | `-BuiltinType 0x6bd1990 'char' |-TypedefDecl 0x6c0c668 <>  implicit __builtin_va_list '__va_list_tag [1]' | `-ConstantArrayType 0x6c0c610 '__va_list_tag [1]' 1 | `-RecordType 0x6c0c420 '__va_list_tag' | `-CXXRecord 0x6c0c390 '__va_list_tag' |-CXXRecordDecl 0x6c0c6b8 <main.cpp:2:1, line:12:1> line:2:7 referenced class myClass definition | |-DefinitionData standard_layout has_user_declared_ctor can_const_default_init | | |-DefaultConstructor exists non_trivial user_provided | | |-CopyConstructor simple trivial has_const_param implicit_has_const_param | | |-MoveConstructor | | |-CopyAssignment trivial has_const_param needs_implicit implicit_has_const_param | | |-MoveAssignment | | `-Destructor non_trivial user_declared | |-CXXRecordDecl 0x6c0c7c8 <col:1, col:7> col:7 implicit referenced class myClass | |-AccessSpecDecl 0x6c0c850 <line:3:3, col:9> col:3 public | |-CXXConstructorDecl 0x6c0c920 <line:4:5, col:13> col:5 used myClass 'void ()' | |-CXXDestructorDecl 0x6c0ca10 <line:5:5, col:14> col:5 used ~myClass 'void () noexcept' | |-CXXMethodDecl 0x6c0cb48 <line:7:5, col:27> col:10 used myMehtod1 'void ()' | | `-CompoundStmt 0x6c0ce28 <col:26, col:27> | |-CXXMethodDecl 0x6c0cc70 <line:8:5, col:27> col:10 used myMehtod2 'void ()' | | `-CompoundStmt 0x6c0ce38 <col:26, col:27> | |-AccessSpecDecl 0x6c0cd08 <line:9:3, col:10> col:3 private | |-FieldDecl 0x6c0cd48 <line:10:5, col:9> col:9 a 'int' | |-FieldDecl 0x6c0cda8 <line:11:5, col:11> col:11 b 'float' | `-CXXConstructorDecl 0x6c3b9a8 <line:2:7> col:7 implicit constexpr myClass 'void (const myClass &)' inline default trivial noexcept-unevaluated 0x6c3b9a8 | `-ParmVarDecl 0x6c3bad0 <col:7> col:7 'const myClass &' |-CXXRecordDecl 0x6c0ce48 <line:14:1, line:17:1> line:14:8 struct myStruct definition | |-DefinitionData empty standard_layout has_user_declared_ctor can_const_default_init | | |-DefaultConstructor exists non_trivial user_provided defaulted_is_constexpr | | |-CopyConstructor simple trivial has_const_param needs_implicit implicit_has_const_param | | |-MoveConstructor | | |-CopyAssignment trivial has_const_param needs_implicit implicit_has_const_param | | |-MoveAssignment | | `-Destructor non_trivial user_declared | |-CXXRecordDecl 0x6c0cf58 <col:1, col:8> col:8 implicit referenced struct myStruct | |-CXXConstructorDecl 0x6c0d048 <line:15:3, col:12> col:3 myStruct 'void ()' | `-CXXDestructorDecl 0x6c0d138 <line:16:3, col:13> col:3 ~myStruct 'void ()' noexcept-unevaluated 0x6c0d138 |-FunctionDecl 0x6c0d2a8 <line:19:1, col:21> col:6 myFunc1 'void ()' | `-CompoundStmt 0x6c3b590 <col:20, col:21> |-FunctionDecl 0x6c3b630 <line:20:1, col:21> col:6 myFunc2 'void ()' | `-CompoundStmt 0x6c3b6c8 <col:20, col:21> `-FunctionDecl 0x6c3b868 <line:22:1, line:31:1> line:22:5 main 'int (int, char **)'  |-ParmVarDecl 0x6c3b6f0 <col:11, col:15> col:15 argc 'int'  |-ParmVarDecl 0x6c3b790 <col:21, col:28> col:28 argv 'char **'  `-CompoundStmt 0x6c3c038 <col:34, line:31:1>  |-DeclStmt 0x6c3bba0 <line:23:3, col:13>  | `-VarDecl 0x6c3b920 <col:3, col:11> col:11 used mc 'myClass' callinit  | `-CXXConstructExpr 0x6c3bb38 <col:11> 'myClass' 'void ()'  |-CXXMemberCallExpr 0x6c3bc18 <line:24:3, col:16> 'void'  | `-MemberExpr 0x6c3bbe0 <col:3, col:6> '' .myMehtod1 0x6c0cb48  | `-DeclRefExpr 0x6c3bbb8 <col:3> 'myClass' lvalue Var 0x6c3b920 'mc' 'myClass'  |-CXXMemberCallExpr 0x6c3bca0 <line:25:3, col:16> 'void'  | `-MemberExpr 0x6c3bc68 <col:3, col:6> '' .myMehtod2 0x6c0cc70  | `-DeclRefExpr 0x6c3bc40 <col:3> 'myClass' lvalue Var 0x6c3b920 'mc' 'myClass'  |-DeclStmt 0x6c3bd40 <line:26:3, col:8>  | `-VarDecl 0x6c3bce0 <col:3, col:7> col:7 used a 'int'  |-DeclStmt 0x6c3bdd0 <line:27:3, col:10>  | `-VarDecl 0x6c3bd70 <col:3, col:9> col:9 b 'float'  |-DeclStmt 0x6c3bef0 <line:28:3, col:10>  | |-VarDecl 0x6c3be00 <col:3, col:7> col:7 used c 'int'  | `-VarDecl 0x6c3be78 <col:3, col:9> col:9 used d 'int'  |-BinaryOperator 0x6c3bfd8 <line:29:3, col:9> 'int' lvalue '='  | |-DeclRefExpr 0x6c3bf08 <col:3> 'int' lvalue Var 0x6c3bce0 'a' 'int'  | `-BinaryOperator 0x6c3bfb0 <col:7, col:9> 'int' '+'  | |-ImplicitCastExpr 0x6c3bf80 <col:7> 'int' <LValueToRValue>  | | `-DeclRefExpr 0x6c3bf30 <col:7> 'int' lvalue Var 0x6c3be00 'c' 'int'  | `-ImplicitCastExpr 0x6c3bf98 <col:9> 'int' <LValueToRValue>  | `-DeclRefExpr 0x6c3bf58 <col:9> 'int' lvalue Var 0x6c3be78 'd' 'int'  `-ReturnStmt 0x6c3c020 <line:30:3, col:10>  `-IntegerLiteral 0x6c3c000 <col:10> 'int' 0