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{
"specificationDeclaration"};
725 static constexpr
char const *
const typestr{
"SgDeclarationStatement*"};
726 static constexpr
bool traverse{
false};
727 static constexpr
auto mbr_ptr{&SgAdaTaskBodyDecl::p_specificationDeclaration};
728 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
729 using bind = Desc<SgAdaTaskBodyDecl, SgDeclarationStatement* SgAdaTaskBodyDecl::*, &SgAdaTaskBodyDecl::p_specificationDeclaration>;
734 static constexpr
size_t position{2};
735 static constexpr
char const *
const name{
"definition"};
736 static constexpr
char const *
const typestr{
"SgAdaTaskBody*"};
737 static constexpr
bool traverse{
true};
738 static constexpr
auto mbr_ptr{&SgAdaTaskBodyDecl::p_definition};
739 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
740 using bind = Desc<SgAdaTaskBodyDecl, SgAdaTaskBody* SgAdaTaskBodyDecl::*, &SgAdaTaskBodyDecl::p_definition>;
745 static constexpr
char const *
const name{
"AdaTaskBodyDecl"};
746 static constexpr
unsigned long variant{21};
747 static constexpr
bool concrete{
true};
757 static constexpr
size_t position{0};
758 static constexpr
char const *
const name{
"body"};
759 static constexpr
char const *
const typestr{
"SgAdaTaskBody*"};
760 static constexpr
bool traverse{
false};
761 static constexpr
auto mbr_ptr{&SgAdaTaskSpec::p_body};
762 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
763 using bind = Desc<SgAdaTaskSpec, SgAdaTaskBody* SgAdaTaskSpec::*, &SgAdaTaskSpec::p_body>;
767 using field_type = SgDeclarationStatementPtrList;
768 static constexpr
size_t position{1};
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{2};
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};
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
size_t position{3};
939 static constexpr
char const *
const name{
"scope"};
940 static constexpr
char const *
const typestr{
"SgScopeStatement*"};
941 static constexpr
bool traverse{
false};
942 static constexpr
auto mbr_ptr{&SgAdaTaskTypeDecl::p_scope};
943 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
944 using bind = Desc<SgAdaTaskTypeDecl, SgScopeStatement* SgAdaTaskTypeDecl::*, &SgAdaTaskTypeDecl::p_scope>;
949 static constexpr
char const *
const name{
"AdaTaskTypeDecl"};
950 static constexpr
unsigned long variant{27};
951 static constexpr
bool concrete{
true};
953 using fields_t =
mp::List<describe_field_t<SgAdaTaskTypeDecl,SgName,&SgAdaTaskTypeDecl::p_name>,
describe_field_t<SgAdaTaskTypeDecl,SgAdaTaskSpec*,&SgAdaTaskTypeDecl::p_definition>,
describe_field_t<SgAdaTaskTypeDecl,SgAdaTaskType*,&SgAdaTaskTypeDecl::p_type>,
describe_field_t<SgAdaTaskTypeDecl,SgScopeStatement*,&SgAdaTaskTypeDecl::p_scope>>;
961 static constexpr
char const *
const name{
"AdaTypeConstraint"};
962 static constexpr
unsigned long variant{28};
963 static constexpr
bool concrete{
false};
973 static constexpr
char const *
const name{
"AddOp"};
974 static constexpr
unsigned long variant{29};
975 static constexpr
bool concrete{
true};
979 template <>
struct node_from_variant_t<29> {
using type =
SgAddOp; };
985 static constexpr
size_t position{0};
986 static constexpr
char const *
const name{
"originalExpressionTree"};
987 static constexpr
char const *
const typestr{
"SgExpression*"};
988 static constexpr
bool traverse{
false};
989 static constexpr
auto mbr_ptr{&SgAddressOfOp::p_originalExpressionTree};
990 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
991 using bind = Desc<SgAddressOfOp, SgExpression* SgAddressOfOp::*, &SgAddressOfOp::p_originalExpressionTree>;
996 static constexpr
char const *
const name{
"AddressOfOp"};
997 static constexpr
unsigned long variant{30};
998 static constexpr
bool concrete{
true};
1008 static constexpr
size_t position{0};
1009 static constexpr
char const *
const name{
"initializers"};
1010 static constexpr
char const *
const typestr{
"SgExprListExp*"};
1011 static constexpr
bool traverse{
true};
1013 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1014 using bind = Desc<SgAggregateInitializer, SgExprListExp* SgAggregateInitializer::*, &SgAggregateInitializer::p_initializers>;
1019 static constexpr
size_t position{1};
1020 static constexpr
char const *
const name{
"expression_type"};
1021 static constexpr
char const *
const typestr{
"SgType*"};
1022 static constexpr
bool traverse{
false};
1023 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_expression_type};
1024 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1025 using bind = Desc<SgAggregateInitializer, SgType* SgAggregateInitializer::*, &SgAggregateInitializer::p_expression_type>;
1029 using field_type = bool;
1030 static constexpr
size_t position{2};
1031 static constexpr
char const *
const name{
"need_explicit_braces"};
1032 static constexpr
char const *
const typestr{
"bool"};
1033 static constexpr
bool traverse{
false};
1034 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_need_explicit_braces};
1035 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1036 using bind = Desc<SgAggregateInitializer, bool SgAggregateInitializer::*, &SgAggregateInitializer::p_need_explicit_braces>;
1040 using field_type = bool;
1041 static constexpr
size_t position{3};
1042 static constexpr
char const *
const name{
"uses_compound_literal"};
1043 static constexpr
char const *
const typestr{
"bool"};
1044 static constexpr
bool traverse{
false};
1045 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_uses_compound_literal};
1046 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1047 using bind = Desc<SgAggregateInitializer, bool SgAggregateInitializer::*, &SgAggregateInitializer::p_uses_compound_literal>;
1051 using field_type = bool;
1052 static constexpr
size_t position{4};
1053 static constexpr
char const *
const name{
"requiresGlobalNameQualificationOnType"};
1054 static constexpr
char const *
const typestr{
"bool"};
1055 static constexpr
bool traverse{
false};
1056 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_requiresGlobalNameQualificationOnType};
1057 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1058 using bind = Desc<SgAggregateInitializer, bool SgAggregateInitializer::*, &SgAggregateInitializer::p_requiresGlobalNameQualificationOnType>;
1062 using field_type = int;
1063 static constexpr
size_t position{5};
1064 static constexpr
char const *
const name{
"name_qualification_length_for_type"};
1065 static constexpr
char const *
const typestr{
"int"};
1066 static constexpr
bool traverse{
false};
1067 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_name_qualification_length_for_type};
1068 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1069 using bind = Desc<SgAggregateInitializer, int SgAggregateInitializer::*, &SgAggregateInitializer::p_name_qualification_length_for_type>;
1073 using field_type = bool;
1074 static constexpr
size_t position{6};
1075 static constexpr
char const *
const name{
"type_elaboration_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_type_elaboration_required_for_type};
1079 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1080 using bind = Desc<SgAggregateInitializer, bool SgAggregateInitializer::*, &SgAggregateInitializer::p_type_elaboration_required_for_type>;
1084 using field_type = bool;
1085 static constexpr
size_t position{7};
1086 static constexpr
char const *
const name{
"global_qualification_required_for_type"};
1087 static constexpr
char const *
const typestr{
"bool"};
1088 static constexpr
bool traverse{
false};
1089 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_global_qualification_required_for_type};
1090 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1091 using bind = Desc<SgAggregateInitializer, bool SgAggregateInitializer::*, &SgAggregateInitializer::p_global_qualification_required_for_type>;
1096 static constexpr
size_t position{8};
1097 static constexpr
char const *
const name{
"originalExpressionTree"};
1098 static constexpr
char const *
const typestr{
"SgExpression*"};
1099 static constexpr
bool traverse{
false};
1100 static constexpr
auto mbr_ptr{&SgAggregateInitializer::p_originalExpressionTree};
1101 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1102 using bind = Desc<SgAggregateInitializer, SgExpression* SgAggregateInitializer::*, &SgAggregateInitializer::p_originalExpressionTree>;
1107 static constexpr
char const *
const name{
"AggregateInitializer"};
1108 static constexpr
unsigned long variant{31};
1109 static constexpr
bool concrete{
true};
1111 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>>;
1119 static constexpr
size_t position{0};
1120 static constexpr
char const *
const name{
"alias"};
1121 static constexpr
char const *
const typestr{
"SgSymbol*"};
1122 static constexpr
bool traverse{
true};
1123 static constexpr
auto mbr_ptr{&SgAliasSymbol::p_alias};
1124 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1125 using bind = Desc<SgAliasSymbol, SgSymbol* SgAliasSymbol::*, &SgAliasSymbol::p_alias>;
1129 using field_type = bool;
1130 static constexpr
size_t position{1};
1131 static constexpr
char const *
const name{
"isRenamed"};
1132 static constexpr
char const *
const typestr{
"bool"};
1133 static constexpr
bool traverse{
false};
1134 static constexpr
auto mbr_ptr{&SgAliasSymbol::p_isRenamed};
1135 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1136 using bind = Desc<SgAliasSymbol, bool SgAliasSymbol::*, &SgAliasSymbol::p_isRenamed>;
1141 static constexpr
size_t position{2};
1142 static constexpr
char const *
const name{
"new_name"};
1143 static constexpr
char const *
const typestr{
"SgName"};
1144 static constexpr
bool traverse{
false};
1145 static constexpr
auto mbr_ptr{&SgAliasSymbol::p_new_name};
1146 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1147 using bind = Desc<SgAliasSymbol, SgName SgAliasSymbol::*, &SgAliasSymbol::p_new_name>;
1151 using field_type = SgNodePtrList;
1152 static constexpr
size_t position{3};
1153 static constexpr
char const *
const name{
"causal_nodes"};
1154 static constexpr
char const *
const typestr{
"SgNodePtrList"};
1155 static constexpr
bool traverse{
false};
1156 static constexpr
auto mbr_ptr{&SgAliasSymbol::p_causal_nodes};
1157 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1158 using bind = Desc<SgAliasSymbol, SgNodePtrList SgAliasSymbol::*, &SgAliasSymbol::p_causal_nodes>;
1163 static constexpr
char const *
const name{
"AliasSymbol"};
1164 static constexpr
unsigned long variant{32};
1165 static constexpr
bool concrete{
true};
1167 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>>;
1175 static constexpr
size_t position{0};
1176 static constexpr
char const *
const name{
"expr_list"};
1177 static constexpr
char const *
const typestr{
"SgExprListExp*"};
1178 static constexpr
bool traverse{
true};
1179 static constexpr
auto mbr_ptr{&SgAllocateStatement::p_expr_list};
1180 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1181 using bind = Desc<SgAllocateStatement, SgExprListExp* SgAllocateStatement::*, &SgAllocateStatement::p_expr_list>;
1186 static constexpr
size_t position{1};
1187 static constexpr
char const *
const name{
"stat_expression"};
1188 static constexpr
char const *
const typestr{
"SgExpression*"};
1189 static constexpr
bool traverse{
true};
1190 static constexpr
auto mbr_ptr{&SgAllocateStatement::p_stat_expression};
1191 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1192 using bind = Desc<SgAllocateStatement, SgExpression* SgAllocateStatement::*, &SgAllocateStatement::p_stat_expression>;
1197 static constexpr
size_t position{2};
1198 static constexpr
char const *
const name{
"errmsg_expression"};
1199 static constexpr
char const *
const typestr{
"SgExpression*"};
1200 static constexpr
bool traverse{
true};
1201 static constexpr
auto mbr_ptr{&SgAllocateStatement::p_errmsg_expression};
1202 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1203 using bind = Desc<SgAllocateStatement, SgExpression* SgAllocateStatement::*, &SgAllocateStatement::p_errmsg_expression>;
1208 static constexpr
size_t position{3};
1209 static constexpr
char const *
const name{
"source_expression"};
1210 static constexpr
char const *
const typestr{
"SgExpression*"};
1211 static constexpr
bool traverse{
true};
1212 static constexpr
auto mbr_ptr{&SgAllocateStatement::p_source_expression};
1213 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1214 using bind = Desc<SgAllocateStatement, SgExpression* SgAllocateStatement::*, &SgAllocateStatement::p_source_expression>;
1219 static constexpr
char const *
const name{
"AllocateStatement"};
1220 static constexpr
unsigned long variant{33};
1221 static constexpr
bool concrete{
true};
1223 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>>;
1231 static constexpr
char const *
const name{
"AndAssignOp"};
1232 static constexpr
unsigned long variant{34};
1233 static constexpr
bool concrete{
true};
1243 static constexpr
char const *
const name{
"AndOp"};
1244 static constexpr
unsigned long variant{35};
1245 static constexpr
bool concrete{
true};
1255 static constexpr
size_t position{0};
1256 static constexpr
char const *
const name{
"conditional"};
1257 static constexpr
char const *
const typestr{
"SgExpression*"};
1258 static constexpr
bool traverse{
true};
1259 static constexpr
auto mbr_ptr{&SgArithmeticIfStatement::p_conditional};
1260 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1261 using bind = Desc<SgArithmeticIfStatement, SgExpression* SgArithmeticIfStatement::*, &SgArithmeticIfStatement::p_conditional>;
1266 static constexpr
size_t position{1};
1267 static constexpr
char const *
const name{
"less_label"};
1268 static constexpr
char const *
const typestr{
"SgLabelRefExp*"};
1269 static constexpr
bool traverse{
false};
1270 static constexpr
auto mbr_ptr{&SgArithmeticIfStatement::p_less_label};
1271 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1272 using bind = Desc<SgArithmeticIfStatement, SgLabelRefExp* SgArithmeticIfStatement::*, &SgArithmeticIfStatement::p_less_label>;
1277 static constexpr
size_t position{2};
1278 static constexpr
char const *
const name{
"equal_label"};
1279 static constexpr
char const *
const typestr{
"SgLabelRefExp*"};
1280 static constexpr
bool traverse{
false};
1281 static constexpr
auto mbr_ptr{&SgArithmeticIfStatement::p_equal_label};
1282 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1283 using bind = Desc<SgArithmeticIfStatement, SgLabelRefExp* SgArithmeticIfStatement::*, &SgArithmeticIfStatement::p_equal_label>;
1288 static constexpr
size_t position{3};
1289 static constexpr
char const *
const name{
"greater_label"};
1290 static constexpr
char const *
const typestr{
"SgLabelRefExp*"};
1291 static constexpr
bool traverse{
false};
1292 static constexpr
auto mbr_ptr{&SgArithmeticIfStatement::p_greater_label};
1293 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1294 using bind = Desc<SgArithmeticIfStatement, SgLabelRefExp* SgArithmeticIfStatement::*, &SgArithmeticIfStatement::p_greater_label>;
1299 static constexpr
char const *
const name{
"ArithmeticIfStatement"};
1300 static constexpr
unsigned long variant{36};
1301 static constexpr
bool concrete{
true};
1303 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>>;
1311 static constexpr
size_t position{0};
1312 static constexpr
char const *
const name{
"base_type"};
1313 static constexpr
char const *
const typestr{
"SgType*"};
1314 static constexpr
bool traverse{
false};
1315 static constexpr
auto mbr_ptr{&SgArrayType::p_base_type};
1316 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1317 using bind = Desc<SgArrayType, SgType* SgArrayType::*, &SgArrayType::p_base_type>;
1322 static constexpr
size_t position{1};
1323 static constexpr
char const *
const name{
"index"};
1324 static constexpr
char const *
const typestr{
"SgExpression*"};
1325 static constexpr
bool traverse{
true};
1326 static constexpr
auto mbr_ptr{&SgArrayType::p_index};
1327 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1328 using bind = Desc<SgArrayType, SgExpression* SgArrayType::*, &SgArrayType::p_index>;
1333 static constexpr
size_t position{2};
1334 static constexpr
char const *
const name{
"dim_info"};
1335 static constexpr
char const *
const typestr{
"SgExprListExp*"};
1336 static constexpr
bool traverse{
true};
1337 static constexpr
auto mbr_ptr{&SgArrayType::p_dim_info};
1338 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1339 using bind = Desc<SgArrayType, SgExprListExp* SgArrayType::*, &SgArrayType::p_dim_info>;
1343 using field_type = int;
1344 static constexpr
size_t position{3};
1345 static constexpr
char const *
const name{
"rank"};
1346 static constexpr
char const *
const typestr{
"int"};
1347 static constexpr
bool traverse{
false};
1348 static constexpr
auto mbr_ptr{&SgArrayType::p_rank};
1349 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1350 using bind = Desc<SgArrayType, int SgArrayType::*, &SgArrayType::p_rank>;
1354 using field_type = int;
1355 static constexpr
size_t position{4};
1356 static constexpr
char const *
const name{
"number_of_elements"};
1357 static constexpr
char const *
const typestr{
"int"};
1358 static constexpr
bool traverse{
false};
1359 static constexpr
auto mbr_ptr{&SgArrayType::p_number_of_elements};
1360 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1361 using bind = Desc<SgArrayType, int SgArrayType::*, &SgArrayType::p_number_of_elements>;
1365 using field_type = bool;
1366 static constexpr
size_t position{5};
1367 static constexpr
char const *
const name{
"is_variable_length_array"};
1368 static constexpr
char const *
const typestr{
"bool"};
1369 static constexpr
bool traverse{
false};
1370 static constexpr
auto mbr_ptr{&SgArrayType::p_is_variable_length_array};
1371 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1372 using bind = Desc<SgArrayType, bool SgArrayType::*, &SgArrayType::p_is_variable_length_array>;
1377 static constexpr
char const *
const name{
"ArrayType"};
1378 static constexpr
unsigned long variant{37};
1379 static constexpr
bool concrete{
true};
1381 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>>;
1389 static constexpr
char const *
const name{
"ArrowExp"};
1390 static constexpr
unsigned long variant{38};
1391 static constexpr
bool concrete{
true};
1401 static constexpr
char const *
const name{
"ArrowStarOp"};
1402 static constexpr
unsigned long variant{39};
1403 static constexpr
bool concrete{
true};
1412 using field_type = std::string;
1413 static constexpr
size_t position{0};
1414 static constexpr
char const *
const name{
"string"};
1415 static constexpr
char const *
const typestr{
"std::string"};
1416 static constexpr
bool traverse{
false};
1417 static constexpr
auto mbr_ptr{&SgAsmBasicString::p_string};
1418 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1419 using bind = Desc<SgAsmBasicString, std::string SgAsmBasicString::*, &SgAsmBasicString::p_string>;
1424 static constexpr
char const *
const name{
"AsmBasicString"};
1425 static constexpr
unsigned long variant{46};
1426 static constexpr
bool concrete{
true};
1436 static constexpr
char const *
const name{
"AsmBinaryAdd"};
1437 static constexpr
unsigned long variant{47};
1438 static constexpr
bool concrete{
true};
1448 static constexpr
char const *
const name{
"AsmBinaryAsr"};
1449 static constexpr
unsigned long variant{50};
1450 static constexpr
bool concrete{
true};
1460 static constexpr
char const *
const name{
"AsmBinaryDivide"};
1461 static constexpr
unsigned long variant{51};
1462 static constexpr
bool concrete{
true};
1472 static constexpr
size_t position{0};
1473 static constexpr
char const *
const name{
"lhs"};
1474 static constexpr
char const *
const typestr{
"SgAsmExpression*"};
1475 static constexpr
bool traverse{
true};
1476 static constexpr
auto mbr_ptr{&SgAsmBinaryExpression::p_lhs};
1477 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1478 using bind = Desc<SgAsmBinaryExpression, SgAsmExpression* SgAsmBinaryExpression::*, &SgAsmBinaryExpression::p_lhs>;
1483 static constexpr
size_t position{1};
1484 static constexpr
char const *
const name{
"rhs"};
1485 static constexpr
char const *
const typestr{
"SgAsmExpression*"};
1486 static constexpr
bool traverse{
true};
1487 static constexpr
auto mbr_ptr{&SgAsmBinaryExpression::p_rhs};
1488 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1489 using bind = Desc<SgAsmBinaryExpression, SgAsmExpression* SgAsmBinaryExpression::*, &SgAsmBinaryExpression::p_rhs>;
1494 static constexpr
char const *
const name{
"AsmBinaryExpression"};
1495 static constexpr
unsigned long variant{52};
1496 static constexpr
bool concrete{
false};
1497 using subclasses_t =
mp::List<SgAsmBinaryAdd, SgAsmBinaryAsr, SgAsmBinaryConcat, SgAsmBinaryDivide, SgAsmBinaryLsl, SgAsmBinaryLsr, SgAsmBinaryMod, SgAsmBinaryMsl, SgAsmBinaryMultiply, SgAsmBinaryPostupdate, SgAsmBinaryPreupdate, SgAsmBinaryRor, SgAsmBinarySubtract>;
1506 static constexpr
char const *
const name{
"AsmBinaryLsl"};
1507 static constexpr
unsigned long variant{53};
1508 static constexpr
bool concrete{
true};
1518 static constexpr
char const *
const name{
"AsmBinaryLsr"};
1519 static constexpr
unsigned long variant{54};
1520 static constexpr
bool concrete{
true};
1530 static constexpr
char const *
const name{
"AsmBinaryMod"};
1531 static constexpr
unsigned long variant{55};
1532 static constexpr
bool concrete{
true};
1542 static constexpr
char const *
const name{
"AsmBinaryMsl"};
1543 static constexpr
unsigned long variant{56};
1544 static constexpr
bool concrete{
true};
1554 static constexpr
char const *
const name{
"AsmBinaryMultiply"};
1555 static constexpr
unsigned long variant{57};
1556 static constexpr
bool concrete{
true};
1566 static constexpr
char const *
const name{
"AsmBinaryRor"};
1567 static constexpr
unsigned long variant{58};
1568 static constexpr
bool concrete{
true};
1578 static constexpr
char const *
const name{
"AsmBinarySubtract"};
1579 static constexpr
unsigned long variant{59};
1580 static constexpr
bool concrete{
true};
1589 using field_type = rose_addr_t;
1590 static constexpr
size_t position{0};
1591 static constexpr
char const *
const name{
"id"};
1592 static constexpr
char const *
const typestr{
"rose_addr_t"};
1593 static constexpr
bool traverse{
false};
1594 static constexpr
auto mbr_ptr{&SgAsmBlock::p_id};
1595 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1596 using bind = Desc<SgAsmBlock, rose_addr_t SgAsmBlock::*, &SgAsmBlock::p_id>;
1600 using field_type = unsigned;
1601 static constexpr
size_t position{1};
1602 static constexpr
char const *
const name{
"reason"};
1603 static constexpr
char const *
const typestr{
"unsigned"};
1604 static constexpr
bool traverse{
false};
1605 static constexpr
auto mbr_ptr{&SgAsmBlock::p_reason};
1606 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1607 using bind = Desc<SgAsmBlock, unsigned SgAsmBlock::*, &SgAsmBlock::p_reason>;
1611 using field_type = SgAsmStatementPtrList;
1612 static constexpr
size_t position{2};
1613 static constexpr
char const *
const name{
"statementList"};
1614 static constexpr
char const *
const typestr{
"SgAsmStatementPtrList"};
1615 static constexpr
bool traverse{
true};
1616 static constexpr
auto mbr_ptr{&SgAsmBlock::p_statementList};
1617 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1618 using bind = Desc<SgAsmBlock, SgAsmStatementPtrList SgAsmBlock::*, &SgAsmBlock::p_statementList>;
1622 using field_type = SgAsmIntegerValuePtrList;
1623 static constexpr
size_t position{3};
1624 static constexpr
char const *
const name{
"successors"};
1625 static constexpr
char const *
const typestr{
"SgAsmIntegerValuePtrList"};
1626 static constexpr
bool traverse{
false};
1627 static constexpr
auto mbr_ptr{&SgAsmBlock::p_successors};
1628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1629 using bind = Desc<SgAsmBlock, SgAsmIntegerValuePtrList SgAsmBlock::*, &SgAsmBlock::p_successors>;
1633 using field_type = bool;
1634 static constexpr
size_t position{4};
1635 static constexpr
char const *
const name{
"successors_complete"};
1636 static constexpr
char const *
const typestr{
"bool"};
1637 static constexpr
bool traverse{
false};
1638 static constexpr
auto mbr_ptr{&SgAsmBlock::p_successors_complete};
1639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1640 using bind = Desc<SgAsmBlock, bool SgAsmBlock::*, &SgAsmBlock::p_successors_complete>;
1645 static constexpr
size_t position{5};
1646 static constexpr
char const *
const name{
"immediate_dominator"};
1647 static constexpr
char const *
const typestr{
"SgAsmBlock*"};
1648 static constexpr
bool traverse{
false};
1649 static constexpr
auto mbr_ptr{&SgAsmBlock::p_immediate_dominator};
1650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1651 using bind = Desc<SgAsmBlock, SgAsmBlock* SgAsmBlock::*, &SgAsmBlock::p_immediate_dominator>;
1655 using field_type = size_t;
1656 static constexpr
size_t position{6};
1657 static constexpr
char const *
const name{
"cached_vertex"};
1658 static constexpr
char const *
const typestr{
"size_t"};
1659 static constexpr
bool traverse{
false};
1660 static constexpr
auto mbr_ptr{&SgAsmBlock::p_cached_vertex};
1661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1662 using bind = Desc<SgAsmBlock, size_t SgAsmBlock::*, &SgAsmBlock::p_cached_vertex>;
1666 using field_type = double;
1667 static constexpr
size_t position{7};
1668 static constexpr
char const *
const name{
"code_likelihood"};
1669 static constexpr
char const *
const typestr{
"double"};
1670 static constexpr
bool traverse{
false};
1671 static constexpr
auto mbr_ptr{&SgAsmBlock::p_code_likelihood};
1672 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1673 using bind = Desc<SgAsmBlock, double SgAsmBlock::*, &SgAsmBlock::p_code_likelihood>;
1677 using field_type = int64_t;
1678 static constexpr
size_t position{8};
1679 static constexpr
char const *
const name{
"stackDeltaOut"};
1680 static constexpr
char const *
const typestr{
"int64_t"};
1681 static constexpr
bool traverse{
false};
1682 static constexpr
auto mbr_ptr{&SgAsmBlock::p_stackDeltaOut};
1683 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1684 using bind = Desc<SgAsmBlock, int64_t SgAsmBlock::*, &SgAsmBlock::p_stackDeltaOut>;
1689 static constexpr
char const *
const name{
"AsmBlock"};
1690 static constexpr
unsigned long variant{62};
1691 static constexpr
bool concrete{
true};
1693 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>>;
1701 static constexpr
char const *
const name{
"AsmCoffStrtab"};
1702 static constexpr
unsigned long variant{63};
1703 static constexpr
bool concrete{
true};
1712 using field_type = std::string;
1713 static constexpr
size_t position{0};
1714 static constexpr
char const *
const name{
"st_name"};
1715 static constexpr
char const *
const typestr{
"std::string"};
1716 static constexpr
bool traverse{
false};
1717 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_st_name};
1718 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1719 using bind = Desc<SgAsmCoffSymbol, std::string SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_name>;
1723 using field_type = rose_addr_t;
1724 static constexpr
size_t position{1};
1725 static constexpr
char const *
const name{
"st_name_offset"};
1726 static constexpr
char const *
const typestr{
"rose_addr_t"};
1727 static constexpr
bool traverse{
false};
1728 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_st_name_offset};
1729 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1730 using bind = Desc<SgAsmCoffSymbol, rose_addr_t SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_name_offset>;
1734 using field_type = int;
1735 static constexpr
size_t position{2};
1736 static constexpr
char const *
const name{
"st_section_num"};
1737 static constexpr
char const *
const typestr{
"int"};
1738 static constexpr
bool traverse{
false};
1739 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_st_section_num};
1740 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1741 using bind = Desc<SgAsmCoffSymbol, int SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_section_num>;
1745 using field_type = unsigned;
1746 static constexpr
size_t position{3};
1747 static constexpr
char const *
const name{
"st_type"};
1748 static constexpr
char const *
const typestr{
"unsigned"};
1749 static constexpr
bool traverse{
false};
1750 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_st_type};
1751 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1752 using bind = Desc<SgAsmCoffSymbol, unsigned SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_type>;
1756 using field_type = unsigned;
1757 static constexpr
size_t position{4};
1758 static constexpr
char const *
const name{
"st_storage_class"};
1759 static constexpr
char const *
const typestr{
"unsigned"};
1760 static constexpr
bool traverse{
false};
1761 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_st_storage_class};
1762 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1763 using bind = Desc<SgAsmCoffSymbol, unsigned SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_storage_class>;
1767 using field_type = unsigned;
1768 static constexpr
size_t position{5};
1769 static constexpr
char const *
const name{
"st_num_aux_entries"};
1770 static constexpr
char const *
const typestr{
"unsigned"};
1771 static constexpr
bool traverse{
false};
1772 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_st_num_aux_entries};
1773 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1774 using bind = Desc<SgAsmCoffSymbol, unsigned SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_num_aux_entries>;
1778 using field_type = SgUnsignedCharList;
1779 static constexpr
size_t position{6};
1780 static constexpr
char const *
const name{
"aux_data"};
1781 static constexpr
char const *
const typestr{
"SgUnsignedCharList"};
1782 static constexpr
bool traverse{
false};
1783 static constexpr
auto mbr_ptr{&SgAsmCoffSymbol::p_aux_data};
1784 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1785 using bind = Desc<SgAsmCoffSymbol, SgUnsignedCharList SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_aux_data>;
1790 static constexpr
char const *
const name{
"AsmCoffSymbol"};
1791 static constexpr
unsigned long variant{64};
1792 static constexpr
bool concrete{
true};
1794 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>>;
1801 using field_type = SgAsmCoffSymbolPtrList;
1802 static constexpr
size_t position{0};
1803 static constexpr
char const *
const name{
"symbols"};
1804 static constexpr
char const *
const typestr{
"SgAsmCoffSymbolPtrList"};
1805 static constexpr
bool traverse{
true};
1806 static constexpr
auto mbr_ptr{&SgAsmCoffSymbolList::p_symbols};
1807 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1808 using bind = Desc<SgAsmCoffSymbolList, SgAsmCoffSymbolPtrList SgAsmCoffSymbolList::*, &SgAsmCoffSymbolList::p_symbols>;
1813 static constexpr
char const *
const name{
"AsmCoffSymbolList"};
1814 static constexpr
unsigned long variant{65};
1815 static constexpr
bool concrete{
true};
1825 static constexpr
size_t position{0};
1826 static constexpr
char const *
const name{
"strtab"};
1827 static constexpr
char const *
const typestr{
"SgAsmGenericSection*"};
1828 static constexpr
bool traverse{
false};
1829 static constexpr
auto mbr_ptr{&SgAsmCoffSymbolTable::p_strtab};
1830 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1831 using bind = Desc<SgAsmCoffSymbolTable, SgAsmGenericSection* SgAsmCoffSymbolTable::*, &SgAsmCoffSymbolTable::p_strtab>;
1836 static constexpr
size_t position{1};
1837 static constexpr
char const *
const name{
"symbols"};
1838 static constexpr
char const *
const typestr{
"SgAsmCoffSymbolList*"};
1839 static constexpr
bool traverse{
true};
1840 static constexpr
auto mbr_ptr{&SgAsmCoffSymbolTable::p_symbols};
1841 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1842 using bind = Desc<SgAsmCoffSymbolTable, SgAsmCoffSymbolList* SgAsmCoffSymbolTable::*, &SgAsmCoffSymbolTable::p_symbols>;
1847 static constexpr
char const *
const name{
"AsmCoffSymbolTable"};
1848 static constexpr
unsigned long variant{66};
1849 static constexpr
bool concrete{
true};
1859 static constexpr
size_t position{0};
1860 static constexpr
char const *
const name{
"subexpression"};
1861 static constexpr
char const *
const typestr{
"SgAsmExpression*"};
1862 static constexpr
bool traverse{
true};
1863 static constexpr
auto mbr_ptr{&SgAsmCommonSubExpression::p_subexpression};
1864 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1865 using bind = Desc<SgAsmCommonSubExpression, SgAsmExpression* SgAsmCommonSubExpression::*, &SgAsmCommonSubExpression::p_subexpression>;
1870 static constexpr
char const *
const name{
"AsmCommonSubExpression"};
1871 static constexpr
unsigned long variant{67};
1872 static constexpr
bool concrete{
true};
1881 using field_type =
unsigned long;
1882 static constexpr
size_t position{0};
1883 static constexpr
char const *
const name{
"bit_flags"};
1884 static constexpr
char const *
const typestr{
"unsigned long"};
1885 static constexpr
bool traverse{
false};
1886 static constexpr
auto mbr_ptr{&SgAsmControlFlagsExpression::p_bit_flags};
1887 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1888 using bind = Desc<SgAsmControlFlagsExpression, unsigned long SgAsmControlFlagsExpression::*, &SgAsmControlFlagsExpression::p_bit_flags>;
1893 static constexpr
char const *
const name{
"AsmControlFlagsExpression"};
1894 static constexpr
unsigned long variant{68};
1895 static constexpr
bool concrete{
true};
1905 static constexpr
size_t position{0};
1906 static constexpr
char const *
const name{
"bitVector"};
1907 static constexpr
char const *
const typestr{
"Sawyer::Container::BitVector"};
1908 static constexpr
bool traverse{
false};
1909 static constexpr
auto mbr_ptr{&SgAsmConstantExpression::p_bitVector};
1910 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1911 using bind = Desc<SgAsmConstantExpression, Sawyer::Container::BitVector SgAsmConstantExpression::*, &SgAsmConstantExpression::p_bitVector>;
1916 static constexpr
char const *
const name{
"AsmConstantExpression"};
1917 static constexpr
unsigned long variant{69};
1918 static constexpr
bool concrete{
false};
1927 using field_type = unsigned;
1928 static constexpr
size_t position{0};
1929 static constexpr
char const *
const name{
"e_res1"};
1930 static constexpr
char const *
const typestr{
"unsigned"};
1931 static constexpr
bool traverse{
false};
1932 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_res1};
1933 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1934 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_res1>;
1938 using field_type = unsigned;
1939 static constexpr
size_t position{1};
1940 static constexpr
char const *
const name{
"e_oemid"};
1941 static constexpr
char const *
const typestr{
"unsigned"};
1942 static constexpr
bool traverse{
false};
1943 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_oemid};
1944 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1945 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_oemid>;
1949 using field_type = unsigned;
1950 static constexpr
size_t position{2};
1951 static constexpr
char const *
const name{
"e_oeminfo"};
1952 static constexpr
char const *
const typestr{
"unsigned"};
1953 static constexpr
bool traverse{
false};
1954 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_oeminfo};
1955 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1956 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_oeminfo>;
1960 using field_type = unsigned;
1961 static constexpr
size_t position{3};
1962 static constexpr
char const *
const name{
"e_res2"};
1963 static constexpr
char const *
const typestr{
"unsigned"};
1964 static constexpr
bool traverse{
false};
1965 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_res2};
1966 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1967 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_res2>;
1971 using field_type = unsigned;
1972 static constexpr
size_t position{4};
1973 static constexpr
char const *
const name{
"e_res3"};
1974 static constexpr
char const *
const typestr{
"unsigned"};
1975 static constexpr
bool traverse{
false};
1976 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_res3};
1977 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1978 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_res3>;
1982 using field_type = unsigned;
1983 static constexpr
size_t position{5};
1984 static constexpr
char const *
const name{
"e_res4"};
1985 static constexpr
char const *
const typestr{
"unsigned"};
1986 static constexpr
bool traverse{
false};
1987 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_res4};
1988 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1989 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_res4>;
1993 using field_type = unsigned;
1994 static constexpr
size_t position{6};
1995 static constexpr
char const *
const name{
"e_res5"};
1996 static constexpr
char const *
const typestr{
"unsigned"};
1997 static constexpr
bool traverse{
false};
1998 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_res5};
1999 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2000 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_res5>;
2004 using field_type = unsigned;
2005 static constexpr
size_t position{7};
2006 static constexpr
char const *
const name{
"e_res6"};
2007 static constexpr
char const *
const typestr{
"unsigned"};
2008 static constexpr
bool traverse{
false};
2009 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_res6};
2010 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2011 using bind = Desc<SgAsmDOSExtendedHeader, unsigned SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_res6>;
2015 using field_type = rose_addr_t;
2016 static constexpr
size_t position{8};
2017 static constexpr
char const *
const name{
"e_lfanew"};
2018 static constexpr
char const *
const typestr{
"rose_addr_t"};
2019 static constexpr
bool traverse{
false};
2020 static constexpr
auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_lfanew};
2021 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2022 using bind = Desc<SgAsmDOSExtendedHeader, rose_addr_t SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_lfanew>;
2027 static constexpr
char const *
const name{
"AsmDOSExtendedHeader"};
2028 static constexpr
unsigned long variant{70};
2029 static constexpr
bool concrete{
true};
2031 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>>;
2038 using field_type = uint16_t;
2039 static constexpr
size_t position{0};
2040 static constexpr
char const *
const name{
"e_last_page_size"};
2041 static constexpr
char const *
const typestr{
"uint16_t"};
2042 static constexpr
bool traverse{
false};
2043 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_last_page_size};
2044 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2045 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_last_page_size>;
2049 using field_type = uint16_t;
2050 static constexpr
size_t position{1};
2051 static constexpr
char const *
const name{
"e_total_pages"};
2052 static constexpr
char const *
const typestr{
"uint16_t"};
2053 static constexpr
bool traverse{
false};
2054 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_total_pages};
2055 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2056 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_total_pages>;
2060 using field_type = uint16_t;
2061 static constexpr
size_t position{2};
2062 static constexpr
char const *
const name{
"e_nrelocs"};
2063 static constexpr
char const *
const typestr{
"uint16_t"};
2064 static constexpr
bool traverse{
false};
2065 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_nrelocs};
2066 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2067 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_nrelocs>;
2071 using field_type = uint16_t;
2072 static constexpr
size_t position{3};
2073 static constexpr
char const *
const name{
"e_header_paragraphs"};
2074 static constexpr
char const *
const typestr{
"uint16_t"};
2075 static constexpr
bool traverse{
false};
2076 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_header_paragraphs};
2077 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2078 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_header_paragraphs>;
2082 using field_type = uint16_t;
2083 static constexpr
size_t position{4};
2084 static constexpr
char const *
const name{
"e_minalloc"};
2085 static constexpr
char const *
const typestr{
"uint16_t"};
2086 static constexpr
bool traverse{
false};
2087 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_minalloc};
2088 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2089 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_minalloc>;
2093 using field_type = uint16_t;
2094 static constexpr
size_t position{5};
2095 static constexpr
char const *
const name{
"e_maxalloc"};
2096 static constexpr
char const *
const typestr{
"uint16_t"};
2097 static constexpr
bool traverse{
false};
2098 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_maxalloc};
2099 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2100 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_maxalloc>;
2104 using field_type = uint16_t;
2105 static constexpr
size_t position{6};
2106 static constexpr
char const *
const name{
"e_ss"};
2107 static constexpr
char const *
const typestr{
"uint16_t"};
2108 static constexpr
bool traverse{
false};
2109 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_ss};
2110 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2111 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_ss>;
2115 using field_type = uint16_t;
2116 static constexpr
size_t position{7};
2117 static constexpr
char const *
const name{
"e_sp"};
2118 static constexpr
char const *
const typestr{
"uint16_t"};
2119 static constexpr
bool traverse{
false};
2120 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_sp};
2121 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2122 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_sp>;
2126 using field_type = uint16_t;
2127 static constexpr
size_t position{8};
2128 static constexpr
char const *
const name{
"e_cksum"};
2129 static constexpr
char const *
const typestr{
"uint16_t"};
2130 static constexpr
bool traverse{
false};
2131 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_cksum};
2132 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2133 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_cksum>;
2137 using field_type = uint16_t;
2138 static constexpr
size_t position{9};
2139 static constexpr
char const *
const name{
"e_ip"};
2140 static constexpr
char const *
const typestr{
"uint16_t"};
2141 static constexpr
bool traverse{
false};
2142 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_ip};
2143 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2144 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_ip>;
2148 using field_type = uint16_t;
2149 static constexpr
size_t position{10};
2150 static constexpr
char const *
const name{
"e_cs"};
2151 static constexpr
char const *
const typestr{
"uint16_t"};
2152 static constexpr
bool traverse{
false};
2153 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_cs};
2154 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2155 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_cs>;
2159 using field_type = uint16_t;
2160 static constexpr
size_t position{11};
2161 static constexpr
char const *
const name{
"e_overlay"};
2162 static constexpr
char const *
const typestr{
"uint16_t"};
2163 static constexpr
bool traverse{
false};
2164 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_overlay};
2165 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2166 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_overlay>;
2170 using field_type = rose_addr_t;
2171 static constexpr
size_t position{12};
2172 static constexpr
char const *
const name{
"e_relocs_offset"};
2173 static constexpr
char const *
const typestr{
"rose_addr_t"};
2174 static constexpr
bool traverse{
false};
2175 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_relocs_offset};
2176 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2177 using bind = Desc<SgAsmDOSFileHeader, rose_addr_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_relocs_offset>;
2181 using field_type = unsigned;
2182 static constexpr
size_t position{13};
2183 static constexpr
char const *
const name{
"e_res1"};
2184 static constexpr
char const *
const typestr{
"unsigned"};
2185 static constexpr
bool traverse{
false};
2186 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_e_res1};
2187 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2188 using bind = Desc<SgAsmDOSFileHeader, unsigned SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_res1>;
2193 static constexpr
size_t position{14};
2194 static constexpr
char const *
const name{
"relocs"};
2195 static constexpr
char const *
const typestr{
"SgAsmGenericSection*"};
2196 static constexpr
bool traverse{
false};
2197 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_relocs};
2198 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2199 using bind = Desc<SgAsmDOSFileHeader, SgAsmGenericSection* SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_relocs>;
2204 static constexpr
size_t position{15};
2205 static constexpr
char const *
const name{
"rm_section"};
2206 static constexpr
char const *
const typestr{
"SgAsmGenericSection*"};
2207 static constexpr
bool traverse{
false};
2208 static constexpr
auto mbr_ptr{&SgAsmDOSFileHeader::p_rm_section};
2209 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2210 using bind = Desc<SgAsmDOSFileHeader, SgAsmGenericSection* SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_rm_section>;
2215 static constexpr
char const *
const name{
"AsmDOSFileHeader"};
2216 static constexpr
unsigned long variant{71};
2217 static constexpr
bool concrete{
true};
2219 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>>;
2227 static constexpr
char const *
const name{
"AsmSynthesizedDataStructureDeclaration"};
2228 static constexpr
unsigned long variant{72};
2229 static constexpr
bool concrete{
true};
2239 static constexpr
char const *
const name{
"AsmSynthesizedDeclaration"};
2240 static constexpr
unsigned long variant{73};
2241 static constexpr
bool concrete{
false};
2251 static constexpr
char const *
const name{
"AsmDirectRegisterExpression"};
2252 static constexpr
unsigned long variant{74};
2253 static constexpr
bool concrete{
true};
2263 static constexpr
char const *
const name{
"AsmDwarfAccessDeclaration"};
2264 static constexpr
unsigned long variant{75};
2265 static constexpr
bool concrete{
true};
2275 static constexpr
size_t position{0};
2276 static constexpr
char const *
const name{
"body"};
2277 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2278 static constexpr
bool traverse{
true};
2279 static constexpr
auto mbr_ptr{&SgAsmDwarfArrayType::p_body};
2280 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2281 using bind = Desc<SgAsmDwarfArrayType, SgAsmDwarfConstructList* SgAsmDwarfArrayType::*, &SgAsmDwarfArrayType::p_body>;
2286 static constexpr
char const *
const name{
"AsmDwarfArrayType"};
2287 static constexpr
unsigned long variant{76};
2288 static constexpr
bool concrete{
true};
2298 static constexpr
char const *
const name{
"AsmDwarfBaseType"};
2299 static constexpr
unsigned long variant{77};
2300 static constexpr
bool concrete{
true};
2310 static constexpr
char const *
const name{
"AsmDwarfCatchBlock"};
2311 static constexpr
unsigned long variant{78};
2312 static constexpr
bool concrete{
true};
2322 static constexpr
char const *
const name{
"AsmDwarfClassTemplate"};
2323 static constexpr
unsigned long variant{79};
2324 static constexpr
bool concrete{
true};
2334 static constexpr
size_t position{0};
2335 static constexpr
char const *
const name{
"body"};
2336 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2337 static constexpr
bool traverse{
true};
2338 static constexpr
auto mbr_ptr{&SgAsmDwarfClassType::p_body};
2339 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2340 using bind = Desc<SgAsmDwarfClassType, SgAsmDwarfConstructList* SgAsmDwarfClassType::*, &SgAsmDwarfClassType::p_body>;
2345 static constexpr
char const *
const name{
"AsmDwarfClassType"};
2346 static constexpr
unsigned long variant{80};
2347 static constexpr
bool concrete{
true};
2357 static constexpr
size_t position{0};
2358 static constexpr
char const *
const name{
"body"};
2359 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2360 static constexpr
bool traverse{
true};
2361 static constexpr
auto mbr_ptr{&SgAsmDwarfCommonBlock::p_body};
2362 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2363 using bind = Desc<SgAsmDwarfCommonBlock, SgAsmDwarfConstructList* SgAsmDwarfCommonBlock::*, &SgAsmDwarfCommonBlock::p_body>;
2368 static constexpr
char const *
const name{
"AsmDwarfCommonBlock"};
2369 static constexpr
unsigned long variant{81};
2370 static constexpr
bool concrete{
true};
2380 static constexpr
char const *
const name{
"AsmDwarfCommonInclusion"};
2381 static constexpr
unsigned long variant{82};
2382 static constexpr
bool concrete{
true};
2391 using field_type = std::string;
2392 static constexpr
size_t position{0};
2393 static constexpr
char const *
const name{
"producer"};
2394 static constexpr
char const *
const typestr{
"std::string"};
2395 static constexpr
bool traverse{
false};
2396 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_producer};
2397 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2398 using bind = Desc<SgAsmDwarfCompilationUnit, std::string SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_producer>;
2402 using field_type = std::string;
2403 static constexpr
size_t position{1};
2404 static constexpr
char const *
const name{
"language"};
2405 static constexpr
char const *
const typestr{
"std::string"};
2406 static constexpr
bool traverse{
false};
2407 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_language};
2408 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2409 using bind = Desc<SgAsmDwarfCompilationUnit, std::string SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_language>;
2413 using field_type = uint64_t;
2414 static constexpr
size_t position{2};
2415 static constexpr
char const *
const name{
"low_pc"};
2416 static constexpr
char const *
const typestr{
"uint64_t"};
2417 static constexpr
bool traverse{
false};
2418 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_low_pc};
2419 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2420 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_low_pc>;
2424 using field_type = uint64_t;
2425 static constexpr
size_t position{3};
2426 static constexpr
char const *
const name{
"hi_pc"};
2427 static constexpr
char const *
const typestr{
"uint64_t"};
2428 static constexpr
bool traverse{
false};
2429 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_hi_pc};
2430 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2431 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_hi_pc>;
2435 using field_type = int;
2436 static constexpr
size_t position{4};
2437 static constexpr
char const *
const name{
"version_stamp"};
2438 static constexpr
char const *
const typestr{
"int"};
2439 static constexpr
bool traverse{
false};
2440 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_version_stamp};
2441 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2442 using bind = Desc<SgAsmDwarfCompilationUnit, int SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_version_stamp>;
2446 using field_type = uint64_t;
2447 static constexpr
size_t position{5};
2448 static constexpr
char const *
const name{
"abbrev_offset"};
2449 static constexpr
char const *
const typestr{
"uint64_t"};
2450 static constexpr
bool traverse{
false};
2451 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_abbrev_offset};
2452 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2453 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_abbrev_offset>;
2457 using field_type = uint64_t;
2458 static constexpr
size_t position{6};
2459 static constexpr
char const *
const name{
"address_size"};
2460 static constexpr
char const *
const typestr{
"uint64_t"};
2461 static constexpr
bool traverse{
false};
2462 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_address_size};
2463 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2464 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_address_size>;
2468 using field_type = uint64_t;
2469 static constexpr
size_t position{7};
2470 static constexpr
char const *
const name{
"offset_length"};
2471 static constexpr
char const *
const typestr{
"uint64_t"};
2472 static constexpr
bool traverse{
false};
2473 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_offset_length};
2474 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2475 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_offset_length>;
2480 static constexpr
size_t position{8};
2481 static constexpr
char const *
const name{
"line_info"};
2482 static constexpr
char const *
const typestr{
"SgAsmDwarfLineList*"};
2483 static constexpr
bool traverse{
true};
2484 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_line_info};
2485 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2486 using bind = Desc<SgAsmDwarfCompilationUnit, SgAsmDwarfLineList* SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_line_info>;
2491 static constexpr
size_t position{9};
2492 static constexpr
char const *
const name{
"language_constructs"};
2493 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2494 static constexpr
bool traverse{
true};
2495 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_language_constructs};
2496 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2497 using bind = Desc<SgAsmDwarfCompilationUnit, SgAsmDwarfConstructList* SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_language_constructs>;
2502 static constexpr
size_t position{10};
2503 static constexpr
char const *
const name{
"macro_info"};
2504 static constexpr
char const *
const typestr{
"SgAsmDwarfMacroList*"};
2505 static constexpr
bool traverse{
true};
2506 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_macro_info};
2507 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2508 using bind = Desc<SgAsmDwarfCompilationUnit, SgAsmDwarfMacroList* SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_macro_info>;
2513 static constexpr
char const *
const name{
"AsmDwarfCompilationUnit"};
2514 static constexpr
unsigned long variant{83};
2515 static constexpr
bool concrete{
true};
2517 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>>;
2524 using field_type = SgAsmDwarfCompilationUnitPtrList;
2525 static constexpr
size_t position{0};
2526 static constexpr
char const *
const name{
"cu_list"};
2527 static constexpr
char const *
const typestr{
"SgAsmDwarfCompilationUnitPtrList"};
2528 static constexpr
bool traverse{
true};
2529 static constexpr
auto mbr_ptr{&SgAsmDwarfCompilationUnitList::p_cu_list};
2530 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2531 using bind = Desc<SgAsmDwarfCompilationUnitList, SgAsmDwarfCompilationUnitPtrList SgAsmDwarfCompilationUnitList::*, &SgAsmDwarfCompilationUnitList::p_cu_list>;
2536 static constexpr
char const *
const name{
"AsmDwarfCompilationUnitList"};
2537 static constexpr
unsigned long variant{84};
2538 static constexpr
bool concrete{
true};
2548 static constexpr
char const *
const name{
"AsmDwarfCondition"};
2549 static constexpr
unsigned long variant{85};
2550 static constexpr
bool concrete{
true};
2560 static constexpr
char const *
const name{
"AsmDwarfConstType"};
2561 static constexpr
unsigned long variant{86};
2562 static constexpr
bool concrete{
true};
2572 static constexpr
char const *
const name{
"AsmDwarfConstant"};
2573 static constexpr
unsigned long variant{87};
2574 static constexpr
bool concrete{
true};
2583 using field_type = int;
2584 static constexpr
size_t position{0};
2585 static constexpr
char const *
const name{
"nesting_level"};
2586 static constexpr
char const *
const typestr{
"int"};
2587 static constexpr
bool traverse{
false};
2588 static constexpr
auto mbr_ptr{&SgAsmDwarfConstruct::p_nesting_level};
2589 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2590 using bind = Desc<SgAsmDwarfConstruct, int SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_nesting_level>;
2594 using field_type = uint64_t;
2595 static constexpr
size_t position{1};
2596 static constexpr
char const *
const name{
"offset"};
2597 static constexpr
char const *
const typestr{
"uint64_t"};
2598 static constexpr
bool traverse{
false};
2599 static constexpr
auto mbr_ptr{&SgAsmDwarfConstruct::p_offset};
2600 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2601 using bind = Desc<SgAsmDwarfConstruct, uint64_t SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_offset>;
2605 using field_type = uint64_t;
2606 static constexpr
size_t position{2};
2607 static constexpr
char const *
const name{
"overall_offset"};
2608 static constexpr
char const *
const typestr{
"uint64_t"};
2609 static constexpr
bool traverse{
false};
2610 static constexpr
auto mbr_ptr{&SgAsmDwarfConstruct::p_overall_offset};
2611 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2612 using bind = Desc<SgAsmDwarfConstruct, uint64_t SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_overall_offset>;
2616 using field_type = std::string;
2617 static constexpr
size_t position{3};
2618 static constexpr
char const *
const name{
"name"};
2619 static constexpr
char const *
const typestr{
"std::string"};
2620 static constexpr
bool traverse{
false};
2621 static constexpr
auto mbr_ptr{&SgAsmDwarfConstruct::p_name};
2622 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2623 using bind = Desc<SgAsmDwarfConstruct, std::string SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_name>;
2628 static constexpr
size_t position{4};
2629 static constexpr
char const *
const name{
"source_position"};
2630 static constexpr
char const *
const typestr{
"SgAsmDwarfLine*"};
2631 static constexpr
bool traverse{
false};
2632 static constexpr
auto mbr_ptr{&SgAsmDwarfConstruct::p_source_position};
2633 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2634 using bind = Desc<SgAsmDwarfConstruct, SgAsmDwarfLine* SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_source_position>;
2639 static constexpr
char const *
const name{
"AsmDwarfConstruct"};
2640 static constexpr
unsigned long variant{88};
2641 static constexpr
bool concrete{
false};
2642 using subclasses_t =
mp::List<SgAsmDwarfAccessDeclaration, SgAsmDwarfArrayType, SgAsmDwarfBaseType, SgAsmDwarfCatchBlock, SgAsmDwarfClassTemplate, SgAsmDwarfClassType, SgAsmDwarfCommonBlock, SgAsmDwarfCommonInclusion, SgAsmDwarfCompilationUnit, SgAsmDwarfCondition, SgAsmDwarfConstant, SgAsmDwarfConstType, SgAsmDwarfDwarfProcedure, SgAsmDwarfEntryPoint, SgAsmDwarfEnumerationType, SgAsmDwarfEnumerator, SgAsmDwarfFileType, SgAsmDwarfFormalParameter, SgAsmDwarfFormatLabel, SgAsmDwarfFriend, SgAsmDwarfFunctionTemplate, SgAsmDwarfImportedDeclaration, SgAsmDwarfImportedModule, SgAsmDwarfImportedUnit, SgAsmDwarfInheritance, SgAsmDwarfInlinedSubroutine, SgAsmDwarfInterfaceType, SgAsmDwarfLabel, SgAsmDwarfLexicalBlock, SgAsmDwarfMember, SgAsmDwarfModule, SgAsmDwarfMutableType, SgAsmDwarfNamelist, SgAsmDwarfNamelistItem, SgAsmDwarfNamespace, SgAsmDwarfPackedType, SgAsmDwarfPartialUnit, SgAsmDwarfPointerType, SgAsmDwarfPtrToMemberType, SgAsmDwarfReferenceType, SgAsmDwarfRestrictType, SgAsmDwarfSetType, SgAsmDwarfSharedType, SgAsmDwarfStringType, SgAsmDwarfStructureType, SgAsmDwarfSubprogram, SgAsmDwarfSubrangeType, SgAsmDwarfSubroutineType, SgAsmDwarfTemplateTypeParameter, SgAsmDwarfTemplateValueParameter, SgAsmDwarfThrownType, SgAsmDwarfTryBlock, SgAsmDwarfTypedef, SgAsmDwarfUnionType, SgAsmDwarfUnknownConstruct, SgAsmDwarfUnspecifiedParameters, SgAsmDwarfUnspecifiedType, SgAsmDwarfUpcRelaxedType, SgAsmDwarfUpcSharedType, SgAsmDwarfUpcStrictType, SgAsmDwarfVariable, SgAsmDwarfVariant, SgAsmDwarfVariantPart, SgAsmDwarfWithStmt, SgAsmDwarfVolatileType>;
2643 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>>;
2650 using field_type = SgAsmDwarfConstructPtrList;
2651 static constexpr
size_t position{0};
2652 static constexpr
char const *
const name{
"list"};
2653 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructPtrList"};
2654 static constexpr
bool traverse{
true};
2655 static constexpr
auto mbr_ptr{&SgAsmDwarfConstructList::p_list};
2656 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2657 using bind = Desc<SgAsmDwarfConstructList, SgAsmDwarfConstructPtrList SgAsmDwarfConstructList::*, &SgAsmDwarfConstructList::p_list>;
2662 static constexpr
char const *
const name{
"AsmDwarfConstructList"};
2663 static constexpr
unsigned long variant{89};
2664 static constexpr
bool concrete{
true};
2674 static constexpr
char const *
const name{
"AsmDwarfDwarfProcedure"};
2675 static constexpr
unsigned long variant{90};
2676 static constexpr
bool concrete{
true};
2686 static constexpr
char const *
const name{
"AsmDwarfEntryPoint"};
2687 static constexpr
unsigned long variant{91};
2688 static constexpr
bool concrete{
true};
2698 static constexpr
size_t position{0};
2699 static constexpr
char const *
const name{
"body"};
2700 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2701 static constexpr
bool traverse{
true};
2702 static constexpr
auto mbr_ptr{&SgAsmDwarfEnumerationType::p_body};
2703 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2704 using bind = Desc<SgAsmDwarfEnumerationType, SgAsmDwarfConstructList* SgAsmDwarfEnumerationType::*, &SgAsmDwarfEnumerationType::p_body>;
2709 static constexpr
char const *
const name{
"AsmDwarfEnumerationType"};
2710 static constexpr
unsigned long variant{92};
2711 static constexpr
bool concrete{
true};
2721 static constexpr
char const *
const name{
"AsmDwarfEnumerator"};
2722 static constexpr
unsigned long variant{93};
2723 static constexpr
bool concrete{
true};
2733 static constexpr
char const *
const name{
"AsmDwarfFileType"};
2734 static constexpr
unsigned long variant{94};
2735 static constexpr
bool concrete{
true};
2745 static constexpr
char const *
const name{
"AsmDwarfFormalParameter"};
2746 static constexpr
unsigned long variant{95};
2747 static constexpr
bool concrete{
true};
2757 static constexpr
char const *
const name{
"AsmDwarfFormatLabel"};
2758 static constexpr
unsigned long variant{96};
2759 static constexpr
bool concrete{
true};
2769 static constexpr
char const *
const name{
"AsmDwarfFriend"};
2770 static constexpr
unsigned long variant{97};
2771 static constexpr
bool concrete{
true};
2781 static constexpr
char const *
const name{
"AsmDwarfFunctionTemplate"};
2782 static constexpr
unsigned long variant{98};
2783 static constexpr
bool concrete{
true};
2793 static constexpr
char const *
const name{
"AsmDwarfImportedDeclaration"};
2794 static constexpr
unsigned long variant{99};
2795 static constexpr
bool concrete{
true};
2805 static constexpr
char const *
const name{
"AsmDwarfImportedModule"};
2806 static constexpr
unsigned long variant{100};
2807 static constexpr
bool concrete{
true};
2817 static constexpr
char const *
const name{
"AsmDwarfImportedUnit"};
2818 static constexpr
unsigned long variant{101};
2819 static constexpr
bool concrete{
true};
2829 static constexpr
char const *
const name{
"AsmDwarfInformation"};
2830 static constexpr
unsigned long variant{102};
2831 static constexpr
bool concrete{
false};
2841 static constexpr
char const *
const name{
"AsmDwarfInheritance"};
2842 static constexpr
unsigned long variant{103};
2843 static constexpr
bool concrete{
true};
2853 static constexpr
size_t position{0};
2854 static constexpr
char const *
const name{
"body"};
2855 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2856 static constexpr
bool traverse{
true};
2857 static constexpr
auto mbr_ptr{&SgAsmDwarfInlinedSubroutine::p_body};
2858 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2859 using bind = Desc<SgAsmDwarfInlinedSubroutine, SgAsmDwarfConstructList* SgAsmDwarfInlinedSubroutine::*, &SgAsmDwarfInlinedSubroutine::p_body>;
2864 static constexpr
char const *
const name{
"AsmDwarfInlinedSubroutine"};
2865 static constexpr
unsigned long variant{104};
2866 static constexpr
bool concrete{
true};
2876 static constexpr
char const *
const name{
"AsmDwarfInterfaceType"};
2877 static constexpr
unsigned long variant{105};
2878 static constexpr
bool concrete{
true};
2888 static constexpr
char const *
const name{
"AsmDwarfLabel"};
2889 static constexpr
unsigned long variant{106};
2890 static constexpr
bool concrete{
true};
2900 static constexpr
size_t position{0};
2901 static constexpr
char const *
const name{
"body"};
2902 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
2903 static constexpr
bool traverse{
true};
2904 static constexpr
auto mbr_ptr{&SgAsmDwarfLexicalBlock::p_body};
2905 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2906 using bind = Desc<SgAsmDwarfLexicalBlock, SgAsmDwarfConstructList* SgAsmDwarfLexicalBlock::*, &SgAsmDwarfLexicalBlock::p_body>;
2911 static constexpr
char const *
const name{
"AsmDwarfLexicalBlock"};
2912 static constexpr
unsigned long variant{107};
2913 static constexpr
bool concrete{
true};
2922 using field_type = uint64_t;
2923 static constexpr
size_t position{0};
2924 static constexpr
char const *
const name{
"address"};
2925 static constexpr
char const *
const typestr{
"uint64_t"};
2926 static constexpr
bool traverse{
false};
2927 static constexpr
auto mbr_ptr{&SgAsmDwarfLine::p_address};
2928 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2929 using bind = Desc<SgAsmDwarfLine, uint64_t SgAsmDwarfLine::*, &SgAsmDwarfLine::p_address>;
2933 using field_type = int;
2934 static constexpr
size_t position{1};
2935 static constexpr
char const *
const name{
"file_id"};
2936 static constexpr
char const *
const typestr{
"int"};
2937 static constexpr
bool traverse{
false};
2938 static constexpr
auto mbr_ptr{&SgAsmDwarfLine::p_file_id};
2939 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2940 using bind = Desc<SgAsmDwarfLine, int SgAsmDwarfLine::*, &SgAsmDwarfLine::p_file_id>;
2944 using field_type = int;
2945 static constexpr
size_t position{2};
2946 static constexpr
char const *
const name{
"line"};
2947 static constexpr
char const *
const typestr{
"int"};
2948 static constexpr
bool traverse{
false};
2949 static constexpr
auto mbr_ptr{&SgAsmDwarfLine::p_line};
2950 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2951 using bind = Desc<SgAsmDwarfLine, int SgAsmDwarfLine::*, &SgAsmDwarfLine::p_line>;
2955 using field_type = int;
2956 static constexpr
size_t position{3};
2957 static constexpr
char const *
const name{
"column"};
2958 static constexpr
char const *
const typestr{
"int"};
2959 static constexpr
bool traverse{
false};
2960 static constexpr
auto mbr_ptr{&SgAsmDwarfLine::p_column};
2961 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2962 using bind = Desc<SgAsmDwarfLine, int SgAsmDwarfLine::*, &SgAsmDwarfLine::p_column>;
2967 static constexpr
char const *
const name{
"AsmDwarfLine"};
2968 static constexpr
unsigned long variant{108};
2969 static constexpr
bool concrete{
true};
2971 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>>;
2978 using field_type = SgAsmDwarfLinePtrList;
2979 static constexpr
size_t position{0};
2980 static constexpr
char const *
const name{
"line_list"};
2981 static constexpr
char const *
const typestr{
"SgAsmDwarfLinePtrList"};
2982 static constexpr
bool traverse{
true};
2983 static constexpr
auto mbr_ptr{&SgAsmDwarfLineList::p_line_list};
2984 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2985 using bind = Desc<SgAsmDwarfLineList, SgAsmDwarfLinePtrList SgAsmDwarfLineList::*, &SgAsmDwarfLineList::p_line_list>;
2990 static constexpr
char const *
const name{
"AsmDwarfLineList"};
2991 static constexpr
unsigned long variant{109};
2992 static constexpr
bool concrete{
true};
3001 using field_type = std::string;
3002 static constexpr
size_t position{0};
3003 static constexpr
char const *
const name{
"macro_string"};
3004 static constexpr
char const *
const typestr{
"std::string"};
3005 static constexpr
bool traverse{
false};
3006 static constexpr
auto mbr_ptr{&SgAsmDwarfMacro::p_macro_string};
3007 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3008 using bind = Desc<SgAsmDwarfMacro, std::string SgAsmDwarfMacro::*, &SgAsmDwarfMacro::p_macro_string>;
3013 static constexpr
char const *
const name{
"AsmDwarfMacro"};
3014 static constexpr
unsigned long variant{110};
3015 static constexpr
bool concrete{
true};
3024 using field_type = SgAsmDwarfMacroPtrList;
3025 static constexpr
size_t position{0};
3026 static constexpr
char const *
const name{
"macro_list"};
3027 static constexpr
char const *
const typestr{
"SgAsmDwarfMacroPtrList"};
3028 static constexpr
bool traverse{
true};
3029 static constexpr
auto mbr_ptr{&SgAsmDwarfMacroList::p_macro_list};
3030 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3031 using bind = Desc<SgAsmDwarfMacroList, SgAsmDwarfMacroPtrList SgAsmDwarfMacroList::*, &SgAsmDwarfMacroList::p_macro_list>;
3036 static constexpr
char const *
const name{
"AsmDwarfMacroList"};
3037 static constexpr
unsigned long variant{111};
3038 static constexpr
bool concrete{
true};
3048 static constexpr
char const *
const name{
"AsmDwarfMember"};
3049 static constexpr
unsigned long variant{112};
3050 static constexpr
bool concrete{
true};
3060 static constexpr
char const *
const name{
"AsmDwarfModule"};
3061 static constexpr
unsigned long variant{113};
3062 static constexpr
bool concrete{
true};
3072 static constexpr
char const *
const name{
"AsmDwarfMutableType"};
3073 static constexpr
unsigned long variant{114};
3074 static constexpr
bool concrete{
true};
3084 static constexpr
char const *
const name{
"AsmDwarfNamelist"};
3085 static constexpr
unsigned long variant{115};
3086 static constexpr
bool concrete{
true};
3096 static constexpr
char const *
const name{
"AsmDwarfNamelistItem"};
3097 static constexpr
unsigned long variant{116};
3098 static constexpr
bool concrete{
true};
3108 static constexpr
size_t position{0};
3109 static constexpr
char const *
const name{
"body"};
3110 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
3111 static constexpr
bool traverse{
true};
3112 static constexpr
auto mbr_ptr{&SgAsmDwarfNamespace::p_body};
3113 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3114 using bind = Desc<SgAsmDwarfNamespace, SgAsmDwarfConstructList* SgAsmDwarfNamespace::*, &SgAsmDwarfNamespace::p_body>;
3119 static constexpr
char const *
const name{
"AsmDwarfNamespace"};
3120 static constexpr
unsigned long variant{117};
3121 static constexpr
bool concrete{
true};
3131 static constexpr
char const *
const name{
"AsmDwarfPackedType"};
3132 static constexpr
unsigned long variant{118};
3133 static constexpr
bool concrete{
true};
3143 static constexpr
char const *
const name{
"AsmDwarfPartialUnit"};
3144 static constexpr
unsigned long variant{119};
3145 static constexpr
bool concrete{
true};
3155 static constexpr
char const *
const name{
"AsmDwarfPointerType"};
3156 static constexpr
unsigned long variant{120};
3157 static constexpr
bool concrete{
true};
3167 static constexpr
char const *
const name{
"AsmDwarfPtrToMemberType"};
3168 static constexpr
unsigned long variant{121};
3169 static constexpr
bool concrete{
true};
3179 static constexpr
char const *
const name{
"AsmDwarfReferenceType"};
3180 static constexpr
unsigned long variant{122};
3181 static constexpr
bool concrete{
true};
3191 static constexpr
char const *
const name{
"AsmDwarfRestrictType"};
3192 static constexpr
unsigned long variant{123};
3193 static constexpr
bool concrete{
true};
3203 static constexpr
char const *
const name{
"AsmDwarfSetType"};
3204 static constexpr
unsigned long variant{124};
3205 static constexpr
bool concrete{
true};
3215 static constexpr
char const *
const name{
"AsmDwarfSharedType"};
3216 static constexpr
unsigned long variant{125};
3217 static constexpr
bool concrete{
true};
3227 static constexpr
char const *
const name{
"AsmDwarfStringType"};
3228 static constexpr
unsigned long variant{126};
3229 static constexpr
bool concrete{
true};
3239 static constexpr
size_t position{0};
3240 static constexpr
char const *
const name{
"body"};
3241 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
3242 static constexpr
bool traverse{
true};
3243 static constexpr
auto mbr_ptr{&SgAsmDwarfStructureType::p_body};
3244 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3245 using bind = Desc<SgAsmDwarfStructureType, SgAsmDwarfConstructList* SgAsmDwarfStructureType::*, &SgAsmDwarfStructureType::p_body>;
3250 static constexpr
char const *
const name{
"AsmDwarfStructureType"};
3251 static constexpr
unsigned long variant{127};
3252 static constexpr
bool concrete{
true};
3262 static constexpr
size_t position{0};
3263 static constexpr
char const *
const name{
"body"};
3264 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
3265 static constexpr
bool traverse{
true};
3266 static constexpr
auto mbr_ptr{&SgAsmDwarfSubprogram::p_body};
3267 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3268 using bind = Desc<SgAsmDwarfSubprogram, SgAsmDwarfConstructList* SgAsmDwarfSubprogram::*, &SgAsmDwarfSubprogram::p_body>;
3273 static constexpr
char const *
const name{
"AsmDwarfSubprogram"};
3274 static constexpr
unsigned long variant{128};
3275 static constexpr
bool concrete{
true};
3285 static constexpr
char const *
const name{
"AsmDwarfSubrangeType"};
3286 static constexpr
unsigned long variant{129};
3287 static constexpr
bool concrete{
true};
3297 static constexpr
size_t position{0};
3298 static constexpr
char const *
const name{
"body"};
3299 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
3300 static constexpr
bool traverse{
true};
3301 static constexpr
auto mbr_ptr{&SgAsmDwarfSubroutineType::p_body};
3302 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3303 using bind = Desc<SgAsmDwarfSubroutineType, SgAsmDwarfConstructList* SgAsmDwarfSubroutineType::*, &SgAsmDwarfSubroutineType::p_body>;
3308 static constexpr
char const *
const name{
"AsmDwarfSubroutineType"};
3309 static constexpr
unsigned long variant{130};
3310 static constexpr
bool concrete{
true};
3320 static constexpr
char const *
const name{
"AsmDwarfTemplateTypeParameter"};
3321 static constexpr
unsigned long variant{131};
3322 static constexpr
bool concrete{
true};
3332 static constexpr
char const *
const name{
"AsmDwarfTemplateValueParameter"};
3333 static constexpr
unsigned long variant{132};
3334 static constexpr
bool concrete{
true};
3344 static constexpr
char const *
const name{
"AsmDwarfThrownType"};
3345 static constexpr
unsigned long variant{133};
3346 static constexpr
bool concrete{
true};
3356 static constexpr
char const *
const name{
"AsmDwarfTryBlock"};
3357 static constexpr
unsigned long variant{134};
3358 static constexpr
bool concrete{
true};
3368 static constexpr
char const *
const name{
"AsmDwarfTypedef"};
3369 static constexpr
unsigned long variant{135};
3370 static constexpr
bool concrete{
true};
3380 static constexpr
size_t position{0};
3381 static constexpr
char const *
const name{
"body"};
3382 static constexpr
char const *
const typestr{
"SgAsmDwarfConstructList*"};
3383 static constexpr
bool traverse{
true};
3384 static constexpr
auto mbr_ptr{&SgAsmDwarfUnionType::p_body};
3385 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3386 using bind = Desc<SgAsmDwarfUnionType, SgAsmDwarfConstructList* SgAsmDwarfUnionType::*, &SgAsmDwarfUnionType::p_body>;
3391 static constexpr
char const *
const name{
"AsmDwarfUnionType"};
3392 static constexpr
unsigned long variant{136};
3393 static constexpr
bool concrete{
true};
3403 static constexpr
char const *
const name{
"AsmDwarfUnknownConstruct"};
3404 static constexpr
unsigned long variant{137};
3405 static constexpr
bool concrete{
true};
3415 static constexpr
char const *
const name{
"AsmDwarfUnspecifiedParameters"};
3416 static constexpr
unsigned long variant{138};
3417 static constexpr
bool concrete{
true};
3427 static constexpr
char const *
const name{
"AsmDwarfUnspecifiedType"};
3428 static constexpr
unsigned long variant{139};
3429 static constexpr
bool concrete{
true};
3439 static constexpr
char const *
const name{
"AsmDwarfUpcRelaxedType"};
3440 static constexpr
unsigned long variant{140};
3441 static constexpr
bool concrete{
true};
3451 static constexpr
char const *
const name{
"AsmDwarfUpcSharedType"};
3452 static constexpr
unsigned long variant{141};
3453 static constexpr
bool concrete{
true};
3463 static constexpr
char const *
const name{
"AsmDwarfUpcStrictType"};
3464 static constexpr
unsigned long variant{142};
3465 static constexpr
bool concrete{
true};
3475 static constexpr
char const *
const name{
"AsmDwarfVariable"};
3476 static constexpr
unsigned long variant{143};
3477 static constexpr
bool concrete{
true};
3487 static constexpr
char const *
const name{
"AsmDwarfVariant"};
3488 static constexpr
unsigned long variant{144};
3489 static constexpr
bool concrete{
true};
3499 static constexpr
char const *
const name{
"AsmDwarfVariantPart"};
3500 static constexpr
unsigned long variant{145};
3501 static constexpr
bool concrete{
true};
3511 static constexpr
char const *
const name{
"AsmDwarfVolatileType"};
3512 static constexpr
unsigned long variant{146};
3513 static constexpr
bool concrete{
true};
3523 static constexpr
char const *
const name{
"AsmDwarfWithStmt"};
3524 static constexpr
unsigned long variant{147};
3525 static constexpr
bool concrete{
true};
3534 using field_type = SgAsmElfDynamicEntry::EntryType;
3535 static constexpr
size_t position{0};
3536 static constexpr
char const *
const name{
"d_tag"};
3537 static constexpr
char const *
const typestr{
"SgAsmElfDynamicEntry::EntryType"};
3538 static constexpr
bool traverse{
false};
3539 static constexpr
auto mbr_ptr{&SgAsmElfDynamicEntry::p_d_tag};
3540 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3541 using bind = Desc<SgAsmElfDynamicEntry, SgAsmElfDynamicEntry::EntryType SgAsmElfDynamicEntry::*, &SgAsmElfDynamicEntry::p_d_tag>;
3546 static constexpr
size_t position{1};
3547 static constexpr
char const *
const name{
"d_val"};
3548 static constexpr
char const *
const typestr{
"rose_rva_t"};
3549 static constexpr
bool traverse{
false};
3550 static constexpr
auto mbr_ptr{&SgAsmElfDynamicEntry::p_d_val};
3551 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3552 using bind = Desc<SgAsmElfDynamicEntry, rose_rva_t SgAsmElfDynamicEntry::*, &SgAsmElfDynamicEntry::p_d_val>;
3557 static constexpr
size_t position{2};
3558 static constexpr
char const *
const name{
"name"};
3559 static constexpr
char const *
const typestr{
"SgAsmGenericString*"};
3560 static constexpr
bool traverse{
true};
3561 static constexpr
auto mbr_ptr{&SgAsmElfDynamicEntry::p_name};
3562 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3563 using bind = Desc<SgAsmElfDynamicEntry, SgAsmGenericString* SgAsmElfDynamicEntry::*, &SgAsmElfDynamicEntry::p_name>;
3567 using field_type = SgUnsignedCharList;
3568 static constexpr
size_t position{3};
3569 static constexpr
char const *
const name{
"extra"};
3570 static constexpr
char const *
const typestr{
"SgUnsignedCharList"};
3571 static constexpr
bool traverse{
false};
3572 static constexpr
auto mbr_ptr{&SgAsmElfDynamicEntry::p_extra};
3573 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3574 using bind = Desc<SgAsmElfDynamicEntry, SgUnsignedCharList SgAsmElfDynamicEntry::*, &SgAsmElfDynamicEntry::p_extra>;
3579 static constexpr
char const *
const name{
"AsmElfDynamicEntry"};
3580 static constexpr
unsigned long variant{148};
3581 static constexpr
bool concrete{
true};
3583 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>>;
3590 using field_type = SgAsmElfDynamicEntryPtrList;
3591 static constexpr
size_t position{0};
3592 static constexpr
char const *
const name{
"entries"};
3593 static constexpr
char const *
const typestr{
"SgAsmElfDynamicEntryPtrList"};
3594 static constexpr
bool traverse{
false};
3595 static constexpr
auto mbr_ptr{&SgAsmElfDynamicEntryList::p_entries};
3596 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3597 using bind = Desc<SgAsmElfDynamicEntryList, SgAsmElfDynamicEntryPtrList SgAsmElfDynamicEntryList::*, &SgAsmElfDynamicEntryList::p_entries>;
3602 static constexpr
char const *
const name{
"AsmElfDynamicEntryList"};
3603 static constexpr
unsigned long variant{149};
3604 static constexpr
bool concrete{
true};
3614 static constexpr
size_t position{0};
3615 static constexpr
char const *
const name{
"entries"};
3616 static constexpr
char const *
const typestr{
"SgAsmElfDynamicEntryList*"};
3617 static constexpr
bool traverse{
true};
3618 static constexpr
auto mbr_ptr{&SgAsmElfDynamicSection::p_entries};
3619 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3620 using bind = Desc<SgAsmElfDynamicSection, SgAsmElfDynamicEntryList* SgAsmElfDynamicSection::*, &SgAsmElfDynamicSection::p_entries>;
3625 static constexpr
char const *
const name{
"AsmElfDynamicSection"};
3626 static constexpr
unsigned long variant{150};
3627 static constexpr
bool concrete{
true};
3636 using field_type = int;
3637 static constexpr
size_t position{0};
3638 static constexpr
char const *
const name{
"version"};
3639 static constexpr
char const *
const typestr{
"int"};
3640 static constexpr
bool traverse{
false};
3641 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_version};
3642 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3643 using bind = Desc<SgAsmElfEHFrameEntryCI, int SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_version>;
3647 using field_type = std::string;
3648 static constexpr
size_t position{1};
3649 static constexpr
char const *
const name{
"augmentation_string"};
3650 static constexpr
char const *
const typestr{
"std::string"};
3651 static constexpr
bool traverse{
false};
3652 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_augmentation_string};
3653 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3654 using bind = Desc<SgAsmElfEHFrameEntryCI, std::string SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_augmentation_string>;
3658 using field_type = uint64_t;
3659 static constexpr
size_t position{2};
3660 static constexpr
char const *
const name{
"eh_data"};
3661 static constexpr
char const *
const typestr{
"uint64_t"};
3662 static constexpr
bool traverse{
false};
3663 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_eh_data};
3664 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3665 using bind = Desc<SgAsmElfEHFrameEntryCI, uint64_t SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_eh_data>;
3669 using field_type = uint64_t;
3670 static constexpr
size_t position{3};
3671 static constexpr
char const *
const name{
"code_alignment_factor"};
3672 static constexpr
char const *
const typestr{
"uint64_t"};
3673 static constexpr
bool traverse{
false};
3674 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_code_alignment_factor};
3675 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3676 using bind = Desc<SgAsmElfEHFrameEntryCI, uint64_t SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_code_alignment_factor>;
3680 using field_type = int64_t;
3681 static constexpr
size_t position{4};
3682 static constexpr
char const *
const name{
"data_alignment_factor"};
3683 static constexpr
char const *
const typestr{
"int64_t"};
3684 static constexpr
bool traverse{
false};
3685 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_data_alignment_factor};
3686 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3687 using bind = Desc<SgAsmElfEHFrameEntryCI, int64_t SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_data_alignment_factor>;
3691 using field_type = uint64_t;
3692 static constexpr
size_t position{5};
3693 static constexpr
char const *
const name{
"augmentation_data_length"};
3694 static constexpr
char const *
const typestr{
"uint64_t"};
3695 static constexpr
bool traverse{
false};
3696 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_augmentation_data_length};
3697 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3698 using bind = Desc<SgAsmElfEHFrameEntryCI, uint64_t SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_augmentation_data_length>;
3702 using field_type = int;
3703 static constexpr
size_t position{6};
3704 static constexpr
char const *
const name{
"lsda_encoding"};
3705 static constexpr
char const *
const typestr{
"int"};
3706 static constexpr
bool traverse{
false};
3707 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_lsda_encoding};
3708 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3709 using bind = Desc<SgAsmElfEHFrameEntryCI, int SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_lsda_encoding>;
3713 using field_type = int;
3714 static constexpr
size_t position{7};
3715 static constexpr
char const *
const name{
"prh_encoding"};
3716 static constexpr
char const *
const typestr{
"int"};
3717 static constexpr
bool traverse{
false};
3718 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_prh_encoding};
3719 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3720 using bind = Desc<SgAsmElfEHFrameEntryCI, int SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_prh_encoding>;
3724 using field_type = unsigned;
3725 static constexpr
size_t position{8};
3726 static constexpr
char const *
const name{
"prh_arg"};
3727 static constexpr
char const *
const typestr{
"unsigned"};
3728 static constexpr
bool traverse{
false};
3729 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_prh_arg};
3730 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3731 using bind = Desc<SgAsmElfEHFrameEntryCI, unsigned SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_prh_arg>;
3735 using field_type = rose_addr_t;
3736 static constexpr
size_t position{9};
3737 static constexpr
char const *
const name{
"prh_addr"};
3738 static constexpr
char const *
const typestr{
"rose_addr_t"};
3739 static constexpr
bool traverse{
false};
3740 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_prh_addr};
3741 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3742 using bind = Desc<SgAsmElfEHFrameEntryCI, rose_addr_t SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_prh_addr>;
3746 using field_type = int;
3747 static constexpr
size_t position{10};
3748 static constexpr
char const *
const name{
"addr_encoding"};
3749 static constexpr
char const *
const typestr{
"int"};
3750 static constexpr
bool traverse{
false};
3751 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_addr_encoding};
3752 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3753 using bind = Desc<SgAsmElfEHFrameEntryCI, int SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_addr_encoding>;
3757 using field_type = bool;
3758 static constexpr
size_t position{11};
3759 static constexpr
char const *
const name{
"sig_frame"};
3760 static constexpr
char const *
const typestr{
"bool"};
3761 static constexpr
bool traverse{
false};
3762 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_sig_frame};
3763 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3764 using bind = Desc<SgAsmElfEHFrameEntryCI, bool SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_sig_frame>;
3768 using field_type = SgUnsignedCharList;
3769 static constexpr
size_t position{12};
3770 static constexpr
char const *
const name{
"instructions"};
3771 static constexpr
char const *
const typestr{
"SgUnsignedCharList"};
3772 static constexpr
bool traverse{
false};
3773 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_instructions};
3774 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3775 using bind = Desc<SgAsmElfEHFrameEntryCI, SgUnsignedCharList SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_instructions>;
3780 static constexpr
size_t position{13};
3781 static constexpr
char const *
const name{
"fd_entries"};
3782 static constexpr
char const *
const typestr{
"SgAsmElfEHFrameEntryFDList*"};
3783 static constexpr
bool traverse{
true};
3784 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_fd_entries};
3785 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3786 using bind = Desc<SgAsmElfEHFrameEntryCI, SgAsmElfEHFrameEntryFDList* SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_fd_entries>;
3791 static constexpr
char const *
const name{
"AsmElfEHFrameEntryCI"};
3792 static constexpr
unsigned long variant{151};
3793 static constexpr
bool concrete{
true};
3795 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>>;
3802 using field_type = SgAsmElfEHFrameEntryCIPtrList;
3803 static constexpr
size_t position{0};
3804 static constexpr
char const *
const name{
"entries"};
3805 static constexpr
char const *
const typestr{
"SgAsmElfEHFrameEntryCIPtrList"};
3806 static constexpr
bool traverse{
false};
3807 static constexpr
auto mbr_ptr{&SgAsmElfEHFrameEntryCIList::p_entries};
3808 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3809 using bind = Desc<SgAsmElfEHFrameEntryCIList, SgAsmElfEHFrameEntryCIPtrList SgAsmElfEHFrameEntryCIList::*, &SgAsmElfEHFrameEntryCIList::p_entries>;