How can I get function templates specializations?
xware-net opened this issue · 2 comments
Brief Description
How can I get function templates specializations (similar to class templates specializations)?
I am using the following code:
foreach (var template in sourceUnit.Templates)
{
if (template is FunctionTemplate ft)
{
foreach(var specialization in ft.Specializations) // always ft.Specializations is empty !!!
{
}
}
else if (template is ClassTemplate ct)
{
foreach (var specialization in ct.Specializations) // ct.Specializations gives back the correct results !!!
{
}
}
else if (template is VarTemplate)
{
}
else if (template is TypeAliasTemplate)
{
}
else
{
}
Kind regards,
Mircea Troi
OS: Windows / OS X / Linux (include version and/or distro)
Windows, latest version.
Used headers
Used settings
Target: MSVC/GCC/Clang
MSVC
Other settings
Stack trace or incompilable generated code
It's been a while since I touched that, but I just took a quick look and I think what you're looking for might be under Function
: https://github.com/mono/CppSharp/blob/main/src/AST/Function.cs#L218
It looks that is also empty. If you look in dumped AST you can see:
|-FunctionTemplateDecl 0x13c2b601a60 <line:2153:1, line:2156:1> line:2153:42 may_move_bytes
| |-TemplateTypeParmDecl 0x13c2b601878 <col:11, col:17> col:17 referenced class depth 0 index 0 T
| |-FunctionDecl 0x13c2b6019b8 <col:20, line:2156:1> line:2153:42 constexpr may_move_bytes 'bool ()' inline
| | `-CompoundStmt 0x13c2b601c30 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b601c20 <line:2155:3, col:31>
| | `-DependentScopeDeclRefExpr 0x13c2b601be8 <col:10, col:31> '<dependent type>' lvalue
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<T>'
| |-FunctionDecl 0x13c2b613738 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'unsigned long long'
| | | `-BuiltinType 0x13c28548060 'unsigned long long'
| | `-CompoundStmt 0x13c2b614390 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b614380 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b614368 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b614338 <col:10, col:31> 'const bool' lvalue Var 0x13c2b613b88 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<unsigned long long>'
| |-FunctionDecl 0x13c2b62cc18 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'long long'
| | | `-BuiltinType 0x13c28547fc0 'long long'
| | `-CompoundStmt 0x13c2b62d870 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b62d860 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b62d848 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b62d818 <col:10, col:31> 'const bool' lvalue Var 0x13c2b62d068 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<long long>'
| |-FunctionDecl 0x13c2b65c978 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'int'
| | | `-BuiltinType 0x13c28547f80 'int'
| | `-CompoundStmt 0x13c2b65d5d0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b65d5c0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b65d5a8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b65d578 <col:10, col:31> 'const bool' lvalue Var 0x13c2b65cdc8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<int>'
| |-FunctionDecl 0x13c2b675d78 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'bool'
| | | `-BuiltinType 0x13c28547f00 'bool'
| | `-CompoundStmt 0x13c2b6769d0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b6769c0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b6769a8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b676978 <col:10, col:31> 'const bool' lvalue Var 0x13c2b6761c8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<bool>'
| |-FunctionDecl 0x13c2b6ac9a8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'char'
| | | `-BuiltinType 0x13c28547f20 'char'
| | `-CompoundStmt 0x13c2b6ad600 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b6ad5f0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b6ad5d8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b6ad5a8 <col:10, col:31> 'const bool' lvalue Var 0x13c2b6acdf8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<char>'
| |-FunctionDecl 0x13c2b6e7328 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'unsigned char'
| | | `-BuiltinType 0x13c28547fe0 'unsigned char'
| | `-CompoundStmt 0x13c2b6e7f80 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b6e7f70 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b6e7f58 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b6e7f28 <col:10, col:31> 'const bool' lvalue Var 0x13c2b6e7778 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<unsigned char>'
| |-FunctionDecl 0x13c2b740f88 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'wchar_t'
| | | `-BuiltinType 0x13c28548480 'wchar_t'
| | `-CompoundStmt 0x13c2b741be0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b741bd0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b741bb8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b741b88 <col:10, col:31> 'const bool' lvalue Var 0x13c2b7413d8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<wchar_t>'
| |-FunctionDecl 0x13c2b788bc0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'qstring'
| | | `-RecordType 0x13c2b6b5f50 'qstring'
| | | `-CXXRecord 0x13c2b6b5ec0 'qstring'
| | `-CompoundStmt 0x13c2b789820 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b789810 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b7897f8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b7897c8 <col:10, col:31> 'const bool' lvalue Var 0x13c2b789018 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<qstring>'
| |-FunctionDecl 0x13c2b7a1e50 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'qwstring'
| | | `-RecordType 0x13c2b74a3e0 'qwstring'
| | | `-CXXRecord 0x13c2b74a350 'qwstring'
| | `-CompoundStmt 0x13c2b7a2af0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b7a2ae0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b7a2ac8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b7a2a98 <col:10, col:31> 'const bool' lvalue Var 0x13c2b7a22a8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<qwstring>'
| |-FunctionDecl 0x13c2b7f1940 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'channel_redir_t'
| | | `-RecordType 0x13c2b7df130 'channel_redir_t'
| | | `-CXXRecord 0x13c2b7df0a0 'channel_redir_t'
| | `-CompoundStmt 0x13c2b7f25d0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b7f25c0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b7f25a8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b7f2578 <col:10, col:31> 'const bool' lvalue Var 0x13c2b7f1dc8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<channel_redir_t>'
| |-FunctionDecl 0x13c2b80fb18 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'cliopt_t'
| | | `-RecordType 0x13c2b7fc770 'cliopt_t'
| | | `-CXXRecord 0x13c2b7fc6d8 'cliopt_t'
| | `-CompoundStmt 0x13c2b80fdc8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b80fdb8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b80fda0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b80fd70 <col:10, col:31> 'const bool' lvalue Var 0x13c2b7fdba0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<cliopt_t>'
| |-FunctionDecl 0x13c2b82f270 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'plugin_option_t'
| | | `-RecordType 0x13c2b81bf90 'plugin_option_t'
| | | `-CXXRecord 0x13c2b81c548 'plugin_option_t'
| | `-CompoundStmt 0x13c2b82f528 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b82f518 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b82f500 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b82f4d0 <col:10, col:31> 'const bool' lvalue Var 0x13c2b81ee70 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<plugin_option_t>'
| |-FunctionDecl 0x13c2b8745a8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'range_t'
| | | `-RecordType 0x13c2b85f920 'range_t'
| | | `-CXXRecord 0x13c2b85fe28 'range_t'
| | `-CompoundStmt 0x13c2b874858 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b874848 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b874830 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b874800 <col:10, col:31> 'const bool' lvalue Var 0x13c2b8640a0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<range_t>'
| |-FunctionDecl 0x13c2b89e510 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'rangeset_t'
| | | `-RecordType 0x13c2b87df50 'rangeset_t'
| | | `-CXXRecord 0x13c2b881ba8 'rangeset_t'
| | `-CompoundStmt 0x13c2b89e7c8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b89e7b8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b89e7a0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b89e770 <col:10, col:31> 'const bool' lvalue Var 0x13c2b88e4f0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<rangeset_t>'
| |-FunctionDecl 0x13c2b8c2c08 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'const rangeset_t *'
| | | `-PointerType 0x13c2b87ee20 'const rangeset_t *'
| | | `-QualType 0x13c2b87df51 'const rangeset_t' const
| | | `-RecordType 0x13c2b87df50 'rangeset_t'
| | | `-CXXRecord 0x13c2b881ba8 'rangeset_t'
| | `-CompoundStmt 0x13c2b8c3890 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b8c3880 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b8c3868 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b8c3838 <col:10, col:31> 'const bool' lvalue Var 0x13c2b8c3088 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<const rangeset_t *>'
| |-FunctionDecl 0x13c2b9ed268 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'refinfo_desc_t'
| | | `-RecordType 0x13c2b9dba70 'refinfo_desc_t'
| | | `-CXXRecord 0x13c2b9db9e0 'refinfo_desc_t'
| | `-CompoundStmt 0x13c2b9ed518 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2b9ed508 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2b9ed4f0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2b9ed4c0 <col:10, col:31> 'const bool' lvalue Var 0x13c2b9dcb00 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<refinfo_desc_t>'
| |-FunctionDecl 0x13c2ba8e9c0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'compiled_binpat_t'
| | | `-RecordType 0x13c2ba7c700 'compiled_binpat_t'
| | | `-CXXRecord 0x13c2ba7c670 'compiled_binpat_t'
| | `-CompoundStmt 0x13c2ba8ec78 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2ba8ec68 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2ba8ec50 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2ba8ec20 <col:10, col:31> 'const bool' lvalue Var 0x13c2ba7e150 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<compiled_binpat_t>'
| |-FunctionDecl 0x13c2bad8c40 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'simpleline_t'
| | | `-RecordType 0x13c2bb08fe0 'simpleline_t'
| | | `-CXXRecord 0x13c2bb08f48 'simpleline_t'
| | `-CompoundStmt 0x13c2bad98d0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2bad98c0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2bad98a8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2bad9878 <col:10, col:31> 'const bool' lvalue Var 0x13c2bad90c8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<simpleline_t>'
| |-FunctionDecl 0x13c2bb91738 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'sync_source_t'
| | | `-RecordType 0x13c2bb7e290 'sync_source_t'
| | | `-CXXRecord 0x13c2bb7e200 'sync_source_t'
| | `-CompoundStmt 0x13c2bb919e8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2bb919d8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2bb919c0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2bb91990 <col:10, col:31> 'const bool' lvalue Var 0x13c2bb81120 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<sync_source_t>'
| |-FunctionDecl 0x13c2bbb2110 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'twinline_t'
| | | `-RecordType 0x13c2bb9e780 'twinline_t'
| | | `-CXXRecord 0x13c2bb9e6e8 'twinline_t'
| | `-CompoundStmt 0x13c2bbb23c8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2bbb23b8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2bbb23a0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2bbb2370 <col:10, col:31> 'const bool' lvalue Var 0x13c2bba1d80 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<twinline_t>'
| |-FunctionDecl 0x13c2bbd0fc8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'const twinline_t *'
| | | `-PointerType 0x13c2bb9ec10 'const twinline_t *'
| | | `-QualType 0x13c2bb9e781 'const twinline_t' const
| | | `-RecordType 0x13c2bb9e780 'twinline_t'
| | | `-CXXRecord 0x13c2bb9e6e8 'twinline_t'
| | `-CompoundStmt 0x13c2bbd1c50 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2bbd1c40 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2bbd1c28 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2bbd1bf8 <col:10, col:31> 'const bool' lvalue Var 0x13c2bbd1448 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<const twinline_t *>'
| |-FunctionDecl 0x13c2bbfa100 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'section_lines_refs_t'
| | | `-RecordType 0x13c2bbc15c0 'section_lines_refs_t'
| | | `-CXXRecord 0x13c2bbc1528 'section_lines_refs_t'
| | `-CompoundStmt 0x13c2bbfad90 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2bbfad80 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2bbfad68 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2bbfad38 <col:10, col:31> 'const bool' lvalue Var 0x13c2bbfa588 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<section_lines_refs_t>'
| |-FunctionDecl 0x13c29e2dd08 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'const line_rendering_output_entry_t *'
| | | `-PointerType 0x13c2bc051e0 'const line_rendering_output_entry_t *'
| | | `-QualType 0x13c2bc046b1 'const line_rendering_output_entry_t' const
| | | `-RecordType 0x13c2bc046b0 'line_rendering_output_entry_t'
| | | `-CXXRecord 0x13c2bc04618 'line_rendering_output_entry_t'
| | `-CompoundStmt 0x13c29e2e990 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c29e2e980 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c29e2e968 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c29e2e938 <col:10, col:31> 'const bool' lvalue Var 0x13c29e2e188 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<const line_rendering_output_entry_t *>'
| |-FunctionDecl 0x13c2bd25bd0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'svalvec_t'
| | | `-RecordType 0x13c2b61cd00 'svalvec_t'
| | | `-CXXRecord 0x13c2b61cc70 'svalvec_t'
| | `-CompoundStmt 0x13c2bd26860 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2bd26850 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2bd26838 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2bd26808 <col:10, col:31> 'const bool' lvalue Var 0x13c2bd26058 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<svalvec_t>'
| |-FunctionDecl 0x13c2be6e8a8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'reg_info_t'
| | | `-RecordType 0x13c2be5c4b0 'reg_info_t'
| | | `-CXXRecord 0x13c2be5c420 'reg_info_t'
| | `-CompoundStmt 0x13c2be6eb58 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2be6eb48 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2be6eb30 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2be6eb00 <col:10, col:31> 'const bool' lvalue Var 0x13c2be5e1e0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<reg_info_t>'
| |-FunctionDecl 0x13c2be89f08 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'reg_access_t'
| | | `-RecordType 0x13c2be77cb0 'reg_access_t'
| | | `-CXXRecord 0x13c2be77c18 'reg_access_t'
| | `-CompoundStmt 0x13c2be8a1b8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2be8a1a8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2be8a190 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2be8a160 <col:10, col:31> 'const bool' lvalue Var 0x13c2be79220 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<reg_access_t>'
| |-FunctionDecl 0x13c2bef2630 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'intvec_t'
| | | `-RecordType 0x13c2b64caf0 'intvec_t'
| | | `-CXXRecord 0x13c2b64ca58 'intvec_t'
| | `-CompoundStmt 0x13c2bef32c0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2bef32b0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2bef3298 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2bef3268 <col:10, col:31> 'const bool' lvalue Var 0x13c2bef2ab8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<intvec_t>'
| |-FunctionDecl 0x13c2bf523e0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'intmap_t'
| | | `-RecordType 0x13c2befbbe0 'intmap_t'
| | | `-CXXRecord 0x13c2befbb50 'intmap_t'
| | `-CompoundStmt 0x13c2bf53070 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2bf53060 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2bf53048 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2bf53018 <col:10, col:31> 'const bool' lvalue Var 0x13c2bf52868 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<intmap_t>'
| |-FunctionDecl 0x13c2bf93950 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'node_set_t'
| | | `-RecordType 0x13c2bf5d860 'node_set_t'
| | | `-CXXRecord 0x13c2bf5d7d0 'node_set_t'
| | `-CompoundStmt 0x13c2bf945e0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2bf945d0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2bf945b8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2bf94588 <col:10, col:31> 'const bool' lvalue Var 0x13c2bf93dd8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<node_set_t>'
| |-FunctionDecl 0x13c2bfc0460 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'qbasic_block_t'
| | | `-RecordType 0x13c2bfaae70 'qbasic_block_t'
| | | `-CXXRecord 0x13c2bfaadd8 'qbasic_block_t'
| | `-CompoundStmt 0x13c2bfc10f0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2bfc10e0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2bfc10c8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2bfc1098 <col:10, col:31> 'const bool' lvalue Var 0x13c2bfc08e8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<qbasic_block_t>'
| |-FunctionDecl 0x13c2bfe9b90 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'idp_name_t'
| | | `-RecordType 0x13c2bfd7f60 'idp_name_t'
| | | `-CXXRecord 0x13c2bfd7ec8 'idp_name_t'
| | `-CompoundStmt 0x13c2bfe9e48 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2bfe9e38 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2bfe9e20 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2bfe9df0 <col:10, col:31> 'const bool' lvalue Var 0x13c2bfd98c0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<idp_name_t>'
| |-FunctionDecl 0x13c2c004cf8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'idp_desc_t'
| | | `-RecordType 0x13c2bff27d0 'idp_desc_t'
| | | `-CXXRecord 0x13c2bff2740 'idp_desc_t'
| | `-CompoundStmt 0x13c2c004fa8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c004f98 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c004f80 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c004f50 <col:10, col:31> 'const bool' lvalue Var 0x13c2bff4980 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<idp_desc_t>'
| |-FunctionDecl 0x13c2c0214c8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'const snapshot_t *'
| | | `-PointerType 0x13c2bca3c10 'const snapshot_t *'
| | | `-QualType 0x13c2bacf5d1 'const snapshot_t' const
| | | `-RecordType 0x13c2bacf5d0 'snapshot_t'
| | | `-CXXRecord 0x13c2c02a7d0 'snapshot_t'
| | `-CompoundStmt 0x13c2c022150 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c022140 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c022128 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c0220f8 <col:10, col:31> 'const bool' lvalue Var 0x13c2c021948 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<const snapshot_t *>'
| |-FunctionDecl 0x13c2c055780 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'ea_name_t'
| | | `-RecordType 0x13c2c0439b0 'ea_name_t'
| | | `-CXXRecord 0x13c2c043920 'ea_name_t'
| | `-CompoundStmt 0x13c2c055a38 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c055a28 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c055a10 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c0559e0 <col:10, col:31> 'const bool' lvalue Var 0x13c2c0455a0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<ea_name_t>'
| |-FunctionDecl 0x13c2c0a7e10 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'type_attr_t'
| | | `-RecordType 0x13c2c095ed0 'type_attr_t'
| | | `-CXXRecord 0x13c2c095e38 'type_attr_t'
| | `-CompoundStmt 0x13c2c0a80c8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c0a80b8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c0a80a0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c0a8070 <col:10, col:31> 'const bool' lvalue Var 0x13c2c0979e0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<type_attr_t>'
| |-FunctionDecl 0x13c2c11dd20 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'argloc_t'
| | | `-RecordType 0x13c2bd95370 'argloc_t'
| | | `-CXXRecord 0x13c2c0bed40 'argloc_t'
| | `-CompoundStmt 0x13c2c11dfd8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c11dfc8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c11dfb0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c11df80 <col:10, col:31> 'const bool' lvalue Var 0x13c2c10dde0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<argloc_t>'
| |-FunctionDecl 0x13c2c13a420 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'argpart_t'
| | | `-RecordType 0x13c2c126990 'argpart_t'
| | | `-CXXRecord 0x13c2c126900 'argpart_t'
| | `-CompoundStmt 0x13c2c13a6d8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c13a6c8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c13a6b0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c13a680 <col:10, col:31> 'const bool' lvalue Var 0x13c2c12a1e0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<argpart_t>'
| |-FunctionDecl 0x13c2c212770 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'tinfo_t'
| | | `-RecordType 0x13c2ba03350 'tinfo_t'
| | | `-CXXRecord 0x13c2c1cce18 'tinfo_t'
| | `-CompoundStmt 0x13c2c212a28 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c212a18 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c212a00 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c2129d0 <col:10, col:31> 'const bool' lvalue Var 0x13c2c202800 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<tinfo_t>'
| |-FunctionDecl 0x13c2c268a68 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'simd_info_t'
| | | `-RecordType 0x13c2bd90190 'simd_info_t'
| | | `-CXXRecord 0x13c2c21b320 'simd_info_t'
| | `-CompoundStmt 0x13c2c268d18 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c268d08 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c268cf0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c268cc0 <col:10, col:31> 'const bool' lvalue Var 0x13c2c21e6a0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<simd_info_t>'
| |-FunctionDecl 0x13c2c28a050 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'funcarg_t'
| | | `-RecordType 0x13c2bd95630 'funcarg_t'
| | | `-CXXRecord 0x13c2c2781e8 'funcarg_t'
| | `-CompoundStmt 0x13c2c28a308 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c28a2f8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c28a2e0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c28a2b0 <col:10, col:31> 'const bool' lvalue Var 0x13c2c279a80 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<funcarg_t>'
| |-FunctionDecl 0x13c2c2a9fb0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'enum_member_t'
| | | `-RecordType 0x13c2c297070 'enum_member_t'
| | | `-CXXRecord 0x13c2c296fe0 'enum_member_t'
| | `-CompoundStmt 0x13c2c2aa268 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c2aa258 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c2aa240 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c2aa210 <col:10, col:31> 'const bool' lvalue Var 0x13c2c299ae0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<enum_member_t>'
| |-FunctionDecl 0x13c2c309a20 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'regobj_t'
| | | `-RecordType 0x13c2c2d7f90 'regobj_t'
| | | `-CXXRecord 0x13c2c2d7f00 'regobj_t'
| | `-CompoundStmt 0x13c2c309cd8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c309cc8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c309cb0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c309c80 <col:10, col:31> 'const bool' lvalue Var 0x13c2c2d9190 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<regobj_t>'
| |-FunctionDecl 0x13c2c332650 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'valstr_t'
| | | `-RecordType 0x13c2c31ded0 'valstr_t'
| | | `-CXXRecord 0x13c2c31de38 'valstr_t'
| | `-CompoundStmt 0x13c2c332908 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c3328f8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c3328e0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c3328b0 <col:10, col:31> 'const bool' lvalue Var 0x13c2c322360 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<valstr_t>'
| |-FunctionDecl 0x13c2c34d588 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'unsigned int'
| | | `-BuiltinType 0x13c28548020 'unsigned int'
| | `-CompoundStmt 0x13c2c34e210 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c34e200 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c34e1e8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c34e1b8 <col:10, col:31> 'const bool' lvalue Var 0x13c2c34da08 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<unsigned int>'
| |-FunctionDecl 0x13c2c627cb0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'lvar_saved_info_t'
| | | `-RecordType 0x13c2c612f10 'lvar_saved_info_t'
| | | `-CXXRecord 0x13c2c612e78 'lvar_saved_info_t'
| | `-CompoundStmt 0x13c2c627f68 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c627f58 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c627f40 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c627f10 <col:10, col:31> 'const bool' lvalue Var 0x13c2c6177b0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<lvar_saved_info_t>'
| |-FunctionDecl 0x13c2c6adb90 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'bitset_t'
| | | `-RecordType 0x13c2c692880 'bitset_t'
| | | `-CXXRecord 0x13c2c6927f0 'bitset_t'
| | `-CompoundStmt 0x13c2c6ade48 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c6ade38 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c6ade20 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c6addf0 <col:10, col:31> 'const bool' lvalue Var 0x13c2c69dca0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<bitset_t>'
| |-FunctionDecl 0x13c2c6f8960 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'ivlset_t'
| | | `-RecordType 0x13c2c6da9f0 'ivlset_t'
| | | `-CXXRecord 0x13c2c6da958 'ivlset_t'
| | `-CompoundStmt 0x13c2c6f8c18 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c6f8c08 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c6f8bf0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c6f8bc0 <col:10, col:31> 'const bool' lvalue Var 0x13c2c6e86b0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<ivlset_t>'
| |-FunctionDecl 0x13c2c71b2f0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'mlist_t'
| | | `-RecordType 0x13c2c511e70 'mlist_t'
| | | `-CXXRecord 0x13c2c702b98 'mlist_t'
| | `-CompoundStmt 0x13c2c71b5a8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c71b598 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c71b580 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c71b550 <col:10, col:31> 'const bool' lvalue Var 0x13c2c70b2b0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<mlist_t>'
| |-FunctionDecl 0x13c2c76da80 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'mcallarg_t'
| | | `-RecordType 0x13c2c759770 'mcallarg_t'
| | | `-CXXRecord 0x13c2c7596e0 'mcallarg_t'
| | `-CompoundStmt 0x13c2c76dd38 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c76dd28 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c76dd10 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c76dce0 <col:10, col:31> 'const bool' lvalue Var 0x13c2c75d690 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<mcallarg_t>'
| |-FunctionDecl 0x13c2c7c88d8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'block_chains_t'
| | | `-RecordType 0x13c2c7b3520 'block_chains_t'
| | | `-CXXRecord 0x13c2c7b3490 'block_chains_t'
| | `-CompoundStmt 0x13c2c7c9560 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c7c9550 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c7c9538 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c7c9508 <col:10, col:31> 'const bool' lvalue Var 0x13c2c7c8d58 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<block_chains_t>'
| |-FunctionDecl 0x13c2c805720 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'hexwarn_t'
| | | `-RecordType 0x13c2c7f2b80 'hexwarn_t'
| | | `-CXXRecord 0x13c2c7f2af0 'hexwarn_t'
| | `-CompoundStmt 0x13c2c8059d8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c8059c8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c8059b0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c805980 <col:10, col:31> 'const bool' lvalue Var 0x13c2c7f5310 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<hexwarn_t>'
| |-FunctionDecl 0x13c2c92c800 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'cfuncptr_t'
| | | `-RecordType 0x13c2c91a6f0 'cfuncptr_t'
| | | `-CXXRecord 0x13c2c91a660 'cfuncptr_t'
| | `-CompoundStmt 0x13c2c92d490 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c92d480 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c92d468 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c92d438 <col:10, col:31> 'const bool' lvalue Var 0x13c2c92cc88 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<cfuncptr_t>'
| |-FunctionDecl 0x13c2c951428 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'history_item_t'
| | | `-RecordType 0x13c2c93f3f0 'history_item_t'
| | | `-CXXRecord 0x13c2c93f360 'history_item_t'
| | `-CompoundStmt 0x13c2c9520b0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c9520a0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c952088 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c952058 <col:10, col:31> 'const bool' lvalue Var 0x13c2c9518a8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<history_item_t>'
| |-FunctionDecl 0x13c2c976cd0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'ui_stroff_op_t'
| | | `-RecordType 0x13c2c965400 'ui_stroff_op_t'
| | | `-CXXRecord 0x13c2c965368 'ui_stroff_op_t'
| | `-CompoundStmt 0x13c2c976f88 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2c976f78 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2c976f60 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2c976f30 <col:10, col:31> 'const bool' lvalue Var 0x13c2c966930 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<ui_stroff_op_t>'
| |-FunctionDecl 0x13c2cb00e70 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'ioport_bit_t'
| | | `-RecordType 0x13c2caaf480 'ioport_bit_t'
| | | `-CXXRecord 0x13c2caaf3f0 'ioport_bit_t'
| | `-CompoundStmt 0x13c2cb01128 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cb01118 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cb01100 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cb010d0 <col:10, col:31> 'const bool' lvalue Var 0x13c2cab0a20 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<ioport_bit_t>'
| |-FunctionDecl 0x13c2cb1bb50 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'ioport_t'
| | | `-RecordType 0x13c2cb09ab0 'ioport_t'
| | | `-CXXRecord 0x13c2cb09a20 'ioport_t'
| | `-CompoundStmt 0x13c2cb1be08 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cb1bdf8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cb1bde0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cb1bdb0 <col:10, col:31> 'const bool' lvalue Var 0x13c2cb0b870 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<ioport_t>'
| |-FunctionDecl 0x13c2cb5cca0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'idc_global_t'
| | | `-RecordType 0x13c2cb4af50 'idc_global_t'
| | | `-CXXRecord 0x13c2cb4aeb8 'idc_global_t'
| | `-CompoundStmt 0x13c2cb5cf58 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cb5cf48 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cb5cf30 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cb5cf00 <col:10, col:31> 'const bool' lvalue Var 0x13c2cb4cb30 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<idc_global_t>'
| |-FunctionDecl 0x13c2cbb97d8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'direntry_t'
| | | `-RecordType 0x13c2cba75e0 'direntry_t'
| | | `-CXXRecord 0x13c2cba7548 'direntry_t'
| | `-CompoundStmt 0x13c2cbb9a88 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cbb9a78 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cbb9a60 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cbb9a30 <col:10, col:31> 'const bool' lvalue Var 0x13c2cba90f0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<direntry_t>'
| |-FunctionDecl 0x13c2cbd78f8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'dirtree_cursor_t'
| | | `-RecordType 0x13c2cbc40e0 'dirtree_cursor_t'
| | | `-CXXRecord 0x13c2cbc4048 'dirtree_cursor_t'
| | `-CompoundStmt 0x13c2cbd7ba8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cbd7b98 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cbd7b80 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cbd7b50 <col:10, col:31> 'const bool' lvalue Var 0x13c2cbc7630 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<dirtree_cursor_t>'
| |-FunctionDecl 0x13c2cc26198 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'fixup_info_t'
| | | `-RecordType 0x13c2cc142f0 'fixup_info_t'
| | | `-CXXRecord 0x13c2cc14258 'fixup_info_t'
| | `-CompoundStmt 0x13c2cc26448 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cc26438 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cc26420 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cc263f0 <col:10, col:31> 'const bool' lvalue Var 0x13c2cc15130 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<fixup_info_t>'
| |-FunctionDecl 0x13c2cc77968 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'xreflist_entry_t'
| | | `-RecordType 0x13c2cc63d30 'xreflist_entry_t'
| | | `-CXXRecord 0x13c2cc63c98 'xreflist_entry_t'
| | `-CompoundStmt 0x13c2cc77c18 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cc77c08 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cc77bf0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cc77bc0 <col:10, col:31> 'const bool' lvalue Var 0x13c2cc67200 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<xreflist_entry_t>'
| |-FunctionDecl 0x13c2cc9c948 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'edge_t'
| | | `-RecordType 0x13c2cc8aa90 'edge_t'
| | | `-CXXRecord 0x13c2cc8a9f8 'edge_t'
| | `-CompoundStmt 0x13c2cc9cbf8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cc9cbe8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cc9cbd0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cc9cba0 <col:10, col:31> 'const bool' lvalue Var 0x13c2cc8c2d0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<edge_t>'
| |-FunctionDecl 0x13c2ccfc7a8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'point_t'
| | | `-RecordType 0x13c2cca8200 'point_t'
| | | `-CXXRecord 0x13c2cca8168 'point_t'
| | `-CompoundStmt 0x13c2ccfca58 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2ccfca48 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2ccfca30 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2ccfca00 <col:10, col:31> 'const bool' lvalue Var 0x13c2ccaa910 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<point_t>'
| |-FunctionDecl 0x13c2cd277f8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'selection_item_t'
| | | `-RecordType 0x13c2bc7f1c0 'selection_item_t'
| | | `-CXXRecord 0x13c2cd13ce0 'selection_item_t'
| | `-CompoundStmt 0x13c2cd28480 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cd28470 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cd28458 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cd28428 <col:10, col:31> 'const bool' lvalue Var 0x13c2cd27c78 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<selection_item_t>'
| |-FunctionDecl 0x13c2cd4b5d0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'row_info_t'
| | | `-RecordType 0x13c2cd39ac0 'row_info_t'
| | | `-CXXRecord 0x13c2cd39a30 'row_info_t'
| | `-CompoundStmt 0x13c2cd4c260 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cd4c250 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cd4c238 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cd4c208 <col:10, col:31> 'const bool' lvalue Var 0x13c2cd4ba58 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<row_info_t>'
| |-FunctionDecl 0x13c2cd7bc78 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'rect_t'
| | | `-RecordType 0x13c2cd06a90 'rect_t'
| | | `-CXXRecord 0x13c2cd069f8 'rect_t'
| | `-CompoundStmt 0x13c2cd7bf28 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cd7bf18 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cd7bf00 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cd7bed0 <col:10, col:31> 'const bool' lvalue Var 0x13c2cd0d920 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<rect_t>'
| |-FunctionDecl 0x13c2cd9b710 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'group_crinfo_t'
| | | `-RecordType 0x13c2cd8a100 'group_crinfo_t'
| | | `-CXXRecord 0x13c2cd8a070 'group_crinfo_t'
| | `-CompoundStmt 0x13c2cd9c3a0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cd9c390 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cd9c378 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cd9c348 <col:10, col:31> 'const bool' lvalue Var 0x13c2cd9bb98 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<group_crinfo_t>'
| |-FunctionDecl 0x13c2ce7e030 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'ida_syntax_highlighter_t::keywords_style_t'
| | | `-RecordType 0x13c2cdb7480 'ida_syntax_highlighter_t::keywords_style_t'
| | | `-CXXRecord 0x13c2cdb73f0 'keywords_style_t'
| | `-CompoundStmt 0x13c2ce7ecc0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2ce7ecb0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2ce7ec98 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2ce7ec68 <col:10, col:31> 'const bool' lvalue Var 0x13c2ce7e4b8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<ida_syntax_highlighter_t::keywords_style_t>'
| |-FunctionDecl 0x13c2ce8fc70 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'ida_syntax_highlighter_t::multicmt_t'
| | | `-RecordType 0x13c2cdb62a0 'ida_syntax_highlighter_t::multicmt_t'
| | | `-CXXRecord 0x13c2cdb6210 'multicmt_t'
| | `-CompoundStmt 0x13c2ce90900 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2ce908f0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2ce908d8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2ce908a8 <col:10, col:31> 'const bool' lvalue Var 0x13c2ce900f8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<ida_syntax_highlighter_t::multicmt_t>'
| |-FunctionDecl 0x13c2ceaeeb0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'process_info_t'
| | | `-RecordType 0x13c2ce9d540 'process_info_t'
| | | `-CXXRecord 0x13c2ce9d4b0 'process_info_t'
| | `-CompoundStmt 0x13c2ceaf168 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2ceaf158 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2ceaf140 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2ceaf110 <col:10, col:31> 'const bool' lvalue Var 0x13c2ce9eb30 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<process_info_t>'
| |-FunctionDecl 0x13c2ceca918 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'register_info_t'
| | | `-RecordType 0x13c2ceb8b00 'register_info_t'
| | | `-CXXRecord 0x13c2ceb8a68 'register_info_t'
| | `-CompoundStmt 0x13c2cecabc8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cecabb8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cecaba0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cecab70 <col:10, col:31> 'const bool' lvalue Var 0x13c2ceba030 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<register_info_t>'
| |-FunctionDecl 0x13c2ceeba98 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'const char *'
| | | `-PointerType 0x13c28548a70 'const char *'
| | | `-QualType 0x13c28547f21 'const char' const
| | | `-BuiltinType 0x13c28547f20 'char'
| | `-CompoundStmt 0x13c2ceec720 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2ceec710 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2ceec6f8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2ceec6c8 <col:10, col:31> 'const bool' lvalue Var 0x13c2ceebf18 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<const char *>'
| |-FunctionDecl 0x13c2cefcea0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'dynamic_register_set_t::const_char_vec_t'
| | | `-RecordType 0x13c2ced3700 'dynamic_register_set_t::const_char_vec_t'
| | | `-CXXRecord 0x13c2ced3668 'const_char_vec_t'
| | `-CompoundStmt 0x13c2cefdb30 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cefdb20 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cefdb08 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cefdad8 <col:10, col:31> 'const bool' lvalue Var 0x13c2cefd328 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<dynamic_register_set_t::const_char_vec_t>'
| |-FunctionDecl 0x13c2cf3fd90 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'scattered_segm_t'
| | | `-RecordType 0x13c2cf2eb00 'scattered_segm_t'
| | | `-CXXRecord 0x13c2cf2ea68 'scattered_segm_t'
| | `-CompoundStmt 0x13c2cf40048 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cf40038 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cf40020 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cf3fff0 <col:10, col:31> 'const bool' lvalue Var 0x13c2cf2f7f0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<scattered_segm_t>'
| |-FunctionDecl 0x13c2cf5bed0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'modinfo_t'
| | | `-RecordType 0x13c2cf4a0c0 'modinfo_t'
| | | `-CXXRecord 0x13c2cf4a028 'modinfo_t'
| | `-CompoundStmt 0x13c2cf5c188 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cf5c178 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cf5c160 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cf5c130 <col:10, col:31> 'const bool' lvalue Var 0x13c2cf4b9f0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<modinfo_t>'
| |-FunctionDecl 0x13c2cf808a0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'exception_info_t'
| | | `-RecordType 0x13c2cf6dcf0 'exception_info_t'
| | | `-CXXRecord 0x13c2cf6dc60 'exception_info_t'
| | `-CompoundStmt 0x13c2cf80b58 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cf80b48 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cf80b30 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cf80b00 <col:10, col:31> 'const bool' lvalue Var 0x13c2cf70580 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<exception_info_t>'
| |-FunctionDecl 0x13c2cfa1cd0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'regval_t'
| | | `-RecordType 0x13c2bd90030 'regval_t'
| | | `-CXXRecord 0x13c2cf89450 'regval_t'
| | `-CompoundStmt 0x13c2cfa1f88 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cfa1f78 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cfa1f60 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cfa1f30 <col:10, col:31> 'const bool' lvalue Var 0x13c2cf91d40 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<regval_t>'
| |-FunctionDecl 0x13c2cfe58a0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'update_bpt_info_t'
| | | `-RecordType 0x13c2cfd3b40 'update_bpt_info_t'
| | | `-CXXRecord 0x13c2cfd3ab0 'update_bpt_info_t'
| | `-CompoundStmt 0x13c2cfe5b58 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2cfe5b48 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2cfe5b30 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2cfe5b00 <col:10, col:31> 'const bool' lvalue Var 0x13c2cfd4f50 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<update_bpt_info_t>'
| |-FunctionDecl 0x13c2d001ed0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'lowcnd_t'
| | | `-RecordType 0x13c2cfee4e0 'lowcnd_t'
| | | `-CXXRecord 0x13c2cfee450 'lowcnd_t'
| | `-CompoundStmt 0x13c2d002b60 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2d002b50 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2d002b38 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2d002b08 <col:10, col:31> 'const bool' lvalue Var 0x13c2d002358 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<lowcnd_t>'
| |-FunctionDecl 0x13c2d01ca60 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'thread_name_t'
| | | `-RecordType 0x13c2d00b4f0 'thread_name_t'
| | | `-CXXRecord 0x13c2d00b460 'thread_name_t'
| | `-CompoundStmt 0x13c2d01d6f0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2d01d6e0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2d01d6c8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2d01d698 <col:10, col:31> 'const bool' lvalue Var 0x13c2d01cee8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<thread_name_t>'
| |-FunctionDecl 0x13c2d1607a0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'eavec_t'
| | | `-RecordType 0x13c2b636110 'eavec_t'
| | | `-CXXRecord 0x13c2b636080 'eavec_t'
| | `-CompoundStmt 0x13c2d161430 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2d161420 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2d161408 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2d1613d8 <col:10, col:31> 'const bool' lvalue Var 0x13c2d160c28 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<eavec_t>'
| |-FunctionDecl 0x13c2d601268 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'op_t'
| | | `-RecordType 0x13c2bd31040 'op_t'
| | | `-CXXRecord 0x13c2bd30fa8 'op_t'
| | `-CompoundStmt 0x13c2d601ef0 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2d601ee0 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2d601ec8 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2d601e98 <col:10, col:31> 'const bool' lvalue Var 0x13c2d6016e8 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<op_t>'
| |-FunctionDecl 0x13c2d6e8bd0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'token_t'
| | | `-RecordType 0x13c2bd6d3b0 'token_t'
| | | `-CXXRecord 0x13c2d6cb8c0 'token_t'
| | `-CompoundStmt 0x13c2d6e8e88 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2d6e8e78 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2d6e8e60 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2d6e8e30 <col:10, col:31> 'const bool' lvalue Var 0x13c2d6ce4a0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<token_t>'
| |-FunctionDecl 0x13c2d70c6e8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'md5_t'
| | | `-RecordType 0x13c2d6f7210 'md5_t'
| | | `-CXXRecord 0x13c2d6f7178 'md5_t'
| | `-CompoundStmt 0x13c2d70c998 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2d70c988 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2d70c970 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2d70c940 <col:10, col:31> 'const bool' lvalue Var 0x13c2d6fc820 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<md5_t>'
| |-FunctionDecl 0x13c2d7288a0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'segm_move_info_t'
| | | `-RecordType 0x13c2d716c20 'segm_move_info_t'
| | | `-CXXRecord 0x13c2d716b88 'segm_move_info_t'
| | `-CompoundStmt 0x13c2d728b58 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2d728b48 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2d728b30 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2d728b00 <col:10, col:31> 'const bool' lvalue Var 0x13c2d718060 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<segm_move_info_t>'
| |-FunctionDecl 0x13c2d753970 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'lochist_entry_t'
| | | `-RecordType 0x13c2bacdf40 'lochist_entry_t'
| | | `-CXXRecord 0x13c2d73a378 'lochist_entry_t'
| | `-CompoundStmt 0x13c2d753c28 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2d753c18 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2d753c00 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2d753bd0 <col:10, col:31> 'const bool' lvalue Var 0x13c2d743a30 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<lochist_entry_t>'
| |-FunctionDecl 0x13c2de6c1d8 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'rpc_packet_type_desc_t'
| | | `-RecordType 0x13c2de5aac0 'rpc_packet_type_desc_t'
| | | `-CXXRecord 0x13c2de5aa30 'rpc_packet_type_desc_t'
| | `-CompoundStmt 0x13c2de6c488 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2de6c478 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2de6c460 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2de6c430 <col:10, col:31> 'const bool' lvalue Var 0x13c2de5baa0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<rpc_packet_type_desc_t>'
| |-FunctionDecl 0x13c2deb1920 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'jvalue_t'
| | | `-RecordType 0x13c2bd6f8e0 'jvalue_t'
| | | `-CXXRecord 0x13c2de989f8 'jvalue_t'
| | `-CompoundStmt 0x13c2deb1bd8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2deb1bc8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2deb1bb0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2deb1b80 <col:10, col:31> 'const bool' lvalue Var 0x13c2dea19b0 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<jvalue_t>'
| |-FunctionDecl 0x13c2e08a440 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'catch_t'
| | | `-RecordType 0x13c2e078bf0 'catch_t'
| | | `-CXXRecord 0x13c2e078b58 'catch_t'
| | `-CompoundStmt 0x13c2e08a6f8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2e08a6e8 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2e08a6d0 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2e08a6a0 <col:10, col:31> 'const bool' lvalue Var 0x13c2e079990 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<catch_t>'
| |-FunctionDecl 0x13c2e0a8bf0 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| | |-TemplateArgument type 'tryblk_t'
| | | `-RecordType 0x13c2e0931e0 'tryblk_t'
| | | `-CXXRecord 0x13c2e093150 'tryblk_t'
| | `-CompoundStmt 0x13c2e0a8ea8 <line:2154:1, line:2156:1>
| | `-ReturnStmt 0x13c2e0a8e98 <line:2155:3, col:31>
| | `-ImplicitCastExpr 0x13c2e0a8e80 <col:10, col:31> 'bool' <LValueToRValue>
| | `-DeclRefExpr 0x13c2e0a8e50 <col:10, col:31> 'const bool' lvalue Var 0x13c2e098c00 'value' 'const bool' non_odr_use_constant
| | `-NestedNameSpecifier TypeSpec 'ida_movable_type<tryblk_t>'
| `-FunctionDecl 0x13c2e721a80 <line:2153:20, line:2156:1> line:2153:42 used constexpr may_move_bytes 'bool ()' implicit_instantiation inline
| |-TemplateArgument type 'ivl_t'
| | `-RecordType 0x13c2c6b88a0 'ivl_t'
| | `-CXXRecord 0x13c2c6b8808 'ivl_t'
| `-CompoundStmt 0x13c2e721d38 <line:2154:1, line:2156:1>
| `-ReturnStmt 0x13c2e721d28 <line:2155:3, col:31>
| `-ImplicitCastExpr 0x13c2e721d10 <col:10, col:31> 'bool' <LValueToRValue>
| `-DeclRefExpr 0x13c2e721ce0 <col:10, col:31> 'const bool' lvalue Var 0x13c2c6beab0 'value' 'const bool' non_odr_use_constant
| `-NestedNameSpecifier TypeSpec 'ida_movable_type<ivl_t>'
So there is enough information to get all function specializations. Somehow that is not available through CppSharp. Could you please help me solve this problem? Eventually point me to where I should make changes. I am trying to instantiate the function templates.
Kind regards,
Mircea Troi