| TranslationUnitDecl 0x55ef9e924298 <<invalid sloc>> <invalid sloc> |
| |-TypedefDecl 0x55ef9e924b20 <<invalid sloc>> <invalid sloc> implicit __int128_t '__int128' |
| | `-BuiltinType 0x55ef9e924860 '__int128' |
| |-TypedefDecl 0x55ef9e924b98 <<invalid sloc>> <invalid sloc> implicit __uint128_t 'unsigned __int128' |
| | `-BuiltinType 0x55ef9e924880 'unsigned __int128' |
| |-TypedefDecl 0x55ef9e924f50 <<invalid sloc>> <invalid sloc> implicit __NSConstantString '__NSConstantString_tag' |
| | `-RecordType 0x55ef9e924ca0 '__NSConstantString_tag' |
| | `-CXXRecord 0x55ef9e924bf8 '__NSConstantString_tag' |
| |-TypedefDecl 0x55ef9e924ff8 <<invalid sloc>> <invalid sloc> implicit __builtin_ms_va_list 'char *' |
| | `-PointerType 0x55ef9e924fb0 'char *' |
| | `-BuiltinType 0x55ef9e924340 'char' |
| |-TypedefDecl 0x55ef9e9700d0 <<invalid sloc>> <invalid sloc> implicit __builtin_va_list '__va_list_tag[1]' |
| | `-ConstantArrayType 0x55ef9e970070 '__va_list_tag[1]' 1 |
| | `-RecordType 0x55ef9e925100 '__va_list_tag' |
| | `-CXXRecord 0x55ef9e925058 '__va_list_tag' |
| |-FunctionDecl 0x55ef9e970180 <<source>:1:1, col:8> col:6 f 'void ()' |
| |-FunctionTemplateDecl 0x55ef9e9705b8 <<invalid sloc>, line:5:1> line:3:7 Bar |
| | |-TemplateTypeParmDecl 0x55ef9e9702c8 <col:11, col:16> col:16 implicit class depth 0 index 0 auto:1 |
| | |-FunctionDecl 0x55ef9e970510 <col:2, line:5:1> line:3:7 Bar 'char (auto)' |
| | | |-ParmVarDecl 0x55ef9e9703e0 <col:11> col:16 'auto' |
| | | `-CompoundStmt 0x55ef9e970738 <col:18, line:5:1> |
| | | `-ReturnStmt 0x55ef9e970728 <line:4:5, col:13> |
| | | `-InitListExpr 0x55ef9e9706e8 <col:12, col:13> 'char' |
| | `-FunctionDecl 0x55ef9e99e510 <line:3:2, line:5:1> line:3:7 used Bar 'char ((lambda at <source>:8:18))' |
| | |-TemplateArgument type '(lambda at <source>:8:18)' |
| | | `-RecordType 0x55ef9e970b40 '(lambda at <source>:8:18)' |
| | | `-CXXRecord 0x55ef9e970a10 '' |
| | |-ParmVarDecl 0x55ef9e99e410 <col:11> col:16 '(lambda at <source>:8:18)':'(lambda at <source>:8:18)' |
| | `-CompoundStmt 0x55ef9e99e828 <col:18, line:5:1> |
| | `-ReturnStmt 0x55ef9e99e818 <line:4:5, col:13> |
| | `-InitListExpr 0x55ef9e99e7d8 <col:12, col:13> 'char' |
| `-FunctionDecl 0x55ef9e9707a8 <line:7:1, line:10:1> line:7:5 main 'int ()' |
| `-CompoundStmt 0x55ef9e99e778 <col:12, line:10:1> |
| |-DeclStmt 0x55ef9e99e700 <line:8:5, col:23> |
| | `-VarDecl 0x55ef9e9708a8 <col:5, col:22> col:10 used c 'char' cinit |
| | `-CallExpr 0x55ef9e99e6c0 <col:14, col:22> 'char' |
| | |-ImplicitCastExpr 0x55ef9e99e6a8 <col:14> 'char (*)((lambda at <source>:8:18))' <FunctionToPointerDecay> |
| | | `-DeclRefExpr 0x55ef9e99e610 <col:14> 'char ((lambda at <source>:8:18))' lvalue Function 0x55ef9e99e510 'Bar' 'char ((lambda at <source>:8:18))' (FunctionTemplate 0x55ef9e9705b8 'Bar') |
| | `-LambdaExpr 0x55ef9e99e218 <col:18, col:21> '(lambda at <source>:8:18)' |
| | |-CXXRecordDecl 0x55ef9e970a10 <col:18> col:18 implicit class definition |
| | | |-DefinitionData lambda pass_in_registers empty standard_layout trivially_copyable trivial literal has_constexpr_non_copy_move_ctor can_const_default_init |
| | | | |-DefaultConstructor exists trivial constexpr needs_implicit defaulted_is_constexpr |
| | | | |-CopyConstructor simple trivial has_const_param needs_implicit implicit_has_const_param |
| | | | |-MoveConstructor exists simple trivial needs_implicit |
| | | | |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param |
| | | | |-MoveAssignment exists simple trivial needs_implicit |
| | | | `-Destructor simple irrelevant trivial constexpr |
| | | |-CXXMethodDecl 0x55ef9e970b68 <col:19, col:21> col:18 constexpr operator() 'auto () const -> void' inline |
| | | | `-CompoundStmt 0x55ef9e970c18 <col:20, col:21> |
| | | |-CXXConversionDecl 0x55ef9e99e078 <col:18, col:21> col:18 implicit constexpr operator void (*)() 'auto (*() const noexcept)() -> void' inline |
| | | |-CXXMethodDecl 0x55ef9e99e130 <col:18, col:21> col:18 implicit __invoke 'auto () -> void' static inline |
| | | `-CXXDestructorDecl 0x55ef9e99e248 <col:18> col:18 implicit referenced constexpr ~ 'void () noexcept' inline default trivial |
| | `-CompoundStmt 0x55ef9e970c18 <col:20, col:21> |
| `-ReturnStmt 0x55ef9e99e768 <line:9:5, col:12> |
| `-ImplicitCastExpr 0x55ef9e99e750 <col:12> 'int' <IntegralCast> |
| `-ImplicitCastExpr 0x55ef9e99e738 <col:12> 'char' <LValueToRValue> |
| `-DeclRefExpr 0x55ef9e99e718 <col:12> 'char' lvalue Var 0x55ef9e9708a8 'c' 'char' |