1 #ifndef Rose_Traits_generated_h
2 #define Rose_Traits_generated_h
10 static constexpr
size_t position{0};
11 static constexpr
char const *
const name{
"modifier"};
12 static constexpr
char const *
const typestr{
"SgAccessModifier::access_modifier_enum"};
13 static constexpr
bool traverse{
false};
14 static constexpr
auto mbr_ptr{&SgAccessModifier::p_modifier};
15 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16 using bind = Desc<SgAccessModifier, SgAccessModifier::access_modifier_enum SgAccessModifier::*, &SgAccessModifier::p_modifier>;
21 static constexpr
char const *
const name{
"AccessModifier"};
22 static constexpr
unsigned long variant{1};
23 static constexpr
bool concrete{
true};
33 static constexpr
size_t position{0};
34 static constexpr
char const *
const name{
"argument_name"};
35 static constexpr
char const *
const typestr{
"SgName"};
36 static constexpr
bool traverse{
false};
37 static constexpr
auto mbr_ptr{&SgActualArgumentExpression::p_argument_name};
38 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39 using bind = Desc<SgActualArgumentExpression, SgName SgActualArgumentExpression::*, &SgActualArgumentExpression::p_argument_name>;
44 static constexpr
size_t position{1};
45 static constexpr
char const *
const name{
"expression"};
46 static constexpr
char const *
const typestr{
"SgExpression*"};
47 static constexpr
bool traverse{
true};
48 static constexpr
auto mbr_ptr{&SgActualArgumentExpression::p_expression};
49 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
50 using bind = Desc<SgActualArgumentExpression, SgExpression* SgActualArgumentExpression::*, &SgActualArgumentExpression::p_expression>;
55 static constexpr
char const *
const name{
"ActualArgumentExpression"};
56 static constexpr
unsigned long variant{2};
57 static constexpr
bool concrete{
true};
67 static constexpr
char const *
const name{
"AbsOp"};
68 static constexpr
unsigned long variant{3};
69 static constexpr
bool concrete{
true};
73 template <>
struct node_from_variant_t<3> {
using type =
SgAbsOp; };
79 static constexpr
size_t position{0};
80 static constexpr
char const *
const name{
"base_type"};
81 static constexpr
char const *
const typestr{
"SgType*"};
82 static constexpr
bool traverse{
true};
83 static constexpr
auto mbr_ptr{&SgAdaAccessType::p_base_type};
84 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
85 using bind = Desc<SgAdaAccessType, SgType* SgAdaAccessType::*, &SgAdaAccessType::p_base_type>;
89 using field_type = bool;
90 static constexpr
size_t position{1};
91 static constexpr
char const *
const name{
"is_general_access"};
92 static constexpr
char const *
const typestr{
"bool"};
93 static constexpr
bool traverse{
false};
94 static constexpr
auto mbr_ptr{&SgAdaAccessType::p_is_general_access};
95 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
96 using bind = Desc<SgAdaAccessType, bool SgAdaAccessType::*, &SgAdaAccessType::p_is_general_access>;
100 using field_type = bool;
101 static constexpr
size_t position{2};
102 static constexpr
char const *
const name{
"is_anonymous"};
103 static constexpr
char const *
const typestr{
"bool"};
104 static constexpr
bool traverse{
false};
105 static constexpr
auto mbr_ptr{&SgAdaAccessType::p_is_anonymous};
106 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
107 using bind = Desc<SgAdaAccessType, bool SgAdaAccessType::*, &SgAdaAccessType::p_is_anonymous>;
112 static constexpr
char const *
const name{
"AdaAccessType"};
113 static constexpr
unsigned long variant{4};
114 static constexpr
bool concrete{
true};
124 static constexpr
size_t position{0};
125 static constexpr
char const *
const name{
"parameterScope"};
126 static constexpr
char const *
const typestr{
"SgFunctionParameterScope*"};
127 static constexpr
bool traverse{
false};
128 static constexpr
auto mbr_ptr{&SgAdaAcceptStmt::p_parameterScope};
129 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
130 using bind = Desc<SgAdaAcceptStmt, SgFunctionParameterScope* SgAdaAcceptStmt::*, &SgAdaAcceptStmt::p_parameterScope>;
135 static constexpr
size_t position{1};
136 static constexpr
char const *
const name{
"parameterList"};
137 static constexpr
char const *
const typestr{
"SgFunctionParameterList*"};
138 static constexpr
bool traverse{
true};
139 static constexpr
auto mbr_ptr{&SgAdaAcceptStmt::p_parameterList};
140 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
141 using bind = Desc<SgAdaAcceptStmt, SgFunctionParameterList* SgAdaAcceptStmt::*, &SgAdaAcceptStmt::p_parameterList>;
146 static constexpr
size_t position{2};
147 static constexpr
char const *
const name{
"entry"};
148 static constexpr
char const *
const typestr{
"SgExpression*"};
149 static constexpr
bool traverse{
true};
150 static constexpr
auto mbr_ptr{&SgAdaAcceptStmt::p_entry};
151 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
152 using bind = Desc<SgAdaAcceptStmt, SgExpression* SgAdaAcceptStmt::*, &SgAdaAcceptStmt::p_entry>;
157 static constexpr
size_t position{3};
158 static constexpr
char const *
const name{
"index"};
159 static constexpr
char const *
const typestr{
"SgExpression*"};
160 static constexpr
bool traverse{
true};
161 static constexpr
auto mbr_ptr{&SgAdaAcceptStmt::p_index};
162 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
163 using bind = Desc<SgAdaAcceptStmt, SgExpression* SgAdaAcceptStmt::*, &SgAdaAcceptStmt::p_index>;
168 static constexpr
size_t position{4};
169 static constexpr
char const *
const name{
"body"};
170 static constexpr
char const *
const typestr{
"SgStatement*"};
171 static constexpr
bool traverse{
true};
172 static constexpr
auto mbr_ptr{&SgAdaAcceptStmt::p_body};
173 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
174 using bind = Desc<SgAdaAcceptStmt, SgStatement* SgAdaAcceptStmt::*, &SgAdaAcceptStmt::p_body>;
179 static constexpr
char const *
const name{
"AdaAcceptStmt"};
180 static constexpr
unsigned long variant{5};
181 static constexpr
bool concrete{
true};
183 using fields_t =
mp::List<describe_field_t<SgAdaAcceptStmt,SgFunctionParameterScope*,&SgAdaAcceptStmt::p_parameterScope>,
describe_field_t<SgAdaAcceptStmt,SgFunctionParameterList*,&SgAdaAcceptStmt::p_parameterList>,
describe_field_t<SgAdaAcceptStmt,SgExpression*,&SgAdaAcceptStmt::p_entry>,
describe_field_t<SgAdaAcceptStmt,SgExpression*,&SgAdaAcceptStmt::p_index>,
describe_field_t<SgAdaAcceptStmt,SgStatement*,&SgAdaAcceptStmt::p_body>>;
191 static constexpr
size_t position{0};
192 static constexpr
char const *
const name{
"time"};
193 static constexpr
char const *
const typestr{
"SgExpression*"};
194 static constexpr
bool traverse{
true};
195 static constexpr
auto mbr_ptr{&SgAdaDelayStmt::p_time};
196 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
197 using bind = Desc<SgAdaDelayStmt, SgExpression* SgAdaDelayStmt::*, &SgAdaDelayStmt::p_time>;
201 using field_type = bool;
202 static constexpr
size_t position{1};
203 static constexpr
char const *
const name{
"isRelative"};
204 static constexpr
char const *
const typestr{
"bool"};
205 static constexpr
bool traverse{
false};
206 static constexpr
auto mbr_ptr{&SgAdaDelayStmt::p_isRelative};
207 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
208 using bind = Desc<SgAdaDelayStmt, bool SgAdaDelayStmt::*, &SgAdaDelayStmt::p_isRelative>;
213 static constexpr
char const *
const name{
"AdaDelayStmt"};
214 static constexpr
unsigned long variant{6};
215 static constexpr
bool concrete{
true};
225 static constexpr
size_t position{0};
226 static constexpr
char const *
const name{
"entryIndex"};
227 static constexpr
char const *
const typestr{
"SgInitializedName*"};
228 static constexpr
bool traverse{
true};
229 static constexpr
auto mbr_ptr{&SgAdaEntryDecl::p_entryIndex};
230 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
231 using bind = Desc<SgAdaEntryDecl, SgInitializedName* SgAdaEntryDecl::*, &SgAdaEntryDecl::p_entryIndex>;
236 static constexpr
size_t position{1};
237 static constexpr
char const *
const name{
"entryBarrier"};
238 static constexpr
char const *
const typestr{
"SgExpression*"};
239 static constexpr
bool traverse{
true};
240 static constexpr
auto mbr_ptr{&SgAdaEntryDecl::p_entryBarrier};
241 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
242 using bind = Desc<SgAdaEntryDecl, SgExpression* SgAdaEntryDecl::*, &SgAdaEntryDecl::p_entryBarrier>;
247 static constexpr
char const *
const name{
"AdaEntryDecl"};
248 static constexpr
unsigned long variant{7};
249 static constexpr
bool concrete{
true};
259 static constexpr
size_t position{0};
260 static constexpr
char const *
const name{
"loop"};
261 static constexpr
char const *
const typestr{
"SgStatement*"};
262 static constexpr
bool traverse{
false};
263 static constexpr
auto mbr_ptr{&SgAdaExitStmt::p_loop};
264 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
265 using bind = Desc<SgAdaExitStmt, SgStatement* SgAdaExitStmt::*, &SgAdaExitStmt::p_loop>;
270 static constexpr
size_t position{1};
271 static constexpr
char const *
const name{
"condition"};
272 static constexpr
char const *
const typestr{
"SgExpression*"};
273 static constexpr
bool traverse{
true};
274 static constexpr
auto mbr_ptr{&SgAdaExitStmt::p_condition};
275 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
276 using bind = Desc<SgAdaExitStmt, SgExpression* SgAdaExitStmt::*, &SgAdaExitStmt::p_condition>;
280 using field_type = bool;
281 static constexpr
size_t position{2};
282 static constexpr
char const *
const name{
"explicitLoopName"};
283 static constexpr
char const *
const typestr{
"bool"};
284 static constexpr
bool traverse{
false};
285 static constexpr
auto mbr_ptr{&SgAdaExitStmt::p_explicitLoopName};
286 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
287 using bind = Desc<SgAdaExitStmt, bool SgAdaExitStmt::*, &SgAdaExitStmt::p_explicitLoopName>;
292 static constexpr
char const *
const name{
"AdaExitStmt"};
293 static constexpr
unsigned long variant{8};
294 static constexpr
bool concrete{
true};
304 static constexpr
char const *
const name{
"AdaDiscreteType"};
305 static constexpr
unsigned long variant{9};
306 static constexpr
bool concrete{
true};
315 using field_type = std::string;
316 static constexpr
size_t position{0};
317 static constexpr
char const *
const name{
"valueString"};
318 static constexpr
char const *
const typestr{
"std::string"};
319 static constexpr
bool traverse{
false};
320 static constexpr
auto mbr_ptr{&SgAdaFloatVal::p_valueString};
321 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
322 using bind = Desc<SgAdaFloatVal, std::string SgAdaFloatVal::*, &SgAdaFloatVal::p_valueString>;
327 static constexpr
char const *
const name{
"AdaFloatVal"};
328 static constexpr
unsigned long variant{10};
329 static constexpr
bool concrete{
true};
339 static constexpr
size_t position{0};
340 static constexpr
char const *
const name{
"body"};
341 static constexpr
char const *
const typestr{
"SgBasicBlock*"};
342 static constexpr
bool traverse{
true};
343 static constexpr
auto mbr_ptr{&SgAdaLoopStmt::p_body};
344 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
345 using bind = Desc<SgAdaLoopStmt, SgBasicBlock* SgAdaLoopStmt::*, &SgAdaLoopStmt::p_body>;
349 using field_type = std::string;
350 static constexpr
size_t position{1};
351 static constexpr
char const *
const name{
"string_label"};
352 static constexpr
char const *
const typestr{
"std::string"};
353 static constexpr
bool traverse{
false};
354 static constexpr
auto mbr_ptr{&SgAdaLoopStmt::p_string_label};
355 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
356 using bind = Desc<SgAdaLoopStmt, std::string SgAdaLoopStmt::*, &SgAdaLoopStmt::p_string_label>;
361 static constexpr
char const *
const name{
"AdaLoopStmt"};
362 static constexpr
unsigned long variant{11};
363 static constexpr
bool concrete{
true};
373 static constexpr
size_t position{0};
374 static constexpr
char const *
const name{
"spec"};
375 static constexpr
char const *
const typestr{
"SgAdaPackageSpec*"};
376 static constexpr
bool traverse{
false};
377 static constexpr
auto mbr_ptr{&SgAdaPackageBody::p_spec};
378 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
379 using bind = Desc<SgAdaPackageBody, SgAdaPackageSpec* SgAdaPackageBody::*, &SgAdaPackageBody::p_spec>;
383 using field_type = SgStatementPtrList;
384 static constexpr
size_t position{1};
385 static constexpr
char const *
const name{
"statements"};
386 static constexpr
char const *
const typestr{
"SgStatementPtrList"};
387 static constexpr
bool traverse{
true};
388 static constexpr
auto mbr_ptr{&SgAdaPackageBody::p_statements};
389 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
390 using bind = Desc<SgAdaPackageBody, SgStatementPtrList SgAdaPackageBody::*, &SgAdaPackageBody::p_statements>;
395 static constexpr
char const *
const name{
"AdaPackageBody"};
396 static constexpr
unsigned long variant{12};
397 static constexpr
bool concrete{
true};
407 static constexpr
size_t position{0};
408 static constexpr
char const *
const name{
"name"};
409 static constexpr
char const *
const typestr{
"SgName"};
410 static constexpr
bool traverse{
false};
411 static constexpr
auto mbr_ptr{&SgAdaPackageBodyDecl::p_name};
412 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
413 using bind = Desc<SgAdaPackageBodyDecl, SgName SgAdaPackageBodyDecl::*, &SgAdaPackageBodyDecl::p_name>;
418 static constexpr
size_t position{1};
419 static constexpr
char const *
const name{
"definition"};
420 static constexpr
char const *
const typestr{
"SgAdaPackageBody*"};
421 static constexpr
bool traverse{
true};
422 static constexpr
auto mbr_ptr{&SgAdaPackageBodyDecl::p_definition};
423 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
424 using bind = Desc<SgAdaPackageBodyDecl, SgAdaPackageBody* SgAdaPackageBodyDecl::*, &SgAdaPackageBodyDecl::p_definition>;
429 static constexpr
size_t position{2};
430 static constexpr
char const *
const name{
"scope"};
431 static constexpr
char const *
const typestr{
"SgScopeStatement*"};
432 static constexpr
bool traverse{
false};
433 static constexpr
auto mbr_ptr{&SgAdaPackageBodyDecl::p_scope};
434 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
435 using bind = Desc<SgAdaPackageBodyDecl, SgScopeStatement* SgAdaPackageBodyDecl::*, &SgAdaPackageBodyDecl::p_scope>;
440 static constexpr
char const *
const name{
"AdaPackageBodyDecl"};
441 static constexpr
unsigned long variant{13};
442 static constexpr
bool concrete{
true};
452 static constexpr
size_t position{0};
453 static constexpr
char const *
const name{
"body"};
454 static constexpr
char const *
const typestr{
"SgAdaPackageBody*"};
455 static constexpr
bool traverse{
false};
456 static constexpr
auto mbr_ptr{&SgAdaPackageSpec::p_body};
457 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
458 using bind = Desc<SgAdaPackageSpec, SgAdaPackageBody* SgAdaPackageSpec::*, &SgAdaPackageSpec::p_body>;
462 using field_type = bool;
463 static constexpr
size_t position{1};
464 static constexpr
char const *
const name{
"hasPrivate"};
465 static constexpr
char const *
const typestr{
"bool"};
466 static constexpr
bool traverse{
false};
467 static constexpr
auto mbr_ptr{&SgAdaPackageSpec::p_hasPrivate};
468 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
469 using bind = Desc<SgAdaPackageSpec, bool SgAdaPackageSpec::*, &SgAdaPackageSpec::p_hasPrivate>;
473 using field_type = SgDeclarationStatementPtrList;
474 static constexpr
size_t position{2};
475 static constexpr
char const *
const name{
"declarations"};
476 static constexpr
char const *
const typestr{
"SgDeclarationStatementPtrList"};
477 static constexpr
bool traverse{
true};
478 static constexpr
auto mbr_ptr{&SgAdaPackageSpec::p_declarations};
479 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
480 using bind = Desc<SgAdaPackageSpec, SgDeclarationStatementPtrList SgAdaPackageSpec::*, &SgAdaPackageSpec::p_declarations>;
485 static constexpr
char const *
const name{
"AdaPackageSpec"};
486 static constexpr
unsigned long variant{14};
487 static constexpr
bool concrete{
true};
497 static constexpr
size_t position{0};
498 static constexpr
char const *
const name{
"name"};
499 static constexpr
char const *
const typestr{
"SgName"};
500 static constexpr
bool traverse{
false};
501 static constexpr
auto mbr_ptr{&SgAdaPackageSpecDecl::p_name};
502 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
503 using bind = Desc<SgAdaPackageSpecDecl, SgName SgAdaPackageSpecDecl::*, &SgAdaPackageSpecDecl::p_name>;
508 static constexpr
size_t position{1};
509 static constexpr
char const *
const name{
"definition"};
510 static constexpr
char const *
const typestr{
"SgAdaPackageSpec*"};
511 static constexpr
bool traverse{
true};
512 static constexpr
auto mbr_ptr{&SgAdaPackageSpecDecl::p_definition};
513 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
514 using bind = Desc<SgAdaPackageSpecDecl, SgAdaPackageSpec* SgAdaPackageSpecDecl::*, &SgAdaPackageSpecDecl::p_definition>;
519 static constexpr
size_t position{2};
520 static constexpr
char const *
const name{
"scope"};
521 static constexpr
char const *
const typestr{
"SgScopeStatement*"};
522 static constexpr
bool traverse{
false};
523 static constexpr
auto mbr_ptr{&SgAdaPackageSpecDecl::p_scope};
524 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
525 using bind = Desc<SgAdaPackageSpecDecl, SgScopeStatement* SgAdaPackageSpecDecl::*, &SgAdaPackageSpecDecl::p_scope>;
530 static constexpr
char const *
const name{
"AdaPackageSpecDecl"};
531 static constexpr
unsigned long variant{15};
532 static constexpr
bool concrete{
true};
542 static constexpr
size_t position{0};
543 static constexpr
char const *
const name{
"declaration"};
544 static constexpr
char const *
const typestr{
"SgDeclarationStatement*"};
545 static constexpr
bool traverse{
true};
546 static constexpr
auto mbr_ptr{&SgAdaPackageSymbol::p_declaration};
547 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
548 using bind = Desc<SgAdaPackageSymbol, SgDeclarationStatement* SgAdaPackageSymbol::*, &SgAdaPackageSymbol::p_declaration>;
553 static constexpr
char const *
const name{
"AdaPackageSymbol"};
554 static constexpr
unsigned long variant{16};
555 static constexpr
bool concrete{
true};
565 static constexpr
size_t position{0};
566 static constexpr
char const *
const name{
"range"};
567 static constexpr
char const *
const typestr{
"SgExpression*"};
568 static constexpr
bool traverse{
true};
569 static constexpr
auto mbr_ptr{&SgAdaRangeConstraint::p_range};
570 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
571 using bind = Desc<SgAdaRangeConstraint, SgExpression* SgAdaRangeConstraint::*, &SgAdaRangeConstraint::p_range>;
576 static constexpr
char const *
const name{
"AdaRangeConstraint"};
577 static constexpr
unsigned long variant{17};
578 static constexpr
bool concrete{
true};
588 static constexpr
size_t position{0};
589 static constexpr
char const *
const name{
"name"};
590 static constexpr
char const *
const typestr{
"SgName"};
591 static constexpr
bool traverse{
false};
592 static constexpr
auto mbr_ptr{&SgAdaRenamingDecl::p_name};
593 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
594 using bind = Desc<SgAdaRenamingDecl, SgName SgAdaRenamingDecl::*, &SgAdaRenamingDecl::p_name>;
599 static constexpr
size_t position{1};
600 static constexpr
char const *
const name{
"renamed"};
601 static constexpr
char const *
const typestr{
"SgExpression*"};
602 static constexpr
bool traverse{
true};
603 static constexpr
auto mbr_ptr{&SgAdaRenamingDecl::p_renamed};
604 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
605 using bind = Desc<SgAdaRenamingDecl, SgExpression* SgAdaRenamingDecl::*, &SgAdaRenamingDecl::p_renamed>;
610 static constexpr
size_t position{2};
611 static constexpr
char const *
const name{
"type"};
612 static constexpr
char const *
const typestr{
"SgType*"};
613 static constexpr
bool traverse{
false};
614 static constexpr
auto mbr_ptr{&SgAdaRenamingDecl::p_type};
615 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
616 using bind = Desc<SgAdaRenamingDecl, SgType* SgAdaRenamingDecl::*, &SgAdaRenamingDecl::p_type>;
621 static constexpr
char const *
const name{
"AdaRenamingDecl"};
622 static constexpr
unsigned long variant{18};
623 static constexpr
bool concrete{
true};
633 static constexpr
size_t position{0};
634 static constexpr
char const *
const name{
"base_type"};
635 static constexpr
char const *
const typestr{
"SgType*"};
636 static constexpr
bool traverse{
true};
637 static constexpr
auto mbr_ptr{&SgAdaSubtype::p_base_type};
638 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
639 using bind = Desc<SgAdaSubtype, SgType* SgAdaSubtype::*, &SgAdaSubtype::p_base_type>;
644 static constexpr
size_t position{1};
645 static constexpr
char const *
const name{
"constraint"};
646 static constexpr
char const *
const typestr{
"SgAdaTypeConstraint*"};
647 static constexpr
bool traverse{
true};
648 static constexpr
auto mbr_ptr{&SgAdaSubtype::p_constraint};
649 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
650 using bind = Desc<SgAdaSubtype, SgAdaTypeConstraint* SgAdaSubtype::*, &SgAdaSubtype::p_constraint>;
654 using field_type = bool;
655 static constexpr
size_t position{2};
656 static constexpr
char const *
const name{
"fromRootType"};
657 static constexpr
char const *
const typestr{
"bool"};
658 static constexpr
bool traverse{
false};
659 static constexpr
auto mbr_ptr{&SgAdaSubtype::p_fromRootType};
660 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
661 using bind = Desc<SgAdaSubtype, bool SgAdaSubtype::*, &SgAdaSubtype::p_fromRootType>;
666 static constexpr
char const *
const name{
"AdaSubtype"};
667 static constexpr
unsigned long variant{19};
668 static constexpr
bool concrete{
true};
678 static constexpr
size_t position{0};
679 static constexpr
char const *
const name{
"spec"};
680 static constexpr
char const *
const typestr{
"SgAdaTaskSpec*"};
681 static constexpr
bool traverse{
false};
682 static constexpr
auto mbr_ptr{&SgAdaTaskBody::p_spec};
683 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
684 using bind = Desc<SgAdaTaskBody, SgAdaTaskSpec* SgAdaTaskBody::*, &SgAdaTaskBody::p_spec>;
688 using field_type = SgStatementPtrList;
689 static constexpr
size_t position{1};
690 static constexpr
char const *
const name{
"statements"};
691 static constexpr
char const *
const typestr{
"SgStatementPtrList"};
692 static constexpr
bool traverse{
true};
693 static constexpr
auto mbr_ptr{&SgAdaTaskBody::p_statements};
694 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
695 using bind = Desc<SgAdaTaskBody, SgStatementPtrList SgAdaTaskBody::*, &SgAdaTaskBody::p_statements>;
700 static constexpr
char const *
const name{
"AdaTaskBody"};
701 static constexpr
unsigned long variant{20};
702 static constexpr
bool concrete{
true};
712 static constexpr
size_t position{0};
713 static constexpr
char const *
const name{
"name"};
714 static constexpr
char const *
const typestr{
"SgName"};
715 static constexpr
bool traverse{
false};
716 static constexpr
auto mbr_ptr{&SgAdaTaskBodyDecl::p_name};
717 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
718 using bind = Desc<SgAdaTaskBodyDecl, SgName SgAdaTaskBodyDecl::*, &SgAdaTaskBodyDecl::p_name>;
723 static constexpr
size_t position{1};
724 static constexpr
char const *
const name{
"definition"};
725 static constexpr
char const *
const typestr{
"SgAdaTaskBody*"};
726 static constexpr
bool traverse{
true};
727 static constexpr
auto mbr_ptr{&SgAdaTaskBodyDecl::p_definition};
728 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
729 using bind = Desc<SgAdaTaskBodyDecl, SgAdaTaskBody* SgAdaTaskBodyDecl::*, &SgAdaTaskBodyDecl::p_definition>;
734 static constexpr
char const *
const name{
"AdaTaskBodyDecl"};
735 static constexpr
unsigned long variant{21};
736 static constexpr
bool concrete{
true};
746 static constexpr
size_t position{0};
747 static constexpr
char const *
const name{
"body"};
748 static constexpr
char const *
const typestr{
"SgAdaTaskBody*"};
749 static constexpr
bool traverse{
false};
750 static constexpr
auto mbr_ptr{&SgAdaTaskSpec::p_body};
751 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
752 using bind = Desc<SgAdaTaskSpec, SgAdaTaskBody* SgAdaTaskSpec::*, &SgAdaTaskSpec::p_body>;
756 using field_type = bool;
757 static constexpr
size_t position{1};
758 static constexpr
char const *
const name{
"hasMembers"};
759 static constexpr
char const *
const typestr{
"bool"};
760 static constexpr
bool traverse{
false};
761 static constexpr
auto mbr_ptr{&SgAdaTaskSpec::p_hasMembers};
762 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
763 using bind = Desc<SgAdaTaskSpec, bool SgAdaTaskSpec::*, &SgAdaTaskSpec::p_hasMembers>;
767 using field_type = SgDeclarationStatementPtrList;
768 static constexpr
size_t position{2};
769 static constexpr
char const *
const name{
"declarations"};
770 static constexpr
char const *
const typestr{
"SgDeclarationStatementPtrList"};
771 static constexpr
bool traverse{
true};
772 static constexpr
auto mbr_ptr{&SgAdaTaskSpec::p_declarations};
773 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
774 using bind = Desc<SgAdaTaskSpec, SgDeclarationStatementPtrList SgAdaTaskSpec::*, &SgAdaTaskSpec::p_declarations>;
778 using field_type = bool;
779 static constexpr
size_t position{3};
780 static constexpr
char const *
const name{
"hasPrivate"};
781 static constexpr
char const *
const typestr{
"bool"};
782 static constexpr
bool traverse{
false};
783 static constexpr
auto mbr_ptr{&SgAdaTaskSpec::p_hasPrivate};
784 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
785 using bind = Desc<SgAdaTaskSpec, bool SgAdaTaskSpec::*, &SgAdaTaskSpec::p_hasPrivate>;
790 static constexpr
char const *
const name{
"AdaTaskSpec"};
791 static constexpr
unsigned long variant{22};
792 static constexpr
bool concrete{
true};
794 using fields_t =
mp::List<describe_field_t<SgAdaTaskSpec,SgAdaTaskBody*,&SgAdaTaskSpec::p_body>,
describe_field_t<SgAdaTaskSpec,bool,&SgAdaTaskSpec::p_hasMembers>,
describe_field_t<SgAdaTaskSpec,SgDeclarationStatementPtrList,&SgAdaTaskSpec::p_declarations>,
describe_field_t<SgAdaTaskSpec,bool,&SgAdaTaskSpec::p_hasPrivate>>;
802 static constexpr
size_t position{0};
803 static constexpr
char const *
const name{
"name"};
804 static constexpr
char const *
const typestr{
"SgName"};
805 static constexpr
bool traverse{
false};
806 static constexpr
auto mbr_ptr{&SgAdaTaskSpecDecl::p_name};
807 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
808 using bind = Desc<SgAdaTaskSpecDecl, SgName SgAdaTaskSpecDecl::*, &SgAdaTaskSpecDecl::p_name>;
813 static constexpr
size_t position{1};
814 static constexpr
char const *
const name{
"definition"};
815 static constexpr
char const *
const typestr{
"SgAdaTaskSpec*"};
816 static constexpr
bool traverse{
true};
817 static constexpr
auto mbr_ptr{&SgAdaTaskSpecDecl::p_definition};
818 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
819 using bind = Desc<SgAdaTaskSpecDecl, SgAdaTaskSpec* SgAdaTaskSpecDecl::*, &SgAdaTaskSpecDecl::p_definition>;
824 static constexpr
size_t position{2};
825 static constexpr
char const *
const name{
"type"};
826 static constexpr
char const *
const typestr{
"SgAdaTaskType*"};
827 static constexpr
bool traverse{
false};
828 static constexpr
auto mbr_ptr{&SgAdaTaskSpecDecl::p_type};
829 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
830 using bind = Desc<SgAdaTaskSpecDecl, SgAdaTaskType* SgAdaTaskSpecDecl::*, &SgAdaTaskSpecDecl::p_type>;
835 static constexpr
char const *
const name{
"AdaTaskSpecDecl"};
836 static constexpr
unsigned long variant{23};
837 static constexpr
bool concrete{
true};
847 static constexpr
size_t position{0};
848 static constexpr
char const *
const name{
"declaration"};
849 static constexpr
char const *
const typestr{
"SgDeclarationStatement*"};
850 static constexpr
bool traverse{
true};
851 static constexpr
auto mbr_ptr{&SgAdaTaskSymbol::p_declaration};
852 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
853 using bind = Desc<SgAdaTaskSymbol, SgDeclarationStatement* SgAdaTaskSymbol::*, &SgAdaTaskSymbol::p_declaration>;
858 static constexpr
char const *
const name{
"AdaTaskSymbol"};
859 static constexpr
unsigned long variant{24};
860 static constexpr
bool concrete{
true};
870 static constexpr
size_t position{0};
871 static constexpr
char const *
const name{
"decl"};
872 static constexpr
char const *
const typestr{
"SgAdaTaskSpecDecl*"};
873 static constexpr
bool traverse{
false};
874 static constexpr
auto mbr_ptr{&SgAdaTaskRefExp::p_decl};
875 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
876 using bind = Desc<SgAdaTaskRefExp, SgAdaTaskSpecDecl* SgAdaTaskRefExp::*, &SgAdaTaskRefExp::p_decl>;
881 static constexpr
char const *
const name{
"AdaTaskRefExp"};
882 static constexpr
unsigned long variant{25};
883 static constexpr
bool concrete{
true};
893 static constexpr
char const *
const name{
"AdaTaskType"};
894 static constexpr
unsigned long variant{26};
895 static constexpr
bool concrete{
true};
905 static constexpr
size_t position{0};
906 static constexpr
char const *
const name{
"name"};
907 static constexpr
char const *
const typestr{
"SgName"};
908 static constexpr
bool traverse{
false};
909 static constexpr
auto mbr_ptr{&SgAdaTaskTypeDecl::p_name};
910 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
911 using bind = Desc<SgAdaTaskTypeDecl, SgName SgAdaTaskTypeDecl::*, &SgAdaTaskTypeDecl::p_name>;
916 static constexpr
size_t position{1};
917 static constexpr
char const *
const name{
"definition"};
918 static constexpr
char const *
const typestr{
"SgAdaTaskSpec*"};
919 static constexpr
bool traverse{
true};
920 static constexpr
auto mbr_ptr{&SgAdaTaskTypeDecl::p_definition};
921 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
922 using bind = Desc<SgAdaTaskTypeDecl, SgAdaTaskSpec* SgAdaTaskTypeDecl::*, &SgAdaTaskTypeDecl::p_definition>;
927 static constexpr
size_t position{2};
928 static constexpr
char const *
const name{
"type"};
929 static constexpr
char const *
const typestr{
"SgAdaTaskType*"};
930 static constexpr
bool traverse{
false};
931 static constexpr
auto mbr_ptr{&SgAdaTaskTypeDecl::p_type};
932 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
933 using bind = Desc<SgAdaTaskTypeDecl, SgAdaTaskType* SgAdaTaskTypeDecl::*, &SgAdaTaskTypeDecl::p_type>;
938 static constexpr
char const *
const name{
"AdaTaskTypeDecl"};
939 static constexpr
unsigned long variant{27};
940 static constexpr
bool concrete{
true};
950 static constexpr
char const *
const name{
"AdaTypeConstraint"};
951 static constexpr
unsigned long variant{28};
952 static constexpr
bool concrete{
false};
962 static constexpr
char const *
const name{
"AddOp"};
963 static constexpr
unsigned long variant{29};
964 static constexpr
bool concrete{
true};
968 template <>
struct node_from_variant_t<29> {
using type =
SgAddOp; };
974 static constexpr
size_t position{0};
975 static constexpr
char const *
const name{
"originalExpressionTree"};
976 static constexpr
char const *
const typestr{
"SgExpression*"};
977 static constexpr
bool traverse{
false};
978 static constexpr
auto mbr_ptr{&SgAddressOfOp::p_originalExpressionTree};
979 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
980 using bind = Desc<SgAddressOfOp, SgExpression* SgAddressOfOp::*, &SgAddressOfOp::p_originalExpressionTree>;
985 static constexpr
char const *
const name{
"AddressOfOp"};
986 static constexpr
unsigned long variant{30};
987 static constexpr
bool concrete{
true};
997 static constexpr
size_t position{0};
998 static constexpr
char const *
const name{
"initializers"};
999 static constexpr
char const *
const typestr{
"SgExprListExp*"};
1000 static constexpr
bool traverse{
true};
1002 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1003 using bind = Desc<SgAggregateInitializer, SgExprListExp* SgAggregateInitializer::*, &SgAggregateInitializer::p_initializers>;
1008 static constexpr
size_t position{1};
1009 static constexpr
char const *
const name{
"expression_type"};
1010 static constexpr
char const *
const typestr{
"SgType*"};
1011 static constexpr
bool traverse{
false};
1012 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_expression_type};
1013 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1014 using bind = Desc<SgAggregateInitializer, SgType* SgAggregateInitializer::*, &SgAggregateInitializer::p_expression_type>;
1018 using field_type = bool;
1019 static constexpr
size_t position{2};
1020 static constexpr
char const *
const name{
"need_explicit_braces"};
1021 static constexpr
char const *
const typestr{
"bool"};
1022 static constexpr
bool traverse{
false};
1023 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_need_explicit_braces};
1024 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1025 using bind = Desc<SgAggregateInitializer, bool SgAggregateInitializer::*, &SgAggregateInitializer::p_need_explicit_braces>;
1029 using field_type = bool;
1030 static constexpr
size_t position{3};
1031 static constexpr
char const *
const name{
"uses_compound_literal"};
1032 static constexpr
char const *
const typestr{
"bool"};
1033 static constexpr
bool traverse{
false};
1034 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_uses_compound_literal};
1035 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1036 using bind = Desc<SgAggregateInitializer, bool SgAggregateInitializer::*, &SgAggregateInitializer::p_uses_compound_literal>;
1040 using field_type = bool;
1041 static constexpr
size_t position{4};
1042 static constexpr
char const *
const name{
"requiresGlobalNameQualificationOnType"};
1043 static constexpr
char const *
const typestr{
"bool"};
1044 static constexpr
bool traverse{
false};
1045 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_requiresGlobalNameQualificationOnType};
1046 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1047 using bind = Desc<SgAggregateInitializer, bool SgAggregateInitializer::*, &SgAggregateInitializer::p_requiresGlobalNameQualificationOnType>;
1051 using field_type = int;
1052 static constexpr
size_t position{5};
1053 static constexpr
char const *
const name{
"name_qualification_length_for_type"};
1054 static constexpr
char const *
const typestr{
"int"};
1055 static constexpr
bool traverse{
false};
1056 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_name_qualification_length_for_type};
1057 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1058 using bind = Desc<SgAggregateInitializer, int SgAggregateInitializer::*, &SgAggregateInitializer::p_name_qualification_length_for_type>;
1062 using field_type = bool;
1063 static constexpr
size_t position{6};
1064 static constexpr
char const *
const name{
"type_elaboration_required_for_type"};
1065 static constexpr
char const *
const typestr{
"bool"};
1066 static constexpr
bool traverse{
false};
1067 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_type_elaboration_required_for_type};
1068 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1069 using bind = Desc<SgAggregateInitializer, bool SgAggregateInitializer::*, &SgAggregateInitializer::p_type_elaboration_required_for_type>;
1073 using field_type = bool;
1074 static constexpr
size_t position{7};
1075 static constexpr
char const *
const name{
"global_qualification_required_for_type"};
1076 static constexpr
char const *
const typestr{
"bool"};
1077 static constexpr
bool traverse{
false};
1078 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_global_qualification_required_for_type};
1079 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1080 using bind = Desc<SgAggregateInitializer, bool SgAggregateInitializer::*, &SgAggregateInitializer::p_global_qualification_required_for_type>;
1085 static constexpr
size_t position{8};
1086 static constexpr
char const *
const name{
"originalExpressionTree"};
1087 static constexpr
char const *
const typestr{
"SgExpression*"};
1088 static constexpr
bool traverse{
false};
1089 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_originalExpressionTree};
1090 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1091 using bind = Desc<SgAggregateInitializer, SgExpression* SgAggregateInitializer::*, &SgAggregateInitializer::p_originalExpressionTree>;
1096 static constexpr
char const *
const name{
"AggregateInitializer"};
1097 static constexpr
unsigned long variant{31};
1098 static constexpr
bool concrete{
true};
1100 using fields_t =
mp::List<describe_field_t<SgAggregateInitializer,SgExprListExp*,&SgAggregateInitializer::p_initializers>,
describe_field_t<SgAggregateInitializer,SgType*,&SgAggregateInitializer::p_expression_type>,
describe_field_t<SgAggregateInitializer,bool,&SgAggregateInitializer::p_need_explicit_braces>,
describe_field_t<SgAggregateInitializer,bool,&SgAggregateInitializer::p_uses_compound_literal>,
describe_field_t<SgAggregateInitializer,bool,&SgAggregateInitializer::p_requiresGlobalNameQualificationOnType>,
describe_field_t<SgAggregateInitializer,int,&SgAggregateInitializer::p_name_qualification_length_for_type>,
describe_field_t<SgAggregateInitializer,bool,&SgAggregateInitializer::p_type_elaboration_required_for_type>,
describe_field_t<SgAggregateInitializer,bool,&SgAggregateInitializer::p_global_qualification_required_for_type>,
describe_field_t<SgAggregateInitializer,SgExpression*,&SgAggregateInitializer::p_originalExpressionTree>>;
1108 static constexpr
size_t position{0};
1109 static constexpr
char const *
const name{
"alias"};
1110 static constexpr
char const *
const typestr{
"SgSymbol*"};
1111 static constexpr
bool traverse{
true};
1112 static constexpr
auto mbr_ptr{&SgAliasSymbol::p_alias};
1113 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1114 using bind = Desc<SgAliasSymbol, SgSymbol* SgAliasSymbol::*, &SgAliasSymbol::p_alias>;
1118 using field_type = bool;
1119 static constexpr
size_t position{1};
1120 static constexpr
char const *
const name{
"isRenamed"};
1121 static constexpr
char const *
const typestr{
"bool"};
1122 static constexpr
bool traverse{
false};
1123 static constexpr
auto mbr_ptr{&SgAliasSymbol::p_isRenamed};
1124 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1125 using bind = Desc<SgAliasSymbol, bool SgAliasSymbol::*, &SgAliasSymbol::p_isRenamed>;
1130 static constexpr
size_t position{2};
1131 static constexpr
char const *
const name{
"new_name"};
1132 static constexpr
char const *
const typestr{
"SgName"};
1133 static constexpr
bool traverse{
false};
1134 static constexpr
auto mbr_ptr{&SgAliasSymbol::p_new_name};
1135 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1136 using bind = Desc<SgAliasSymbol, SgName SgAliasSymbol::*, &SgAliasSymbol::p_new_name>;
1140 using field_type = SgNodePtrList;
1141 static constexpr
size_t position{3};
1142 static constexpr
char const *
const name{
"causal_nodes"};
1143 static constexpr
char const *
const typestr{
"SgNodePtrList"};
1144 static constexpr
bool traverse{
false};
1145 static constexpr
auto mbr_ptr{&SgAliasSymbol::p_causal_nodes};
1146 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1147 using bind = Desc<SgAliasSymbol, SgNodePtrList SgAliasSymbol::*, &SgAliasSymbol::p_causal_nodes>;
1152 static constexpr
char const *
const name{
"AliasSymbol"};
1153 static constexpr
unsigned long variant{32};
1154 static constexpr
bool concrete{
true};
1156 using fields_t =
mp::List<describe_field_t<SgAliasSymbol,SgSymbol*,&SgAliasSymbol::p_alias>,
describe_field_t<SgAliasSymbol,bool,&SgAliasSymbol::p_isRenamed>,
describe_field_t<SgAliasSymbol,SgName,&SgAliasSymbol::p_new_name>,
describe_field_t<SgAliasSymbol,SgNodePtrList,&SgAliasSymbol::p_causal_nodes>>;
1164 static constexpr
size_t position{0};
1165 static constexpr
char const *
const name{
"expr_list"};
1166 static constexpr
char const *
const typestr{
"SgExprListExp*"};
1167 static constexpr
bool traverse{
true};
1168 static constexpr
auto mbr_ptr{&SgAllocateStatement::p_expr_list};
1169 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1170 using bind = Desc<SgAllocateStatement, SgExprListExp* SgAllocateStatement::*, &SgAllocateStatement::p_expr_list>;
1175 static constexpr
size_t position{1};
1176 static constexpr
char const *
const name{
"stat_expression"};
1177 static constexpr
char const *
const typestr{
"SgExpression*"};
1178 static constexpr
bool traverse{
true};
1179 static constexpr
auto mbr_ptr{&SgAllocateStatement::p_stat_expression};
1180 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1181 using bind = Desc<SgAllocateStatement, SgExpression* SgAllocateStatement::*, &SgAllocateStatement::p_stat_expression>;
1186 static constexpr
size_t position{2};
1187 static constexpr
char const *
const name{
"errmsg_expression"};
1188 static constexpr
char const *
const typestr{
"SgExpression*"};
1189 static constexpr
bool traverse{
true};
1190 static constexpr
auto mbr_ptr{&SgAllocateStatement::p_errmsg_expression};
1191 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1192 using bind = Desc<SgAllocateStatement, SgExpression* SgAllocateStatement::*, &SgAllocateStatement::p_errmsg_expression>;
1197 static constexpr
size_t position{3};
1198 static constexpr
char const *
const name{
"source_expression"};
1199 static constexpr
char const *
const typestr{
"SgExpression*"};
1200 static constexpr
bool traverse{
true};
1201 static constexpr
auto mbr_ptr{&SgAllocateStatement::p_source_expression};
1202 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1203 using bind = Desc<SgAllocateStatement, SgExpression* SgAllocateStatement::*, &SgAllocateStatement::p_source_expression>;
1208 static constexpr
char const *
const name{
"AllocateStatement"};
1209 static constexpr
unsigned long variant{33};
1210 static constexpr
bool concrete{
true};
1212 using fields_t =
mp::List<describe_field_t<SgAllocateStatement,SgExprListExp*,&SgAllocateStatement::p_expr_list>,
describe_field_t<SgAllocateStatement,SgExpression*,&SgAllocateStatement::p_stat_expression>,
describe_field_t<SgAllocateStatement,SgExpression*,&SgAllocateStatement::p_errmsg_expression>,
describe_field_t<SgAllocateStatement,SgExpression*,&SgAllocateStatement::p_source_expression>>;
1220 static constexpr
char const *
const name{
"AndAssignOp"};
1221 static constexpr
unsigned long variant{34};
1222 static constexpr
bool concrete{
true};
1232 static constexpr
char const *
const name{
"AndOp"};
1233 static constexpr
unsigned long variant{35};
1234 static constexpr
bool concrete{
true};
1244 static constexpr
size_t position{0};
1245 static constexpr
char const *
const name{
"conditional"};
1246 static constexpr
char const *
const typestr{
"SgExpression*"};
1247 static constexpr
bool traverse{
true};
1248 static constexpr
auto mbr_ptr{&SgArithmeticIfStatement::p_conditional};
1249 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1250 using bind = Desc<SgArithmeticIfStatement, SgExpression* SgArithmeticIfStatement::*, &SgArithmeticIfStatement::p_conditional>;
1255 static constexpr
size_t position{1};
1256 static constexpr
char const *
const name{
"less_label"};
1257 static constexpr
char const *
const typestr{
"SgLabelRefExp*"};
1258 static constexpr
bool traverse{
false};
1259 static constexpr
auto mbr_ptr{&SgArithmeticIfStatement::p_less_label};
1260 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1261 using bind = Desc<SgArithmeticIfStatement, SgLabelRefExp* SgArithmeticIfStatement::*, &SgArithmeticIfStatement::p_less_label>;
1266 static constexpr
size_t position{2};
1267 static constexpr
char const *
const name{
"equal_label"};
1268 static constexpr
char const *
const typestr{
"SgLabelRefExp*"};
1269 static constexpr
bool traverse{
false};
1270 static constexpr
auto mbr_ptr{&SgArithmeticIfStatement::p_equal_label};
1271 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1272 using bind = Desc<SgArithmeticIfStatement, SgLabelRefExp* SgArithmeticIfStatement::*, &SgArithmeticIfStatement::p_equal_label>;
1277 static constexpr
size_t position{3};
1278 static constexpr
char const *
const name{
"greater_label"};
1279 static constexpr
char const *
const typestr{
"SgLabelRefExp*"};
1280 static constexpr
bool traverse{
false};
1281 static constexpr
auto mbr_ptr{&SgArithmeticIfStatement::p_greater_label};
1282 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1283 using bind = Desc<SgArithmeticIfStatement, SgLabelRefExp* SgArithmeticIfStatement::*, &SgArithmeticIfStatement::p_greater_label>;
1288 static constexpr
char const *
const name{
"ArithmeticIfStatement"};
1289 static constexpr
unsigned long variant{36};
1290 static constexpr
bool concrete{
true};
1292 using fields_t =
mp::List<describe_field_t<SgArithmeticIfStatement,SgExpression*,&SgArithmeticIfStatement::p_conditional>,
describe_field_t<SgArithmeticIfStatement,SgLabelRefExp*,&SgArithmeticIfStatement::p_less_label>,
describe_field_t<SgArithmeticIfStatement,SgLabelRefExp*,&SgArithmeticIfStatement::p_equal_label>,
describe_field_t<SgArithmeticIfStatement,SgLabelRefExp*,&SgArithmeticIfStatement::p_greater_label>>;
1300 static constexpr
size_t position{0};
1301 static constexpr
char const *
const name{
"base_type"};
1302 static constexpr
char const *
const typestr{
"SgType*"};
1303 static constexpr
bool traverse{
false};
1304 static constexpr
auto mbr_ptr{&SgArrayType::p_base_type};
1305 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1306 using bind = Desc<SgArrayType, SgType* SgArrayType::*, &SgArrayType::p_base_type>;
1311 static constexpr
size_t position{1};
1312 static constexpr
char const *
const name{
"index"};
1313 static constexpr
char const *
const typestr{
"SgExpression*"};
1314 static constexpr
bool traverse{
true};
1315 static constexpr
auto mbr_ptr{&SgArrayType::p_index};
1316 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1317 using bind = Desc<SgArrayType, SgExpression* SgArrayType::*, &SgArrayType::p_index>;
1322 static constexpr
size_t position{2};
1323 static constexpr
char const *
const name{
"dim_info"};
1324 static constexpr
char const *
const typestr{
"SgExprListExp*"};
1325 static constexpr
bool traverse{
true};
1326 static constexpr
auto mbr_ptr{&SgArrayType::p_dim_info};
1327 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1328 using bind = Desc<SgArrayType, SgExprListExp* SgArrayType::*, &SgArrayType::p_dim_info>;
1332 using field_type = int;
1333 static constexpr
size_t position{3};
1334 static constexpr
char const *
const name{
"rank"};
1335 static constexpr
char const *
const typestr{
"int"};
1336 static constexpr
bool traverse{
false};
1337 static constexpr
auto mbr_ptr{&SgArrayType::p_rank};
1338 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1339 using bind = Desc<SgArrayType, int SgArrayType::*, &SgArrayType::p_rank>;
1343 using field_type = int;
1344 static constexpr
size_t position{4};
1345 static constexpr
char const *
const name{
"number_of_elements"};
1346 static constexpr
char const *
const typestr{
"int"};
1347 static constexpr
bool traverse{
false};
1348 static constexpr
auto mbr_ptr{&SgArrayType::p_number_of_elements};
1349 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1350 using bind = Desc<SgArrayType, int SgArrayType::*, &SgArrayType::p_number_of_elements>;
1354 using field_type = bool;
1355 static constexpr
size_t position{5};
1356 static constexpr
char const *
const name{
"is_variable_length_array"};
1357 static constexpr
char const *
const typestr{
"bool"};
1358 static constexpr
bool traverse{
false};
1359 static constexpr
auto mbr_ptr{&SgArrayType::p_is_variable_length_array};
1360 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1361 using bind = Desc<SgArrayType, bool SgArrayType::*, &SgArrayType::p_is_variable_length_array>;
1366 static constexpr
char const *
const name{
"ArrayType"};
1367 static constexpr
unsigned long variant{37};
1368 static constexpr
bool concrete{
true};
1370 using fields_t =
mp::List<describe_field_t<SgArrayType,SgType*,&SgArrayType::p_base_type>,
describe_field_t<SgArrayType,SgExpression*,&SgArrayType::p_index>,
describe_field_t<SgArrayType,SgExprListExp*,&SgArrayType::p_dim_info>,
describe_field_t<SgArrayType,int,&SgArrayType::p_rank>,
describe_field_t<SgArrayType,int,&SgArrayType::p_number_of_elements>,
describe_field_t<SgArrayType,bool,&SgArrayType::p_is_variable_length_array>>;
1378 static constexpr
char const *
const name{
"ArrowExp"};
1379 static constexpr
unsigned long variant{38};
1380 static constexpr
bool concrete{
true};
1390 static constexpr
char const *
const name{
"ArrowStarOp"};
1391 static constexpr
unsigned long variant{39};
1392 static constexpr
bool concrete{
true};
1401 using field_type = std::string;
1402 static constexpr
size_t position{0};
1403 static constexpr
char const *
const name{
"string"};
1404 static constexpr
char const *
const typestr{
"std::string"};
1405 static constexpr
bool traverse{
false};
1406 static constexpr
auto mbr_ptr{&SgAsmBasicString::p_string};
1407 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1408 using bind = Desc<SgAsmBasicString, std::string SgAsmBasicString::*, &SgAsmBasicString::p_string>;
1413 static constexpr
char const *
const name{
"AsmBasicString"};
1414 static constexpr
unsigned long variant{46};
1415 static constexpr
bool concrete{
true};
1425 static constexpr
char const *
const name{
"AsmBinaryAdd"};
1426 static constexpr
unsigned long variant{47};
1427 static constexpr
bool concrete{
true};
1437 static constexpr
char const *
const name{
"AsmBinaryAsr"};
1438 static constexpr
unsigned long variant{50};
1439 static constexpr
bool concrete{
true};
1449 static constexpr
char const *
const name{
"AsmBinaryDivide"};
1450 static constexpr
unsigned long variant{51};
1451 static constexpr
bool concrete{
true};
1461 static constexpr
size_t position{0};
1462 static constexpr
char const *
const name{
"lhs"};
1463 static constexpr
char const *
const typestr{
"SgAsmExpression*"};
1464 static constexpr
bool traverse{
true};
1465 static constexpr
auto mbr_ptr{&SgAsmBinaryExpression::p_lhs};
1466 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1467 using bind = Desc<SgAsmBinaryExpression, SgAsmExpression* SgAsmBinaryExpression::*, &SgAsmBinaryExpression::p_lhs>;
1472 static constexpr
size_t position{1};
1473 static constexpr
char const *
const name{
"rhs"};
1474 static constexpr
char const *
const typestr{
"SgAsmExpression*"};
1475 static constexpr
bool traverse{
true};
1476 static constexpr
auto mbr_ptr{&SgAsmBinaryExpression::p_rhs};
1477 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1478 using bind = Desc<SgAsmBinaryExpression, SgAsmExpression* SgAsmBinaryExpression::*, &SgAsmBinaryExpression::p_rhs>;
1483 static constexpr
char const *
const name{
"AsmBinaryExpression"};
1484 static constexpr
unsigned long variant{52};
1485 static constexpr
bool concrete{
false};
1486 using subclasses_t =
mp::List<SgAsmBinaryAdd, SgAsmBinarySubtract, SgAsmBinaryMultiply, SgAsmBinaryDivide, SgAsmBinaryMod, SgAsmBinaryPreupdate, SgAsmBinaryPostupdate, SgAsmBinaryLsl, SgAsmBinaryLsr, SgAsmBinaryAsr, SgAsmBinaryRor, SgAsmBinaryMsl, SgAsmBinaryConcat>;
1495 static constexpr
char const *
const name{
"AsmBinaryLsl"};
1496 static constexpr
unsigned long variant{53};
1497 static constexpr
bool concrete{
true};
1507 static constexpr
char const *
const name{
"AsmBinaryLsr"};
1508 static constexpr
unsigned long variant{54};
1509 static constexpr
bool concrete{
true};
1519 static constexpr
char const *
const name{
"AsmBinaryMod"};
1520 static constexpr
unsigned long variant{55};
1521 static constexpr
bool concrete{
true};
1531 static constexpr
char const *
const name{
"AsmBinaryMsl"};
1532 static constexpr
unsigned long variant{56};
1533 static constexpr
bool concrete{
true};
1543 static constexpr
char const *
const name{
"AsmBinaryMultiply"};
1544 static constexpr
unsigned long variant{57};
1545 static constexpr
bool concrete{
true};
1555 static constexpr
char const *
const name{
"AsmBinaryRor"};
1556 static constexpr
unsigned long variant{58};
1557 static constexpr
bool concrete{
true};
1567 static constexpr
char const *
const name{
"AsmBinarySubtract"};
1568 static constexpr
unsigned long variant{59};
1569 static constexpr
bool concrete{
true};
1578 using field_type = rose_addr_t;
1579 static constexpr
size_t position{0};
1580 static constexpr
char const *
const name{
"id"};
1581 static constexpr
char const *
const typestr{
"rose_addr_t"};
1582 static constexpr
bool traverse{
false};
1583 static constexpr
auto mbr_ptr{&SgAsmBlock::p_id};
1584 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1585 using bind = Desc<SgAsmBlock, rose_addr_t SgAsmBlock::*, &SgAsmBlock::p_id>;
1589 using field_type = unsigned;
1590 static constexpr
size_t position{1};
1591 static constexpr
char const *
const name{
"reason"};
1592 static constexpr
char const *
const typestr{
"unsigned"};
1593 static constexpr
bool traverse{
false};
1594 static constexpr
auto mbr_ptr{&SgAsmBlock::p_reason};
1595 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1596 using bind = Desc<SgAsmBlock, unsigned SgAsmBlock::*, &SgAsmBlock::p_reason>;
1600 using field_type = SgAsmStatementPtrList;
1601 static constexpr
size_t position{2};
1602 static constexpr
char const *
const name{
"statementList"};
1603 static constexpr
char const *
const typestr{
"SgAsmStatementPtrList"};
1604 static constexpr
bool traverse{
true};
1605 static constexpr
auto mbr_ptr{&SgAsmBlock::p_statementList};
1606 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1607 using bind = Desc<SgAsmBlock, SgAsmStatementPtrList SgAsmBlock::*, &SgAsmBlock::p_statementList>;
1611 using field_type = SgAsmIntegerValuePtrList;
1612 static constexpr
size_t position{3};
1613 static constexpr
char const *
const name{
"successors"};
1614 static constexpr
char const *
const typestr{
"SgAsmIntegerValuePtrList"};
1615 static constexpr
bool traverse{
false};
1616 static constexpr
auto mbr_ptr{&SgAsmBlock::p_successors};
1617 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1618 using bind = Desc<SgAsmBlock, SgAsmIntegerValuePtrList SgAsmBlock::*, &SgAsmBlock::p_successors>;
1622 using field_type = bool;
1623 static constexpr
size_t position{4};
1624 static constexpr
char const *
const name{
"successors_complete"};
1625 static constexpr
char const *
const typestr{
"bool"};
1626 static constexpr
bool traverse{
false};
1627 static constexpr
auto mbr_ptr{&SgAsmBlock::p_successors_complete};
1628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1629 using bind = Desc<SgAsmBlock, bool SgAsmBlock::*, &SgAsmBlock::p_successors_complete>;
1634 static constexpr
size_t position{5};
1635 static constexpr
char const *
const name{
"immediate_dominator"};
1636 static constexpr
char const *
const typestr{
"SgAsmBlock*"};
1637 static constexpr
bool traverse{
false};
1638 static constexpr
auto mbr_ptr{&SgAsmBlock::p_immediate_dominator};
1639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1640 using bind = Desc<SgAsmBlock, SgAsmBlock* SgAsmBlock::*, &SgAsmBlock::p_immediate_dominator>;
1644 using field_type = size_t;
1645 static constexpr
size_t position{6};
1646 static constexpr
char const *
const name{
"cached_vertex"};
1647 static constexpr
char const *
const typestr{
"size_t"};
1648 static constexpr
bool traverse{
false};
1649 static constexpr
auto mbr_ptr{&SgAsmBlock::p_cached_vertex};
1650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1651 using bind = Desc<SgAsmBlock, size_t SgAsmBlock::*, &SgAsmBlock::p_cached_vertex>;
1655 using field_type = double;
1656 static constexpr
size_t position{7};
1657 static constexpr
char const *
const name{
"code_likelihood"};
1658 static constexpr
char const *
const typestr{
"double"};
1659 static constexpr
bool traverse{
false};
1660 static constexpr
auto mbr_ptr{&SgAsmBlock::p_code_likelihood};
1661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1662 using bind = Desc<SgAsmBlock, double SgAsmBlock::*, &SgAsmBlock::p_code_likelihood>;
1666 using field_type = int64_t;
1667 static constexpr
size_t position{8};
1668 static constexpr
char const *
const name{
"stackDeltaOut"};
1669 static constexpr
char const *
const typestr{
"int64_t"};
1670 static constexpr
bool traverse{
false};
1671 static constexpr
auto mbr_ptr{&SgAsmBlock::p_stackDeltaOut};
1672 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1673 using bind = Desc<SgAsmBlock, int64_t SgAsmBlock::*, &SgAsmBlock::p_stackDeltaOut>;
1678 static constexpr
char const *
const name{
"AsmBlock"};
1679 static constexpr
unsigned long variant{62};
1680 static constexpr
bool concrete{
true};
1682 using fields_t =
mp::List<describe_field_t<SgAsmBlock,rose_addr_t,&SgAsmBlock::p_id>,
describe_field_t<SgAsmBlock,unsigned,&SgAsmBlock::p_reason>,
describe_field_t<SgAsmBlock,SgAsmStatementPtrList,&SgAsmBlock::p_statementList>,
describe_field_t<SgAsmBlock,SgAsmIntegerValuePtrList,&SgAsmBlock::p_successors>,
describe_field_t<SgAsmBlock,bool,&SgAsmBlock::p_successors_complete>,
describe_field_t<SgAsmBlock,SgAsmBlock*,&SgAsmBlock::p_immediate_dominator>,
describe_field_t<SgAsmBlock,size_t,&SgAsmBlock::p_cached_vertex>,
describe_field_t<SgAsmBlock,double,&SgAsmBlock::p_code_likelihood>,
describe_field_t<SgAsmBlock,int64_t,&SgAsmBlock::p_stackDeltaOut>>;
1689 using base = SgAsmGenericStrtab;
1690 static constexpr
char const *
const name{
"AsmCoffStrtab"};
1691 static constexpr
unsigned long variant{63};
1692 static constexpr
bool concrete{
true};
1701 using field_type = std::string;
1702 static constexpr
size_t position{0};
1703 static constexpr
char const *
const name{
"st_name"};
1704 static constexpr
char const *
const typestr{
"std::string"};
1705 static constexpr
bool traverse{
false};
1706 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_st_name};
1707 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1708 using bind = Desc<SgAsmCoffSymbol, std::string SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_name>;
1712 using field_type = rose_addr_t;
1713 static constexpr
size_t position{1};
1714 static constexpr
char const *
const name{
"st_name_offset"};
1715 static constexpr
char const *
const typestr{
"rose_addr_t"};
1716 static constexpr
bool traverse{
false};
1717 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_st_name_offset};
1718 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1719 using bind = Desc<SgAsmCoffSymbol, rose_addr_t SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_name_offset>;
1723 using field_type = int;
1724 static constexpr
size_t position{2};
1725 static constexpr
char const *
const name{
"st_section_num"};
1726 static constexpr
char const *
const typestr{
"int"};
1727 static constexpr
bool traverse{
false};
1728 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_st_section_num};
1729 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1730 using bind = Desc<SgAsmCoffSymbol, int SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_section_num>;
1734 using field_type = unsigned;
1735 static constexpr
size_t position{3};
1736 static constexpr
char const *
const name{
"st_type"};
1737 static constexpr
char const *
const typestr{
"unsigned"};
1738 static constexpr
bool traverse{
false};
1739 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_st_type};
1740 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1741 using bind = Desc<SgAsmCoffSymbol, unsigned SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_type>;
1745 using field_type = unsigned;
1746 static constexpr
size_t position{4};
1747 static constexpr
char const *
const name{
"st_storage_class"};
1748 static constexpr
char const *
const typestr{
"unsigned"};
1749 static constexpr
bool traverse{
false};
1750 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_st_storage_class};
1751 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1752 using bind = Desc<SgAsmCoffSymbol, unsigned SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_storage_class>;
1756 using field_type = unsigned;
1757 static constexpr
size_t position{5};
1758 static constexpr
char const *
const name{
"st_num_aux_entries"};
1759 static constexpr
char const *
const typestr{
"unsigned"};
1760 static constexpr
bool traverse{
false};
1761 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_st_num_aux_entries};
1762 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1763 using bind = Desc<SgAsmCoffSymbol, unsigned SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_num_aux_entries>;
1767 using field_type = SgUnsignedCharList;
1768 static constexpr
size_t position{6};
1769 static constexpr
char const *
const name{
"aux_data"};
1770 static constexpr
char const *
const typestr{
"SgUnsignedCharList"};
1771 static constexpr
bool traverse{
false};
1772 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_aux_data};
1773 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1774 using bind = Desc<SgAsmCoffSymbol, SgUnsignedCharList SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_aux_data>;
1779 static constexpr
char const *
const name{
"AsmCoffSymbol"};
1780 static constexpr
unsigned long variant{64};
1781 static constexpr
bool concrete{
true};
1783 using fields_t =
mp::List<describe_field_t<SgAsmCoffSymbol,std::string,&SgAsmCoffSymbol::p_st_name>,
describe_field_t<SgAsmCoffSymbol,rose_addr_t,&SgAsmCoffSymbol::p_st_name_offset>,
describe_field_t<SgAsmCoffSymbol,int,&SgAsmCoffSymbol::p_st_section_num>,
describe_field_t<SgAsmCoffSymbol,unsigned,&SgAsmCoffSymbol::p_st_type>,
describe_field_t<SgAsmCoffSymbol,unsigned,&SgAsmCoffSymbol::p_st_storage_class>,
describe_field_t<SgAsmCoffSymbol,unsigned,&SgAsmCoffSymbol::p_st_num_aux_entries>,
describe_field_t<SgAsmCoffSymbol,SgUnsignedCharList,&SgAsmCoffSymbol::p_aux_data>>;
1790 using field_type = SgAsmCoffSymbolPtrList;
1791 static constexpr
size_t position{0};
1792 static constexpr
char const *
const name{
"symbols"};
1793 static constexpr
char const *
const typestr{
"SgAsmCoffSymbolPtrList"};
1794 static constexpr
bool traverse{
true};
1795 static constexpr
auto mbr_ptr{&SgAsmCoffSymbolList::p_symbols};
1796 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1797 using bind = Desc<SgAsmCoffSymbolList, SgAsmCoffSymbolPtrList SgAsmCoffSymbolList::*, &SgAsmCoffSymbolList::p_symbols>;
1802 static constexpr
char const *
const name{
"AsmCoffSymbolList"};
1803 static constexpr
unsigned long variant{65};
1804 static constexpr
bool concrete{
true};
1814 static constexpr
size_t position{0};
1815 static constexpr
char const *
const name{
"strtab"};
1816 static constexpr
char const *
const typestr{
"SgAsmGenericSection*"};
1817 static constexpr
bool traverse{
false};
1818 static constexpr
auto mbr_ptr{&SgAsmCoffSymbolTable::p_strtab};
1819 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1820 using bind = Desc<SgAsmCoffSymbolTable, SgAsmGenericSection* SgAsmCoffSymbolTable::*, &SgAsmCoffSymbolTable::p_strtab>;
1825 static constexpr
size_t position{1};
1826 static constexpr
char const *
const name{
"symbols"};
1827 static constexpr
char const *
const typestr{
"SgAsmCoffSymbolList*"};
1828 static constexpr
bool traverse{
true};
1829 static constexpr
auto mbr_ptr{&SgAsmCoffSymbolTable::p_symbols};
1830 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1831 using bind = Desc<SgAsmCoffSymbolTable, SgAsmCoffSymbolList* SgAsmCoffSymbolTable::*, &SgAsmCoffSymbolTable::p_symbols>;
1836 static constexpr
char const *
const name{
"AsmCoffSymbolTable"};
1837 static constexpr
unsigned long variant{66};
1838 static constexpr
bool concrete{
true};
1846 using parent = SgAsmCommonSubExpression;
1848 static constexpr
size_t position{0};
1849 static constexpr
char const *
const name{
"subexpression"};
1850 static constexpr
char const *
const typestr{
"SgAsmExpression*"};
1851 static constexpr
bool traverse{
true};
1852 static constexpr
auto mbr_ptr{&SgAsmCommonSubExpression::p_subexpression};
1853 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1854 using bind = Desc<SgAsmCommonSubExpression, SgAsmExpression* SgAsmCommonSubExpression::*, &SgAsmCommonSubExpression::p_subexpression>;
1857 using node = SgAsmCommonSubExpression;
1859 static constexpr
char const *
const name{
"AsmCommonSubExpression"};
1860 static constexpr
unsigned long variant{67};
1861 static constexpr
bool concrete{
true};
1865 template <>
struct node_from_variant_t<67> {
using type = SgAsmCommonSubExpression; };
1870 using field_type =
unsigned long;
1871 static constexpr
size_t position{0};
1872 static constexpr
char const *
const name{
"bit_flags"};
1873 static constexpr
char const *
const typestr{
"unsigned long"};
1874 static constexpr
bool traverse{
false};
1875 static constexpr
auto mbr_ptr{&SgAsmControlFlagsExpression::p_bit_flags};
1876 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1877 using bind = Desc<SgAsmControlFlagsExpression, unsigned long SgAsmControlFlagsExpression::*, &SgAsmControlFlagsExpression::p_bit_flags>;
1882 static constexpr
char const *
const name{
"AsmControlFlagsExpression"};
1883 static constexpr
unsigned long variant{68};
1884 static constexpr
bool concrete{
true};
1894 static constexpr
size_t position{0};
1895 static constexpr
char const *
const name{
"bitVector"};
1896 static constexpr
char const *
const typestr{
"Sawyer::Container::BitVector"};
1897 static constexpr
bool traverse{
false};
1898 static constexpr
auto mbr_ptr{&SgAsmConstantExpression::p_bitVector};
1899 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1900 using bind = Desc<SgAsmConstantExpression, Sawyer::Container::BitVector SgAsmConstantExpression::*, &SgAsmConstantExpression::p_bitVector>;
1905 static constexpr
char const *
const name{
"AsmConstantExpression"};
1906 static constexpr
unsigned long variant{69};
1907 static constexpr
bool concrete{
false};
1916 using field_type = unsigned;
1917 static constexpr
size_t position{0};
1918 static constexpr
char const *
const name{
"e_res1"};
1919 static constexpr
char const *
const typestr{
"unsigned"};
1920 static constexpr
bool traverse{
false};
1921 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_res1};
1922 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1923 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_res1>;
1927 using field_type = unsigned;
1928 static constexpr
size_t position{1};
1929 static constexpr
char const *
const name{
"e_oemid"};
1930 static constexpr
char const *
const typestr{
"unsigned"};
1931 static constexpr
bool traverse{
false};
1932 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_oemid};
1933 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1934 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_oemid>;
1938 using field_type = unsigned;
1939 static constexpr
size_t position{2};
1940 static constexpr
char const *
const name{
"e_oeminfo"};
1941 static constexpr
char const *
const typestr{
"unsigned"};
1942 static constexpr
bool traverse{
false};
1943 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_oeminfo};
1944 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1945 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_oeminfo>;
1949 using field_type = unsigned;
1950 static constexpr
size_t position{3};
1951 static constexpr
char const *
const name{
"e_res2"};
1952 static constexpr
char const *
const typestr{
"unsigned"};
1953 static constexpr
bool traverse{
false};
1954 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_res2};
1955 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1956 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_res2>;
1960 using field_type = unsigned;
1961 static constexpr
size_t position{4};
1962 static constexpr
char const *
const name{
"e_res3"};
1963 static constexpr
char const *
const typestr{
"unsigned"};
1964 static constexpr
bool traverse{
false};
1965 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_res3};
1966 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1967 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_res3>;
1971 using field_type = unsigned;
1972 static constexpr
size_t position{5};
1973 static constexpr
char const *
const name{
"e_res4"};
1974 static constexpr
char const *
const typestr{
"unsigned"};
1975 static constexpr
bool traverse{
false};
1976 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_res4};
1977 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1978 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_res4>;
1982 using field_type = unsigned;
1983 static constexpr
size_t position{6};
1984 static constexpr
char const *
const name{
"e_res5"};
1985 static constexpr
char const *
const typestr{
"unsigned"};
1986 static constexpr
bool traverse{
false};
1987 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_res5};
1988 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1989 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_res5>;
1993 using field_type = unsigned;
1994 static constexpr
size_t position{7};
1995 static constexpr
char const *
const name{
"e_res6"};
1996 static constexpr
char const *
const typestr{
"unsigned"};
1997 static constexpr
bool traverse{
false};
1998 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_res6};
1999 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2000 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_res6>;
2004 using field_type = rose_addr_t;
2005 static constexpr
size_t position{8};
2006 static constexpr
char const *
const name{
"e_lfanew"};
2007 static constexpr
char const *
const typestr{
"rose_addr_t"};
2008 static constexpr
bool traverse{
false};
2009 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_lfanew};
2010 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2011 using bind = Desc<SgAsmDOSExtendedHeader, rose_addr_t SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_lfanew>;
2016 static constexpr
char const *
const name{
"AsmDOSExtendedHeader"};
2017 static constexpr
unsigned long variant{70};
2018 static constexpr
bool concrete{
true};
2020 using fields_t =
mp::List<describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_res1>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_oemid>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_oeminfo>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_res2>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_res3>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_res4>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_res5>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_res6>,
describe_field_t<SgAsmDOSExtendedHeader,rose_addr_t,&SgAsmDOSExtendedHeader::p_e_lfanew>>;
2027 using field_type = uint16_t;
2028 static constexpr
size_t position{0};
2029 static constexpr
char const *
const name{
"e_last_page_size"};
2030 static constexpr
char const *
const typestr{
"uint16_t"};
2031 static constexpr
bool traverse{
false};
2032 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_last_page_size};
2033 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2034 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_last_page_size>;
2038 using field_type = uint16_t;
2039 static constexpr
size_t position{1};
2040 static constexpr
char const *
const name{
"e_total_pages"};
2041 static constexpr
char const *
const typestr{
"uint16_t"};
2042 static constexpr
bool traverse{
false};
2043 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_total_pages};
2044 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2045 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_total_pages>;
2049 using field_type = uint16_t;
2050 static constexpr
size_t position{2};
2051 static constexpr
char const *
const name{
"e_nrelocs"};
2052 static constexpr
char const *
const typestr{
"uint16_t"};
2053 static constexpr
bool traverse{
false};
2054 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_nrelocs};
2055 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2056 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_nrelocs>;
2060 using field_type = uint16_t;
2061 static constexpr
size_t position{3};
2062 static constexpr
char const *
const name{
"e_header_paragraphs"};
2063 static constexpr
char const *
const typestr{
"uint16_t"};
2064 static constexpr
bool traverse{
false};
2065 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_header_paragraphs};
2066 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2067 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_header_paragraphs>;
2071 using field_type = uint16_t;
2072 static constexpr
size_t position{4};
2073 static constexpr
char const *
const name{
"e_minalloc"};
2074 static constexpr
char const *
const typestr{
"uint16_t"};
2075 static constexpr
bool traverse{
false};
2076 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_minalloc};
2077 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2078 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_minalloc>;
2082 using field_type = uint16_t;
2083 static constexpr
size_t position{5};
2084 static constexpr
char const *
const name{
"e_maxalloc"};
2085 static constexpr
char const *
const typestr{
"uint16_t"};
2086 static constexpr
bool traverse{
false};
2087 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_maxalloc};
2088 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2089 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_maxalloc>;
2093 using field_type = uint16_t;
2094 static constexpr
size_t position{6};
2095 static constexpr
char const *
const name{
"e_ss"};
2096 static constexpr
char const *
const typestr{
"uint16_t"};
2097 static constexpr
bool traverse{
false};
2098 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_ss};
2099 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2100 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_ss>;
2104 using field_type = uint16_t;
2105 static constexpr
size_t position{7};
2106 static constexpr
char const *
const name{
"e_sp"};
2107 static constexpr
char const *
const typestr{
"uint16_t"};
2108 static constexpr
bool traverse{
false};
2109 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_sp};
2110 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2111 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_sp>;
2115 using field_type = uint16_t;
2116 static constexpr
size_t position{8};
2117 static constexpr
char const *
const name{
"e_cksum"};
2118 static constexpr
char const *
const typestr{
"uint16_t"};
2119 static constexpr
bool traverse{
false};
2120 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_cksum};
2121 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2122 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_cksum>;
2126 using field_type = uint16_t;
2127 static constexpr
size_t position{9};
2128 static constexpr
char const *
const name{
"e_ip"};
2129 static constexpr
char const *
const typestr{
"uint16_t"};
2130 static constexpr
bool traverse{
false};
2131 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_ip};
2132 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2133 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_ip>;
2137 using field_type = uint16_t;
2138 static constexpr
size_t position{10};
2139 static constexpr
char const *
const name{
"e_cs"};
2140 static constexpr
char const *
const typestr{
"uint16_t"};
2141 static constexpr
bool traverse{
false};
2142 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_cs};
2143 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2144 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_cs>;
2148 using field_type = uint16_t;
2149 static constexpr
size_t position{11};
2150 static constexpr
char const *
const name{
"e_overlay"};
2151 static constexpr
char const *
const typestr{
"uint16_t"};
2152 static constexpr
bool traverse{
false};
2153 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_overlay};
2154 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2155 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_overlay>;
2159 using field_type = rose_addr_t;
2160 static constexpr
size_t position{12};
2161 static constexpr
char const *
const name{
"e_relocs_offset"};
2162 static constexpr
char const *
const typestr{
"rose_addr_t"};
2163 static constexpr
bool traverse{
false};
2164 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_relocs_offset};
2165 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2166 using bind = Desc<SgAsmDOSFileHeader, rose_addr_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_relocs_offset>;
2170 using field_type = unsigned;
2171 static constexpr
size_t position{13};
2172 static constexpr
char const *
const name{
"e_res1"};
2173 static constexpr
char const *
const typestr{
"unsigned"};
2174 static constexpr
bool traverse{
false};
2175 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_res1};
2176 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2177 using bind = Desc<SgAsmDOSFileHeader, unsigned SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_res1>;
2182 static constexpr
size_t position{14};
2183 static constexpr
char const *
const name{
"relocs"};
2184 static constexpr
char const *
const typestr{
"SgAsmGenericSection*"};
2185 static constexpr
bool traverse{
true};
2186 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_relocs};
2187 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2188 using bind = Desc<SgAsmDOSFileHeader, SgAsmGenericSection* SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_relocs>;
2193 static constexpr
size_t position{15};
2194 static constexpr
char const *
const name{
"rm_section"};
2195 static constexpr
char const *
const typestr{
"SgAsmGenericSection*"};
2196 static constexpr
bool traverse{
false};
2197 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_rm_section};
2198 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2199 using bind = Desc<SgAsmDOSFileHeader, SgAsmGenericSection* SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_rm_section>;
2204 static constexpr
char const *
const name{
"AsmDOSFileHeader"};
2205 static constexpr
unsigned long variant{71};
2206 static constexpr
bool concrete{
true};
2208 using fields_t =
mp::List<describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_last_page_size>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_total_pages>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_nrelocs>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_header_paragraphs>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_minalloc>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_maxalloc>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_ss>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_sp>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_cksum>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_ip>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_cs>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_overlay>,
describe_field_t<SgAsmDOSFileHeader,rose_addr_t,&SgAsmDOSFileHeader::p_e_relocs_offset>,
describe_field_t<SgAsmDOSFileHeader,unsigned,&SgAsmDOSFileHeader::p_e_res1>,
describe_field_t<SgAsmDOSFileHeader,SgAsmGenericSection*,&SgAsmDOSFileHeader::p_relocs>,
describe_field_t<SgAsmDOSFileHeader,SgAsmGenericSection*,&SgAsmDOSFileHeader::p_rm_section>>;
2216 static constexpr
char const *
const name{
"AsmSynthesizedDataStructureDeclaration"};
2217 static constexpr
unsigned long variant{72};
2218 static constexpr
bool concrete{
true};
2228 static constexpr
char const *
const name{
"AsmSynthesizedDeclaration"};
2229 static constexpr
unsigned long variant{73};
2230 static constexpr
bool concrete{
false};
2240 static constexpr
char const *
const name{
"AsmDirectRegisterExpression"};
2241 static constexpr
unsigned long variant{74};
2242 static constexpr
bool concrete{
true};
2252 static constexpr
char const *
const name{
"AsmDwarfAccessDeclaration"};
2253 static constexpr
unsigned long variant{75};
2254 static constexpr
bool concrete{
true};
2264 static constexpr
size_t position{0};
2265 static constexpr
char const *
const name{
"body"};
2266 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2267 static constexpr
bool traverse{
true};
2268 static constexpr
auto mbr_ptr{&SgAsmDwarfArrayType::p_body};
2269 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2270 using bind = Desc<SgAsmDwarfArrayType, SgAsmDwarfConstructList* SgAsmDwarfArrayType::*, &SgAsmDwarfArrayType::p_body>;
2275 static constexpr
char const *
const name{
"AsmDwarfArrayType"};
2276 static constexpr
unsigned long variant{76};
2277 static constexpr
bool concrete{
true};
2287 static constexpr
char const *
const name{
"AsmDwarfBaseType"};
2288 static constexpr
unsigned long variant{77};
2289 static constexpr
bool concrete{
true};
2299 static constexpr
char const *
const name{
"AsmDwarfCatchBlock"};
2300 static constexpr
unsigned long variant{78};
2301 static constexpr
bool concrete{
true};
2311 static constexpr
char const *
const name{
"AsmDwarfClassTemplate"};
2312 static constexpr
unsigned long variant{79};
2313 static constexpr
bool concrete{
true};
2323 static constexpr
size_t position{0};
2324 static constexpr
char const *
const name{
"body"};
2325 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2326 static constexpr
bool traverse{
true};
2327 static constexpr
auto mbr_ptr{&SgAsmDwarfClassType::p_body};
2328 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2329 using bind = Desc<SgAsmDwarfClassType, SgAsmDwarfConstructList* SgAsmDwarfClassType::*, &SgAsmDwarfClassType::p_body>;
2334 static constexpr
char const *
const name{
"AsmDwarfClassType"};
2335 static constexpr
unsigned long variant{80};
2336 static constexpr
bool concrete{
true};
2346 static constexpr
size_t position{0};
2347 static constexpr
char const *
const name{
"body"};
2348 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2349 static constexpr
bool traverse{
true};
2350 static constexpr
auto mbr_ptr{&SgAsmDwarfCommonBlock::p_body};
2351 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2352 using bind = Desc<SgAsmDwarfCommonBlock, SgAsmDwarfConstructList* SgAsmDwarfCommonBlock::*, &SgAsmDwarfCommonBlock::p_body>;
2357 static constexpr
char const *
const name{
"AsmDwarfCommonBlock"};
2358 static constexpr
unsigned long variant{81};
2359 static constexpr
bool concrete{
true};
2369 static constexpr
char const *
const name{
"AsmDwarfCommonInclusion"};
2370 static constexpr
unsigned long variant{82};
2371 static constexpr
bool concrete{
true};
2380 using field_type = std::string;
2381 static constexpr
size_t position{0};
2382 static constexpr
char const *
const name{
"producer"};
2383 static constexpr
char const *
const typestr{
"std::string"};
2384 static constexpr
bool traverse{
false};
2385 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_producer};
2386 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2387 using bind = Desc<SgAsmDwarfCompilationUnit, std::string SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_producer>;
2391 using field_type = std::string;
2392 static constexpr
size_t position{1};
2393 static constexpr
char const *
const name{
"language"};
2394 static constexpr
char const *
const typestr{
"std::string"};
2395 static constexpr
bool traverse{
false};
2396 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_language};
2397 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2398 using bind = Desc<SgAsmDwarfCompilationUnit, std::string SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_language>;
2402 using field_type = uint64_t;
2403 static constexpr
size_t position{2};
2404 static constexpr
char const *
const name{
"low_pc"};
2405 static constexpr
char const *
const typestr{
"uint64_t"};
2406 static constexpr
bool traverse{
false};
2407 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_low_pc};
2408 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2409 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_low_pc>;
2413 using field_type = uint64_t;
2414 static constexpr
size_t position{3};
2415 static constexpr
char const *
const name{
"hi_pc"};
2416 static constexpr
char const *
const typestr{
"uint64_t"};
2417 static constexpr
bool traverse{
false};
2418 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_hi_pc};
2419 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2420 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_hi_pc>;
2424 using field_type = int;
2425 static constexpr
size_t position{4};
2426 static constexpr
char const *
const name{
"version_stamp"};
2427 static constexpr
char const *
const typestr{
"int"};
2428 static constexpr
bool traverse{
false};
2429 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_version_stamp};
2430 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2431 using bind = Desc<SgAsmDwarfCompilationUnit, int SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_version_stamp>;
2435 using field_type = uint64_t;
2436 static constexpr
size_t position{5};
2437 static constexpr
char const *
const name{
"abbrev_offset"};
2438 static constexpr
char const *
const typestr{
"uint64_t"};
2439 static constexpr
bool traverse{
false};
2440 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_abbrev_offset};
2441 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2442 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_abbrev_offset>;
2446 using field_type = uint64_t;
2447 static constexpr
size_t position{6};
2448 static constexpr
char const *
const name{
"address_size"};
2449 static constexpr
char const *
const typestr{
"uint64_t"};
2450 static constexpr
bool traverse{
false};
2451 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_address_size};
2452 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2453 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_address_size>;
2457 using field_type = uint64_t;
2458 static constexpr
size_t position{7};
2459 static constexpr
char const *
const name{
"offset_length"};
2460 static constexpr
char const *
const typestr{
"uint64_t"};
2461 static constexpr
bool traverse{
false};
2462 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_offset_length};
2463 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2464 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_offset_length>;
2469 static constexpr
size_t position{8};
2470 static constexpr
char const *
const name{
"line_info"};
2471 static constexpr
char const *
const typestr{
"SgAsmDwarfLineList*"};
2472 static constexpr
bool traverse{
true};
2473 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_line_info};
2474 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2475 using bind = Desc<SgAsmDwarfCompilationUnit, SgAsmDwarfLineList* SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_line_info>;
2480 static constexpr
size_t position{9};
2481 static constexpr
char const *
const name{
"language_constructs"};
2482 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2483 static constexpr
bool traverse{
true};
2484 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_language_constructs};
2485 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2486 using bind = Desc<SgAsmDwarfCompilationUnit, SgAsmDwarfConstructList* SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_language_constructs>;
2491 static constexpr
size_t position{10};
2492 static constexpr
char const *
const name{
"macro_info"};
2493 static constexpr
char const *
const typestr{
"SgAsmDwarfMacroList*"};
2494 static constexpr
bool traverse{
true};
2495 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_macro_info};
2496 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2497 using bind = Desc<SgAsmDwarfCompilationUnit, SgAsmDwarfMacroList* SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_macro_info>;
2502 static constexpr
char const *
const name{
"AsmDwarfCompilationUnit"};
2503 static constexpr
unsigned long variant{83};
2504 static constexpr
bool concrete{
true};
2506 using fields_t =
mp::List<describe_field_t<SgAsmDwarfCompilationUnit,std::string,&SgAsmDwarfCompilationUnit::p_producer>,
describe_field_t<SgAsmDwarfCompilationUnit,std::string,&SgAsmDwarfCompilationUnit::p_language>,
describe_field_t<SgAsmDwarfCompilationUnit,uint64_t,&SgAsmDwarfCompilationUnit::p_low_pc>,
describe_field_t<SgAsmDwarfCompilationUnit,uint64_t,&SgAsmDwarfCompilationUnit::p_hi_pc>,
describe_field_t<SgAsmDwarfCompilationUnit,int,&SgAsmDwarfCompilationUnit::p_version_stamp>,
describe_field_t<SgAsmDwarfCompilationUnit,uint64_t,&SgAsmDwarfCompilationUnit::p_abbrev_offset>,
describe_field_t<SgAsmDwarfCompilationUnit,uint64_t,&SgAsmDwarfCompilationUnit::p_address_size>,
describe_field_t<SgAsmDwarfCompilationUnit,uint64_t,&SgAsmDwarfCompilationUnit::p_offset_length>,
describe_field_t<SgAsmDwarfCompilationUnit,SgAsmDwarfLineList*,&SgAsmDwarfCompilationUnit::p_line_info>,
describe_field_t<SgAsmDwarfCompilationUnit,SgAsmDwarfConstructList*,&SgAsmDwarfCompilationUnit::p_language_constructs>,
describe_field_t<SgAsmDwarfCompilationUnit,SgAsmDwarfMacroList*,&SgAsmDwarfCompilationUnit::p_macro_info>>;
2513 using field_type = SgAsmDwarfCompilationUnitPtrList;
2514 static constexpr
size_t position{0};
2515 static constexpr
char const *
const name{
"cu_list"};
2516 static constexpr
char const *
const typestr{
"SgAsmDwarfCompilationUnitPtrList"};
2517 static constexpr
bool traverse{
true};
2518 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnitList::p_cu_list};
2519 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2520 using bind = Desc<SgAsmDwarfCompilationUnitList, SgAsmDwarfCompilationUnitPtrList SgAsmDwarfCompilationUnitList::*, &SgAsmDwarfCompilationUnitList::p_cu_list>;
2525 static constexpr
char const *
const name{
"AsmDwarfCompilationUnitList"};
2526 static constexpr
unsigned long variant{84};
2527 static constexpr
bool concrete{
true};
2537 static constexpr
char const *
const name{
"AsmDwarfCondition"};
2538 static constexpr
unsigned long variant{85};
2539 static constexpr
bool concrete{
true};
2549 static constexpr
char const *
const name{
"AsmDwarfConstType"};
2550 static constexpr
unsigned long variant{86};
2551 static constexpr
bool concrete{
true};
2561 static constexpr
char const *
const name{
"AsmDwarfConstant"};
2562 static constexpr
unsigned long variant{87};
2563 static constexpr
bool concrete{
true};
2572 using field_type = int;
2573 static constexpr
size_t position{0};
2574 static constexpr
char const *
const name{
"nesting_level"};
2575 static constexpr
char const *
const typestr{
"int"};
2576 static constexpr
bool traverse{
false};
2577 static constexpr
auto mbr_ptr{&SgAsmDwarfConstruct::p_nesting_level};
2578 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2579 using bind = Desc<SgAsmDwarfConstruct, int SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_nesting_level>;
2583 using field_type = uint64_t;
2584 static constexpr
size_t position{1};
2585 static constexpr
char const *
const name{
"offset"};
2586 static constexpr
char const *
const typestr{
"uint64_t"};
2587 static constexpr
bool traverse{
false};
2588 static constexpr
auto mbr_ptr{&SgAsmDwarfConstruct::p_offset};
2589 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2590 using bind = Desc<SgAsmDwarfConstruct, uint64_t SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_offset>;
2594 using field_type = uint64_t;
2595 static constexpr
size_t position{2};
2596 static constexpr
char const *
const name{
"overall_offset"};
2597 static constexpr
char const *
const typestr{
"uint64_t"};
2598 static constexpr
bool traverse{
false};
2599 static constexpr
auto mbr_ptr{&SgAsmDwarfConstruct::p_overall_offset};
2600 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2601 using bind = Desc<SgAsmDwarfConstruct, uint64_t SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_overall_offset>;
2605 using field_type = std::string;
2606 static constexpr
size_t position{3};
2607 static constexpr
char const *
const name{
"name"};
2608 static constexpr
char const *
const typestr{
"std::string"};
2609 static constexpr
bool traverse{
false};
2610 static constexpr
auto mbr_ptr{&SgAsmDwarfConstruct::p_name};
2611 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2612 using bind = Desc<SgAsmDwarfConstruct, std::string SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_name>;
2617 static constexpr
size_t position{4};
2618 static constexpr
char const *
const name{
"source_position"};
2619 static constexpr
char const *
const typestr{
"SgAsmDwarfLine*"};
2620 static constexpr
bool traverse{
false};
2621 static constexpr
auto mbr_ptr{&SgAsmDwarfConstruct::p_source_position};
2622 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2623 using bind = Desc<SgAsmDwarfConstruct, SgAsmDwarfLine* SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_source_position>;
2628 static constexpr
char const *
const name{
"AsmDwarfConstruct"};
2629 static constexpr
unsigned long variant{88};
2630 static constexpr
bool concrete{
false};
2631 using subclasses_t =
mp::List<SgAsmDwarfArrayType, SgAsmDwarfClassType, SgAsmDwarfEntryPoint, SgAsmDwarfEnumerationType, SgAsmDwarfFormalParameter, SgAsmDwarfImportedDeclaration, SgAsmDwarfLabel, SgAsmDwarfLexicalBlock, SgAsmDwarfMember, SgAsmDwarfPointerType, SgAsmDwarfReferenceType, SgAsmDwarfCompilationUnit, SgAsmDwarfStringType, SgAsmDwarfStructureType, SgAsmDwarfSubroutineType, SgAsmDwarfTypedef, SgAsmDwarfUnionType, SgAsmDwarfUnspecifiedParameters, SgAsmDwarfVariant, SgAsmDwarfCommonBlock, SgAsmDwarfCommonInclusion, SgAsmDwarfInheritance, SgAsmDwarfInlinedSubroutine, SgAsmDwarfModule, SgAsmDwarfPtrToMemberType, SgAsmDwarfSetType, SgAsmDwarfSubrangeType, SgAsmDwarfWithStmt, SgAsmDwarfAccessDeclaration, SgAsmDwarfBaseType, SgAsmDwarfCatchBlock, SgAsmDwarfConstType, SgAsmDwarfConstant, SgAsmDwarfEnumerator, SgAsmDwarfFileType, SgAsmDwarfFriend, SgAsmDwarfNamelist, SgAsmDwarfNamelistItem, SgAsmDwarfPackedType, SgAsmDwarfSubprogram, SgAsmDwarfTemplateTypeParameter, SgAsmDwarfTemplateValueParameter, SgAsmDwarfThrownType, SgAsmDwarfTryBlock, SgAsmDwarfVariantPart, SgAsmDwarfVariable, SgAsmDwarfVolatileType, SgAsmDwarfDwarfProcedure, SgAsmDwarfRestrictType, SgAsmDwarfInterfaceType, SgAsmDwarfNamespace, SgAsmDwarfImportedModule, SgAsmDwarfUnspecifiedType, SgAsmDwarfPartialUnit, SgAsmDwarfImportedUnit, SgAsmDwarfMutableType, SgAsmDwarfCondition, SgAsmDwarfSharedType, SgAsmDwarfFormatLabel, SgAsmDwarfFunctionTemplate, SgAsmDwarfClassTemplate, SgAsmDwarfUpcSharedType, SgAsmDwarfUpcStrictType, SgAsmDwarfUpcRelaxedType, SgAsmDwarfUnknownConstruct>;
2632 using fields_t =
mp::List<describe_field_t<SgAsmDwarfConstruct,int,&SgAsmDwarfConstruct::p_nesting_level>,
describe_field_t<SgAsmDwarfConstruct,uint64_t,&SgAsmDwarfConstruct::p_offset>,
describe_field_t<SgAsmDwarfConstruct,uint64_t,&SgAsmDwarfConstruct::p_overall_offset>,
describe_field_t<SgAsmDwarfConstruct,std::string,&SgAsmDwarfConstruct::p_name>,
describe_field_t<SgAsmDwarfConstruct,SgAsmDwarfLine*,&SgAsmDwarfConstruct::p_source_position>>;
2639 using field_type = SgAsmDwarfConstructPtrList;
2640 static constexpr
size_t position{0};
2641 static constexpr
char const *
const name{
"list"};
2642 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructPtrList"};
2643 static constexpr
bool traverse{
true};
2644 static constexpr
auto mbr_ptr{&SgAsmDwarfConstructList::p_list};
2645 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2646 using bind = Desc<SgAsmDwarfConstructList, SgAsmDwarfConstructPtrList SgAsmDwarfConstructList::*, &SgAsmDwarfConstructList::p_list>;
2651 static constexpr
char const *
const name{
"AsmDwarfConstructList"};
2652 static constexpr
unsigned long variant{89};
2653 static constexpr
bool concrete{
true};
2663 static constexpr
char const *
const name{
"AsmDwarfDwarfProcedure"};
2664 static constexpr
unsigned long variant{90};
2665 static constexpr
bool concrete{
true};
2675 static constexpr
char const *
const name{
"AsmDwarfEntryPoint"};
2676 static constexpr
unsigned long variant{91};
2677 static constexpr
bool concrete{
true};
2687 static constexpr
size_t position{0};
2688 static constexpr
char const *
const name{
"body"};
2689 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2690 static constexpr
bool traverse{
true};
2691 static constexpr
auto mbr_ptr{&SgAsmDwarfEnumerationType::p_body};
2692 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2693 using bind = Desc<SgAsmDwarfEnumerationType, SgAsmDwarfConstructList* SgAsmDwarfEnumerationType::*, &SgAsmDwarfEnumerationType::p_body>;
2698 static constexpr
char const *
const name{
"AsmDwarfEnumerationType"};
2699 static constexpr
unsigned long variant{92};
2700 static constexpr
bool concrete{
true};
2710 static constexpr
char const *
const name{
"AsmDwarfEnumerator"};
2711 static constexpr
unsigned long variant{93};
2712 static constexpr
bool concrete{
true};
2722 static constexpr
char const *
const name{
"AsmDwarfFileType"};
2723 static constexpr
unsigned long variant{94};
2724 static constexpr
bool concrete{
true};
2734 static constexpr
char const *
const name{
"AsmDwarfFormalParameter"};
2735 static constexpr
unsigned long variant{95};
2736 static constexpr
bool concrete{
true};
2746 static constexpr
char const *
const name{
"AsmDwarfFormatLabel"};
2747 static constexpr
unsigned long variant{96};
2748 static constexpr
bool concrete{
true};
2758 static constexpr
char const *
const name{
"AsmDwarfFriend"};
2759 static constexpr
unsigned long variant{97};
2760 static constexpr
bool concrete{
true};
2770 static constexpr
char const *
const name{
"AsmDwarfFunctionTemplate"};
2771 static constexpr
unsigned long variant{98};
2772 static constexpr
bool concrete{
true};
2782 static constexpr
char const *
const name{
"AsmDwarfImportedDeclaration"};
2783 static constexpr
unsigned long variant{99};
2784 static constexpr
bool concrete{
true};
2794 static constexpr
char const *
const name{
"AsmDwarfImportedModule"};
2795 static constexpr
unsigned long variant{100};
2796 static constexpr
bool concrete{
true};
2806 static constexpr
char const *
const name{
"AsmDwarfImportedUnit"};
2807 static constexpr
unsigned long variant{101};
2808 static constexpr
bool concrete{
true};
2818 static constexpr
char const *
const name{
"AsmDwarfInformation"};
2819 static constexpr
unsigned long variant{102};
2820 static constexpr
bool concrete{
false};
2830 static constexpr
char const *
const name{
"AsmDwarfInheritance"};
2831 static constexpr
unsigned long variant{103};
2832 static constexpr
bool concrete{
true};
2842 static constexpr
size_t position{0};
2843 static constexpr
char const *
const name{
"body"};
2844 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2845 static constexpr
bool traverse{
true};
2846 static constexpr
auto mbr_ptr{&SgAsmDwarfInlinedSubroutine::p_body};
2847 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2848 using bind = Desc<SgAsmDwarfInlinedSubroutine, SgAsmDwarfConstructList* SgAsmDwarfInlinedSubroutine::*, &SgAsmDwarfInlinedSubroutine::p_body>;
2853 static constexpr
char const *
const name{
"AsmDwarfInlinedSubroutine"};
2854 static constexpr
unsigned long variant{104};
2855 static constexpr
bool concrete{
true};
2865 static constexpr
char const *
const name{
"AsmDwarfInterfaceType"};
2866 static constexpr
unsigned long variant{105};
2867 static constexpr
bool concrete{
true};
2877 static constexpr
char const *
const name{
"AsmDwarfLabel"};
2878 static constexpr
unsigned long variant{106};
2879 static constexpr
bool concrete{
true};
2889 static constexpr
size_t position{0};
2890 static constexpr
char const *
const name{
"body"};
2891 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2892 static constexpr
bool traverse{
true};
2893 static constexpr
auto mbr_ptr{&SgAsmDwarfLexicalBlock::p_body};
2894 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2895 using bind = Desc<SgAsmDwarfLexicalBlock, SgAsmDwarfConstructList* SgAsmDwarfLexicalBlock::*, &SgAsmDwarfLexicalBlock::p_body>;
2900 static constexpr
char const *
const name{
"AsmDwarfLexicalBlock"};
2901 static constexpr
unsigned long variant{107};
2902 static constexpr
bool concrete{
true};
2911 using field_type = uint64_t;
2912 static constexpr
size_t position{0};
2913 static constexpr
char const *
const name{
"address"};
2914 static constexpr
char const *
const typestr{
"uint64_t"};
2915 static constexpr
bool traverse{
false};
2916 static constexpr
auto mbr_ptr{&SgAsmDwarfLine::p_address};
2917 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2918 using bind = Desc<SgAsmDwarfLine, uint64_t SgAsmDwarfLine::*, &SgAsmDwarfLine::p_address>;
2922 using field_type = int;
2923 static constexpr
size_t position{1};
2924 static constexpr
char const *
const name{
"file_id"};
2925 static constexpr
char const *
const typestr{
"int"};
2926 static constexpr
bool traverse{
false};
2927 static constexpr
auto mbr_ptr{&SgAsmDwarfLine::p_file_id};
2928 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2929 using bind = Desc<SgAsmDwarfLine, int SgAsmDwarfLine::*, &SgAsmDwarfLine::p_file_id>;
2933 using field_type = int;
2934 static constexpr
size_t position{2};
2935 static constexpr
char const *
const name{
"line"};
2936 static constexpr
char const *
const typestr{
"int"};
2937 static constexpr
bool traverse{
false};
2938 static constexpr
auto mbr_ptr{&SgAsmDwarfLine::p_line};
2939 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2940 using bind = Desc<SgAsmDwarfLine, int SgAsmDwarfLine::*, &SgAsmDwarfLine::p_line>;
2944 using field_type = int;
2945 static constexpr
size_t position{3};
2946 static constexpr
char const *
const name{
"column"};
2947 static constexpr
char const *
const typestr{
"int"};
2948 static constexpr
bool traverse{
false};
2949 static constexpr
auto mbr_ptr{&SgAsmDwarfLine::p_column};
2950 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2951 using bind = Desc<SgAsmDwarfLine, int SgAsmDwarfLine::*, &SgAsmDwarfLine::p_column>;
2956 static constexpr
char const *
const name{
"AsmDwarfLine"};
2957 static constexpr
unsigned long variant{108};
2958 static constexpr
bool concrete{
true};
2960 using fields_t =
mp::List<describe_field_t<SgAsmDwarfLine,uint64_t,&SgAsmDwarfLine::p_address>,
describe_field_t<SgAsmDwarfLine,int,&SgAsmDwarfLine::p_file_id>,
describe_field_t<SgAsmDwarfLine,int,&SgAsmDwarfLine::p_line>,
describe_field_t<SgAsmDwarfLine,int,&SgAsmDwarfLine::p_column>>;
2967 using field_type = SgAsmDwarfLinePtrList;
2968 static constexpr
size_t position{0};
2969 static constexpr
char const *
const name{
"line_list"};
2970 static constexpr
char const *
const typestr{
"SgAsmDwarfLinePtrList"};
2971 static constexpr
bool traverse{
true};
2972 static constexpr
auto mbr_ptr{&SgAsmDwarfLineList::p_line_list};
2973 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2974 using bind = Desc<SgAsmDwarfLineList, SgAsmDwarfLinePtrList SgAsmDwarfLineList::*, &SgAsmDwarfLineList::p_line_list>;
2979 static constexpr
char const *
const name{
"AsmDwarfLineList"};
2980 static constexpr
unsigned long variant{109};
2981 static constexpr
bool concrete{
true};
2990 using field_type = std::string;
2991 static constexpr
size_t position{0};
2992 static constexpr
char const *
const name{
"macro_string"};
2993 static constexpr
char const *
const typestr{
"std::string"};
2994 static constexpr
bool traverse{
false};
2995 static constexpr
auto mbr_ptr{&SgAsmDwarfMacro::p_macro_string};
2996 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2997 using bind = Desc<SgAsmDwarfMacro, std::string SgAsmDwarfMacro::*, &SgAsmDwarfMacro::p_macro_string>;
3002 static constexpr
char const *
const name{
"AsmDwarfMacro"};
3003 static constexpr
unsigned long variant{110};
3004 static constexpr
bool concrete{
true};
3013 using field_type = SgAsmDwarfMacroPtrList;
3014 static constexpr
size_t position{0};
3015 static constexpr
char const *
const name{
"macro_list"};
3016 static constexpr
char const *
const typestr{
"SgAsmDwarfMacroPtrList"};
3017 static constexpr
bool traverse{
true};
3018 static constexpr
auto mbr_ptr{&SgAsmDwarfMacroList::p_macro_list};
3019 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3020 using bind = Desc<SgAsmDwarfMacroList, SgAsmDwarfMacroPtrList SgAsmDwarfMacroList::*, &SgAsmDwarfMacroList::p_macro_list>;
3025 static constexpr
char const *
const name{
"AsmDwarfMacroList"};
3026 static constexpr
unsigned long variant{111};
3027 static constexpr
bool concrete{
true};
3037 static constexpr
char const *
const name{
"AsmDwarfMember"};
3038 static constexpr
unsigned long variant{112};
3039 static constexpr
bool concrete{
true};
3049 static constexpr
char const *
const name{
"AsmDwarfModule"};
3050 static constexpr
unsigned long variant{113};
3051 static constexpr
bool concrete{
true};
3061 static constexpr
char const *
const name{
"AsmDwarfMutableType"};
3062 static constexpr
unsigned long variant{114};
3063 static constexpr
bool concrete{
true};
3073 static constexpr
char const *
const name{
"AsmDwarfNamelist"};
3074 static constexpr
unsigned long variant{115};
3075 static constexpr
bool concrete{
true};
3085 static constexpr
char const *
const name{
"AsmDwarfNamelistItem"};
3086 static constexpr
unsigned long variant{116};
3087 static constexpr
bool concrete{
true};
3097 static constexpr
size_t position{0};
3098 static constexpr
char const *
const name{
"body"};
3099 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
3100 static constexpr
bool traverse{
true};
3101 static constexpr
auto mbr_ptr{&SgAsmDwarfNamespace::p_body};
3102 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3103 using bind = Desc<SgAsmDwarfNamespace, SgAsmDwarfConstructList* SgAsmDwarfNamespace::*, &SgAsmDwarfNamespace::p_body>;
3108 static constexpr
char const *
const name{
"AsmDwarfNamespace"};
3109 static constexpr
unsigned long variant{117};
3110 static constexpr
bool concrete{
true};
3120 static constexpr
char const *
const name{
"AsmDwarfPackedType"};
3121 static constexpr
unsigned long variant{118};
3122 static constexpr
bool concrete{
true};
3132 static constexpr
char const *
const name{
"AsmDwarfPartialUnit"};
3133 static constexpr
unsigned long variant{119};
3134 static constexpr
bool concrete{
true};
3144 static constexpr
char const *
const name{
"AsmDwarfPointerType"};
3145 static constexpr
unsigned long variant{120};
3146 static constexpr
bool concrete{
true};
3156 static constexpr
char const *
const name{
"AsmDwarfPtrToMemberType"};
3157 static constexpr
unsigned long variant{121};
3158 static constexpr
bool concrete{
true};
3168 static constexpr
char const *
const name{
"AsmDwarfReferenceType"};
3169 static constexpr
unsigned long variant{122};
3170 static constexpr
bool concrete{
true};
3180 static constexpr
char const *
const name{
"AsmDwarfRestrictType"};
3181 static constexpr
unsigned long variant{123};
3182 static constexpr
bool concrete{
true};
3192 static constexpr
char const *
const name{
"AsmDwarfSetType"};
3193 static constexpr
unsigned long variant{124};
3194 static constexpr
bool concrete{
true};
3204 static constexpr
char const *
const name{
"AsmDwarfSharedType"};
3205 static constexpr
unsigned long variant{125};
3206 static constexpr
bool concrete{
true};
3216 static constexpr
char const *
const name{
"AsmDwarfStringType"};
3217 static constexpr
unsigned long variant{126};
3218 static constexpr
bool concrete{
true};
3228 static constexpr
size_t position{0};
3229 static constexpr
char const *
const name{
"body"};
3230 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
3231 static constexpr
bool traverse{
true};
3232 static constexpr
auto mbr_ptr{&SgAsmDwarfStructureType::p_body};
3233 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3234 using bind = Desc<SgAsmDwarfStructureType, SgAsmDwarfConstructList* SgAsmDwarfStructureType::*, &SgAsmDwarfStructureType::p_body>;
3239 static constexpr
char const *
const name{
"AsmDwarfStructureType"};
3240 static constexpr
unsigned long variant{127};
3241 static constexpr
bool concrete{
true};
3251 static constexpr
size_t position{0};
3252 static constexpr
char const *
const name{
"body"};
3253 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
3254 static constexpr
bool traverse{
true};
3255 static constexpr
auto mbr_ptr{&SgAsmDwarfSubprogram::p_body};
3256 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3257 using bind = Desc<SgAsmDwarfSubprogram, SgAsmDwarfConstructList* SgAsmDwarfSubprogram::*, &SgAsmDwarfSubprogram::p_body>;
3262 static constexpr
char const *
const name{
"AsmDwarfSubprogram"};
3263 static constexpr
unsigned long variant{128};
3264 static constexpr
bool concrete{
true};
3274 static constexpr
char const *
const name{
"AsmDwarfSubrangeType"};
3275 static constexpr
unsigned long variant{129};
3276 static constexpr
bool concrete{
true};
3286 static constexpr
size_t position{0};
3287 static constexpr
char const *
const name{
"body"};
3288 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
3289 static constexpr
bool traverse{
true};
3290 static constexpr
auto mbr_ptr{&SgAsmDwarfSubroutineType::p_body};
3291 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3292 using bind = Desc<SgAsmDwarfSubroutineType, SgAsmDwarfConstructList* SgAsmDwarfSubroutineType::*, &SgAsmDwarfSubroutineType::p_body>;
3297 static constexpr
char const *
const name{
"AsmDwarfSubroutineType"};
3298 static constexpr
unsigned long variant{130};
3299 static constexpr
bool concrete{
true};
3309 static constexpr
char const *
const name{
"AsmDwarfTemplateTypeParameter"};
3310 static constexpr
unsigned long variant{131};
3311 static constexpr
bool concrete{
true};
3321 static constexpr
char const *
const name{
"AsmDwarfTemplateValueParameter"};
3322 static constexpr
unsigned long variant{132};
3323 static constexpr
bool concrete{
true};
3333 static constexpr
char const *
const name{
"AsmDwarfThrownType"};
3334 static constexpr
unsigned long variant{133};
3335 static constexpr
bool concrete{
true};
3345 static constexpr
char const *
const name{
"AsmDwarfTryBlock"};
3346 static constexpr
unsigned long variant{134};
3347 static constexpr
bool concrete{
true};
3357 static constexpr
char const *
const name{
"AsmDwarfTypedef"};
3358 static constexpr
unsigned long variant{135};
3359 static constexpr
bool concrete{
true};
3369 static constexpr
size_t position{0};
3370 static constexpr
char const *
const name{
"body"};
3371 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
3372 static constexpr
bool traverse{
true};
3373 static constexpr
auto mbr_ptr{&SgAsmDwarfUnionType::p_body};
3374 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3375 using bind = Desc<SgAsmDwarfUnionType, SgAsmDwarfConstructList* SgAsmDwarfUnionType::*, &SgAsmDwarfUnionType::p_body>;
3380 static constexpr
char const *
const name{
"AsmDwarfUnionType"};
3381 static constexpr
unsigned long variant{136};
3382 static constexpr
bool concrete{
true};
3392 static constexpr
char const *
const name{
"AsmDwarfUnknownConstruct"};
3393 static constexpr
unsigned long variant{137};
3394 static constexpr
bool concrete{
true};
3404 static constexpr
char const *
const name{
"AsmDwarfUnspecifiedParameters"};
3405 static constexpr
unsigned long variant{138};
3406 static constexpr
bool concrete{
true};
3416 static constexpr
char const *
const name{
"AsmDwarfUnspecifiedType"};
3417 static constexpr
unsigned long variant{139};
3418 static constexpr
bool concrete{
true};
3428 static constexpr
char const *
const name{
"AsmDwarfUpcRelaxedType"};
3429 static constexpr
unsigned long variant{140};
3430 static constexpr
bool concrete{
true};
3440 static constexpr
char const *
const name{
"AsmDwarfUpcSharedType"};
3441 static constexpr
unsigned long variant{141};
3442 static constexpr
bool concrete{
true};
3452 static constexpr
char const *
const name{
"AsmDwarfUpcStrictType"};
3453 static constexpr
unsigned long variant{142};
3454 static constexpr
bool concrete{
true};
3464 static constexpr
char const *
const name{
"AsmDwarfVariable"};
3465 static constexpr
unsigned long variant{143};
3466 static constexpr
bool concrete{
true};
3476 static constexpr
char const *
const name{
"AsmDwarfVariant"};
3477 static constexpr
unsigned long variant{144};
3478 static constexpr
bool concrete{
true};
3488 static constexpr
char const *
const name{
"AsmDwarfVariantPart"};
3489 static constexpr
unsigned long variant{145};
3490 static constexpr
bool concrete{
true};
3500 static constexpr
char const *
const name{
"AsmDwarfVolatileType"};
3501 static constexpr
unsigned long variant{146};
3502 static constexpr
bool concrete{
true};
3512 static constexpr
char const *
const name{
"AsmDwarfWithStmt"};
3513 static constexpr
unsigned long variant{147};
3514 static constexpr
bool concrete{
true};
3523 using field_type = SgAsmElfDynamicEntry::EntryType;
3524 static constexpr
size_t position{0};
3525 static constexpr
char const *
const name{
"d_tag"};
3526 static constexpr
char const *
const typestr{
"SgAsmElfDynamicEntry::EntryType"};
3527 static constexpr
bool traverse{
false};
3528 static constexpr
auto mbr_ptr{&SgAsmElfDynamicEntry::p_d_tag};
3529 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3530 using bind = Desc<SgAsmElfDynamicEntry, SgAsmElfDynamicEntry::EntryType SgAsmElfDynamicEntry::*, &SgAsmElfDynamicEntry::p_d_tag>;
3535 static constexpr
size_t position{1};
3536 static constexpr
char const *
const name{
"d_val"};
3537 static constexpr
char const *
const typestr{
"rose_rva_t"};
3538 static constexpr
bool traverse{
false};
3539 static constexpr
auto mbr_ptr{&SgAsmElfDynamicEntry::p_d_val};
3540 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3541 using bind = Desc<SgAsmElfDynamicEntry, rose_rva_t SgAsmElfDynamicEntry::*, &SgAsmElfDynamicEntry::p_d_val>;
3546 static constexpr
size_t position{2};
3547 static constexpr
char const *
const name{
"name"};
3548 static constexpr
char const *
const typestr{
"SgAsmGenericString*"};
3549 static constexpr
bool traverse{
true};
3550 static constexpr
auto mbr_ptr{&SgAsmElfDynamicEntry::p_name};
3551 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3552 using bind = Desc<SgAsmElfDynamicEntry, SgAsmGenericString* SgAsmElfDynamicEntry::*, &SgAsmElfDynamicEntry::p_name>;
3556 using field_type = SgUnsignedCharList;
3557 static constexpr
size_t position{3};
3558 static constexpr
char const *
const name{
"extra"};
3559 static constexpr
char const *
const typestr{
"SgUnsignedCharList"};
3560 static constexpr
bool traverse{
false};
3561 static constexpr
auto mbr_ptr{&SgAsmElfDynamicEntry::p_extra};
3562 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3563 using bind = Desc<SgAsmElfDynamicEntry, SgUnsignedCharList SgAsmElfDynamicEntry::*, &SgAsmElfDynamicEntry::p_extra>;
3568 static constexpr
char const *
const name{
"AsmElfDynamicEntry"};
3569 static constexpr
unsigned long variant{148};
3570 static constexpr
bool concrete{
true};
3572 using fields_t =
mp::List<describe_field_t<SgAsmElfDynamicEntry,SgAsmElfDynamicEntry::EntryType,&SgAsmElfDynamicEntry::p_d_tag>,
describe_field_t<SgAsmElfDynamicEntry,rose_rva_t,&SgAsmElfDynamicEntry::p_d_val>,
describe_field_t<SgAsmElfDynamicEntry,SgAsmGenericString*,&SgAsmElfDynamicEntry::p_name>,
describe_field_t<SgAsmElfDynamicEntry,SgUnsignedCharList,&SgAsmElfDynamicEntry::p_extra>>;
3579 using field_type = SgAsmElfDynamicEntryPtrList;
3580 static constexpr
size_t position{0};
3581 static constexpr
char const *
const name{
"entries"};
3582 static constexpr
char const *
const typestr{
"SgAsmElfDynamicEntryPtrList"};
3583 static constexpr
bool traverse{
false};
3584 static constexpr
auto mbr_ptr{&SgAsmElfDynamicEntryList::p_entries};
3585 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3586 using bind = Desc<SgAsmElfDynamicEntryList, SgAsmElfDynamicEntryPtrList SgAsmElfDynamicEntryList::*, &SgAsmElfDynamicEntryList::p_entries>;
3591 static constexpr
char const *
const name{
"AsmElfDynamicEntryList"};
3592 static constexpr
unsigned long variant{149};
3593 static constexpr
bool concrete{
true};
3603 static constexpr
size_t position{0};
3604 static constexpr
char const *
const name{
"entries"};
3605 static constexpr
char const *
const typestr{
"SgAsmElfDynamicEntryList*"};
3606 static constexpr
bool traverse{
true};
3607 static constexpr
auto mbr_ptr{&SgAsmElfDynamicSection::p_entries};
3608 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3609 using bind = Desc<SgAsmElfDynamicSection, SgAsmElfDynamicEntryList* SgAsmElfDynamicSection::*, &SgAsmElfDynamicSection::p_entries>;
3614 static constexpr
char const *
const name{
"AsmElfDynamicSection"};
3615 static constexpr
unsigned long variant{150};
3616 static constexpr
bool concrete{
true};
3625 using field_type = int;
3626 static constexpr
size_t position{0};
3627 static constexpr
char const *
const name{
"version"};
3628 static constexpr
char const *
const typestr{
"int"};
3629 static constexpr
bool traverse{
false};
3630 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_version};
3631 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3632 using bind = Desc<SgAsmElfEHFrameEntryCI, int SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_version>;
3636 using field_type = std::string;
3637 static constexpr
size_t position{1};
3638 static constexpr
char const *
const name{
"augmentation_string"};
3639 static constexpr
char const *
const typestr{
"std::string"};
3640 static constexpr
bool traverse{
false};
3641 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_augmentation_string};
3642 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3643 using bind = Desc<SgAsmElfEHFrameEntryCI, std::string SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_augmentation_string>;
3647 using field_type = uint64_t;
3648 static constexpr
size_t position{2};
3649 static constexpr
char const *
const name{
"eh_data"};
3650 static constexpr
char const *
const typestr{
"uint64_t"};
3651 static constexpr
bool traverse{
false};
3652 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_eh_data};
3653 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3654 using bind = Desc<SgAsmElfEHFrameEntryCI, uint64_t SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_eh_data>;
3658 using field_type = uint64_t;
3659 static constexpr
size_t position{3};
3660 static constexpr
char const *
const name{
"code_alignment_factor"};
3661 static constexpr
char const *
const typestr{
"uint64_t"};
3662 static constexpr
bool traverse{
false};
3663 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_code_alignment_factor};
3664 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3665 using bind = Desc<SgAsmElfEHFrameEntryCI, uint64_t SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_code_alignment_factor>;
3669 using field_type = int64_t;
3670 static constexpr
size_t position{4};
3671 static constexpr
char const *
const name{
"data_alignment_factor"};
3672 static constexpr
char const *
const typestr{
"int64_t"};
3673 static constexpr
bool traverse{
false};
3674 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_data_alignment_factor};
3675 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3676 using bind = Desc<SgAsmElfEHFrameEntryCI, int64_t SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_data_alignment_factor>;
3680 using field_type = uint64_t;
3681 static constexpr
size_t position{5};
3682 static constexpr
char const *
const name{
"augmentation_data_length"};
3683 static constexpr
char const *
const typestr{
"uint64_t"};
3684 static constexpr
bool traverse{
false};
3685 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_augmentation_data_length};
3686 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3687 using bind = Desc<SgAsmElfEHFrameEntryCI, uint64_t SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_augmentation_data_length>;
3691 using field_type = int;
3692 static constexpr
size_t position{6};
3693 static constexpr
char const *
const name{
"lsda_encoding"};
3694 static constexpr
char const *
const typestr{
"int"};
3695 static constexpr
bool traverse{
false};
3696 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_lsda_encoding};
3697 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3698 using bind = Desc<SgAsmElfEHFrameEntryCI, int SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_lsda_encoding>;
3702 using field_type = int;
3703 static constexpr
size_t position{7};
3704 static constexpr
char const *
const name{
"prh_encoding"};
3705 static constexpr
char const *
const typestr{
"int"};
3706 static constexpr
bool traverse{
false};
3707 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_prh_encoding};
3708 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3709 using bind = Desc<SgAsmElfEHFrameEntryCI, int SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_prh_encoding>;
3713 using field_type = unsigned;
3714 static constexpr
size_t position{8};
3715 static constexpr
char const *
const name{
"prh_arg"};
3716 static constexpr
char const *
const typestr{
"unsigned"};
3717 static constexpr
bool traverse{
false};
3718 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_prh_arg};
3719 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3720 using bind = Desc<SgAsmElfEHFrameEntryCI, unsigned SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_prh_arg>;
3724 using field_type = rose_addr_t;
3725 static constexpr
size_t position{9};
3726 static constexpr
char const *
const name{
"prh_addr"};
3727 static constexpr
char const *
const typestr{
"rose_addr_t"};
3728 static constexpr
bool traverse{
false};
3729 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_prh_addr};
3730 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3731 using bind = Desc<SgAsmElfEHFrameEntryCI, rose_addr_t SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_prh_addr>;
3735 using field_type = int;
3736 static constexpr
size_t position{10};
3737 static constexpr
char const *
const name{
"addr_encoding"};
3738 static constexpr
char const *
const typestr{
"int"};
3739 static constexpr
bool traverse{
false};
3740 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_addr_encoding};
3741 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3742 using bind = Desc<SgAsmElfEHFrameEntryCI, int SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_addr_encoding>;
3746 using field_type = bool;
3747 static constexpr
size_t position{11};
3748 static constexpr
char const *
const name{
"sig_frame"};
3749 static constexpr
char const *
const typestr{
"bool"};
3750 static constexpr
bool traverse{
false};
3751 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_sig_frame};
3752 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3753 using bind = Desc<SgAsmElfEHFrameEntryCI, bool SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_sig_frame>;
3757 using field_type = SgUnsignedCharList;
3758 static constexpr
size_t position{12};
3759 static constexpr
char const *
const name{
"instructions"};
3760 static constexpr
char const *
const typestr{
"SgUnsignedCharList"};
3761 static constexpr
bool traverse{
false};
3762 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_instructions};
3763 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3764 using bind = Desc<SgAsmElfEHFrameEntryCI, SgUnsignedCharList SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_instructions>;
3768 using field_type = SgAsmElfEHFrameEntryFDList*;
3769 static constexpr
size_t position{13};
3770 static constexpr
char const *
const name{
"fd_entries"};
3771 static constexpr
char const *
const typestr{
"SgAsmElfEHFrameEntryFDList*"};
3772 static constexpr
bool traverse{
true};
3773 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_fd_entries};
3774 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3775 using bind = Desc<SgAsmElfEHFrameEntryCI, SgAsmElfEHFrameEntryFDList* SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_fd_entries>;
3780 static constexpr
char const *
const name{
"AsmElfEHFrameEntryCI"};
3781 static constexpr
unsigned long variant{151};
3782 static constexpr
bool concrete{
true};
3784 using fields_t =
mp::List<describe_field_t<SgAsmElfEHFrameEntryCI,int,&SgAsmElfEHFrameEntryCI::p_version>,
describe_field_t<SgAsmElfEHFrameEntryCI,std::string,&SgAsmElfEHFrameEntryCI::p_augmentation_string>,
describe_field_t<SgAsmElfEHFrameEntryCI,uint64_t,&SgAsmElfEHFrameEntryCI::p_eh_data>,
describe_field_t<SgAsmElfEHFrameEntryCI,uint64_t,&SgAsmElfEHFrameEntryCI::p_code_alignment_factor>,
describe_field_t<SgAsmElfEHFrameEntryCI,int64_t,&SgAsmElfEHFrameEntryCI::p_data_alignment_factor>,
describe_field_t<SgAsmElfEHFrameEntryCI,uint64_t,&SgAsmElfEHFrameEntryCI::p_augmentation_data_length>,
describe_field_t<SgAsmElfEHFrameEntryCI,int,&SgAsmElfEHFrameEntryCI::p_lsda_encoding>,
describe_field_t<SgAsmElfEHFrameEntryCI,int,&SgAsmElfEHFrameEntryCI::p_prh_encoding>,
describe_field_t<SgAsmElfEHFrameEntryCI,unsigned,&SgAsmElfEHFrameEntryCI::p_prh_arg>,
describe_field_t<SgAsmElfEHFrameEntryCI,rose_addr_t,&SgAsmElfEHFrameEntryCI::p_prh_addr>,
describe_field_t<SgAsmElfEHFrameEntryCI,int,&SgAsmElfEHFrameEntryCI::p_addr_encoding>,
describe_field_t<SgAsmElfEHFrameEntryCI,bool,&SgAsmElfEHFrameEntryCI::p_sig_frame>,
describe_field_t<SgAsmElfEHFrameEntryCI,SgUnsignedCharList,&SgAsmElfEHFrameEntryCI::p_instructions>,
describe_field_t<SgAsmElfEHFrameEntryCI,SgAsmElfEHFrameEntryFDList*,&SgAsmElfEHFrameEntryCI::p_fd_entries>>;
3791 using field_type = SgAsmElfEHFrameEntryCIPtrList;
3792 static constexpr
size_t position{0};
3793 static constexpr
char const *
const name{
"entries"};
3794 static constexpr
char const *
const typestr{
"SgAsmElfEHFrameEntryCIPtrList"};
3795 static constexpr
bool traverse{
false};
3796 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCIList::p_entries};
3797 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3798 using bind = Desc<SgAsmElfEHFrameEntryCIList, SgAsmElfEHFrameEntryCIPtrList SgAsmElfEHFrameEntryCIList::*, &SgAsmElfEHFrameEntryCIList::p_entries>;
3803 static constexpr
char const *
const name{
"AsmElfEHFrameEntryCIList"};
3804 static constexpr
unsigned long variant{152};
3805 static constexpr
bool concrete{
true};
3815 static constexpr
size_t position{0};
3816 static constexpr
char const *
const name{
"begin_rva"};
3817 static constexpr
char const *
const typestr{
"rose_rva_t"};
3818 static constexpr
bool traverse{
false};