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};
73template <>
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};
372 using field_type = SgStatementPtrList;
373 static constexpr size_t position{0};
374 static constexpr char const *
const name{
"statements"};
375 static constexpr char const *
const typestr{
"SgStatementPtrList"};
376 static constexpr bool traverse{
true};
377 static constexpr auto mbr_ptr{&SgAdaPackageBody::p_statements};
378 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
379 using bind = Desc<SgAdaPackageBody, SgStatementPtrList SgAdaPackageBody::*, &SgAdaPackageBody::p_statements>;
384 static constexpr char const *
const name{
"AdaPackageBody"};
385 static constexpr unsigned long variant{12};
386 static constexpr bool concrete{
true};
396 static constexpr size_t position{0};
397 static constexpr char const *
const name{
"name"};
398 static constexpr char const *
const typestr{
"SgName"};
399 static constexpr bool traverse{
false};
400 static constexpr auto mbr_ptr{&SgAdaPackageBodyDecl::p_name};
401 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
402 using bind = Desc<SgAdaPackageBodyDecl, SgName SgAdaPackageBodyDecl::*, &SgAdaPackageBodyDecl::p_name>;
407 static constexpr size_t position{1};
408 static constexpr char const *
const name{
"definition"};
409 static constexpr char const *
const typestr{
"SgAdaPackageBody*"};
410 static constexpr bool traverse{
true};
411 static constexpr auto mbr_ptr{&SgAdaPackageBodyDecl::p_definition};
412 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
413 using bind = Desc<SgAdaPackageBodyDecl, SgAdaPackageBody* SgAdaPackageBodyDecl::*, &SgAdaPackageBodyDecl::p_definition>;
418 static constexpr size_t position{2};
419 static constexpr char const *
const name{
"scope"};
420 static constexpr char const *
const typestr{
"SgScopeStatement*"};
421 static constexpr bool traverse{
false};
422 static constexpr auto mbr_ptr{&SgAdaPackageBodyDecl::p_scope};
423 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
424 using bind = Desc<SgAdaPackageBodyDecl, SgScopeStatement* SgAdaPackageBodyDecl::*, &SgAdaPackageBodyDecl::p_scope>;
429 static constexpr size_t position{3};
430 static constexpr char const *
const name{
"spec"};
431 static constexpr char const *
const typestr{
"SgAdaPackageSpecDecl*"};
432 static constexpr bool traverse{
false};
433 static constexpr auto mbr_ptr{&SgAdaPackageBodyDecl::p_spec};
434 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
435 using bind = Desc<SgAdaPackageBodyDecl, SgAdaPackageSpecDecl* SgAdaPackageBodyDecl::*, &SgAdaPackageBodyDecl::p_spec>;
440 static constexpr char const *
const name{
"AdaPackageBodyDecl"};
441 static constexpr unsigned long variant{13};
442 static constexpr bool concrete{
true};
444 using fields_t =
mp::List<describe_field_t<SgAdaPackageBodyDecl,SgName,&SgAdaPackageBodyDecl::p_name>,
describe_field_t<SgAdaPackageBodyDecl,SgAdaPackageBody*,&SgAdaPackageBodyDecl::p_definition>,
describe_field_t<SgAdaPackageBodyDecl,SgScopeStatement*,&SgAdaPackageBodyDecl::p_scope>,
describe_field_t<SgAdaPackageBodyDecl,SgAdaPackageSpecDecl*,&SgAdaPackageBodyDecl::p_spec>>;
451 using field_type = bool;
452 static constexpr size_t position{0};
453 static constexpr char const *
const name{
"hasPrivate"};
454 static constexpr char const *
const typestr{
"bool"};
455 static constexpr bool traverse{
false};
456 static constexpr auto mbr_ptr{&SgAdaPackageSpec::p_hasPrivate};
457 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
458 using bind = Desc<SgAdaPackageSpec, bool SgAdaPackageSpec::*, &SgAdaPackageSpec::p_hasPrivate>;
462 using field_type = SgDeclarationStatementPtrList;
463 static constexpr size_t position{1};
464 static constexpr char const *
const name{
"declarations"};
465 static constexpr char const *
const typestr{
"SgDeclarationStatementPtrList"};
466 static constexpr bool traverse{
true};
467 static constexpr auto mbr_ptr{&SgAdaPackageSpec::p_declarations};
468 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
469 using bind = Desc<SgAdaPackageSpec, SgDeclarationStatementPtrList SgAdaPackageSpec::*, &SgAdaPackageSpec::p_declarations>;
474 static constexpr char const *
const name{
"AdaPackageSpec"};
475 static constexpr unsigned long variant{14};
476 static constexpr bool concrete{
true};
486 static constexpr size_t position{0};
487 static constexpr char const *
const name{
"name"};
488 static constexpr char const *
const typestr{
"SgName"};
489 static constexpr bool traverse{
false};
490 static constexpr auto mbr_ptr{&SgAdaPackageSpecDecl::p_name};
491 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
492 using bind = Desc<SgAdaPackageSpecDecl, SgName SgAdaPackageSpecDecl::*, &SgAdaPackageSpecDecl::p_name>;
497 static constexpr size_t position{1};
498 static constexpr char const *
const name{
"definition"};
499 static constexpr char const *
const typestr{
"SgAdaPackageSpec*"};
500 static constexpr bool traverse{
true};
501 static constexpr auto mbr_ptr{&SgAdaPackageSpecDecl::p_definition};
502 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
503 using bind = Desc<SgAdaPackageSpecDecl, SgAdaPackageSpec* SgAdaPackageSpecDecl::*, &SgAdaPackageSpecDecl::p_definition>;
508 static constexpr size_t position{2};
509 static constexpr char const *
const name{
"scope"};
510 static constexpr char const *
const typestr{
"SgScopeStatement*"};
511 static constexpr bool traverse{
false};
512 static constexpr auto mbr_ptr{&SgAdaPackageSpecDecl::p_scope};
513 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
514 using bind = Desc<SgAdaPackageSpecDecl, SgScopeStatement* SgAdaPackageSpecDecl::*, &SgAdaPackageSpecDecl::p_scope>;
519 static constexpr size_t position{3};
520 static constexpr char const *
const name{
"body"};
521 static constexpr char const *
const typestr{
"SgAdaPackageBodyDecl*"};
522 static constexpr bool traverse{
false};
523 static constexpr auto mbr_ptr{&SgAdaPackageSpecDecl::p_body};
524 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
525 using bind = Desc<SgAdaPackageSpecDecl, SgAdaPackageBodyDecl* SgAdaPackageSpecDecl::*, &SgAdaPackageSpecDecl::p_body>;
530 static constexpr char const *
const name{
"AdaPackageSpecDecl"};
531 static constexpr unsigned long variant{15};
532 static constexpr bool concrete{
true};
534 using fields_t =
mp::List<describe_field_t<SgAdaPackageSpecDecl,SgName,&SgAdaPackageSpecDecl::p_name>,
describe_field_t<SgAdaPackageSpecDecl,SgAdaPackageSpec*,&SgAdaPackageSpecDecl::p_definition>,
describe_field_t<SgAdaPackageSpecDecl,SgScopeStatement*,&SgAdaPackageSpecDecl::p_scope>,
describe_field_t<SgAdaPackageSpecDecl,SgAdaPackageBodyDecl*,&SgAdaPackageSpecDecl::p_body>>;
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{
"symbol"};
872 static constexpr char const *
const typestr{
"SgAdaTaskSymbol*"};
873 static constexpr bool traverse{
false};
874 static constexpr auto mbr_ptr{&SgAdaTaskRefExp::p_symbol};
875 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
876 using bind = Desc<SgAdaTaskRefExp, SgAdaTaskSymbol* SgAdaTaskRefExp::*, &SgAdaTaskRefExp::p_symbol>;
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};
979template <>
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};
1590 static constexpr size_t position{0};
1591 static constexpr char const *
const name{
"id"};
1592 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
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::BinaryAnalysis::Address 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{
"successorsComplete"};
1636 static constexpr char const *
const typestr{
"bool"};
1637 static constexpr bool traverse{
false};
1638 static constexpr auto mbr_ptr{&SgAsmBlock::p_successorsComplete};
1639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1640 using bind = Desc<SgAsmBlock, bool SgAsmBlock::*, &SgAsmBlock::p_successorsComplete>;
1645 static constexpr size_t position{5};
1646 static constexpr char const *
const name{
"immediateDominator"};
1647 static constexpr char const *
const typestr{
"SgAsmBlock*"};
1648 static constexpr bool traverse{
false};
1649 static constexpr auto mbr_ptr{&SgAsmBlock::p_immediateDominator};
1650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1651 using bind = Desc<SgAsmBlock, SgAsmBlock* SgAsmBlock::*, &SgAsmBlock::p_immediateDominator>;
1655 using field_type = size_t;
1656 static constexpr size_t position{6};
1657 static constexpr char const *
const name{
"cachedVertex"};
1658 static constexpr char const *
const typestr{
"size_t"};
1659 static constexpr bool traverse{
false};
1660 static constexpr auto mbr_ptr{&SgAsmBlock::p_cachedVertex};
1661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1662 using bind = Desc<SgAsmBlock, size_t SgAsmBlock::*, &SgAsmBlock::p_cachedVertex>;
1666 using field_type = double;
1667 static constexpr size_t position{7};
1668 static constexpr char const *
const name{
"codeLikelihood"};
1669 static constexpr char const *
const typestr{
"double"};
1670 static constexpr bool traverse{
false};
1671 static constexpr auto mbr_ptr{&SgAsmBlock::p_codeLikelihood};
1672 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1673 using bind = Desc<SgAsmBlock, double SgAsmBlock::*, &SgAsmBlock::p_codeLikelihood>;
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::BinaryAnalysis::Address,&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_successorsComplete>,
describe_field_t<SgAsmBlock,SgAsmBlock*,&SgAsmBlock::p_immediateDominator>,
describe_field_t<SgAsmBlock,size_t,&SgAsmBlock::p_cachedVertex>,
describe_field_t<SgAsmBlock,double,&SgAsmBlock::p_codeLikelihood>,
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>;
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::BinaryAnalysis::Address"};
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::BinaryAnalysis::Address 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{
"auxiliaryData"};
1781 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
1782 static constexpr bool traverse{
false};
1783 static constexpr auto mbr_ptr{&SgAsmCoffSymbol::p_auxiliaryData};
1784 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1785 using bind = Desc<SgAsmCoffSymbol, SgUnsignedCharList SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_auxiliaryData>;
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::BinaryAnalysis::Address,&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_auxiliaryData>>;
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{
"bitFlags"};
1884 static constexpr char const *
const typestr{
"unsigned long"};
1885 static constexpr bool traverse{
false};
1886 static constexpr auto mbr_ptr{&SgAsmControlFlagsExpression::p_bitFlags};
1887 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1888 using bind = Desc<SgAsmControlFlagsExpression, unsigned long SgAsmControlFlagsExpression::*, &SgAsmControlFlagsExpression::p_bitFlags>;
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>;
2016 static constexpr size_t position{8};
2017 static constexpr char const *
const name{
"e_lfanew"};
2018 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
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::BinaryAnalysis::Address 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::BinaryAnalysis::Address,&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>;
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::BinaryAnalysis::Address"};
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::BinaryAnalysis::Address 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::BinaryAnalysis::Address,&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, SgAsmDwarfVolatileType, SgAsmDwarfWithStmt>;
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::BinaryAnalysis::RelativeVirtualAddress"};
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::BinaryAnalysis::RelativeVirtualAddress 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::BinaryAnalysis::RelativeVirtualAddress,&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>;
3736 static constexpr size_t position{9};
3737 static constexpr char const *
const name{
"prh_addr"};
3738 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
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::BinaryAnalysis::Address 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::BinaryAnalysis::Address,&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>;
3814 static constexpr char const *
const name{
"AsmElfEHFrameEntryCIList"};
3815 static constexpr unsigned long variant{152};
3816 static constexpr bool concrete{
true};
3826 static constexpr size_t position{0};
3827 static constexpr char const *
const name{
"begin_rva"};
3828 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
3829 static constexpr bool traverse{
false};
3830 static constexpr auto mbr_ptr{&SgAsmElfEHFrameEntryFD::p_begin_rva};
3831 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3832 using bind = Desc<SgAsmElfEHFrameEntryFD, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmElfEHFrameEntryFD::*, &SgAsmElfEHFrameEntryFD::p_begin_rva>;
3837 static constexpr size_t position{1};
3838 static constexpr char const *
const name{
"size"};
3839 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
3840 static constexpr bool traverse{
false};
3841 static constexpr auto mbr_ptr{&SgAsmElfEHFrameEntryFD::p_size};
3842 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3843 using bind = Desc<SgAsmElfEHFrameEntryFD, Rose::BinaryAnalysis::Address SgAsmElfEHFrameEntryFD::*, &SgAsmElfEHFrameEntryFD::p_size>;
3847 using field_type = SgUnsignedCharList;
3848 static constexpr size_t position{2};
3849 static constexpr char const *
const name{
"augmentation_data"};
3850 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
3851 static constexpr bool traverse{
false};
3852 static constexpr auto mbr_ptr{&SgAsmElfEHFrameEntryFD::p_augmentation_data};
3853 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3854 using bind = Desc<SgAsmElfEHFrameEntryFD, SgUnsignedCharList SgAsmElfEHFrameEntryFD::*, &SgAsmElfEHFrameEntryFD::p_augmentation_data>;
3858 using field_type = SgUnsignedCharList;
3859 static constexpr size_t position{3};
3860 static constexpr char const *
const name{
"instructions"};
3861 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
3862 static constexpr bool traverse{
false};
3863 static constexpr auto mbr_ptr{&SgAsmElfEHFrameEntryFD::p_instructions};
3864 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3865 using bind = Desc<SgAsmElfEHFrameEntryFD, SgUnsignedCharList SgAsmElfEHFrameEntryFD::*, &SgAsmElfEHFrameEntryFD::p_instructions>;
3870 static constexpr char const *
const name{
"AsmElfEHFrameEntryFD"};
3871 static constexpr unsigned long variant{153};
3872 static constexpr bool concrete{
true};
3874 using fields_t =
mp::List<describe_field_t<SgAsmElfEHFrameEntryFD,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmElfEHFrameEntryFD::p_begin_rva>,
describe_field_t<SgAsmElfEHFrameEntryFD,Rose::BinaryAnalysis::Address,&SgAsmElfEHFrameEntryFD::p_size>,
describe_field_t<SgAsmElfEHFrameEntryFD,SgUnsignedCharList,&SgAsmElfEHFrameEntryFD::p_augmentation_data>,
describe_field_t<SgAsmElfEHFrameEntryFD,SgUnsignedCharList,&SgAsmElfEHFrameEntryFD::p_instructions>>;
3881 using field_type = SgAsmElfEHFrameEntryFDPtrList;
3882 static constexpr size_t position{0};
3883 static constexpr char const *
const name{
"entries"};
3884 static constexpr char const *
const typestr{
"SgAsmElfEHFrameEntryFDPtrList"};
3885 static constexpr bool traverse{
false};
3886 static constexpr auto mbr_ptr{&SgAsmElfEHFrameEntryFDList::p_entries};
3887 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3888 using bind = Desc<SgAsmElfEHFrameEntryFDList, SgAsmElfEHFrameEntryFDPtrList SgAsmElfEHFrameEntryFDList::*, &SgAsmElfEHFrameEntryFDList::p_entries>;
3893 static constexpr char const *
const name{
"AsmElfEHFrameEntryFDList"};
3894 static constexpr unsigned long variant{154};
3895 static constexpr bool concrete{
true};
3905 static constexpr size_t position{0};
3906 static constexpr char const *
const name{
"ci_entries"};
3907 static constexpr char const *
const typestr{
"SgAsmElfEHFrameEntryCIList*"};
3908 static constexpr bool traverse{
true};
3909 static constexpr auto mbr_ptr{&SgAsmElfEHFrameSection::p_ci_entries};
3910 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3911 using bind = Desc<SgAsmElfEHFrameSection, SgAsmElfEHFrameEntryCIList* SgAsmElfEHFrameSection::*, &SgAsmElfEHFrameSection::p_ci_entries>;
3916 static constexpr char const *
const name{
"AsmElfEHFrameSection"};
3917 static constexpr unsigned long variant{155};
3918 static constexpr bool concrete{
true};
3927 using field_type =
unsigned char;
3928 static constexpr size_t position{0};
3929 static constexpr char const *
const name{
"e_ident_file_class"};
3930 static constexpr char const *
const typestr{
"unsigned char"};
3931 static constexpr bool traverse{
false};
3932 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_e_ident_file_class};
3933 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3934 using bind = Desc<SgAsmElfFileHeader, unsigned char SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_e_ident_file_class>;
3938 using field_type =
unsigned char;
3939 static constexpr size_t position{1};
3940 static constexpr char const *
const name{
"e_ident_data_encoding"};
3941 static constexpr char const *
const typestr{
"unsigned char"};
3942 static constexpr bool traverse{
false};
3943 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_e_ident_data_encoding};
3944 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3945 using bind = Desc<SgAsmElfFileHeader, unsigned char SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_e_ident_data_encoding>;
3949 using field_type =
unsigned char;
3950 static constexpr size_t position{2};
3951 static constexpr char const *
const name{
"e_ident_file_version"};
3952 static constexpr char const *
const typestr{
"unsigned char"};
3953 static constexpr bool traverse{
false};
3954 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_e_ident_file_version};
3955 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3956 using bind = Desc<SgAsmElfFileHeader, unsigned char SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_e_ident_file_version>;
3960 using field_type = SgUnsignedCharList;
3961 static constexpr size_t position{3};
3962 static constexpr char const *
const name{
"e_ident_padding"};
3963 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
3964 static constexpr bool traverse{
false};
3965 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_e_ident_padding};
3966 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3967 using bind = Desc<SgAsmElfFileHeader, SgUnsignedCharList SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_e_ident_padding>;
3971 using field_type =
unsigned long;
3972 static constexpr size_t position{4};
3973 static constexpr char const *
const name{
"e_type"};
3974 static constexpr char const *
const typestr{
"unsigned long"};
3975 static constexpr bool traverse{
false};
3976 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_e_type};
3977 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3978 using bind = Desc<SgAsmElfFileHeader, unsigned long SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_e_type>;
3982 using field_type =
unsigned long;
3983 static constexpr size_t position{5};
3984 static constexpr char const *
const name{
"e_machine"};
3985 static constexpr char const *
const typestr{
"unsigned long"};
3986 static constexpr bool traverse{
false};
3987 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_e_machine};
3988 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3989 using bind = Desc<SgAsmElfFileHeader, unsigned long SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_e_machine>;
3993 using field_type =
unsigned long;
3994 static constexpr size_t position{6};
3995 static constexpr char const *
const name{
"e_flags"};
3996 static constexpr char const *
const typestr{
"unsigned long"};
3997 static constexpr bool traverse{
false};
3998 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_e_flags};
3999 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4000 using bind = Desc<SgAsmElfFileHeader, unsigned long SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_e_flags>;
4004 using field_type =
unsigned long;
4005 static constexpr size_t position{7};
4006 static constexpr char const *
const name{
"e_ehsize"};
4007 static constexpr char const *
const typestr{
"unsigned long"};
4008 static constexpr bool traverse{
false};
4009 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_e_ehsize};
4010 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4011 using bind = Desc<SgAsmElfFileHeader, unsigned long SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_e_ehsize>;
4015 using field_type =
unsigned long;
4016 static constexpr size_t position{8};
4017 static constexpr char const *
const name{
"phextrasz"};
4018 static constexpr char const *
const typestr{
"unsigned long"};
4019 static constexpr bool traverse{
false};
4020 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_phextrasz};
4021 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4022 using bind = Desc<SgAsmElfFileHeader, unsigned long SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_phextrasz>;
4026 using field_type =
unsigned long;
4027 static constexpr size_t position{9};
4028 static constexpr char const *
const name{
"e_phnum"};
4029 static constexpr char const *
const typestr{
"unsigned long"};
4030 static constexpr bool traverse{
false};
4031 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_e_phnum};
4032 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4033 using bind = Desc<SgAsmElfFileHeader, unsigned long SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_e_phnum>;
4037 using field_type =
unsigned long;
4038 static constexpr size_t position{10};
4039 static constexpr char const *
const name{
"shextrasz"};
4040 static constexpr char const *
const typestr{
"unsigned long"};
4041 static constexpr bool traverse{
false};
4042 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_shextrasz};
4043 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4044 using bind = Desc<SgAsmElfFileHeader, unsigned long SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_shextrasz>;
4048 using field_type =
unsigned long;
4049 static constexpr size_t position{11};
4050 static constexpr char const *
const name{
"e_shnum"};
4051 static constexpr char const *
const typestr{
"unsigned long"};
4052 static constexpr bool traverse{
false};
4053 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_e_shnum};
4054 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4055 using bind = Desc<SgAsmElfFileHeader, unsigned long SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_e_shnum>;
4059 using field_type =
unsigned long;
4060 static constexpr size_t position{12};
4061 static constexpr char const *
const name{
"e_shstrndx"};
4062 static constexpr char const *
const typestr{
"unsigned long"};
4063 static constexpr bool traverse{
false};
4064 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_e_shstrndx};
4065 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4066 using bind = Desc<SgAsmElfFileHeader, unsigned long SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_e_shstrndx>;
4071 static constexpr size_t position{13};
4072 static constexpr char const *
const name{
"sectionTable"};
4073 static constexpr char const *
const typestr{
"SgAsmElfSectionTable*"};
4074 static constexpr bool traverse{
false};
4075 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_sectionTable};
4076 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4077 using bind = Desc<SgAsmElfFileHeader, SgAsmElfSectionTable* SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_sectionTable>;
4082 static constexpr size_t position{14};
4083 static constexpr char const *
const name{
"segmentTable"};
4084 static constexpr char const *
const typestr{
"SgAsmElfSegmentTable*"};
4085 static constexpr bool traverse{
false};
4086 static constexpr auto mbr_ptr{&SgAsmElfFileHeader::p_segmentTable};
4087 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4088 using bind = Desc<SgAsmElfFileHeader, SgAsmElfSegmentTable* SgAsmElfFileHeader::*, &SgAsmElfFileHeader::p_segmentTable>;
4093 static constexpr char const *
const name{
"AsmElfFileHeader"};
4094 static constexpr unsigned long variant{156};
4095 static constexpr bool concrete{
true};
4097 using fields_t =
mp::List<describe_field_t<SgAsmElfFileHeader,unsigned char,&SgAsmElfFileHeader::p_e_ident_file_class>,
describe_field_t<SgAsmElfFileHeader,unsigned char,&SgAsmElfFileHeader::p_e_ident_data_encoding>,
describe_field_t<SgAsmElfFileHeader,unsigned char,&SgAsmElfFileHeader::p_e_ident_file_version>,
describe_field_t<SgAsmElfFileHeader,SgUnsignedCharList,&SgAsmElfFileHeader::p_e_ident_padding>,
describe_field_t<SgAsmElfFileHeader,unsigned long,&SgAsmElfFileHeader::p_e_type>,
describe_field_t<SgAsmElfFileHeader,unsigned long,&SgAsmElfFileHeader::p_e_machine>,
describe_field_t<SgAsmElfFileHeader,unsigned long,&SgAsmElfFileHeader::p_e_flags>,
describe_field_t<SgAsmElfFileHeader,unsigned long,&SgAsmElfFileHeader::p_e_ehsize>,
describe_field_t<SgAsmElfFileHeader,unsigned long,&SgAsmElfFileHeader::p_phextrasz>,
describe_field_t<SgAsmElfFileHeader,unsigned long,&SgAsmElfFileHeader::p_e_phnum>,
describe_field_t<SgAsmElfFileHeader,unsigned long,&SgAsmElfFileHeader::p_shextrasz>,
describe_field_t<SgAsmElfFileHeader,unsigned long,&SgAsmElfFileHeader::p_e_shnum>,
describe_field_t<SgAsmElfFileHeader,unsigned long,&SgAsmElfFileHeader::p_e_shstrndx>,
describe_field_t<SgAsmElfFileHeader,SgAsmElfSectionTable*,&SgAsmElfFileHeader::p_sectionTable>,
describe_field_t<SgAsmElfFileHeader,SgAsmElfSegmentTable*,&SgAsmElfFileHeader::p_segmentTable>>;
4104 using field_type = unsigned;
4105 static constexpr size_t position{0};
4106 static constexpr char const *
const name{
"type"};
4107 static constexpr char const *
const typestr{
"unsigned"};
4108 static constexpr bool traverse{
false};
4109 static constexpr auto mbr_ptr{&SgAsmElfNoteEntry::p_type};
4110 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4111 using bind = Desc<SgAsmElfNoteEntry, unsigned SgAsmElfNoteEntry::*, &SgAsmElfNoteEntry::p_type>;
4116 static constexpr size_t position{1};
4117 static constexpr char const *
const name{
"name"};
4118 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
4119 static constexpr bool traverse{
true};
4120 static constexpr auto mbr_ptr{&SgAsmElfNoteEntry::p_name};
4121 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4122 using bind = Desc<SgAsmElfNoteEntry, SgAsmGenericString* SgAsmElfNoteEntry::*, &SgAsmElfNoteEntry::p_name>;
4126 using field_type = SgUnsignedCharList;
4127 static constexpr size_t position{2};
4128 static constexpr char const *
const name{
"payload"};
4129 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
4130 static constexpr bool traverse{
false};
4131 static constexpr auto mbr_ptr{&SgAsmElfNoteEntry::p_payload};
4132 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4133 using bind = Desc<SgAsmElfNoteEntry, SgUnsignedCharList SgAsmElfNoteEntry::*, &SgAsmElfNoteEntry::p_payload>;
4138 static constexpr char const *
const name{
"AsmElfNoteEntry"};
4139 static constexpr unsigned long variant{157};
4140 static constexpr bool concrete{
true};
4149 using field_type = SgAsmElfNoteEntryPtrList;
4150 static constexpr size_t position{0};
4151 static constexpr char const *
const name{
"entries"};
4152 static constexpr char const *
const typestr{
"SgAsmElfNoteEntryPtrList"};
4153 static constexpr bool traverse{
false};
4154 static constexpr auto mbr_ptr{&SgAsmElfNoteEntryList::p_entries};
4155 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4156 using bind = Desc<SgAsmElfNoteEntryList, SgAsmElfNoteEntryPtrList SgAsmElfNoteEntryList::*, &SgAsmElfNoteEntryList::p_entries>;
4161 static constexpr char const *
const name{
"AsmElfNoteEntryList"};
4162 static constexpr unsigned long variant{158};
4163 static constexpr bool concrete{
true};
4173 static constexpr size_t position{0};
4174 static constexpr char const *
const name{
"entries"};
4175 static constexpr char const *
const typestr{
"SgAsmElfNoteEntryList*"};
4176 static constexpr bool traverse{
true};
4177 static constexpr auto mbr_ptr{&SgAsmElfNoteSection::p_entries};
4178 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4179 using bind = Desc<SgAsmElfNoteSection, SgAsmElfNoteEntryList* SgAsmElfNoteSection::*, &SgAsmElfNoteSection::p_entries>;
4184 static constexpr char const *
const name{
"AsmElfNoteSection"};
4185 static constexpr unsigned long variant{159};
4186 static constexpr bool concrete{
true};
4196 static constexpr size_t position{0};
4197 static constexpr char const *
const name{
"r_offset"};
4198 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4199 static constexpr bool traverse{
false};
4200 static constexpr auto mbr_ptr{&SgAsmElfRelocEntry::p_r_offset};
4201 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4202 using bind = Desc<SgAsmElfRelocEntry, Rose::BinaryAnalysis::Address SgAsmElfRelocEntry::*, &SgAsmElfRelocEntry::p_r_offset>;
4207 static constexpr size_t position{1};
4208 static constexpr char const *
const name{
"r_addend"};
4209 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4210 static constexpr bool traverse{
false};
4211 static constexpr auto mbr_ptr{&SgAsmElfRelocEntry::p_r_addend};
4212 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4213 using bind = Desc<SgAsmElfRelocEntry, Rose::BinaryAnalysis::Address SgAsmElfRelocEntry::*, &SgAsmElfRelocEntry::p_r_addend>;
4217 using field_type =
unsigned long;
4218 static constexpr size_t position{2};
4219 static constexpr char const *
const name{
"sym"};
4220 static constexpr char const *
const typestr{
"unsigned long"};
4221 static constexpr bool traverse{
false};
4222 static constexpr auto mbr_ptr{&SgAsmElfRelocEntry::p_sym};
4223 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4224 using bind = Desc<SgAsmElfRelocEntry, unsigned long SgAsmElfRelocEntry::*, &SgAsmElfRelocEntry::p_sym>;
4229 static constexpr size_t position{3};
4230 static constexpr char const *
const name{
"type"};
4231 static constexpr char const *
const typestr{
"SgAsmElfRelocEntry::RelocType"};
4232 static constexpr bool traverse{
false};
4233 static constexpr auto mbr_ptr{&SgAsmElfRelocEntry::p_type};
4234 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4235 using bind = Desc<SgAsmElfRelocEntry, SgAsmElfRelocEntry::RelocType SgAsmElfRelocEntry::*, &SgAsmElfRelocEntry::p_type>;
4239 using field_type = SgUnsignedCharList;
4240 static constexpr size_t position{4};
4241 static constexpr char const *
const name{
"extra"};
4242 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
4243 static constexpr bool traverse{
false};
4244 static constexpr auto mbr_ptr{&SgAsmElfRelocEntry::p_extra};
4245 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4246 using bind = Desc<SgAsmElfRelocEntry, SgUnsignedCharList SgAsmElfRelocEntry::*, &SgAsmElfRelocEntry::p_extra>;
4251 static constexpr char const *
const name{
"AsmElfRelocEntry"};
4252 static constexpr unsigned long variant{160};
4253 static constexpr bool concrete{
true};
4255 using fields_t =
mp::List<describe_field_t<SgAsmElfRelocEntry,Rose::BinaryAnalysis::Address,&SgAsmElfRelocEntry::p_r_offset>,
describe_field_t<SgAsmElfRelocEntry,Rose::BinaryAnalysis::Address,&SgAsmElfRelocEntry::p_r_addend>,
describe_field_t<SgAsmElfRelocEntry,unsigned long,&SgAsmElfRelocEntry::p_sym>,
describe_field_t<SgAsmElfRelocEntry,SgAsmElfRelocEntry::RelocType,&SgAsmElfRelocEntry::p_type>,
describe_field_t<SgAsmElfRelocEntry,SgUnsignedCharList,&SgAsmElfRelocEntry::p_extra>>;
4262 using field_type = SgAsmElfRelocEntryPtrList;
4263 static constexpr size_t position{0};
4264 static constexpr char const *
const name{
"entries"};
4265 static constexpr char const *
const typestr{
"SgAsmElfRelocEntryPtrList"};
4266 static constexpr bool traverse{
true};
4267 static constexpr auto mbr_ptr{&SgAsmElfRelocEntryList::p_entries};
4268 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4269 using bind = Desc<SgAsmElfRelocEntryList, SgAsmElfRelocEntryPtrList SgAsmElfRelocEntryList::*, &SgAsmElfRelocEntryList::p_entries>;
4274 static constexpr char const *
const name{
"AsmElfRelocEntryList"};
4275 static constexpr unsigned long variant{161};
4276 static constexpr bool concrete{
true};
4285 using field_type = bool;
4286 static constexpr size_t position{0};
4287 static constexpr char const *
const name{
"usesAddend"};
4288 static constexpr char const *
const typestr{
"bool"};
4289 static constexpr bool traverse{
false};
4290 static constexpr auto mbr_ptr{&SgAsmElfRelocSection::p_usesAddend};
4291 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4292 using bind = Desc<SgAsmElfRelocSection, bool SgAsmElfRelocSection::*, &SgAsmElfRelocSection::p_usesAddend>;
4297 static constexpr size_t position{1};
4298 static constexpr char const *
const name{
"targetSection"};
4299 static constexpr char const *
const typestr{
"SgAsmElfSection*"};
4300 static constexpr bool traverse{
false};
4301 static constexpr auto mbr_ptr{&SgAsmElfRelocSection::p_targetSection};
4302 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4303 using bind = Desc<SgAsmElfRelocSection, SgAsmElfSection* SgAsmElfRelocSection::*, &SgAsmElfRelocSection::p_targetSection>;
4308 static constexpr size_t position{2};
4309 static constexpr char const *
const name{
"entries"};
4310 static constexpr char const *
const typestr{
"SgAsmElfRelocEntryList*"};
4311 static constexpr bool traverse{
true};
4312 static constexpr auto mbr_ptr{&SgAsmElfRelocSection::p_entries};
4313 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4314 using bind = Desc<SgAsmElfRelocSection, SgAsmElfRelocEntryList* SgAsmElfRelocSection::*, &SgAsmElfRelocSection::p_entries>;
4319 static constexpr char const *
const name{
"AsmElfRelocSection"};
4320 static constexpr unsigned long variant{162};
4321 static constexpr bool concrete{
true};
4331 static constexpr size_t position{0};
4332 static constexpr char const *
const name{
"linkedSection"};
4333 static constexpr char const *
const typestr{
"SgAsmElfSection*"};
4334 static constexpr bool traverse{
false};
4335 static constexpr auto mbr_ptr{&SgAsmElfSection::p_linkedSection};
4336 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4337 using bind = Desc<SgAsmElfSection, SgAsmElfSection* SgAsmElfSection::*, &SgAsmElfSection::p_linkedSection>;
4342 static constexpr size_t position{1};
4343 static constexpr char const *
const name{
"sectionEntry"};
4344 static constexpr char const *
const typestr{
"SgAsmElfSectionTableEntry*"};
4345 static constexpr bool traverse{
true};
4346 static constexpr auto mbr_ptr{&SgAsmElfSection::p_sectionEntry};
4347 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4348 using bind = Desc<SgAsmElfSection, SgAsmElfSectionTableEntry* SgAsmElfSection::*, &SgAsmElfSection::p_sectionEntry>;
4353 static constexpr size_t position{2};
4354 static constexpr char const *
const name{
"segmentEntry"};
4355 static constexpr char const *
const typestr{
"SgAsmElfSegmentTableEntry*"};
4356 static constexpr bool traverse{
true};
4357 static constexpr auto mbr_ptr{&SgAsmElfSection::p_segmentEntry};
4358 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4359 using bind = Desc<SgAsmElfSection, SgAsmElfSegmentTableEntry* SgAsmElfSection::*, &SgAsmElfSection::p_segmentEntry>;
4364 static constexpr char const *
const name{
"AsmElfSection"};
4365 static constexpr unsigned long variant{163};
4366 static constexpr bool concrete{
true};
4376 static constexpr char const *
const name{
"AsmElfSectionTable"};
4377 static constexpr unsigned long variant{164};
4378 static constexpr bool concrete{
true};
4387 using field_type = unsigned;
4388 static constexpr size_t position{0};
4389 static constexpr char const *
const name{
"sh_name"};
4390 static constexpr char const *
const typestr{
"unsigned"};
4391 static constexpr bool traverse{
false};
4392 static constexpr auto mbr_ptr{&SgAsmElfSectionTableEntry::p_sh_name};
4393 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4394 using bind = Desc<SgAsmElfSectionTableEntry, unsigned SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_name>;
4399 static constexpr size_t position{1};
4400 static constexpr char const *
const name{
"sh_type"};
4401 static constexpr char const *
const typestr{
"SgAsmElfSectionTableEntry::SectionType"};
4402 static constexpr bool traverse{
false};
4403 static constexpr auto mbr_ptr{&SgAsmElfSectionTableEntry::p_sh_type};
4404 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4405 using bind = Desc<SgAsmElfSectionTableEntry, SgAsmElfSectionTableEntry::SectionType SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_type>;
4409 using field_type =
unsigned long;
4410 static constexpr size_t position{2};
4411 static constexpr char const *
const name{
"sh_link"};
4412 static constexpr char const *
const typestr{
"unsigned long"};
4413 static constexpr bool traverse{
false};
4414 static constexpr auto mbr_ptr{&SgAsmElfSectionTableEntry::p_sh_link};
4415 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4416 using bind = Desc<SgAsmElfSectionTableEntry, unsigned long SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_link>;
4420 using field_type =
unsigned long;
4421 static constexpr size_t position{3};
4422 static constexpr char const *
const name{
"sh_info"};
4423 static constexpr char const *
const typestr{
"unsigned long"};
4424 static constexpr bool traverse{
false};
4425 static constexpr auto mbr_ptr{&SgAsmElfSectionTableEntry::p_sh_info};
4426 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4427 using bind = Desc<SgAsmElfSectionTableEntry, unsigned long SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_info>;
4431 using field_type = uint64_t;
4432 static constexpr size_t position{4};
4433 static constexpr char const *
const name{
"sh_flags"};
4434 static constexpr char const *
const typestr{
"uint64_t"};
4435 static constexpr bool traverse{
false};
4436 static constexpr auto mbr_ptr{&SgAsmElfSectionTableEntry::p_sh_flags};
4437 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4438 using bind = Desc<SgAsmElfSectionTableEntry, uint64_t SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_flags>;
4443 static constexpr size_t position{5};
4444 static constexpr char const *
const name{
"sh_addr"};
4445 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4446 static constexpr bool traverse{
false};
4447 static constexpr auto mbr_ptr{&SgAsmElfSectionTableEntry::p_sh_addr};
4448 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4449 using bind = Desc<SgAsmElfSectionTableEntry, Rose::BinaryAnalysis::Address SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_addr>;
4454 static constexpr size_t position{6};
4455 static constexpr char const *
const name{
"sh_offset"};
4456 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4457 static constexpr bool traverse{
false};
4458 static constexpr auto mbr_ptr{&SgAsmElfSectionTableEntry::p_sh_offset};
4459 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4460 using bind = Desc<SgAsmElfSectionTableEntry, Rose::BinaryAnalysis::Address SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_offset>;
4465 static constexpr size_t position{7};
4466 static constexpr char const *
const name{
"sh_size"};
4467 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4468 static constexpr bool traverse{
false};
4469 static constexpr auto mbr_ptr{&SgAsmElfSectionTableEntry::p_sh_size};
4470 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4471 using bind = Desc<SgAsmElfSectionTableEntry, Rose::BinaryAnalysis::Address SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_size>;
4476 static constexpr size_t position{8};
4477 static constexpr char const *
const name{
"sh_addralign"};
4478 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4479 static constexpr bool traverse{
false};
4480 static constexpr auto mbr_ptr{&SgAsmElfSectionTableEntry::p_sh_addralign};
4481 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4482 using bind = Desc<SgAsmElfSectionTableEntry, Rose::BinaryAnalysis::Address SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_addralign>;
4487 static constexpr size_t position{9};
4488 static constexpr char const *
const name{
"sh_entsize"};
4489 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4490 static constexpr bool traverse{
false};
4491 static constexpr auto mbr_ptr{&SgAsmElfSectionTableEntry::p_sh_entsize};
4492 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4493 using bind = Desc<SgAsmElfSectionTableEntry, Rose::BinaryAnalysis::Address SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_entsize>;
4497 using field_type = SgUnsignedCharList;
4498 static constexpr size_t position{10};
4499 static constexpr char const *
const name{
"extra"};
4500 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
4501 static constexpr bool traverse{
false};
4502 static constexpr auto mbr_ptr{&SgAsmElfSectionTableEntry::p_extra};
4503 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4504 using bind = Desc<SgAsmElfSectionTableEntry, SgUnsignedCharList SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_extra>;
4509 static constexpr char const *
const name{
"AsmElfSectionTableEntry"};
4510 static constexpr unsigned long variant{165};
4511 static constexpr bool concrete{
true};
4513 using fields_t =
mp::List<describe_field_t<SgAsmElfSectionTableEntry,unsigned,&SgAsmElfSectionTableEntry::p_sh_name>,
describe_field_t<SgAsmElfSectionTableEntry,SgAsmElfSectionTableEntry::SectionType,&SgAsmElfSectionTableEntry::p_sh_type>,
describe_field_t<SgAsmElfSectionTableEntry,unsigned long,&SgAsmElfSectionTableEntry::p_sh_link>,
describe_field_t<SgAsmElfSectionTableEntry,unsigned long,&SgAsmElfSectionTableEntry::p_sh_info>,
describe_field_t<SgAsmElfSectionTableEntry,uint64_t,&SgAsmElfSectionTableEntry::p_sh_flags>,
describe_field_t<SgAsmElfSectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmElfSectionTableEntry::p_sh_addr>,
describe_field_t<SgAsmElfSectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmElfSectionTableEntry::p_sh_offset>,
describe_field_t<SgAsmElfSectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmElfSectionTableEntry::p_sh_size>,
describe_field_t<SgAsmElfSectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmElfSectionTableEntry::p_sh_addralign>,
describe_field_t<SgAsmElfSectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmElfSectionTableEntry::p_sh_entsize>,
describe_field_t<SgAsmElfSectionTableEntry,SgUnsignedCharList,&SgAsmElfSectionTableEntry::p_extra>>;
4521 static constexpr char const *
const name{
"AsmElfSegmentTable"};
4522 static constexpr unsigned long variant{166};
4523 static constexpr bool concrete{
true};
4532 using field_type = size_t;
4533 static constexpr size_t position{0};
4534 static constexpr char const *
const name{
"index"};
4535 static constexpr char const *
const typestr{
"size_t"};
4536 static constexpr bool traverse{
false};
4537 static constexpr auto mbr_ptr{&SgAsmElfSegmentTableEntry::p_index};
4538 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4539 using bind = Desc<SgAsmElfSegmentTableEntry, size_t SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_index>;
4544 static constexpr size_t position{1};
4545 static constexpr char const *
const name{
"type"};
4546 static constexpr char const *
const typestr{
"SgAsmElfSegmentTableEntry::SegmentType"};
4547 static constexpr bool traverse{
false};
4548 static constexpr auto mbr_ptr{&SgAsmElfSegmentTableEntry::p_type};
4549 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4550 using bind = Desc<SgAsmElfSegmentTableEntry, SgAsmElfSegmentTableEntry::SegmentType SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_type>;
4555 static constexpr size_t position{2};
4556 static constexpr char const *
const name{
"flags"};
4557 static constexpr char const *
const typestr{
"SgAsmElfSegmentTableEntry::SegmentFlags"};
4558 static constexpr bool traverse{
false};
4559 static constexpr auto mbr_ptr{&SgAsmElfSegmentTableEntry::p_flags};
4560 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4561 using bind = Desc<SgAsmElfSegmentTableEntry, SgAsmElfSegmentTableEntry::SegmentFlags SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_flags>;
4566 static constexpr size_t position{3};
4567 static constexpr char const *
const name{
"offset"};
4568 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4569 static constexpr bool traverse{
false};
4570 static constexpr auto mbr_ptr{&SgAsmElfSegmentTableEntry::p_offset};
4571 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4572 using bind = Desc<SgAsmElfSegmentTableEntry, Rose::BinaryAnalysis::Address SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_offset>;
4577 static constexpr size_t position{4};
4578 static constexpr char const *
const name{
"vaddr"};
4579 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4580 static constexpr bool traverse{
false};
4581 static constexpr auto mbr_ptr{&SgAsmElfSegmentTableEntry::p_vaddr};
4582 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4583 using bind = Desc<SgAsmElfSegmentTableEntry, Rose::BinaryAnalysis::Address SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_vaddr>;
4588 static constexpr size_t position{5};
4589 static constexpr char const *
const name{
"paddr"};
4590 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4591 static constexpr bool traverse{
false};
4592 static constexpr auto mbr_ptr{&SgAsmElfSegmentTableEntry::p_paddr};
4593 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4594 using bind = Desc<SgAsmElfSegmentTableEntry, Rose::BinaryAnalysis::Address SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_paddr>;
4599 static constexpr size_t position{6};
4600 static constexpr char const *
const name{
"filesz"};
4601 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4602 static constexpr bool traverse{
false};
4603 static constexpr auto mbr_ptr{&SgAsmElfSegmentTableEntry::p_filesz};
4604 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4605 using bind = Desc<SgAsmElfSegmentTableEntry, Rose::BinaryAnalysis::Address SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_filesz>;
4610 static constexpr size_t position{7};
4611 static constexpr char const *
const name{
"memsz"};
4612 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4613 static constexpr bool traverse{
false};
4614 static constexpr auto mbr_ptr{&SgAsmElfSegmentTableEntry::p_memsz};
4615 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4616 using bind = Desc<SgAsmElfSegmentTableEntry, Rose::BinaryAnalysis::Address SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_memsz>;
4621 static constexpr size_t position{8};
4622 static constexpr char const *
const name{
"align"};
4623 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4624 static constexpr bool traverse{
false};
4625 static constexpr auto mbr_ptr{&SgAsmElfSegmentTableEntry::p_align};
4626 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4627 using bind = Desc<SgAsmElfSegmentTableEntry, Rose::BinaryAnalysis::Address SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_align>;
4631 using field_type = SgUnsignedCharList;
4632 static constexpr size_t position{9};
4633 static constexpr char const *
const name{
"extra"};
4634 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
4635 static constexpr bool traverse{
false};
4636 static constexpr auto mbr_ptr{&SgAsmElfSegmentTableEntry::p_extra};
4637 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4638 using bind = Desc<SgAsmElfSegmentTableEntry, SgUnsignedCharList SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_extra>;
4643 static constexpr char const *
const name{
"AsmElfSegmentTableEntry"};
4644 static constexpr unsigned long variant{167};
4645 static constexpr bool concrete{
true};
4647 using fields_t =
mp::List<describe_field_t<SgAsmElfSegmentTableEntry,size_t,&SgAsmElfSegmentTableEntry::p_index>,
describe_field_t<SgAsmElfSegmentTableEntry,SgAsmElfSegmentTableEntry::SegmentType,&SgAsmElfSegmentTableEntry::p_type>,
describe_field_t<SgAsmElfSegmentTableEntry,SgAsmElfSegmentTableEntry::SegmentFlags,&SgAsmElfSegmentTableEntry::p_flags>,
describe_field_t<SgAsmElfSegmentTableEntry,Rose::BinaryAnalysis::Address,&SgAsmElfSegmentTableEntry::p_offset>,
describe_field_t<SgAsmElfSegmentTableEntry,Rose::BinaryAnalysis::Address,&SgAsmElfSegmentTableEntry::p_vaddr>,
describe_field_t<SgAsmElfSegmentTableEntry,Rose::BinaryAnalysis::Address,&SgAsmElfSegmentTableEntry::p_paddr>,
describe_field_t<SgAsmElfSegmentTableEntry,Rose::BinaryAnalysis::Address,&SgAsmElfSegmentTableEntry::p_filesz>,
describe_field_t<SgAsmElfSegmentTableEntry,Rose::BinaryAnalysis::Address,&SgAsmElfSegmentTableEntry::p_memsz>,
describe_field_t<SgAsmElfSegmentTableEntry,Rose::BinaryAnalysis::Address,&SgAsmElfSegmentTableEntry::p_align>,
describe_field_t<SgAsmElfSegmentTableEntry,SgUnsignedCharList,&SgAsmElfSegmentTableEntry::p_extra>>;
4654 using field_type = SgAsmElfSegmentTableEntryPtrList;
4655 static constexpr size_t position{0};
4656 static constexpr char const *
const name{
"entries"};
4657 static constexpr char const *
const typestr{
"SgAsmElfSegmentTableEntryPtrList"};
4658 static constexpr bool traverse{
true};
4659 static constexpr auto mbr_ptr{&SgAsmElfSegmentTableEntryList::p_entries};
4660 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4661 using bind = Desc<SgAsmElfSegmentTableEntryList, SgAsmElfSegmentTableEntryPtrList SgAsmElfSegmentTableEntryList::*, &SgAsmElfSegmentTableEntryList::p_entries>;
4666 static constexpr char const *
const name{
"AsmElfSegmentTableEntryList"};
4667 static constexpr unsigned long variant{168};
4668 static constexpr bool concrete{
true};
4678 static constexpr size_t position{0};
4679 static constexpr char const *
const name{
"strtab"};
4680 static constexpr char const *
const typestr{
"SgAsmElfStrtab*"};
4681 static constexpr bool traverse{
false};
4682 static constexpr auto mbr_ptr{&SgAsmElfStringSection::p_strtab};
4683 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4684 using bind = Desc<SgAsmElfStringSection, SgAsmElfStrtab* SgAsmElfStringSection::*, &SgAsmElfStringSection::p_strtab>;
4689 static constexpr char const *
const name{
"AsmElfStringSection"};
4690 static constexpr unsigned long variant{169};
4691 static constexpr bool concrete{
true};
4701 static constexpr char const *
const name{
"AsmElfStrtab"};
4702 static constexpr unsigned long variant{170};
4703 static constexpr bool concrete{
true};
4712 using field_type =
unsigned char;
4713 static constexpr size_t position{0};
4714 static constexpr char const *
const name{
"st_info"};
4715 static constexpr char const *
const typestr{
"unsigned char"};
4716 static constexpr bool traverse{
false};
4717 static constexpr auto mbr_ptr{&SgAsmElfSymbol::p_st_info};
4718 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4719 using bind = Desc<SgAsmElfSymbol, unsigned char SgAsmElfSymbol::*, &SgAsmElfSymbol::p_st_info>;
4723 using field_type =
unsigned char;
4724 static constexpr size_t position{1};
4725 static constexpr char const *
const name{
"st_res1"};
4726 static constexpr char const *
const typestr{
"unsigned char"};
4727 static constexpr bool traverse{
false};
4728 static constexpr auto mbr_ptr{&SgAsmElfSymbol::p_st_res1};
4729 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4730 using bind = Desc<SgAsmElfSymbol, unsigned char SgAsmElfSymbol::*, &SgAsmElfSymbol::p_st_res1>;
4734 using field_type = unsigned;
4735 static constexpr size_t position{2};
4736 static constexpr char const *
const name{
"st_shndx"};
4737 static constexpr char const *
const typestr{
"unsigned"};
4738 static constexpr bool traverse{
false};
4739 static constexpr auto mbr_ptr{&SgAsmElfSymbol::p_st_shndx};
4740 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4741 using bind = Desc<SgAsmElfSymbol, unsigned SgAsmElfSymbol::*, &SgAsmElfSymbol::p_st_shndx>;
4746 static constexpr size_t position{3};
4747 static constexpr char const *
const name{
"st_size"};
4748 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
4749 static constexpr bool traverse{
false};
4750 static constexpr auto mbr_ptr{&SgAsmElfSymbol::p_st_size};
4751 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4752 using bind = Desc<SgAsmElfSymbol, Rose::BinaryAnalysis::Address SgAsmElfSymbol::*, &SgAsmElfSymbol::p_st_size>;
4756 using field_type = SgUnsignedCharList;
4757 static constexpr size_t position{4};
4758 static constexpr char const *
const name{
"extra"};
4759 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
4760 static constexpr bool traverse{
false};
4761 static constexpr auto mbr_ptr{&SgAsmElfSymbol::p_extra};
4762 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4763 using bind = Desc<SgAsmElfSymbol, SgUnsignedCharList SgAsmElfSymbol::*, &SgAsmElfSymbol::p_extra>;
4768 static constexpr char const *
const name{
"AsmElfSymbol"};
4769 static constexpr unsigned long variant{171};
4770 static constexpr bool concrete{
true};
4772 using fields_t =
mp::List<describe_field_t<SgAsmElfSymbol,unsigned char,&SgAsmElfSymbol::p_st_info>,
describe_field_t<SgAsmElfSymbol,unsigned char,&SgAsmElfSymbol::p_st_res1>,
describe_field_t<SgAsmElfSymbol,unsigned,&SgAsmElfSymbol::p_st_shndx>,
describe_field_t<SgAsmElfSymbol,Rose::BinaryAnalysis::Address,&SgAsmElfSymbol::p_st_size>,
describe_field_t<SgAsmElfSymbol,SgUnsignedCharList,&SgAsmElfSymbol::p_extra>>;
4779 using field_type = SgAsmElfSymbolPtrList;
4780 static constexpr size_t position{0};
4781 static constexpr char const *
const name{
"symbols"};
4782 static constexpr char const *
const typestr{
"SgAsmElfSymbolPtrList"};
4783 static constexpr bool traverse{
true};
4784 static constexpr auto mbr_ptr{&SgAsmElfSymbolList::p_symbols};
4785 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4786 using bind = Desc<SgAsmElfSymbolList, SgAsmElfSymbolPtrList SgAsmElfSymbolList::*, &SgAsmElfSymbolList::p_symbols>;
4791 static constexpr char const *
const name{
"AsmElfSymbolList"};
4792 static constexpr unsigned long variant{172};
4793 static constexpr bool concrete{
true};
4802 using field_type = bool;
4803 static constexpr size_t position{0};
4804 static constexpr char const *
const name{
"isDynamic"};
4805 static constexpr char const *
const typestr{
"bool"};
4806 static constexpr bool traverse{
false};
4807 static constexpr auto mbr_ptr{&SgAsmElfSymbolSection::p_isDynamic};
4808 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4809 using bind = Desc<SgAsmElfSymbolSection, bool SgAsmElfSymbolSection::*, &SgAsmElfSymbolSection::p_isDynamic>;
4814 static constexpr size_t position{1};
4815 static constexpr char const *
const name{
"symbols"};
4816 static constexpr char const *
const typestr{
"SgAsmElfSymbolList*"};
4817 static constexpr bool traverse{
true};
4818 static constexpr auto mbr_ptr{&SgAsmElfSymbolSection::p_symbols};
4819 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4820 using bind = Desc<SgAsmElfSymbolSection, SgAsmElfSymbolList* SgAsmElfSymbolSection::*, &SgAsmElfSymbolSection::p_symbols>;
4825 static constexpr char const *
const name{
"AsmElfSymbolSection"};
4826 static constexpr unsigned long variant{173};
4827 static constexpr bool concrete{
true};
4837 static constexpr size_t position{0};
4838 static constexpr char const *
const name{
"name"};
4839 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
4840 static constexpr bool traverse{
true};
4841 static constexpr auto mbr_ptr{&SgAsmElfSymverDefinedAux::p_name};
4842 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4843 using bind = Desc<SgAsmElfSymverDefinedAux, SgAsmGenericString* SgAsmElfSymverDefinedAux::*, &SgAsmElfSymverDefinedAux::p_name>;
4848 static constexpr char const *
const name{
"AsmElfSymverDefinedAux"};
4849 static constexpr unsigned long variant{174};
4850 static constexpr bool concrete{
true};
4859 using field_type = SgAsmElfSymverDefinedAuxPtrList;
4860 static constexpr size_t position{0};
4861 static constexpr char const *
const name{
"entries"};
4862 static constexpr char const *
const typestr{
"SgAsmElfSymverDefinedAuxPtrList"};
4863 static constexpr bool traverse{
true};
4864 static constexpr auto mbr_ptr{&SgAsmElfSymverDefinedAuxList::p_entries};
4865 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4866 using bind = Desc<SgAsmElfSymverDefinedAuxList, SgAsmElfSymverDefinedAuxPtrList SgAsmElfSymverDefinedAuxList::*, &SgAsmElfSymverDefinedAuxList::p_entries>;
4871 static constexpr char const *
const name{
"AsmElfSymverDefinedAuxList"};
4872 static constexpr unsigned long variant{175};
4873 static constexpr bool concrete{
true};
4882 using field_type = size_t;
4883 static constexpr size_t position{0};
4884 static constexpr char const *
const name{
"version"};
4885 static constexpr char const *
const typestr{
"size_t"};
4886 static constexpr bool traverse{
false};
4887 static constexpr auto mbr_ptr{&SgAsmElfSymverDefinedEntry::p_version};
4888 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4889 using bind = Desc<SgAsmElfSymverDefinedEntry, size_t SgAsmElfSymverDefinedEntry::*, &SgAsmElfSymverDefinedEntry::p_version>;
4893 using field_type = int;
4894 static constexpr size_t position{1};
4895 static constexpr char const *
const name{
"flags"};
4896 static constexpr char const *
const typestr{
"int"};
4897 static constexpr bool traverse{
false};
4898 static constexpr auto mbr_ptr{&SgAsmElfSymverDefinedEntry::p_flags};
4899 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4900 using bind = Desc<SgAsmElfSymverDefinedEntry, int SgAsmElfSymverDefinedEntry::*, &SgAsmElfSymverDefinedEntry::p_flags>;
4904 using field_type = size_t;
4905 static constexpr size_t position{2};
4906 static constexpr char const *
const name{
"index"};
4907 static constexpr char const *
const typestr{
"size_t"};
4908 static constexpr bool traverse{
false};
4909 static constexpr auto mbr_ptr{&SgAsmElfSymverDefinedEntry::p_index};
4910 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4911 using bind = Desc<SgAsmElfSymverDefinedEntry, size_t SgAsmElfSymverDefinedEntry::*, &SgAsmElfSymverDefinedEntry::p_index>;
4915 using field_type = uint32_t;
4916 static constexpr size_t position{3};
4917 static constexpr char const *
const name{
"hash"};
4918 static constexpr char const *
const typestr{
"uint32_t"};
4919 static constexpr bool traverse{
false};
4920 static constexpr auto mbr_ptr{&SgAsmElfSymverDefinedEntry::p_hash};
4921 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4922 using bind = Desc<SgAsmElfSymverDefinedEntry, uint32_t SgAsmElfSymverDefinedEntry::*, &SgAsmElfSymverDefinedEntry::p_hash>;
4927 static constexpr size_t position{4};
4928 static constexpr char const *
const name{
"entries"};
4929 static constexpr char const *
const typestr{
"SgAsmElfSymverDefinedAuxList*"};
4930 static constexpr bool traverse{
true};
4931 static constexpr auto mbr_ptr{&SgAsmElfSymverDefinedEntry::p_entries};
4932 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4933 using bind = Desc<SgAsmElfSymverDefinedEntry, SgAsmElfSymverDefinedAuxList* SgAsmElfSymverDefinedEntry::*, &SgAsmElfSymverDefinedEntry::p_entries>;
4938 static constexpr char const *
const name{
"AsmElfSymverDefinedEntry"};
4939 static constexpr unsigned long variant{176};
4940 static constexpr bool concrete{
true};
4942 using fields_t =
mp::List<describe_field_t<SgAsmElfSymverDefinedEntry,size_t,&SgAsmElfSymverDefinedEntry::p_version>,
describe_field_t<SgAsmElfSymverDefinedEntry,int,&SgAsmElfSymverDefinedEntry::p_flags>,
describe_field_t<SgAsmElfSymverDefinedEntry,size_t,&SgAsmElfSymverDefinedEntry::p_index>,
describe_field_t<SgAsmElfSymverDefinedEntry,uint32_t,&SgAsmElfSymverDefinedEntry::p_hash>,
describe_field_t<SgAsmElfSymverDefinedEntry,SgAsmElfSymverDefinedAuxList*,&SgAsmElfSymverDefinedEntry::p_entries>>;
4949 using field_type = SgAsmElfSymverDefinedEntryPtrList;
4950 static constexpr size_t position{0};
4951 static constexpr char const *
const name{
"entries"};
4952 static constexpr char const *
const typestr{
"SgAsmElfSymverDefinedEntryPtrList"};
4953 static constexpr bool traverse{
true};
4954 static constexpr auto mbr_ptr{&SgAsmElfSymverDefinedEntryList::p_entries};
4955 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4956 using bind = Desc<SgAsmElfSymverDefinedEntryList, SgAsmElfSymverDefinedEntryPtrList SgAsmElfSymverDefinedEntryList::*, &SgAsmElfSymverDefinedEntryList::p_entries>;
4961 static constexpr char const *
const name{
"AsmElfSymverDefinedEntryList"};
4962 static constexpr unsigned long variant{177};
4963 static constexpr bool concrete{
true};
4973 static constexpr size_t position{0};
4974 static constexpr char const *
const name{
"entries"};
4975 static constexpr char const *
const typestr{
"SgAsmElfSymverDefinedEntryList*"};
4976 static constexpr bool traverse{
true};
4977 static constexpr auto mbr_ptr{&SgAsmElfSymverDefinedSection::p_entries};
4978 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
4979 using bind = Desc<SgAsmElfSymverDefinedSection, SgAsmElfSymverDefinedEntryList* SgAsmElfSymverDefinedSection::*, &SgAsmElfSymverDefinedSection::p_entries>;
4984 static constexpr char const *
const name{
"AsmElfSymverDefinedSection"};
4985 static constexpr unsigned long variant{178};
4986 static constexpr bool concrete{
true};
4995 using field_type = size_t;
4996 static constexpr size_t position{0};
4997 static constexpr char const *
const name{
"value"};
4998 static constexpr char const *
const typestr{
"size_t"};
4999 static constexpr bool traverse{
false};
5000 static constexpr auto mbr_ptr{&SgAsmElfSymverEntry::p_value};
5001 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5002 using bind = Desc<SgAsmElfSymverEntry, size_t SgAsmElfSymverEntry::*, &SgAsmElfSymverEntry::p_value>;
5007 static constexpr char const *
const name{
"AsmElfSymverEntry"};
5008 static constexpr unsigned long variant{179};
5009 static constexpr bool concrete{
true};
5018 using field_type = SgAsmElfSymverEntryPtrList;
5019 static constexpr size_t position{0};
5020 static constexpr char const *
const name{
"entries"};
5021 static constexpr char const *
const typestr{
"SgAsmElfSymverEntryPtrList"};
5022 static constexpr bool traverse{
true};
5023 static constexpr auto mbr_ptr{&SgAsmElfSymverEntryList::p_entries};
5024 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5025 using bind = Desc<SgAsmElfSymverEntryList, SgAsmElfSymverEntryPtrList SgAsmElfSymverEntryList::*, &SgAsmElfSymverEntryList::p_entries>;
5030 static constexpr char const *
const name{
"AsmElfSymverEntryList"};
5031 static constexpr unsigned long variant{180};
5032 static constexpr bool concrete{
true};
5041 using field_type = uint32_t;
5042 static constexpr size_t position{0};
5043 static constexpr char const *
const name{
"hash"};
5044 static constexpr char const *
const typestr{
"uint32_t"};
5045 static constexpr bool traverse{
false};
5046 static constexpr auto mbr_ptr{&SgAsmElfSymverNeededAux::p_hash};
5047 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5048 using bind = Desc<SgAsmElfSymverNeededAux, uint32_t SgAsmElfSymverNeededAux::*, &SgAsmElfSymverNeededAux::p_hash>;
5052 using field_type = int;
5053 static constexpr size_t position{1};
5054 static constexpr char const *
const name{
"flags"};
5055 static constexpr char const *
const typestr{
"int"};
5056 static constexpr bool traverse{
false};
5057 static constexpr auto mbr_ptr{&SgAsmElfSymverNeededAux::p_flags};
5058 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5059 using bind = Desc<SgAsmElfSymverNeededAux, int SgAsmElfSymverNeededAux::*, &SgAsmElfSymverNeededAux::p_flags>;
5063 using field_type = size_t;
5064 static constexpr size_t position{2};
5065 static constexpr char const *
const name{
"other"};
5066 static constexpr char const *
const typestr{
"size_t"};
5067 static constexpr bool traverse{
false};
5068 static constexpr auto mbr_ptr{&SgAsmElfSymverNeededAux::p_other};
5069 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5070 using bind = Desc<SgAsmElfSymverNeededAux, size_t SgAsmElfSymverNeededAux::*, &SgAsmElfSymverNeededAux::p_other>;
5075 static constexpr size_t position{3};
5076 static constexpr char const *
const name{
"name"};
5077 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
5078 static constexpr bool traverse{
true};
5079 static constexpr auto mbr_ptr{&SgAsmElfSymverNeededAux::p_name};
5080 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5081 using bind = Desc<SgAsmElfSymverNeededAux, SgAsmGenericString* SgAsmElfSymverNeededAux::*, &SgAsmElfSymverNeededAux::p_name>;
5086 static constexpr char const *
const name{
"AsmElfSymverNeededAux"};
5087 static constexpr unsigned long variant{181};
5088 static constexpr bool concrete{
true};
5090 using fields_t =
mp::List<describe_field_t<SgAsmElfSymverNeededAux,uint32_t,&SgAsmElfSymverNeededAux::p_hash>,
describe_field_t<SgAsmElfSymverNeededAux,int,&SgAsmElfSymverNeededAux::p_flags>,
describe_field_t<SgAsmElfSymverNeededAux,size_t,&SgAsmElfSymverNeededAux::p_other>,
describe_field_t<SgAsmElfSymverNeededAux,SgAsmGenericString*,&SgAsmElfSymverNeededAux::p_name>>;
5097 using field_type = SgAsmElfSymverNeededAuxPtrList;
5098 static constexpr size_t position{0};
5099 static constexpr char const *
const name{
"entries"};
5100 static constexpr char const *
const typestr{
"SgAsmElfSymverNeededAuxPtrList"};
5101 static constexpr bool traverse{
true};
5102 static constexpr auto mbr_ptr{&SgAsmElfSymverNeededAuxList::p_entries};
5103 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5104 using bind = Desc<SgAsmElfSymverNeededAuxList, SgAsmElfSymverNeededAuxPtrList SgAsmElfSymverNeededAuxList::*, &SgAsmElfSymverNeededAuxList::p_entries>;
5109 static constexpr char const *
const name{
"AsmElfSymverNeededAuxList"};
5110 static constexpr unsigned long variant{182};
5111 static constexpr bool concrete{
true};
5120 using field_type = size_t;
5121 static constexpr size_t position{0};
5122 static constexpr char const *
const name{
"version"};
5123 static constexpr char const *
const typestr{
"size_t"};
5124 static constexpr bool traverse{
false};
5125 static constexpr auto mbr_ptr{&SgAsmElfSymverNeededEntry::p_version};
5126 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5127 using bind = Desc<SgAsmElfSymverNeededEntry, size_t SgAsmElfSymverNeededEntry::*, &SgAsmElfSymverNeededEntry::p_version>;
5132 static constexpr size_t position{1};
5133 static constexpr char const *
const name{
"fileName"};
5134 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
5135 static constexpr bool traverse{
true};
5136 static constexpr auto mbr_ptr{&SgAsmElfSymverNeededEntry::p_fileName};
5137 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5138 using bind = Desc<SgAsmElfSymverNeededEntry, SgAsmGenericString* SgAsmElfSymverNeededEntry::*, &SgAsmElfSymverNeededEntry::p_fileName>;
5143 static constexpr size_t position{2};
5144 static constexpr char const *
const name{
"entries"};
5145 static constexpr char const *
const typestr{
"SgAsmElfSymverNeededAuxList*"};
5146 static constexpr bool traverse{
true};
5147 static constexpr auto mbr_ptr{&SgAsmElfSymverNeededEntry::p_entries};
5148 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5149 using bind = Desc<SgAsmElfSymverNeededEntry, SgAsmElfSymverNeededAuxList* SgAsmElfSymverNeededEntry::*, &SgAsmElfSymverNeededEntry::p_entries>;
5154 static constexpr char const *
const name{
"AsmElfSymverNeededEntry"};
5155 static constexpr unsigned long variant{183};
5156 static constexpr bool concrete{
true};
5165 using field_type = SgAsmElfSymverNeededEntryPtrList;
5166 static constexpr size_t position{0};
5167 static constexpr char const *
const name{
"entries"};
5168 static constexpr char const *
const typestr{
"SgAsmElfSymverNeededEntryPtrList"};
5169 static constexpr bool traverse{
true};
5170 static constexpr auto mbr_ptr{&SgAsmElfSymverNeededEntryList::p_entries};
5171 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5172 using bind = Desc<SgAsmElfSymverNeededEntryList, SgAsmElfSymverNeededEntryPtrList SgAsmElfSymverNeededEntryList::*, &SgAsmElfSymverNeededEntryList::p_entries>;
5177 static constexpr char const *
const name{
"AsmElfSymverNeededEntryList"};
5178 static constexpr unsigned long variant{184};
5179 static constexpr bool concrete{
true};
5189 static constexpr size_t position{0};
5190 static constexpr char const *
const name{
"entries"};
5191 static constexpr char const *
const typestr{
"SgAsmElfSymverNeededEntryList*"};
5192 static constexpr bool traverse{
true};
5193 static constexpr auto mbr_ptr{&SgAsmElfSymverNeededSection::p_entries};
5194 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5195 using bind = Desc<SgAsmElfSymverNeededSection, SgAsmElfSymverNeededEntryList* SgAsmElfSymverNeededSection::*, &SgAsmElfSymverNeededSection::p_entries>;
5200 static constexpr char const *
const name{
"AsmElfSymverNeededSection"};
5201 static constexpr unsigned long variant{185};
5202 static constexpr bool concrete{
true};
5212 static constexpr size_t position{0};
5213 static constexpr char const *
const name{
"entries"};
5214 static constexpr char const *
const typestr{
"SgAsmElfSymverEntryList*"};
5215 static constexpr bool traverse{
true};
5216 static constexpr auto mbr_ptr{&SgAsmElfSymverSection::p_entries};
5217 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5218 using bind = Desc<SgAsmElfSymverSection, SgAsmElfSymverEntryList* SgAsmElfSymverSection::*, &SgAsmElfSymverSection::p_entries>;
5223 static constexpr char const *
const name{
"AsmElfSymverSection"};
5224 static constexpr unsigned long variant{186};
5225 static constexpr bool concrete{
true};
5235 static constexpr char const *
const name{
"AsmExecutableFileFormat"};
5236 static constexpr unsigned long variant{187};
5237 static constexpr bool concrete{
false};
5238 using subclasses_t =
mp::List<SgAsmCoffSymbolList, SgAsmDwarfInformation, SgAsmElfDynamicEntry, SgAsmElfDynamicEntryList, SgAsmElfEHFrameEntryCI, SgAsmElfEHFrameEntryCIList, SgAsmElfEHFrameEntryFD, SgAsmElfEHFrameEntryFDList, SgAsmElfNoteEntry, SgAsmElfNoteEntryList, SgAsmElfRelocEntry, SgAsmElfRelocEntryList, SgAsmElfSectionTableEntry, SgAsmElfSegmentTableEntry, SgAsmElfSegmentTableEntryList, SgAsmElfSymbolList, SgAsmElfSymverDefinedAux, SgAsmElfSymverDefinedAuxList, SgAsmElfSymverDefinedEntry, SgAsmElfSymverDefinedEntryList, SgAsmElfSymverEntry, SgAsmElfSymverEntryList, SgAsmElfSymverNeededAux, SgAsmElfSymverNeededAuxList, SgAsmElfSymverNeededEntry, SgAsmElfSymverNeededEntryList, SgAsmGenericDLL, SgAsmGenericDLLList, SgAsmGenericFile, SgAsmGenericFormat, SgAsmGenericHeaderList, SgAsmGenericSection, SgAsmGenericSectionList, SgAsmGenericString, SgAsmGenericStrtab, SgAsmGenericSymbol, SgAsmGenericSymbolList, SgAsmLEEntryPoint, SgAsmLEPageTableEntry, SgAsmLESectionTableEntry, SgAsmNEEntryPoint, SgAsmNERelocEntry, SgAsmNESectionTableEntry, SgAsmPEExportDirectory, SgAsmPEExportEntry, SgAsmPEExportEntryList, SgAsmPEImportDirectory, SgAsmPEImportDirectoryList, SgAsmPEImportItem, SgAsmPEImportItemList, SgAsmPERVASizePair, SgAsmPERVASizePairList, SgAsmPESectionTableEntry, SgAsmStringStorage>;
5246 using field_type = SgAsmExpressionPtrList;
5247 static constexpr size_t position{0};
5248 static constexpr char const *
const name{
"expressions"};
5249 static constexpr char const *
const typestr{
"SgAsmExpressionPtrList"};
5250 static constexpr bool traverse{
true};
5251 static constexpr auto mbr_ptr{&SgAsmExprListExp::p_expressions};
5252 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5253 using bind = Desc<SgAsmExprListExp, SgAsmExpressionPtrList SgAsmExprListExp::*, &SgAsmExprListExp::p_expressions>;
5258 static constexpr char const *
const name{
"AsmExprListExp"};
5259 static constexpr unsigned long variant{188};
5260 static constexpr bool concrete{
true};
5270 static constexpr size_t position{0};
5271 static constexpr char const *
const name{
"type"};
5272 static constexpr char const *
const typestr{
"SgAsmType*"};
5273 static constexpr bool traverse{
false};
5274 static constexpr auto mbr_ptr{&SgAsmExpression::p_type};
5275 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5276 using bind = Desc<SgAsmExpression, SgAsmType* SgAsmExpression::*, &SgAsmExpression::p_type>;
5280 using field_type = std::string;
5281 static constexpr size_t position{1};
5282 static constexpr char const *
const name{
"comment"};
5283 static constexpr char const *
const typestr{
"std::string"};
5284 static constexpr bool traverse{
false};
5285 static constexpr auto mbr_ptr{&SgAsmExpression::p_comment};
5286 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5287 using bind = Desc<SgAsmExpression, std::string SgAsmExpression::*, &SgAsmExpression::p_comment>;
5292 static constexpr char const *
const name{
"AsmExpression"};
5293 static constexpr unsigned long variant{189};
5294 static constexpr bool concrete{
false};
5295 using subclasses_t =
mp::List<SgAsmAarch32Coprocessor, SgAsmBinaryExpression, SgAsmByteOrder, SgAsmCommonSubExpression, SgAsmControlFlagsExpression, SgAsmExprListExp, SgAsmMemoryReferenceExpression, SgAsmRegisterNames, SgAsmRegisterReferenceExpression, SgAsmRiscOperation, SgAsmStackExpression, SgAsmUnaryExpression, SgAsmValueExpression>;
5303 using field_type = std::string;
5304 static constexpr size_t position{0};
5305 static constexpr char const *
const name{
"name"};
5306 static constexpr char const *
const typestr{
"std::string"};
5307 static constexpr bool traverse{
false};
5308 static constexpr auto mbr_ptr{&SgAsmSynthesizedFieldDeclaration::p_name};
5309 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5310 using bind = Desc<SgAsmSynthesizedFieldDeclaration, std::string SgAsmSynthesizedFieldDeclaration::*, &SgAsmSynthesizedFieldDeclaration::p_name>;
5314 using field_type = uint64_t;
5315 static constexpr size_t position{1};
5316 static constexpr char const *
const name{
"offset"};
5317 static constexpr char const *
const typestr{
"uint64_t"};
5318 static constexpr bool traverse{
false};
5319 static constexpr auto mbr_ptr{&SgAsmSynthesizedFieldDeclaration::p_offset};
5320 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5321 using bind = Desc<SgAsmSynthesizedFieldDeclaration, uint64_t SgAsmSynthesizedFieldDeclaration::*, &SgAsmSynthesizedFieldDeclaration::p_offset>;
5326 static constexpr char const *
const name{
"AsmSynthesizedFieldDeclaration"};
5327 static constexpr unsigned long variant{190};
5328 static constexpr bool concrete{
true};
5337 using field_type = size_t;
5338 static constexpr size_t position{0};
5339 static constexpr char const *
const name{
"significandOffset"};
5340 static constexpr char const *
const typestr{
"size_t"};
5341 static constexpr bool traverse{
false};
5342 static constexpr auto mbr_ptr{&SgAsmFloatType::p_significandOffset};
5343 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5344 using bind = Desc<SgAsmFloatType, size_t SgAsmFloatType::*, &SgAsmFloatType::p_significandOffset>;
5348 using field_type = size_t;
5349 static constexpr size_t position{1};
5350 static constexpr char const *
const name{
"significandNBits"};
5351 static constexpr char const *
const typestr{
"size_t"};
5352 static constexpr bool traverse{
false};
5353 static constexpr auto mbr_ptr{&SgAsmFloatType::p_significandNBits};
5354 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5355 using bind = Desc<SgAsmFloatType, size_t SgAsmFloatType::*, &SgAsmFloatType::p_significandNBits>;
5359 using field_type = size_t;
5360 static constexpr size_t position{2};
5361 static constexpr char const *
const name{
"signBitOffset"};
5362 static constexpr char const *
const typestr{
"size_t"};
5363 static constexpr bool traverse{
false};
5364 static constexpr auto mbr_ptr{&SgAsmFloatType::p_signBitOffset};
5365 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5366 using bind = Desc<SgAsmFloatType, size_t SgAsmFloatType::*, &SgAsmFloatType::p_signBitOffset>;
5370 using field_type = size_t;
5371 static constexpr size_t position{3};
5372 static constexpr char const *
const name{
"exponentOffset"};
5373 static constexpr char const *
const typestr{
"size_t"};
5374 static constexpr bool traverse{
false};
5375 static constexpr auto mbr_ptr{&SgAsmFloatType::p_exponentOffset};
5376 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5377 using bind = Desc<SgAsmFloatType, size_t SgAsmFloatType::*, &SgAsmFloatType::p_exponentOffset>;
5381 using field_type = size_t;
5382 static constexpr size_t position{4};
5383 static constexpr char const *
const name{
"exponentNBits"};
5384 static constexpr char const *
const typestr{
"size_t"};
5385 static constexpr bool traverse{
false};
5386 static constexpr auto mbr_ptr{&SgAsmFloatType::p_exponentNBits};
5387 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5388 using bind = Desc<SgAsmFloatType, size_t SgAsmFloatType::*, &SgAsmFloatType::p_exponentNBits>;
5392 using field_type = uint64_t;
5393 static constexpr size_t position{5};
5394 static constexpr char const *
const name{
"exponentBias"};
5395 static constexpr char const *
const typestr{
"uint64_t"};
5396 static constexpr bool traverse{
false};
5397 static constexpr auto mbr_ptr{&SgAsmFloatType::p_exponentBias};
5398 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5399 using bind = Desc<SgAsmFloatType, uint64_t SgAsmFloatType::*, &SgAsmFloatType::p_exponentBias>;
5403 using field_type = unsigned;
5404 static constexpr size_t position{6};
5405 static constexpr char const *
const name{
"flags"};
5406 static constexpr char const *
const typestr{
"unsigned"};
5407 static constexpr bool traverse{
false};
5408 static constexpr auto mbr_ptr{&SgAsmFloatType::p_flags};
5409 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5410 using bind = Desc<SgAsmFloatType, unsigned SgAsmFloatType::*, &SgAsmFloatType::p_flags>;
5415 static constexpr char const *
const name{
"AsmFloatType"};
5416 static constexpr unsigned long variant{191};
5417 static constexpr bool concrete{
true};
5419 using fields_t =
mp::List<describe_field_t<SgAsmFloatType,size_t,&SgAsmFloatType::p_significandOffset>,
describe_field_t<SgAsmFloatType,size_t,&SgAsmFloatType::p_significandNBits>,
describe_field_t<SgAsmFloatType,size_t,&SgAsmFloatType::p_signBitOffset>,
describe_field_t<SgAsmFloatType,size_t,&SgAsmFloatType::p_exponentOffset>,
describe_field_t<SgAsmFloatType,size_t,&SgAsmFloatType::p_exponentNBits>,
describe_field_t<SgAsmFloatType,uint64_t,&SgAsmFloatType::p_exponentBias>,
describe_field_t<SgAsmFloatType,unsigned,&SgAsmFloatType::p_flags>>;
5427 static constexpr char const *
const name{
"AsmFloatValueExpression"};
5428 static constexpr unsigned long variant{192};
5429 static constexpr bool concrete{
true};
5438 using field_type = std::string;
5439 static constexpr size_t position{0};
5440 static constexpr char const *
const name{
"name"};
5441 static constexpr char const *
const typestr{
"std::string"};
5442 static constexpr bool traverse{
false};
5443 static constexpr auto mbr_ptr{&SgAsmFunction::p_name};
5444 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5445 using bind = Desc<SgAsmFunction, std::string SgAsmFunction::*, &SgAsmFunction::p_name>;
5449 using field_type = unsigned;
5450 static constexpr size_t position{1};
5451 static constexpr char const *
const name{
"reason"};
5452 static constexpr char const *
const typestr{
"unsigned"};
5453 static constexpr bool traverse{
false};
5454 static constexpr auto mbr_ptr{&SgAsmFunction::p_reason};
5455 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5456 using bind = Desc<SgAsmFunction, unsigned SgAsmFunction::*, &SgAsmFunction::p_reason>;
5460 using field_type = std::string;
5461 static constexpr size_t position{2};
5462 static constexpr char const *
const name{
"reasonComment"};
5463 static constexpr char const *
const typestr{
"std::string"};
5464 static constexpr bool traverse{
false};
5465 static constexpr auto mbr_ptr{&SgAsmFunction::p_reasonComment};
5466 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5467 using bind = Desc<SgAsmFunction, std::string SgAsmFunction::*, &SgAsmFunction::p_reasonComment>;
5472 static constexpr size_t position{3};
5473 static constexpr char const *
const name{
"functionKind"};
5474 static constexpr char const *
const typestr{
"SgAsmFunction::function_kind_enum"};
5475 static constexpr bool traverse{
false};
5476 static constexpr auto mbr_ptr{&SgAsmFunction::p_functionKind};
5477 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5478 using bind = Desc<SgAsmFunction, SgAsmFunction::function_kind_enum SgAsmFunction::*, &SgAsmFunction::p_functionKind>;
5483 static constexpr size_t position{4};
5484 static constexpr char const *
const name{
"mayReturn"};
5485 static constexpr char const *
const typestr{
"SgAsmFunction::MayReturn"};
5486 static constexpr bool traverse{
false};
5487 static constexpr auto mbr_ptr{&SgAsmFunction::p_mayReturn};
5488 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5489 using bind = Desc<SgAsmFunction, SgAsmFunction::MayReturn SgAsmFunction::*, &SgAsmFunction::p_mayReturn>;
5493 using field_type = std::string;
5494 static constexpr size_t position{5};
5495 static constexpr char const *
const name{
"nameMd5"};
5496 static constexpr char const *
const typestr{
"std::string"};
5497 static constexpr bool traverse{
false};
5498 static constexpr auto mbr_ptr{&SgAsmFunction::p_nameMd5};
5499 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5500 using bind = Desc<SgAsmFunction, std::string SgAsmFunction::*, &SgAsmFunction::p_nameMd5>;
5504 using field_type = SgAsmStatementPtrList;
5505 static constexpr size_t position{6};
5506 static constexpr char const *
const name{
"statementList"};
5507 static constexpr char const *
const typestr{
"SgAsmStatementPtrList"};
5508 static constexpr bool traverse{
true};
5509 static constexpr auto mbr_ptr{&SgAsmFunction::p_statementList};
5510 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5511 using bind = Desc<SgAsmFunction, SgAsmStatementPtrList SgAsmFunction::*, &SgAsmFunction::p_statementList>;
5515 using field_type = SgAsmStatementPtrList;
5516 static constexpr size_t position{7};
5517 static constexpr char const *
const name{
"dest"};
5518 static constexpr char const *
const typestr{
"SgAsmStatementPtrList"};
5519 static constexpr bool traverse{
false};
5520 static constexpr auto mbr_ptr{&SgAsmFunction::p_dest};
5521 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5522 using bind = Desc<SgAsmFunction, SgAsmStatementPtrList SgAsmFunction::*, &SgAsmFunction::p_dest>;
5527 static constexpr size_t position{8};
5528 static constexpr char const *
const name{
"entryVa"};
5529 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
5530 static constexpr bool traverse{
false};
5531 static constexpr auto mbr_ptr{&SgAsmFunction::p_entryVa};
5532 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5533 using bind = Desc<SgAsmFunction, Rose::BinaryAnalysis::Address SgAsmFunction::*, &SgAsmFunction::p_entryVa>;
5538 static constexpr size_t position{9};
5539 static constexpr char const *
const name{
"symbolTable"};
5540 static constexpr char const *
const typestr{
"SgSymbolTable*"};
5541 static constexpr bool traverse{
false};
5542 static constexpr auto mbr_ptr{&SgAsmFunction::p_symbolTable};
5543 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5544 using bind = Desc<SgAsmFunction, SgSymbolTable* SgAsmFunction::*, &SgAsmFunction::p_symbolTable>;
5548 using field_type = size_t;
5549 static constexpr size_t position{10};
5550 static constexpr char const *
const name{
"cachedVertex"};
5551 static constexpr char const *
const typestr{
"size_t"};
5552 static constexpr bool traverse{
false};
5553 static constexpr auto mbr_ptr{&SgAsmFunction::p_cachedVertex};
5554 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5555 using bind = Desc<SgAsmFunction, size_t SgAsmFunction::*, &SgAsmFunction::p_cachedVertex>;
5559 using field_type = int64_t;
5560 static constexpr size_t position{11};
5561 static constexpr char const *
const name{
"stackDelta"};
5562 static constexpr char const *
const typestr{
"int64_t"};
5563 static constexpr bool traverse{
false};
5564 static constexpr auto mbr_ptr{&SgAsmFunction::p_stackDelta};
5565 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5566 using bind = Desc<SgAsmFunction, int64_t SgAsmFunction::*, &SgAsmFunction::p_stackDelta>;
5570 using field_type = std::string;
5571 static constexpr size_t position{12};
5572 static constexpr char const *
const name{
"callingConvention"};
5573 static constexpr char const *
const typestr{
"std::string"};
5574 static constexpr bool traverse{
false};
5575 static constexpr auto mbr_ptr{&SgAsmFunction::p_callingConvention};
5576 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5577 using bind = Desc<SgAsmFunction, std::string SgAsmFunction::*, &SgAsmFunction::p_callingConvention>;
5582 static constexpr char const *
const name{
"AsmFunction"};
5583 static constexpr unsigned long variant{193};
5584 static constexpr bool concrete{
true};
5586 using fields_t =
mp::List<describe_field_t<SgAsmFunction,std::string,&SgAsmFunction::p_name>,
describe_field_t<SgAsmFunction,unsigned,&SgAsmFunction::p_reason>,
describe_field_t<SgAsmFunction,std::string,&SgAsmFunction::p_reasonComment>,
describe_field_t<SgAsmFunction,SgAsmFunction::function_kind_enum,&SgAsmFunction::p_functionKind>,
describe_field_t<SgAsmFunction,SgAsmFunction::MayReturn,&SgAsmFunction::p_mayReturn>,
describe_field_t<SgAsmFunction,std::string,&SgAsmFunction::p_nameMd5>,
describe_field_t<SgAsmFunction,SgAsmStatementPtrList,&SgAsmFunction::p_statementList>,
describe_field_t<SgAsmFunction,SgAsmStatementPtrList,&SgAsmFunction::p_dest>,
describe_field_t<SgAsmFunction,Rose::BinaryAnalysis::Address,&SgAsmFunction::p_entryVa>,
describe_field_t<SgAsmFunction,SgSymbolTable*,&SgAsmFunction::p_symbolTable>,
describe_field_t<SgAsmFunction,size_t,&SgAsmFunction::p_cachedVertex>,
describe_field_t<SgAsmFunction,int64_t,&SgAsmFunction::p_stackDelta>,
describe_field_t<SgAsmFunction,std::string,&SgAsmFunction::p_callingConvention>>;
5594 static constexpr size_t position{0};
5595 static constexpr char const *
const name{
"name"};
5596 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
5597 static constexpr bool traverse{
true};
5598 static constexpr auto mbr_ptr{&SgAsmGenericDLL::p_name};
5599 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5600 using bind = Desc<SgAsmGenericDLL, SgAsmGenericString* SgAsmGenericDLL::*, &SgAsmGenericDLL::p_name>;
5604 using field_type = SgStringList;
5605 static constexpr size_t position{1};
5606 static constexpr char const *
const name{
"symbols"};
5607 static constexpr char const *
const typestr{
"SgStringList"};
5608 static constexpr bool traverse{
false};
5609 static constexpr auto mbr_ptr{&SgAsmGenericDLL::p_symbols};
5610 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5611 using bind = Desc<SgAsmGenericDLL, SgStringList SgAsmGenericDLL::*, &SgAsmGenericDLL::p_symbols>;
5616 static constexpr char const *
const name{
"AsmGenericDLL"};
5617 static constexpr unsigned long variant{194};
5618 static constexpr bool concrete{
true};
5627 using field_type = SgAsmGenericDLLPtrList;
5628 static constexpr size_t position{0};
5629 static constexpr char const *
const name{
"dlls"};
5630 static constexpr char const *
const typestr{
"SgAsmGenericDLLPtrList"};
5631 static constexpr bool traverse{
false};
5632 static constexpr auto mbr_ptr{&SgAsmGenericDLLList::p_dlls};
5633 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5634 using bind = Desc<SgAsmGenericDLLList, SgAsmGenericDLLPtrList SgAsmGenericDLLList::*, &SgAsmGenericDLLList::p_dlls>;
5639 static constexpr char const *
const name{
"AsmGenericDLLList"};
5640 static constexpr unsigned long variant{195};
5641 static constexpr bool concrete{
true};
5651 static constexpr size_t position{0};
5652 static constexpr char const *
const name{
"dwarfInfo"};
5653 static constexpr char const *
const typestr{
"SgAsmDwarfCompilationUnitList*"};
5654 static constexpr bool traverse{
true};
5655 static constexpr auto mbr_ptr{&SgAsmGenericFile::p_dwarfInfo};
5656 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5657 using bind = Desc<SgAsmGenericFile, SgAsmDwarfCompilationUnitList* SgAsmGenericFile::*, &SgAsmGenericFile::p_dwarfInfo>;
5661 using field_type = std::string;
5662 static constexpr size_t position{1};
5663 static constexpr char const *
const name{
"name"};
5664 static constexpr char const *
const typestr{
"std::string"};
5665 static constexpr bool traverse{
false};
5666 static constexpr auto mbr_ptr{&SgAsmGenericFile::p_name};
5667 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5668 using bind = Desc<SgAsmGenericFile, std::string SgAsmGenericFile::*, &SgAsmGenericFile::p_name>;
5672 using field_type = int;
5673 static constexpr size_t position{2};
5674 static constexpr char const *
const name{
"fd"};
5675 static constexpr char const *
const typestr{
"int"};
5676 static constexpr bool traverse{
false};
5677 static constexpr auto mbr_ptr{&SgAsmGenericFile::p_fd};
5678 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5679 using bind = Desc<SgAsmGenericFile, int SgAsmGenericFile::*, &SgAsmGenericFile::p_fd>;
5683 using field_type =
struct stat;
5684 static constexpr size_t position{3};
5685 static constexpr char const *
const name{
"sb"};
5686 static constexpr char const *
const typestr{
"struct stat"};
5687 static constexpr bool traverse{
false};
5688 static constexpr auto mbr_ptr{&SgAsmGenericFile::p_sb};
5689 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5690 using bind = Desc<SgAsmGenericFile, struct stat SgAsmGenericFile::*, &SgAsmGenericFile::p_sb>;
5695 static constexpr size_t position{4};
5696 static constexpr char const *
const name{
"data"};
5697 static constexpr char const *
const typestr{
"SgFileContentList"};
5698 static constexpr bool traverse{
false};
5699 static constexpr auto mbr_ptr{&SgAsmGenericFile::p_data};
5700 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5701 using bind = Desc<SgAsmGenericFile, SgFileContentList SgAsmGenericFile::*, &SgAsmGenericFile::p_data>;
5706 static constexpr size_t position{5};
5707 static constexpr char const *
const name{
"headers"};
5708 static constexpr char const *
const typestr{
"SgAsmGenericHeaderList*"};
5709 static constexpr bool traverse{
true};
5710 static constexpr auto mbr_ptr{&SgAsmGenericFile::p_headers};
5711 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5712 using bind = Desc<SgAsmGenericFile, SgAsmGenericHeaderList* SgAsmGenericFile::*, &SgAsmGenericFile::p_headers>;
5717 static constexpr size_t position{6};
5718 static constexpr char const *
const name{
"holes"};
5719 static constexpr char const *
const typestr{
"SgAsmGenericSectionList*"};
5720 static constexpr bool traverse{
true};
5721 static constexpr auto mbr_ptr{&SgAsmGenericFile::p_holes};
5722 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5723 using bind = Desc<SgAsmGenericFile, SgAsmGenericSectionList* SgAsmGenericFile::*, &SgAsmGenericFile::p_holes>;
5727 using field_type = bool;
5728 static constexpr size_t position{7};
5729 static constexpr char const *
const name{
"truncateZeros"};
5730 static constexpr char const *
const typestr{
"bool"};
5731 static constexpr bool traverse{
false};
5732 static constexpr auto mbr_ptr{&SgAsmGenericFile::p_truncateZeros};
5733 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5734 using bind = Desc<SgAsmGenericFile, bool SgAsmGenericFile::*, &SgAsmGenericFile::p_truncateZeros>;
5738 using field_type = bool;
5739 static constexpr size_t position{8};
5740 static constexpr char const *
const name{
"trackingReferences"};
5741 static constexpr char const *
const typestr{
"bool"};
5742 static constexpr bool traverse{
false};
5743 static constexpr auto mbr_ptr{&SgAsmGenericFile::p_trackingReferences};
5744 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5745 using bind = Desc<SgAsmGenericFile, bool SgAsmGenericFile::*, &SgAsmGenericFile::p_trackingReferences>;
5750 static constexpr size_t position{9};
5751 static constexpr char const *
const name{
"referencedExtents"};
5752 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::AddressIntervalSet"};
5753 static constexpr bool traverse{
false};
5754 static constexpr auto mbr_ptr{&SgAsmGenericFile::p_referencedExtents};
5755 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5756 using bind = Desc<SgAsmGenericFile, Rose::BinaryAnalysis::AddressIntervalSet SgAsmGenericFile::*, &SgAsmGenericFile::p_referencedExtents>;
5760 using field_type = bool;
5761 static constexpr size_t position{10};
5762 static constexpr char const *
const name{
"neuter"};
5763 static constexpr char const *
const typestr{
"bool"};
5764 static constexpr bool traverse{
false};
5765 static constexpr auto mbr_ptr{&SgAsmGenericFile::p_neuter};
5766 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5767 using bind = Desc<SgAsmGenericFile, bool SgAsmGenericFile::*, &SgAsmGenericFile::p_neuter>;
5772 static constexpr char const *
const name{
"AsmGenericFile"};
5773 static constexpr unsigned long variant{196};
5774 static constexpr bool concrete{
true};
5776 using fields_t =
mp::List<describe_field_t<SgAsmGenericFile,SgAsmDwarfCompilationUnitList*,&SgAsmGenericFile::p_dwarfInfo>,
describe_field_t<SgAsmGenericFile,std::string,&SgAsmGenericFile::p_name>,
describe_field_t<SgAsmGenericFile,int,&SgAsmGenericFile::p_fd>,
describe_field_t<SgAsmGenericFile,struct stat,&SgAsmGenericFile::p_sb>,
describe_field_t<SgAsmGenericFile,SgFileContentList,&SgAsmGenericFile::p_data>,
describe_field_t<SgAsmGenericFile,SgAsmGenericHeaderList*,&SgAsmGenericFile::p_headers>,
describe_field_t<SgAsmGenericFile,SgAsmGenericSectionList*,&SgAsmGenericFile::p_holes>,
describe_field_t<SgAsmGenericFile,bool,&SgAsmGenericFile::p_truncateZeros>,
describe_field_t<SgAsmGenericFile,bool,&SgAsmGenericFile::p_trackingReferences>,
describe_field_t<SgAsmGenericFile,Rose::BinaryAnalysis::AddressIntervalSet,&SgAsmGenericFile::p_referencedExtents>,
describe_field_t<SgAsmGenericFile,bool,&SgAsmGenericFile::p_neuter>>;
5783 using field_type = SgAsmGenericFilePtrList;
5784 static constexpr size_t position{0};
5785 static constexpr char const *
const name{
"files"};
5786 static constexpr char const *
const typestr{
"SgAsmGenericFilePtrList"};
5787 static constexpr bool traverse{
true};
5788 static constexpr auto mbr_ptr{&SgAsmGenericFileList::p_files};
5789 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5790 using bind = Desc<SgAsmGenericFileList, SgAsmGenericFilePtrList SgAsmGenericFileList::*, &SgAsmGenericFileList::p_files>;
5795 static constexpr char const *
const name{
"AsmGenericFileList"};
5796 static constexpr unsigned long variant{197};
5797 static constexpr bool concrete{
true};
5807 static constexpr size_t position{0};
5808 static constexpr char const *
const name{
"family"};
5809 static constexpr char const *
const typestr{
"SgAsmGenericFormat::ExecFamily"};
5810 static constexpr bool traverse{
false};
5811 static constexpr auto mbr_ptr{&SgAsmGenericFormat::p_family};
5812 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5813 using bind = Desc<SgAsmGenericFormat, SgAsmGenericFormat::ExecFamily SgAsmGenericFormat::*, &SgAsmGenericFormat::p_family>;
5818 static constexpr size_t position{1};
5819 static constexpr char const *
const name{
"purpose"};
5820 static constexpr char const *
const typestr{
"SgAsmGenericFormat::ExecPurpose"};
5821 static constexpr bool traverse{
false};
5822 static constexpr auto mbr_ptr{&SgAsmGenericFormat::p_purpose};
5823 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5824 using bind = Desc<SgAsmGenericFormat, SgAsmGenericFormat::ExecPurpose SgAsmGenericFormat::*, &SgAsmGenericFormat::p_purpose>;
5829 static constexpr size_t position{2};
5830 static constexpr char const *
const name{
"sex"};
5831 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::ByteOrder::Endianness"};
5832 static constexpr bool traverse{
false};
5833 static constexpr auto mbr_ptr{&SgAsmGenericFormat::p_sex};
5834 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5835 using bind = Desc<SgAsmGenericFormat, Rose::BinaryAnalysis::ByteOrder::Endianness SgAsmGenericFormat::*, &SgAsmGenericFormat::p_sex>;
5839 using field_type = unsigned;
5840 static constexpr size_t position{3};
5841 static constexpr char const *
const name{
"version"};
5842 static constexpr char const *
const typestr{
"unsigned"};
5843 static constexpr bool traverse{
false};
5844 static constexpr auto mbr_ptr{&SgAsmGenericFormat::p_version};
5845 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5846 using bind = Desc<SgAsmGenericFormat, unsigned SgAsmGenericFormat::*, &SgAsmGenericFormat::p_version>;
5850 using field_type = bool;
5851 static constexpr size_t position{4};
5852 static constexpr char const *
const name{
"isCurrentVersion"};
5853 static constexpr char const *
const typestr{
"bool"};
5854 static constexpr bool traverse{
false};
5855 static constexpr auto mbr_ptr{&SgAsmGenericFormat::p_isCurrentVersion};
5856 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5857 using bind = Desc<SgAsmGenericFormat, bool SgAsmGenericFormat::*, &SgAsmGenericFormat::p_isCurrentVersion>;
5862 static constexpr size_t position{5};
5863 static constexpr char const *
const name{
"abi"};
5864 static constexpr char const *
const typestr{
"SgAsmGenericFormat::ExecABI"};
5865 static constexpr bool traverse{
false};
5866 static constexpr auto mbr_ptr{&SgAsmGenericFormat::p_abi};
5867 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5868 using bind = Desc<SgAsmGenericFormat, SgAsmGenericFormat::ExecABI SgAsmGenericFormat::*, &SgAsmGenericFormat::p_abi>;
5872 using field_type = unsigned;
5873 static constexpr size_t position{6};
5874 static constexpr char const *
const name{
"abiVersion"};
5875 static constexpr char const *
const typestr{
"unsigned"};
5876 static constexpr bool traverse{
false};
5877 static constexpr auto mbr_ptr{&SgAsmGenericFormat::p_abiVersion};
5878 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5879 using bind = Desc<SgAsmGenericFormat, unsigned SgAsmGenericFormat::*, &SgAsmGenericFormat::p_abiVersion>;
5883 using field_type = size_t;
5884 static constexpr size_t position{7};
5885 static constexpr char const *
const name{
"wordSize"};
5886 static constexpr char const *
const typestr{
"size_t"};
5887 static constexpr bool traverse{
false};
5888 static constexpr auto mbr_ptr{&SgAsmGenericFormat::p_wordSize};
5889 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5890 using bind = Desc<SgAsmGenericFormat, size_t SgAsmGenericFormat::*, &SgAsmGenericFormat::p_wordSize>;
5895 static constexpr char const *
const name{
"AsmGenericFormat"};
5896 static constexpr unsigned long variant{198};
5897 static constexpr bool concrete{
true};
5899 using fields_t =
mp::List<describe_field_t<SgAsmGenericFormat,SgAsmGenericFormat::ExecFamily,&SgAsmGenericFormat::p_family>,
describe_field_t<SgAsmGenericFormat,SgAsmGenericFormat::ExecPurpose,&SgAsmGenericFormat::p_purpose>,
describe_field_t<SgAsmGenericFormat,Rose::BinaryAnalysis::ByteOrder::Endianness,&SgAsmGenericFormat::p_sex>,
describe_field_t<SgAsmGenericFormat,unsigned,&SgAsmGenericFormat::p_version>,
describe_field_t<SgAsmGenericFormat,bool,&SgAsmGenericFormat::p_isCurrentVersion>,
describe_field_t<SgAsmGenericFormat,SgAsmGenericFormat::ExecABI,&SgAsmGenericFormat::p_abi>,
describe_field_t<SgAsmGenericFormat,unsigned,&SgAsmGenericFormat::p_abiVersion>,
describe_field_t<SgAsmGenericFormat,size_t,&SgAsmGenericFormat::p_wordSize>>;
5907 static constexpr size_t position{0};
5908 static constexpr char const *
const name{
"executableFormat"};
5909 static constexpr char const *
const typestr{
"SgAsmGenericFormat*"};
5910 static constexpr bool traverse{
true};
5911 static constexpr auto mbr_ptr{&SgAsmGenericHeader::p_executableFormat};
5912 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5913 using bind = Desc<SgAsmGenericHeader, SgAsmGenericFormat* SgAsmGenericHeader::*, &SgAsmGenericHeader::p_executableFormat>;
5917 using field_type = SgCharList;
5918 static constexpr size_t position{1};
5919 static constexpr char const *
const name{
"magic"};
5920 static constexpr char const *
const typestr{
"SgCharList"};
5921 static constexpr bool traverse{
false};
5922 static constexpr auto mbr_ptr{&SgAsmGenericHeader::p_magic};
5923 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5924 using bind = Desc<SgAsmGenericHeader, SgCharList SgAsmGenericHeader::*, &SgAsmGenericHeader::p_magic>;
5929 static constexpr size_t position{2};
5930 static constexpr char const *
const name{
"isa"};
5931 static constexpr char const *
const typestr{
"SgAsmGenericFormat::InsSetArchitecture"};
5932 static constexpr bool traverse{
false};
5933 static constexpr auto mbr_ptr{&SgAsmGenericHeader::p_isa};
5934 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5935 using bind = Desc<SgAsmGenericHeader, SgAsmGenericFormat::InsSetArchitecture SgAsmGenericHeader::*, &SgAsmGenericHeader::p_isa>;
5940 static constexpr size_t position{3};
5941 static constexpr char const *
const name{
"baseVa"};
5942 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
5943 static constexpr bool traverse{
false};
5944 static constexpr auto mbr_ptr{&SgAsmGenericHeader::p_baseVa};
5945 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5946 using bind = Desc<SgAsmGenericHeader, Rose::BinaryAnalysis::Address SgAsmGenericHeader::*, &SgAsmGenericHeader::p_baseVa>;
5950 using field_type = SgRVAList;
5951 static constexpr size_t position{4};
5952 static constexpr char const *
const name{
"entryRvas"};
5953 static constexpr char const *
const typestr{
"SgRVAList"};
5954 static constexpr bool traverse{
false};
5955 static constexpr auto mbr_ptr{&SgAsmGenericHeader::p_entryRvas};
5956 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5957 using bind = Desc<SgAsmGenericHeader, SgRVAList SgAsmGenericHeader::*, &SgAsmGenericHeader::p_entryRvas>;
5962 static constexpr size_t position{5};
5963 static constexpr char const *
const name{
"dlls"};
5964 static constexpr char const *
const typestr{
"SgAsmGenericDLLList*"};
5965 static constexpr bool traverse{
true};
5966 static constexpr auto mbr_ptr{&SgAsmGenericHeader::p_dlls};
5967 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5968 using bind = Desc<SgAsmGenericHeader, SgAsmGenericDLLList* SgAsmGenericHeader::*, &SgAsmGenericHeader::p_dlls>;
5973 static constexpr size_t position{6};
5974 static constexpr char const *
const name{
"sections"};
5975 static constexpr char const *
const typestr{
"SgAsmGenericSectionList*"};
5976 static constexpr bool traverse{
true};
5977 static constexpr auto mbr_ptr{&SgAsmGenericHeader::p_sections};
5978 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
5979 using bind = Desc<SgAsmGenericHeader, SgAsmGenericSectionList* SgAsmGenericHeader::*, &SgAsmGenericHeader::p_sections>;
5984 static constexpr char const *
const name{
"AsmGenericHeader"};
5985 static constexpr unsigned long variant{199};
5986 static constexpr bool concrete{
true};
5988 using fields_t =
mp::List<describe_field_t<SgAsmGenericHeader,SgAsmGenericFormat*,&SgAsmGenericHeader::p_executableFormat>,
describe_field_t<SgAsmGenericHeader,SgCharList,&SgAsmGenericHeader::p_magic>,
describe_field_t<SgAsmGenericHeader,SgAsmGenericFormat::InsSetArchitecture,&SgAsmGenericHeader::p_isa>,
describe_field_t<SgAsmGenericHeader,Rose::BinaryAnalysis::Address,&SgAsmGenericHeader::p_baseVa>,
describe_field_t<SgAsmGenericHeader,SgRVAList,&SgAsmGenericHeader::p_entryRvas>,
describe_field_t<SgAsmGenericHeader,SgAsmGenericDLLList*,&SgAsmGenericHeader::p_dlls>,
describe_field_t<SgAsmGenericHeader,SgAsmGenericSectionList*,&SgAsmGenericHeader::p_sections>>;
5995 using field_type = SgAsmGenericHeaderPtrList;
5996 static constexpr size_t position{0};
5997 static constexpr char const *
const name{
"headers"};
5998 static constexpr char const *
const typestr{
"SgAsmGenericHeaderPtrList"};
5999 static constexpr bool traverse{
true};
6000 static constexpr auto mbr_ptr{&SgAsmGenericHeaderList::p_headers};
6001 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6002 using bind = Desc<SgAsmGenericHeaderList, SgAsmGenericHeaderPtrList SgAsmGenericHeaderList::*, &SgAsmGenericHeaderList::p_headers>;
6007 static constexpr char const *
const name{
"AsmGenericHeaderList"};
6008 static constexpr unsigned long variant{200};
6009 static constexpr bool concrete{
true};
6019 static constexpr size_t position{0};
6020 static constexpr char const *
const name{
"file"};
6021 static constexpr char const *
const typestr{
"SgAsmGenericFile*"};
6022 static constexpr bool traverse{
false};
6023 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_file};
6024 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6025 using bind = Desc<SgAsmGenericSection, SgAsmGenericFile* SgAsmGenericSection::*, &SgAsmGenericSection::p_file>;
6030 static constexpr size_t position{1};
6031 static constexpr char const *
const name{
"header"};
6032 static constexpr char const *
const typestr{
"SgAsmGenericHeader*"};
6033 static constexpr bool traverse{
false};
6034 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_header};
6035 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6036 using bind = Desc<SgAsmGenericSection, SgAsmGenericHeader* SgAsmGenericSection::*, &SgAsmGenericSection::p_header>;
6041 static constexpr size_t position{2};
6042 static constexpr char const *
const name{
"size"};
6043 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
6044 static constexpr bool traverse{
false};
6045 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_size};
6046 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6047 using bind = Desc<SgAsmGenericSection, Rose::BinaryAnalysis::Address SgAsmGenericSection::*, &SgAsmGenericSection::p_size>;
6052 static constexpr size_t position{3};
6053 static constexpr char const *
const name{
"offset"};
6054 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
6055 static constexpr bool traverse{
false};
6056 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_offset};
6057 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6058 using bind = Desc<SgAsmGenericSection, Rose::BinaryAnalysis::Address SgAsmGenericSection::*, &SgAsmGenericSection::p_offset>;
6063 static constexpr size_t position{4};
6064 static constexpr char const *
const name{
"fileAlignment"};
6065 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
6066 static constexpr bool traverse{
false};
6067 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_fileAlignment};
6068 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6069 using bind = Desc<SgAsmGenericSection, Rose::BinaryAnalysis::Address SgAsmGenericSection::*, &SgAsmGenericSection::p_fileAlignment>;
6074 static constexpr size_t position{5};
6075 static constexpr char const *
const name{
"data"};
6076 static constexpr char const *
const typestr{
"SgFileContentList"};
6077 static constexpr bool traverse{
false};
6078 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_data};
6079 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6080 using bind = Desc<SgAsmGenericSection, SgFileContentList SgAsmGenericSection::*, &SgAsmGenericSection::p_data>;
6085 static constexpr size_t position{6};
6086 static constexpr char const *
const name{
"purpose"};
6087 static constexpr char const *
const typestr{
"SgAsmGenericSection::SectionPurpose"};
6088 static constexpr bool traverse{
false};
6089 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_purpose};
6090 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6091 using bind = Desc<SgAsmGenericSection, SgAsmGenericSection::SectionPurpose SgAsmGenericSection::*, &SgAsmGenericSection::p_purpose>;
6095 using field_type = bool;
6096 static constexpr size_t position{7};
6097 static constexpr char const *
const name{
"synthesized"};
6098 static constexpr char const *
const typestr{
"bool"};
6099 static constexpr bool traverse{
false};
6100 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_synthesized};
6101 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6102 using bind = Desc<SgAsmGenericSection, bool SgAsmGenericSection::*, &SgAsmGenericSection::p_synthesized>;
6106 using field_type = int;
6107 static constexpr size_t position{8};
6108 static constexpr char const *
const name{
"id"};
6109 static constexpr char const *
const typestr{
"int"};
6110 static constexpr bool traverse{
false};
6111 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_id};
6112 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6113 using bind = Desc<SgAsmGenericSection, int SgAsmGenericSection::*, &SgAsmGenericSection::p_id>;
6118 static constexpr size_t position{9};
6119 static constexpr char const *
const name{
"name"};
6120 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
6121 static constexpr bool traverse{
false};
6122 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_name};
6123 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6124 using bind = Desc<SgAsmGenericSection, SgAsmGenericString* SgAsmGenericSection::*, &SgAsmGenericSection::p_name>;
6128 using field_type = std::string;
6129 static constexpr size_t position{10};
6130 static constexpr char const *
const name{
"shortName"};
6131 static constexpr char const *
const typestr{
"std::string"};
6132 static constexpr bool traverse{
false};
6133 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_shortName};
6134 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6135 using bind = Desc<SgAsmGenericSection, std::string SgAsmGenericSection::*, &SgAsmGenericSection::p_shortName>;
6140 static constexpr size_t position{11};
6141 static constexpr char const *
const name{
"mappedPreferredRva"};
6142 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
6143 static constexpr bool traverse{
false};
6144 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_mappedPreferredRva};
6145 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6146 using bind = Desc<SgAsmGenericSection, Rose::BinaryAnalysis::Address SgAsmGenericSection::*, &SgAsmGenericSection::p_mappedPreferredRva>;
6151 static constexpr size_t position{12};
6152 static constexpr char const *
const name{
"mappedSize"};
6153 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
6154 static constexpr bool traverse{
false};
6155 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_mappedSize};
6156 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6157 using bind = Desc<SgAsmGenericSection, Rose::BinaryAnalysis::Address SgAsmGenericSection::*, &SgAsmGenericSection::p_mappedSize>;
6162 static constexpr size_t position{13};
6163 static constexpr char const *
const name{
"mappedAlignment"};
6164 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
6165 static constexpr bool traverse{
false};
6166 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_mappedAlignment};
6167 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6168 using bind = Desc<SgAsmGenericSection, Rose::BinaryAnalysis::Address SgAsmGenericSection::*, &SgAsmGenericSection::p_mappedAlignment>;
6172 using field_type = bool;
6173 static constexpr size_t position{14};
6174 static constexpr char const *
const name{
"mappedReadPermission"};
6175 static constexpr char const *
const typestr{
"bool"};
6176 static constexpr bool traverse{
false};
6177 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_mappedReadPermission};
6178 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6179 using bind = Desc<SgAsmGenericSection, bool SgAsmGenericSection::*, &SgAsmGenericSection::p_mappedReadPermission>;
6183 using field_type = bool;
6184 static constexpr size_t position{15};
6185 static constexpr char const *
const name{
"mappedWritePermission"};
6186 static constexpr char const *
const typestr{
"bool"};
6187 static constexpr bool traverse{
false};
6188 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_mappedWritePermission};
6189 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6190 using bind = Desc<SgAsmGenericSection, bool SgAsmGenericSection::*, &SgAsmGenericSection::p_mappedWritePermission>;
6194 using field_type = bool;
6195 static constexpr size_t position{16};
6196 static constexpr char const *
const name{
"mappedExecutePermission"};
6197 static constexpr char const *
const typestr{
"bool"};
6198 static constexpr bool traverse{
false};
6199 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_mappedExecutePermission};
6200 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6201 using bind = Desc<SgAsmGenericSection, bool SgAsmGenericSection::*, &SgAsmGenericSection::p_mappedExecutePermission>;
6205 using field_type = bool;
6206 static constexpr size_t position{17};
6207 static constexpr char const *
const name{
"containsCode"};
6208 static constexpr char const *
const typestr{
"bool"};
6209 static constexpr bool traverse{
false};
6210 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_containsCode};
6211 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6212 using bind = Desc<SgAsmGenericSection, bool SgAsmGenericSection::*, &SgAsmGenericSection::p_containsCode>;
6217 static constexpr size_t position{18};
6218 static constexpr char const *
const name{
"mappedActualVa"};
6219 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
6220 static constexpr bool traverse{
false};
6221 static constexpr auto mbr_ptr{&SgAsmGenericSection::p_mappedActualVa};
6222 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6223 using bind = Desc<SgAsmGenericSection, Rose::BinaryAnalysis::Address SgAsmGenericSection::*, &SgAsmGenericSection::p_mappedActualVa>;
6228 static constexpr char const *
const name{
"AsmGenericSection"};
6229 static constexpr unsigned long variant{201};
6230 static constexpr bool concrete{
true};
6231 using subclasses_t =
mp::List<SgAsmCliHeader, SgAsmCoffSymbolTable, SgAsmDOSExtendedHeader, SgAsmElfSection, SgAsmElfSectionTable, SgAsmElfSegmentTable, SgAsmGenericHeader, SgAsmJvmAttributeTable, SgAsmJvmConstantPool, SgAsmJvmFieldTable, SgAsmJvmMethodTable, SgAsmLEEntryTable, SgAsmLENameTable, SgAsmLEPageTable, SgAsmLERelocTable, SgAsmLESection, SgAsmLESectionTable, SgAsmNEEntryTable, SgAsmNEModuleTable, SgAsmNENameTable, SgAsmNERelocTable, SgAsmNESection, SgAsmNESectionTable, SgAsmNEStringTable, SgAsmPESection, SgAsmPESectionTable>;
6232 using fields_t =
mp::List<describe_field_t<SgAsmGenericSection,SgAsmGenericFile*,&SgAsmGenericSection::p_file>,
describe_field_t<SgAsmGenericSection,SgAsmGenericHeader*,&SgAsmGenericSection::p_header>,
describe_field_t<SgAsmGenericSection,Rose::BinaryAnalysis::Address,&SgAsmGenericSection::p_size>,
describe_field_t<SgAsmGenericSection,Rose::BinaryAnalysis::Address,&SgAsmGenericSection::p_offset>,
describe_field_t<SgAsmGenericSection,Rose::BinaryAnalysis::Address,&SgAsmGenericSection::p_fileAlignment>,
describe_field_t<SgAsmGenericSection,SgFileContentList,&SgAsmGenericSection::p_data>,
describe_field_t<SgAsmGenericSection,SgAsmGenericSection::SectionPurpose,&SgAsmGenericSection::p_purpose>,
describe_field_t<SgAsmGenericSection,bool,&SgAsmGenericSection::p_synthesized>,
describe_field_t<SgAsmGenericSection,int,&SgAsmGenericSection::p_id>,
describe_field_t<SgAsmGenericSection,SgAsmGenericString*,&SgAsmGenericSection::p_name>,
describe_field_t<SgAsmGenericSection,std::string,&SgAsmGenericSection::p_shortName>,
describe_field_t<SgAsmGenericSection,Rose::BinaryAnalysis::Address,&SgAsmGenericSection::p_mappedPreferredRva>,
describe_field_t<SgAsmGenericSection,Rose::BinaryAnalysis::Address,&SgAsmGenericSection::p_mappedSize>,
describe_field_t<SgAsmGenericSection,Rose::BinaryAnalysis::Address,&SgAsmGenericSection::p_mappedAlignment>,
describe_field_t<SgAsmGenericSection,bool,&SgAsmGenericSection::p_mappedReadPermission>,
describe_field_t<SgAsmGenericSection,bool,&SgAsmGenericSection::p_mappedWritePermission>,
describe_field_t<SgAsmGenericSection,bool,&SgAsmGenericSection::p_mappedExecutePermission>,
describe_field_t<SgAsmGenericSection,bool,&SgAsmGenericSection::p_containsCode>,
describe_field_t<SgAsmGenericSection,Rose::BinaryAnalysis::Address,&SgAsmGenericSection::p_mappedActualVa>>;
6239 using field_type = SgAsmGenericSectionPtrList;
6240 static constexpr size_t position{0};
6241 static constexpr char const *
const name{
"sections"};
6242 static constexpr char const *
const typestr{
"SgAsmGenericSectionPtrList"};
6243 static constexpr bool traverse{
true};
6244 static constexpr auto mbr_ptr{&SgAsmGenericSectionList::p_sections};
6245 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6246 using bind = Desc<SgAsmGenericSectionList, SgAsmGenericSectionPtrList SgAsmGenericSectionList::*, &SgAsmGenericSectionList::p_sections>;
6251 static constexpr char const *
const name{
"AsmGenericSectionList"};
6252 static constexpr unsigned long variant{202};
6253 static constexpr bool concrete{
true};
6263 static constexpr char const *
const name{
"AsmGenericString"};
6264 static constexpr unsigned long variant{203};
6265 static constexpr bool concrete{
false};
6275 static constexpr size_t position{0};
6276 static constexpr char const *
const name{
"container"};
6277 static constexpr char const *
const typestr{
"SgAsmGenericSection*"};
6278 static constexpr bool traverse{
false};
6279 static constexpr auto mbr_ptr{&SgAsmGenericStrtab::p_container};
6280 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6281 using bind = Desc<SgAsmGenericStrtab, SgAsmGenericSection* SgAsmGenericStrtab::*, &SgAsmGenericStrtab::p_container>;
6285 using field_type = SgAsmGenericStrtab::referenced_t;
6286 static constexpr size_t position{1};
6287 static constexpr char const *
const name{
"storageList"};
6288 static constexpr char const *
const typestr{
"SgAsmGenericStrtab::referenced_t"};
6289 static constexpr bool traverse{
false};
6290 static constexpr auto mbr_ptr{&SgAsmGenericStrtab::p_storageList};
6291 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6292 using bind = Desc<SgAsmGenericStrtab, SgAsmGenericStrtab::referenced_t SgAsmGenericStrtab::*, &SgAsmGenericStrtab::p_storageList>;
6297 static constexpr size_t position{2};
6298 static constexpr char const *
const name{
"freeList"};
6299 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::AddressIntervalSet"};
6300 static constexpr bool traverse{
false};
6301 static constexpr auto mbr_ptr{&SgAsmGenericStrtab::p_freeList};
6302 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6303 using bind = Desc<SgAsmGenericStrtab, Rose::BinaryAnalysis::AddressIntervalSet SgAsmGenericStrtab::*, &SgAsmGenericStrtab::p_freeList>;
6308 static constexpr size_t position{3};
6309 static constexpr char const *
const name{
"dontFree"};
6310 static constexpr char const *
const typestr{
"SgAsmStringStorage*"};
6311 static constexpr bool traverse{
false};
6312 static constexpr auto mbr_ptr{&SgAsmGenericStrtab::p_dontFree};
6313 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6314 using bind = Desc<SgAsmGenericStrtab, SgAsmStringStorage* SgAsmGenericStrtab::*, &SgAsmGenericStrtab::p_dontFree>;
6318 using field_type = size_t;
6319 static constexpr size_t position{4};
6320 static constexpr char const *
const name{
"numberFreed"};
6321 static constexpr char const *
const typestr{
"size_t"};
6322 static constexpr bool traverse{
false};
6323 static constexpr auto mbr_ptr{&SgAsmGenericStrtab::p_numberFreed};
6324 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6325 using bind = Desc<SgAsmGenericStrtab, size_t SgAsmGenericStrtab::*, &SgAsmGenericStrtab::p_numberFreed>;
6330 static constexpr char const *
const name{
"AsmGenericStrtab"};
6331 static constexpr unsigned long variant{204};
6332 static constexpr bool concrete{
false};
6334 using fields_t =
mp::List<describe_field_t<SgAsmGenericStrtab,SgAsmGenericSection*,&SgAsmGenericStrtab::p_container>,
describe_field_t<SgAsmGenericStrtab,SgAsmGenericStrtab::referenced_t,&SgAsmGenericStrtab::p_storageList>,
describe_field_t<SgAsmGenericStrtab,Rose::BinaryAnalysis::AddressIntervalSet,&SgAsmGenericStrtab::p_freeList>,
describe_field_t<SgAsmGenericStrtab,SgAsmStringStorage*,&SgAsmGenericStrtab::p_dontFree>,
describe_field_t<SgAsmGenericStrtab,size_t,&SgAsmGenericStrtab::p_numberFreed>>;
6342 static constexpr size_t position{0};
6343 static constexpr char const *
const name{
"definitionState"};
6344 static constexpr char const *
const typestr{
"SgAsmGenericSymbol::SymbolDefState"};
6345 static constexpr bool traverse{
false};
6346 static constexpr auto mbr_ptr{&SgAsmGenericSymbol::p_definitionState};
6347 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6348 using bind = Desc<SgAsmGenericSymbol, SgAsmGenericSymbol::SymbolDefState SgAsmGenericSymbol::*, &SgAsmGenericSymbol::p_definitionState>;
6353 static constexpr size_t position{1};
6354 static constexpr char const *
const name{
"binding"};
6355 static constexpr char const *
const typestr{
"SgAsmGenericSymbol::SymbolBinding"};
6356 static constexpr bool traverse{
false};
6357 static constexpr auto mbr_ptr{&SgAsmGenericSymbol::p_binding};
6358 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6359 using bind = Desc<SgAsmGenericSymbol, SgAsmGenericSymbol::SymbolBinding SgAsmGenericSymbol::*, &SgAsmGenericSymbol::p_binding>;
6364 static constexpr size_t position{2};
6365 static constexpr char const *
const name{
"type"};
6366 static constexpr char const *
const typestr{
"SgAsmGenericSymbol::SymbolType"};
6367 static constexpr bool traverse{
false};
6368 static constexpr auto mbr_ptr{&SgAsmGenericSymbol::p_type};
6369 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6370 using bind = Desc<SgAsmGenericSymbol, SgAsmGenericSymbol::SymbolType SgAsmGenericSymbol::*, &SgAsmGenericSymbol::p_type>;
6375 static constexpr size_t position{3};
6376 static constexpr char const *
const name{
"value"};
6377 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
6378 static constexpr bool traverse{
false};
6379 static constexpr auto mbr_ptr{&SgAsmGenericSymbol::p_value};
6380 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6381 using bind = Desc<SgAsmGenericSymbol, Rose::BinaryAnalysis::Address SgAsmGenericSymbol::*, &SgAsmGenericSymbol::p_value>;
6386 static constexpr size_t position{4};
6387 static constexpr char const *
const name{
"size"};
6388 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
6389 static constexpr bool traverse{
false};
6390 static constexpr auto mbr_ptr{&SgAsmGenericSymbol::p_size};
6391 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6392 using bind = Desc<SgAsmGenericSymbol, Rose::BinaryAnalysis::Address SgAsmGenericSymbol::*, &SgAsmGenericSymbol::p_size>;
6397 static constexpr size_t position{5};
6398 static constexpr char const *
const name{
"bound"};
6399 static constexpr char const *
const typestr{
"SgAsmGenericSection*"};
6400 static constexpr bool traverse{
false};
6401 static constexpr auto mbr_ptr{&SgAsmGenericSymbol::p_bound};
6402 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6403 using bind = Desc<SgAsmGenericSymbol, SgAsmGenericSection* SgAsmGenericSymbol::*, &SgAsmGenericSymbol::p_bound>;
6408 static constexpr size_t position{6};
6409 static constexpr char const *
const name{
"name"};
6410 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
6411 static constexpr bool traverse{
true};
6412 static constexpr auto mbr_ptr{&SgAsmGenericSymbol::p_name};
6413 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6414 using bind = Desc<SgAsmGenericSymbol, SgAsmGenericString* SgAsmGenericSymbol::*, &SgAsmGenericSymbol::p_name>;
6419 static constexpr char const *
const name{
"AsmGenericSymbol"};
6420 static constexpr unsigned long variant{205};
6421 static constexpr bool concrete{
false};
6423 using fields_t =
mp::List<describe_field_t<SgAsmGenericSymbol,SgAsmGenericSymbol::SymbolDefState,&SgAsmGenericSymbol::p_definitionState>,
describe_field_t<SgAsmGenericSymbol,SgAsmGenericSymbol::SymbolBinding,&SgAsmGenericSymbol::p_binding>,
describe_field_t<SgAsmGenericSymbol,SgAsmGenericSymbol::SymbolType,&SgAsmGenericSymbol::p_type>,
describe_field_t<SgAsmGenericSymbol,Rose::BinaryAnalysis::Address,&SgAsmGenericSymbol::p_value>,
describe_field_t<SgAsmGenericSymbol,Rose::BinaryAnalysis::Address,&SgAsmGenericSymbol::p_size>,
describe_field_t<SgAsmGenericSymbol,SgAsmGenericSection*,&SgAsmGenericSymbol::p_bound>,
describe_field_t<SgAsmGenericSymbol,SgAsmGenericString*,&SgAsmGenericSymbol::p_name>>;
6430 using field_type = SgAsmGenericSymbolPtrList;
6431 static constexpr size_t position{0};
6432 static constexpr char const *
const name{
"symbols"};
6433 static constexpr char const *
const typestr{
"SgAsmGenericSymbolPtrList"};
6434 static constexpr bool traverse{
false};
6435 static constexpr auto mbr_ptr{&SgAsmGenericSymbolList::p_symbols};
6436 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6437 using bind = Desc<SgAsmGenericSymbolList, SgAsmGenericSymbolPtrList SgAsmGenericSymbolList::*, &SgAsmGenericSymbolList::p_symbols>;
6442 static constexpr char const *
const name{
"AsmGenericSymbolList"};
6443 static constexpr unsigned long variant{206};
6444 static constexpr bool concrete{
true};
6454 static constexpr size_t position{0};
6455 static constexpr char const *
const name{
"stride"};
6456 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RegisterDescriptor"};
6457 static constexpr bool traverse{
false};
6458 static constexpr auto mbr_ptr{&SgAsmIndirectRegisterExpression::p_stride};
6459 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6460 using bind = Desc<SgAsmIndirectRegisterExpression, Rose::BinaryAnalysis::RegisterDescriptor SgAsmIndirectRegisterExpression::*, &SgAsmIndirectRegisterExpression::p_stride>;
6465 static constexpr size_t position{1};
6466 static constexpr char const *
const name{
"offset"};
6467 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RegisterDescriptor"};
6468 static constexpr bool traverse{
false};
6469 static constexpr auto mbr_ptr{&SgAsmIndirectRegisterExpression::p_offset};
6470 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6471 using bind = Desc<SgAsmIndirectRegisterExpression, Rose::BinaryAnalysis::RegisterDescriptor SgAsmIndirectRegisterExpression::*, &SgAsmIndirectRegisterExpression::p_offset>;
6475 using field_type = size_t;
6476 static constexpr size_t position{2};
6477 static constexpr char const *
const name{
"index"};
6478 static constexpr char const *
const typestr{
"size_t"};
6479 static constexpr bool traverse{
false};
6480 static constexpr auto mbr_ptr{&SgAsmIndirectRegisterExpression::p_index};
6481 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6482 using bind = Desc<SgAsmIndirectRegisterExpression, size_t SgAsmIndirectRegisterExpression::*, &SgAsmIndirectRegisterExpression::p_index>;
6486 using field_type = size_t;
6487 static constexpr size_t position{3};
6488 static constexpr char const *
const name{
"modulus"};
6489 static constexpr char const *
const typestr{
"size_t"};
6490 static constexpr bool traverse{
false};
6491 static constexpr auto mbr_ptr{&SgAsmIndirectRegisterExpression::p_modulus};
6492 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6493 using bind = Desc<SgAsmIndirectRegisterExpression, size_t SgAsmIndirectRegisterExpression::*, &SgAsmIndirectRegisterExpression::p_modulus>;
6498 static constexpr char const *
const name{
"AsmIndirectRegisterExpression"};
6499 static constexpr unsigned long variant{207};
6500 static constexpr bool concrete{
true};
6502 using fields_t =
mp::List<describe_field_t<SgAsmIndirectRegisterExpression,Rose::BinaryAnalysis::RegisterDescriptor,&SgAsmIndirectRegisterExpression::p_stride>,
describe_field_t<SgAsmIndirectRegisterExpression,Rose::BinaryAnalysis::RegisterDescriptor,&SgAsmIndirectRegisterExpression::p_offset>,
describe_field_t<SgAsmIndirectRegisterExpression,size_t,&SgAsmIndirectRegisterExpression::p_index>,
describe_field_t<SgAsmIndirectRegisterExpression,size_t,&SgAsmIndirectRegisterExpression::p_modulus>>;
6509 using field_type = uint8_t;
6510 static constexpr size_t position{0};
6511 static constexpr char const *
const name{
"architectureId"};
6512 static constexpr char const *
const typestr{
"uint8_t"};
6513 static constexpr bool traverse{
false};
6514 static constexpr auto mbr_ptr{&SgAsmInstruction::p_architectureId};
6515 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6516 using bind = Desc<SgAsmInstruction, uint8_t SgAsmInstruction::*, &SgAsmInstruction::p_architectureId>;
6520 using field_type = SgUnsignedCharList;
6521 static constexpr size_t position{1};
6522 static constexpr char const *
const name{
"rawBytes"};
6523 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
6524 static constexpr bool traverse{
false};
6525 static constexpr auto mbr_ptr{&SgAsmInstruction::p_rawBytes};
6526 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6527 using bind = Desc<SgAsmInstruction, SgUnsignedCharList SgAsmInstruction::*, &SgAsmInstruction::p_rawBytes>;
6532 static constexpr size_t position{2};
6533 static constexpr char const *
const name{
"operandList"};
6534 static constexpr char const *
const typestr{
"SgAsmOperandList*"};
6535 static constexpr bool traverse{
true};
6536 static constexpr auto mbr_ptr{&SgAsmInstruction::p_operandList};
6537 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6538 using bind = Desc<SgAsmInstruction, SgAsmOperandList* SgAsmInstruction::*, &SgAsmInstruction::p_operandList>;
6543 static constexpr size_t position{3};
6544 static constexpr char const *
const name{
"delaySlot"};
6545 static constexpr char const *
const typestr{
"SgAsmInstruction*"};
6546 static constexpr bool traverse{
false};
6547 static constexpr auto mbr_ptr{&SgAsmInstruction::p_delaySlot};
6548 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6549 using bind = Desc<SgAsmInstruction, SgAsmInstruction* SgAsmInstruction::*, &SgAsmInstruction::p_delaySlot>;
6554 static constexpr size_t position{4};
6555 static constexpr char const *
const name{
"semantics"};
6556 static constexpr char const *
const typestr{
"SgAsmExprListExp*"};
6557 static constexpr bool traverse{
true};
6558 static constexpr auto mbr_ptr{&SgAsmInstruction::p_semantics};
6559 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6560 using bind = Desc<SgAsmInstruction, SgAsmExprListExp* SgAsmInstruction::*, &SgAsmInstruction::p_semantics>;
6565 static constexpr char const *
const name{
"AsmInstruction"};
6566 static constexpr unsigned long variant{208};
6567 static constexpr bool concrete{
true};
6569 using fields_t =
mp::List<describe_field_t<SgAsmInstruction,uint8_t,&SgAsmInstruction::p_architectureId>,
describe_field_t<SgAsmInstruction,SgUnsignedCharList,&SgAsmInstruction::p_rawBytes>,
describe_field_t<SgAsmInstruction,SgAsmOperandList*,&SgAsmInstruction::p_operandList>,
describe_field_t<SgAsmInstruction,SgAsmInstruction*,&SgAsmInstruction::p_delaySlot>,
describe_field_t<SgAsmInstruction,SgAsmExprListExp*,&SgAsmInstruction::p_semantics>>;
6577 static constexpr size_t position{0};
6578 static constexpr char const *
const name{
"baseNode"};
6579 static constexpr char const *
const typestr{
"SgNode*"};
6580 static constexpr bool traverse{
false};
6581 static constexpr auto mbr_ptr{&SgAsmIntegerValueExpression::p_baseNode};
6582 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6583 using bind = Desc<SgAsmIntegerValueExpression, SgNode* SgAsmIntegerValueExpression::*, &SgAsmIntegerValueExpression::p_baseNode>;
6588 static constexpr char const *
const name{
"AsmIntegerValueExpression"};
6589 static constexpr unsigned long variant{209};
6590 static constexpr bool concrete{
true};
6599 using field_type = bool;
6600 static constexpr size_t position{0};
6601 static constexpr char const *
const name{
"isSigned"};
6602 static constexpr char const *
const typestr{
"bool"};
6603 static constexpr bool traverse{
false};
6604 static constexpr auto mbr_ptr{&SgAsmIntegerType::p_isSigned};
6605 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6606 using bind = Desc<SgAsmIntegerType, bool SgAsmIntegerType::*, &SgAsmIntegerType::p_isSigned>;
6611 static constexpr char const *
const name{
"AsmIntegerType"};
6612 static constexpr unsigned long variant{210};
6613 static constexpr bool concrete{
true};
6623 static constexpr size_t position{0};
6624 static constexpr char const *
const name{
"headers"};
6625 static constexpr char const *
const typestr{
"SgAsmGenericHeaderList*"};
6626 static constexpr bool traverse{
false};
6627 static constexpr auto mbr_ptr{&SgAsmInterpretation::p_headers};
6628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6629 using bind = Desc<SgAsmInterpretation, SgAsmGenericHeaderList* SgAsmInterpretation::*, &SgAsmInterpretation::p_headers>;
6634 static constexpr size_t position{1};
6635 static constexpr char const *
const name{
"globalBlock"};
6636 static constexpr char const *
const typestr{
"SgAsmBlock*"};
6637 static constexpr bool traverse{
true};
6638 static constexpr auto mbr_ptr{&SgAsmInterpretation::p_globalBlock};
6639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6640 using bind = Desc<SgAsmInterpretation, SgAsmBlock* SgAsmInterpretation::*, &SgAsmInterpretation::p_globalBlock>;
6644 using field_type = bool;
6645 static constexpr size_t position{2};
6646 static constexpr char const *
const name{
"coverageComputed"};
6647 static constexpr char const *
const typestr{
"bool"};
6648 static constexpr bool traverse{
false};
6649 static constexpr auto mbr_ptr{&SgAsmInterpretation::p_coverageComputed};
6650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6651 using bind = Desc<SgAsmInterpretation, bool SgAsmInterpretation::*, &SgAsmInterpretation::p_coverageComputed>;
6655 using field_type = double;
6656 static constexpr size_t position{3};
6657 static constexpr char const *
const name{
"percentageCoverage"};
6658 static constexpr char const *
const typestr{
"double"};
6659 static constexpr bool traverse{
false};
6660 static constexpr auto mbr_ptr{&SgAsmInterpretation::p_percentageCoverage};
6661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6662 using bind = Desc<SgAsmInterpretation, double SgAsmInterpretation::*, &SgAsmInterpretation::p_percentageCoverage>;
6667 static constexpr char const *
const name{
"AsmInterpretation"};
6668 static constexpr unsigned long variant{211};
6669 static constexpr bool concrete{
true};
6671 using fields_t =
mp::List<describe_field_t<SgAsmInterpretation,SgAsmGenericHeaderList*,&SgAsmInterpretation::p_headers>,
describe_field_t<SgAsmInterpretation,SgAsmBlock*,&SgAsmInterpretation::p_globalBlock>,
describe_field_t<SgAsmInterpretation,bool,&SgAsmInterpretation::p_coverageComputed>,
describe_field_t<SgAsmInterpretation,double,&SgAsmInterpretation::p_percentageCoverage>>;
6678 using field_type = SgAsmInterpretationPtrList;
6679 static constexpr size_t position{0};
6680 static constexpr char const *
const name{
"interpretations"};
6681 static constexpr char const *
const typestr{
"SgAsmInterpretationPtrList"};
6682 static constexpr bool traverse{
true};
6683 static constexpr auto mbr_ptr{&SgAsmInterpretationList::p_interpretations};
6684 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6685 using bind = Desc<SgAsmInterpretationList, SgAsmInterpretationPtrList SgAsmInterpretationList::*, &SgAsmInterpretationList::p_interpretations>;
6690 static constexpr char const *
const name{
"AsmInterpretationList"};
6691 static constexpr unsigned long variant{212};
6692 static constexpr bool concrete{
true};
6701 using field_type = uint16_t;
6702 static constexpr size_t position{0};
6703 static constexpr char const *
const name{
"attribute_name_index"};
6704 static constexpr char const *
const typestr{
"uint16_t"};
6705 static constexpr bool traverse{
false};
6706 static constexpr auto mbr_ptr{&SgAsmJvmAttribute::p_attribute_name_index};
6707 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6708 using bind = Desc<SgAsmJvmAttribute, uint16_t SgAsmJvmAttribute::*, &SgAsmJvmAttribute::p_attribute_name_index>;
6712 using field_type = uint32_t;
6713 static constexpr size_t position{1};
6714 static constexpr char const *
const name{
"attribute_length"};
6715 static constexpr char const *
const typestr{
"uint32_t"};
6716 static constexpr bool traverse{
false};
6717 static constexpr auto mbr_ptr{&SgAsmJvmAttribute::p_attribute_length};
6718 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6719 using bind = Desc<SgAsmJvmAttribute, uint32_t SgAsmJvmAttribute::*, &SgAsmJvmAttribute::p_attribute_length>;
6724 static constexpr char const *
const name{
"AsmJvmAttribute"};
6725 static constexpr unsigned long variant{213};
6726 static constexpr bool concrete{
false};
6727 using subclasses_t =
mp::List<SgAsmJvmAnnotationDefault, SgAsmJvmBootstrapMethods, SgAsmJvmCodeAttribute, SgAsmJvmEnclosingMethod, SgAsmJvmIndexedAttr, SgAsmJvmIndexTableAttr, SgAsmJvmInnerClasses, SgAsmJvmLineNumberTable, SgAsmJvmLocalVariableTable, SgAsmJvmLocalVariableTypeTable, SgAsmJvmMethodParameters, SgAsmJvmModule, SgAsmJvmRuntimeInvisibleAnnotations, SgAsmJvmRuntimeVisibilityParamAnnotations, SgAsmJvmRuntimeVisibleAnnotations, SgAsmJvmStackMapTable>;
6735 using field_type = uint16_t;
6736 static constexpr size_t position{0};
6737 static constexpr char const *
const name{
"max_stack"};
6738 static constexpr char const *
const typestr{
"uint16_t"};
6739 static constexpr bool traverse{
false};
6740 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_max_stack};
6741 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6742 using bind = Desc<SgAsmJvmCodeAttribute, uint16_t SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_max_stack>;
6746 using field_type = uint16_t;
6747 static constexpr size_t position{1};
6748 static constexpr char const *
const name{
"max_locals"};
6749 static constexpr char const *
const typestr{
"uint16_t"};
6750 static constexpr bool traverse{
false};
6751 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_max_locals};
6752 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6753 using bind = Desc<SgAsmJvmCodeAttribute, uint16_t SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_max_locals>;
6757 using field_type = uint32_t;
6758 static constexpr size_t position{2};
6759 static constexpr char const *
const name{
"code_length"};
6760 static constexpr char const *
const typestr{
"uint32_t"};
6761 static constexpr bool traverse{
false};
6762 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_code_length};
6763 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6764 using bind = Desc<SgAsmJvmCodeAttribute, uint32_t SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_code_length>;
6768 using field_type =
const char*;
6769 static constexpr size_t position{3};
6770 static constexpr char const *
const name{
"code"};
6771 static constexpr char const *
const typestr{
"const char*"};
6772 static constexpr bool traverse{
false};
6773 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_code};
6774 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6775 using bind = Desc<SgAsmJvmCodeAttribute, const char* SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_code>;
6780 static constexpr size_t position{4};
6781 static constexpr char const *
const name{
"exception_table"};
6782 static constexpr char const *
const typestr{
"SgAsmJvmExceptionTable*"};
6783 static constexpr bool traverse{
false};
6784 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_exception_table};
6785 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6786 using bind = Desc<SgAsmJvmCodeAttribute, SgAsmJvmExceptionTable* SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_exception_table>;
6791 static constexpr size_t position{5};
6792 static constexpr char const *
const name{
"attribute_table"};
6793 static constexpr char const *
const typestr{
"SgAsmJvmAttributeTable*"};
6794 static constexpr bool traverse{
false};
6795 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_attribute_table};
6796 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6797 using bind = Desc<SgAsmJvmCodeAttribute, SgAsmJvmAttributeTable* SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_attribute_table>;
6802 static constexpr size_t position{6};
6803 static constexpr char const *
const name{
"code_offset"};
6804 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
6805 static constexpr bool traverse{
false};
6806 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_code_offset};
6807 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6808 using bind = Desc<SgAsmJvmCodeAttribute, Rose::BinaryAnalysis::Address SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_code_offset>;
6813 static constexpr char const *
const name{
"AsmJvmCodeAttribute"};
6814 static constexpr unsigned long variant{214};
6815 static constexpr bool concrete{
true};
6817 using fields_t =
mp::List<describe_field_t<SgAsmJvmCodeAttribute,uint16_t,&SgAsmJvmCodeAttribute::p_max_stack>,
describe_field_t<SgAsmJvmCodeAttribute,uint16_t,&SgAsmJvmCodeAttribute::p_max_locals>,
describe_field_t<SgAsmJvmCodeAttribute,uint32_t,&SgAsmJvmCodeAttribute::p_code_length>,
describe_field_t<SgAsmJvmCodeAttribute,const char*,&SgAsmJvmCodeAttribute::p_code>,
describe_field_t<SgAsmJvmCodeAttribute,SgAsmJvmExceptionTable*,&SgAsmJvmCodeAttribute::p_exception_table>,
describe_field_t<SgAsmJvmCodeAttribute,SgAsmJvmAttributeTable*,&SgAsmJvmCodeAttribute::p_attribute_table>,
describe_field_t<SgAsmJvmCodeAttribute,Rose::BinaryAnalysis::Address,&SgAsmJvmCodeAttribute::p_code_offset>>;
6824 using field_type = uint16_t;
6825 static constexpr size_t position{0};
6826 static constexpr char const *
const name{
"access_flags"};
6827 static constexpr char const *
const typestr{
"uint16_t"};
6828 static constexpr bool traverse{
false};
6829 static constexpr auto mbr_ptr{&SgAsmJvmMethod::p_access_flags};
6830 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6831 using bind = Desc<SgAsmJvmMethod, uint16_t SgAsmJvmMethod::*, &SgAsmJvmMethod::p_access_flags>;
6835 using field_type = uint16_t;
6836 static constexpr size_t position{1};
6837 static constexpr char const *
const name{
"name_index"};
6838 static constexpr char const *
const typestr{
"uint16_t"};
6839 static constexpr bool traverse{
false};
6840 static constexpr auto mbr_ptr{&SgAsmJvmMethod::p_name_index};
6841 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6842 using bind = Desc<SgAsmJvmMethod, uint16_t SgAsmJvmMethod::*, &SgAsmJvmMethod::p_name_index>;
6846 using field_type = uint16_t;
6847 static constexpr size_t position{2};
6848 static constexpr char const *
const name{
"descriptor_index"};
6849 static constexpr char const *
const typestr{
"uint16_t"};
6850 static constexpr bool traverse{
false};
6851 static constexpr auto mbr_ptr{&SgAsmJvmMethod::p_descriptor_index};
6852 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6853 using bind = Desc<SgAsmJvmMethod, uint16_t SgAsmJvmMethod::*, &SgAsmJvmMethod::p_descriptor_index>;
6858 static constexpr size_t position{3};
6859 static constexpr char const *
const name{
"attribute_table"};
6860 static constexpr char const *
const typestr{
"SgAsmJvmAttributeTable*"};
6861 static constexpr bool traverse{
true};
6862 static constexpr auto mbr_ptr{&SgAsmJvmMethod::p_attribute_table};
6863 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6864 using bind = Desc<SgAsmJvmMethod, SgAsmJvmAttributeTable* SgAsmJvmMethod::*, &SgAsmJvmMethod::p_attribute_table>;
6869 static constexpr size_t position{4};
6870 static constexpr char const *
const name{
"instruction_list"};
6871 static constexpr char const *
const typestr{
"SgAsmInstructionList*"};
6872 static constexpr bool traverse{
false};
6873 static constexpr auto mbr_ptr{&SgAsmJvmMethod::p_instruction_list};
6874 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6875 using bind = Desc<SgAsmJvmMethod, SgAsmInstructionList* SgAsmJvmMethod::*, &SgAsmJvmMethod::p_instruction_list>;
6880 static constexpr char const *
const name{
"AsmJvmMethod"};
6881 static constexpr unsigned long variant{215};
6882 static constexpr bool concrete{
true};
6884 using fields_t =
mp::List<describe_field_t<SgAsmJvmMethod,uint16_t,&SgAsmJvmMethod::p_access_flags>,
describe_field_t<SgAsmJvmMethod,uint16_t,&SgAsmJvmMethod::p_name_index>,
describe_field_t<SgAsmJvmMethod,uint16_t,&SgAsmJvmMethod::p_descriptor_index>,
describe_field_t<SgAsmJvmMethod,SgAsmJvmAttributeTable*,&SgAsmJvmMethod::p_attribute_table>,
describe_field_t<SgAsmJvmMethod,SgAsmInstructionList*,&SgAsmJvmMethod::p_instruction_list>>;
6891 using field_type = SgAsmJvmConstantPoolEntryPtrList;
6892 static constexpr size_t position{0};
6893 static constexpr char const *
const name{
"entries"};
6894 static constexpr char const *
const typestr{
"SgAsmJvmConstantPoolEntryPtrList"};
6895 static constexpr bool traverse{
false};
6896 static constexpr auto mbr_ptr{&SgAsmJvmConstantPool::p_entries};
6897 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6898 using bind = Desc<SgAsmJvmConstantPool, SgAsmJvmConstantPoolEntryPtrList SgAsmJvmConstantPool::*, &SgAsmJvmConstantPool::p_entries>;
6903 static constexpr char const *
const name{
"AsmJvmConstantPool"};
6904 static constexpr unsigned long variant{216};
6905 static constexpr bool concrete{
true};
6915 static constexpr size_t position{0};
6916 static constexpr char const *
const name{
"tag"};
6917 static constexpr char const *
const typestr{
"SgAsmJvmConstantPoolEntry::Kind"};
6918 static constexpr bool traverse{
false};
6919 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_tag};
6920 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6921 using bind = Desc<SgAsmJvmConstantPoolEntry, SgAsmJvmConstantPoolEntry::Kind SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_tag>;
6925 using field_type = uint32_t;
6926 static constexpr size_t position{1};
6927 static constexpr char const *
const name{
"bytes"};
6928 static constexpr char const *
const typestr{
"uint32_t"};
6929 static constexpr bool traverse{
false};
6930 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_bytes};
6931 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6932 using bind = Desc<SgAsmJvmConstantPoolEntry, uint32_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_bytes>;
6936 using field_type = uint32_t;
6937 static constexpr size_t position{2};
6938 static constexpr char const *
const name{
"hi_bytes"};
6939 static constexpr char const *
const typestr{
"uint32_t"};
6940 static constexpr bool traverse{
false};
6941 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_hi_bytes};
6942 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6943 using bind = Desc<SgAsmJvmConstantPoolEntry, uint32_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_hi_bytes>;
6947 using field_type = uint32_t;
6948 static constexpr size_t position{3};
6949 static constexpr char const *
const name{
"low_bytes"};
6950 static constexpr char const *
const typestr{
"uint32_t"};
6951 static constexpr bool traverse{
false};
6952 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_low_bytes};
6953 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6954 using bind = Desc<SgAsmJvmConstantPoolEntry, uint32_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_low_bytes>;
6958 using field_type = uint16_t;
6959 static constexpr size_t position{4};
6960 static constexpr char const *
const name{
"bootstrap_method_attr_index"};
6961 static constexpr char const *
const typestr{
"uint16_t"};
6962 static constexpr bool traverse{
false};
6963 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_bootstrap_method_attr_index};
6964 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6965 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_bootstrap_method_attr_index>;
6969 using field_type = uint16_t;
6970 static constexpr size_t position{5};
6971 static constexpr char const *
const name{
"class_index"};
6972 static constexpr char const *
const typestr{
"uint16_t"};
6973 static constexpr bool traverse{
false};
6974 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_class_index};
6975 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6976 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_class_index>;
6980 using field_type = uint16_t;
6981 static constexpr size_t position{6};
6982 static constexpr char const *
const name{
"descriptor_index"};
6983 static constexpr char const *
const typestr{
"uint16_t"};
6984 static constexpr bool traverse{
false};
6985 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_descriptor_index};
6986 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6987 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_descriptor_index>;
6991 using field_type = uint16_t;
6992 static constexpr size_t position{7};
6993 static constexpr char const *
const name{
"name_index"};
6994 static constexpr char const *
const typestr{
"uint16_t"};
6995 static constexpr bool traverse{
false};
6996 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_name_index};
6997 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6998 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_name_index>;
7002 using field_type = uint16_t;
7003 static constexpr size_t position{8};
7004 static constexpr char const *
const name{
"name_and_type_index"};
7005 static constexpr char const *
const typestr{
"uint16_t"};
7006 static constexpr bool traverse{
false};
7007 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_name_and_type_index};
7008 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7009 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_name_and_type_index>;
7013 using field_type = uint16_t;
7014 static constexpr size_t position{9};
7015 static constexpr char const *
const name{
"reference_index"};
7016 static constexpr char const *
const typestr{
"uint16_t"};
7017 static constexpr bool traverse{
false};
7018 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_reference_index};
7019 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7020 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_reference_index>;
7024 using field_type = uint8_t;
7025 static constexpr size_t position{10};
7026 static constexpr char const *
const name{
"reference_kind"};
7027 static constexpr char const *
const typestr{
"uint8_t"};
7028 static constexpr bool traverse{
false};
7029 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_reference_kind};
7030 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7031 using bind = Desc<SgAsmJvmConstantPoolEntry, uint8_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_reference_kind>;
7035 using field_type = uint16_t;
7036 static constexpr size_t position{11};
7037 static constexpr char const *
const name{
"string_index"};
7038 static constexpr char const *
const typestr{
"uint16_t"};
7039 static constexpr bool traverse{
false};
7040 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_string_index};
7041 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7042 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_string_index>;
7046 using field_type = uint16_t;
7047 static constexpr size_t position{12};
7048 static constexpr char const *
const name{
"length"};
7049 static constexpr char const *
const typestr{
"uint16_t"};
7050 static constexpr bool traverse{
false};
7051 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_length};
7052 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7053 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_length>;
7057 using field_type =
char*;
7058 static constexpr size_t position{13};
7059 static constexpr char const *
const name{
"utf8_bytes"};
7060 static constexpr char const *
const typestr{
"char*"};
7061 static constexpr bool traverse{
false};
7062 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_utf8_bytes};
7063 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7064 using bind = Desc<SgAsmJvmConstantPoolEntry, char* SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_utf8_bytes>;
7069 static constexpr char const *
const name{
"AsmJvmConstantPoolEntry"};
7070 static constexpr unsigned long variant{217};
7071 static constexpr bool concrete{
true};
7073 using fields_t =
mp::List<describe_field_t<SgAsmJvmConstantPoolEntry,SgAsmJvmConstantPoolEntry::Kind,&SgAsmJvmConstantPoolEntry::p_tag>,
describe_field_t<SgAsmJvmConstantPoolEntry,uint32_t,&SgAsmJvmConstantPoolEntry::p_bytes>,
describe_field_t<SgAsmJvmConstantPoolEntry,uint32_t,&SgAsmJvmConstantPoolEntry::p_hi_bytes>,
describe_field_t<SgAsmJvmConstantPoolEntry,uint32_t,&SgAsmJvmConstantPoolEntry::p_low_bytes>,
describe_field_t<SgAsmJvmConstantPoolEntry,uint16_t,&SgAsmJvmConstantPoolEntry::p_bootstrap_method_attr_index>,
describe_field_t<SgAsmJvmConstantPoolEntry,uint16_t,&SgAsmJvmConstantPoolEntry::p_class_index>,
describe_field_t<SgAsmJvmConstantPoolEntry,uint16_t,&SgAsmJvmConstantPoolEntry::p_descriptor_index>,
describe_field_t<SgAsmJvmConstantPoolEntry,uint16_t,&SgAsmJvmConstantPoolEntry::p_name_index>,
describe_field_t<SgAsmJvmConstantPoolEntry,uint16_t,&SgAsmJvmConstantPoolEntry::p_name_and_type_index>,
describe_field_t<SgAsmJvmConstantPoolEntry,uint16_t,&SgAsmJvmConstantPoolEntry::p_reference_index>,
describe_field_t<SgAsmJvmConstantPoolEntry,uint8_t,&SgAsmJvmConstantPoolEntry::p_reference_kind>,
describe_field_t<SgAsmJvmConstantPoolEntry,uint16_t,&SgAsmJvmConstantPoolEntry::p_string_index>,
describe_field_t<SgAsmJvmConstantPoolEntry,uint16_t,&SgAsmJvmConstantPoolEntry::p_length>,
describe_field_t<SgAsmJvmConstantPoolEntry,char*,&SgAsmJvmConstantPoolEntry::p_utf8_bytes>>;
7080 using field_type = Rose::BinaryAnalysis::JvmInstructionKind;
7081 static constexpr size_t position{0};
7082 static constexpr char const *
const name{
"kind"};
7083 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::JvmInstructionKind"};
7084 static constexpr bool traverse{
false};
7085 static constexpr auto mbr_ptr{&SgAsmJvmInstruction::p_kind};
7086 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7087 using bind = Desc<SgAsmJvmInstruction, Rose::BinaryAnalysis::JvmInstructionKind SgAsmJvmInstruction::*, &SgAsmJvmInstruction::p_kind>;
7092 static constexpr char const *
const name{
"AsmJvmInstruction"};
7093 static constexpr unsigned long variant{218};
7094 static constexpr bool concrete{
true};
7103 using field_type = uint16_t;
7104 static constexpr size_t position{0};
7105 static constexpr char const *
const name{
"minor_version"};
7106 static constexpr char const *
const typestr{
"uint16_t"};
7107 static constexpr bool traverse{
false};
7108 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_minor_version};
7109 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7110 using bind = Desc<SgAsmJvmFileHeader, uint16_t SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_minor_version>;
7114 using field_type = uint16_t;
7115 static constexpr size_t position{1};
7116 static constexpr char const *
const name{
"major_version"};
7117 static constexpr char const *
const typestr{
"uint16_t"};
7118 static constexpr bool traverse{
false};
7119 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_major_version};
7120 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7121 using bind = Desc<SgAsmJvmFileHeader, uint16_t SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_major_version>;
7125 using field_type = uint16_t;
7126 static constexpr size_t position{2};
7127 static constexpr char const *
const name{
"access_flags"};
7128 static constexpr char const *
const typestr{
"uint16_t"};
7129 static constexpr bool traverse{
false};
7130 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_access_flags};
7131 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7132 using bind = Desc<SgAsmJvmFileHeader, uint16_t SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_access_flags>;
7136 using field_type = uint16_t;
7137 static constexpr size_t position{3};
7138 static constexpr char const *
const name{
"this_class"};
7139 static constexpr char const *
const typestr{
"uint16_t"};
7140 static constexpr bool traverse{
false};
7141 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_this_class};
7142 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7143 using bind = Desc<SgAsmJvmFileHeader, uint16_t SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_this_class>;
7147 using field_type = uint16_t;
7148 static constexpr size_t position{4};
7149 static constexpr char const *
const name{
"super_class"};
7150 static constexpr char const *
const typestr{
"uint16_t"};
7151 static constexpr bool traverse{
false};
7152 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_super_class};
7153 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7154 using bind = Desc<SgAsmJvmFileHeader, uint16_t SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_super_class>;
7159 static constexpr size_t position{5};
7160 static constexpr char const *
const name{
"constant_pool"};
7161 static constexpr char const *
const typestr{
"SgAsmJvmConstantPool*"};
7162 static constexpr bool traverse{
false};
7163 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_constant_pool};
7164 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7165 using bind = Desc<SgAsmJvmFileHeader, SgAsmJvmConstantPool* SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_constant_pool>;
7169 using field_type = std::list<uint16_t>;
7170 static constexpr size_t position{6};
7171 static constexpr char const *
const name{
"interfaces"};
7172 static constexpr char const *
const typestr{
"std::list<uint16_t>"};
7173 static constexpr bool traverse{
false};
7174 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_interfaces};
7175 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7176 using bind = Desc<SgAsmJvmFileHeader, std::list<uint16_t>
SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_interfaces>;
7181 static constexpr size_t position{7};
7182 static constexpr char const *
const name{
"field_table"};
7183 static constexpr char const *
const typestr{
"SgAsmJvmFieldTable*"};
7184 static constexpr bool traverse{
false};
7185 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_field_table};
7186 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7187 using bind = Desc<SgAsmJvmFileHeader, SgAsmJvmFieldTable* SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_field_table>;
7192 static constexpr size_t position{8};
7193 static constexpr char const *
const name{
"method_table"};
7194 static constexpr char const *
const typestr{
"SgAsmJvmMethodTable*"};
7195 static constexpr bool traverse{
false};
7196 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_method_table};
7197 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7198 using bind = Desc<SgAsmJvmFileHeader, SgAsmJvmMethodTable* SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_method_table>;
7203 static constexpr size_t position{9};
7204 static constexpr char const *
const name{
"attribute_table"};
7205 static constexpr char const *
const typestr{
"SgAsmJvmAttributeTable*"};
7206 static constexpr bool traverse{
false};
7207 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_attribute_table};
7208 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7209 using bind = Desc<SgAsmJvmFileHeader, SgAsmJvmAttributeTable* SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_attribute_table>;
7214 static constexpr char const *
const name{
"AsmJvmFileHeader"};
7215 static constexpr unsigned long variant{219};
7216 static constexpr bool concrete{
true};
7218 using fields_t =
mp::List<describe_field_t<SgAsmJvmFileHeader,uint16_t,&SgAsmJvmFileHeader::p_minor_version>,
describe_field_t<SgAsmJvmFileHeader,uint16_t,&SgAsmJvmFileHeader::p_major_version>,
describe_field_t<SgAsmJvmFileHeader,uint16_t,&SgAsmJvmFileHeader::p_access_flags>,
describe_field_t<SgAsmJvmFileHeader,uint16_t,&SgAsmJvmFileHeader::p_this_class>,
describe_field_t<SgAsmJvmFileHeader,uint16_t,&SgAsmJvmFileHeader::p_super_class>,
describe_field_t<SgAsmJvmFileHeader,SgAsmJvmConstantPool*,&SgAsmJvmFileHeader::p_constant_pool>,
describe_field_t<SgAsmJvmFileHeader,std::list<uint16_t>,&SgAsmJvmFileHeader::p_interfaces>,
describe_field_t<SgAsmJvmFileHeader,SgAsmJvmFieldTable*,&SgAsmJvmFileHeader::p_field_table>,
describe_field_t<SgAsmJvmFileHeader,SgAsmJvmMethodTable*,&SgAsmJvmFileHeader::p_method_table>,
describe_field_t<SgAsmJvmFileHeader,SgAsmJvmAttributeTable*,&SgAsmJvmFileHeader::p_attribute_table>>;
7226 static constexpr char const *
const name{
"AsmJvmNode"};
7227 static constexpr unsigned long variant{220};
7228 static constexpr bool concrete{
false};
7229 using subclasses_t =
mp::List<SgAsmJvmAttribute, SgAsmJvmBootstrapMethod, SgAsmJvmClass, SgAsmJvmConstantPoolEntry, SgAsmJvmExceptionHandler, SgAsmJvmExceptionTable, SgAsmJvmField, SgAsmJvmLocalVariableEntry, SgAsmJvmLocalVariableTypeEntry, SgAsmJvmMethod, SgAsmJvmMethodParametersEntry, SgAsmJvmRuntimeAnnotation, SgAsmJvmRuntimeAnnotationPair, SgAsmJvmRuntimeAnnotationValue, SgAsmJvmRuntimeParameterAnnotation, SgAsmJvmStackMapFrame, SgAsmJvmStackMapVerificationType>;
7237 using field_type = SgAsmLEEntryPointPtrList;
7238 static constexpr size_t position{0};
7239 static constexpr char const *
const name{
"entries"};
7240 static constexpr char const *
const typestr{
"SgAsmLEEntryPointPtrList"};
7241 static constexpr bool traverse{
true};
7242 static constexpr auto mbr_ptr{&SgAsmLEEntryPoint::p_entries};
7243 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7244 using bind = Desc<SgAsmLEEntryPoint, SgAsmLEEntryPointPtrList SgAsmLEEntryPoint::*, &SgAsmLEEntryPoint::p_entries>;
7248 using field_type = unsigned;
7249 static constexpr size_t position{1};
7250 static constexpr char const *
const name{
"flags"};
7251 static constexpr char const *
const typestr{
"unsigned"};
7252 static constexpr bool traverse{
false};
7253 static constexpr auto mbr_ptr{&SgAsmLEEntryPoint::p_flags};
7254 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7255 using bind = Desc<SgAsmLEEntryPoint, unsigned SgAsmLEEntryPoint::*, &SgAsmLEEntryPoint::p_flags>;
7259 using field_type = unsigned;
7260 static constexpr size_t position{2};
7261 static constexpr char const *
const name{
"objnum"};
7262 static constexpr char const *
const typestr{
"unsigned"};
7263 static constexpr bool traverse{
false};
7264 static constexpr auto mbr_ptr{&SgAsmLEEntryPoint::p_objnum};
7265 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7266 using bind = Desc<SgAsmLEEntryPoint, unsigned SgAsmLEEntryPoint::*, &SgAsmLEEntryPoint::p_objnum>;
7270 using field_type = unsigned;
7271 static constexpr size_t position{3};
7272 static constexpr char const *
const name{
"entry_type"};
7273 static constexpr char const *
const typestr{
"unsigned"};
7274 static constexpr bool traverse{
false};
7275 static constexpr auto mbr_ptr{&SgAsmLEEntryPoint::p_entry_type};
7276 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7277 using bind = Desc<SgAsmLEEntryPoint, unsigned SgAsmLEEntryPoint::*, &SgAsmLEEntryPoint::p_entry_type>;
7281 using field_type = unsigned;
7282 static constexpr size_t position{4};
7283 static constexpr char const *
const name{
"res1"};
7284 static constexpr char const *
const typestr{
"unsigned"};
7285 static constexpr bool traverse{
false};
7286 static constexpr auto mbr_ptr{&SgAsmLEEntryPoint::p_res1};
7287 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7288 using bind = Desc<SgAsmLEEntryPoint, unsigned SgAsmLEEntryPoint::*, &SgAsmLEEntryPoint::p_res1>;
7293 static constexpr size_t position{5};
7294 static constexpr char const *
const name{
"entry_offset"};
7295 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7296 static constexpr bool traverse{
false};
7297 static constexpr auto mbr_ptr{&SgAsmLEEntryPoint::p_entry_offset};
7298 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7299 using bind = Desc<SgAsmLEEntryPoint, Rose::BinaryAnalysis::Address SgAsmLEEntryPoint::*, &SgAsmLEEntryPoint::p_entry_offset>;
7304 static constexpr char const *
const name{
"AsmLEEntryPoint"};
7305 static constexpr unsigned long variant{221};
7306 static constexpr bool concrete{
true};
7308 using fields_t =
mp::List<describe_field_t<SgAsmLEEntryPoint,SgAsmLEEntryPointPtrList,&SgAsmLEEntryPoint::p_entries>,
describe_field_t<SgAsmLEEntryPoint,unsigned,&SgAsmLEEntryPoint::p_flags>,
describe_field_t<SgAsmLEEntryPoint,unsigned,&SgAsmLEEntryPoint::p_objnum>,
describe_field_t<SgAsmLEEntryPoint,unsigned,&SgAsmLEEntryPoint::p_entry_type>,
describe_field_t<SgAsmLEEntryPoint,unsigned,&SgAsmLEEntryPoint::p_res1>,
describe_field_t<SgAsmLEEntryPoint,Rose::BinaryAnalysis::Address,&SgAsmLEEntryPoint::p_entry_offset>>;
7315 using field_type = SgSizeTList;
7316 static constexpr size_t position{0};
7317 static constexpr char const *
const name{
"bundle_sizes"};
7318 static constexpr char const *
const typestr{
"SgSizeTList"};
7319 static constexpr bool traverse{
false};
7320 static constexpr auto mbr_ptr{&SgAsmLEEntryTable::p_bundle_sizes};
7321 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7322 using bind = Desc<SgAsmLEEntryTable, SgSizeTList SgAsmLEEntryTable::*, &SgAsmLEEntryTable::p_bundle_sizes>;
7326 using field_type = SgAsmLEEntryPointPtrList;
7327 static constexpr size_t position{1};
7328 static constexpr char const *
const name{
"entries"};
7329 static constexpr char const *
const typestr{
"SgAsmLEEntryPointPtrList"};
7330 static constexpr bool traverse{
true};
7331 static constexpr auto mbr_ptr{&SgAsmLEEntryTable::p_entries};
7332 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7333 using bind = Desc<SgAsmLEEntryTable, SgAsmLEEntryPointPtrList SgAsmLEEntryTable::*, &SgAsmLEEntryTable::p_entries>;
7338 static constexpr char const *
const name{
"AsmLEEntryTable"};
7339 static constexpr unsigned long variant{222};
7340 static constexpr bool concrete{
true};
7349 using field_type = unsigned;
7350 static constexpr size_t position{0};
7351 static constexpr char const *
const name{
"e_byte_order"};
7352 static constexpr char const *
const typestr{
"unsigned"};
7353 static constexpr bool traverse{
false};
7354 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_byte_order};
7355 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7356 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_byte_order>;
7360 using field_type = unsigned;
7361 static constexpr size_t position{1};
7362 static constexpr char const *
const name{
"e_word_order"};
7363 static constexpr char const *
const typestr{
"unsigned"};
7364 static constexpr bool traverse{
false};
7365 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_word_order};
7366 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7367 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_word_order>;
7371 using field_type = unsigned;
7372 static constexpr size_t position{2};
7373 static constexpr char const *
const name{
"e_format_level"};
7374 static constexpr char const *
const typestr{
"unsigned"};
7375 static constexpr bool traverse{
false};
7376 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_format_level};
7377 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7378 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_format_level>;
7382 using field_type = unsigned;
7383 static constexpr size_t position{3};
7384 static constexpr char const *
const name{
"e_cpu_type"};
7385 static constexpr char const *
const typestr{
"unsigned"};
7386 static constexpr bool traverse{
false};
7387 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_cpu_type};
7388 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7389 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_cpu_type>;
7393 using field_type = unsigned;
7394 static constexpr size_t position{4};
7395 static constexpr char const *
const name{
"e_os_type"};
7396 static constexpr char const *
const typestr{
"unsigned"};
7397 static constexpr bool traverse{
false};
7398 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_os_type};
7399 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7400 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_os_type>;
7404 using field_type = unsigned;
7405 static constexpr size_t position{5};
7406 static constexpr char const *
const name{
"e_module_version"};
7407 static constexpr char const *
const typestr{
"unsigned"};
7408 static constexpr bool traverse{
false};
7409 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_module_version};
7410 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7411 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_module_version>;
7415 using field_type = unsigned;
7416 static constexpr size_t position{6};
7417 static constexpr char const *
const name{
"e_flags"};
7418 static constexpr char const *
const typestr{
"unsigned"};
7419 static constexpr bool traverse{
false};
7420 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_flags};
7421 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7422 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_flags>;
7426 using field_type = unsigned;
7427 static constexpr size_t position{7};
7428 static constexpr char const *
const name{
"e_eip_section"};
7429 static constexpr char const *
const typestr{
"unsigned"};
7430 static constexpr bool traverse{
false};
7431 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_eip_section};
7432 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7433 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_eip_section>;
7437 using field_type = unsigned;
7438 static constexpr size_t position{8};
7439 static constexpr char const *
const name{
"e_esp_section"};
7440 static constexpr char const *
const typestr{
"unsigned"};
7441 static constexpr bool traverse{
false};
7442 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_esp_section};
7443 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7444 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_esp_section>;
7448 using field_type = unsigned;
7449 static constexpr size_t position{9};
7450 static constexpr char const *
const name{
"e_last_page_size"};
7451 static constexpr char const *
const typestr{
"unsigned"};
7452 static constexpr bool traverse{
false};
7453 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_last_page_size};
7454 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7455 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_last_page_size>;
7459 using field_type = unsigned;
7460 static constexpr size_t position{10};
7461 static constexpr char const *
const name{
"e_page_offset_shift"};
7462 static constexpr char const *
const typestr{
"unsigned"};
7463 static constexpr bool traverse{
false};
7464 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_page_offset_shift};
7465 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7466 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_page_offset_shift>;
7470 using field_type = unsigned;
7471 static constexpr size_t position{11};
7472 static constexpr char const *
const name{
"e_fixup_sect_cksum"};
7473 static constexpr char const *
const typestr{
"unsigned"};
7474 static constexpr bool traverse{
false};
7475 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_fixup_sect_cksum};
7476 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7477 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_fixup_sect_cksum>;
7481 using field_type = unsigned;
7482 static constexpr size_t position{12};
7483 static constexpr char const *
const name{
"e_loader_sect_cksum"};
7484 static constexpr char const *
const typestr{
"unsigned"};
7485 static constexpr bool traverse{
false};
7486 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_loader_sect_cksum};
7487 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7488 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_loader_sect_cksum>;
7492 using field_type = unsigned;
7493 static constexpr size_t position{13};
7494 static constexpr char const *
const name{
"e_secttab_nentries"};
7495 static constexpr char const *
const typestr{
"unsigned"};
7496 static constexpr bool traverse{
false};
7497 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_secttab_nentries};
7498 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7499 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_secttab_nentries>;
7503 using field_type = unsigned;
7504 static constexpr size_t position{14};
7505 static constexpr char const *
const name{
"e_rsrctab_nentries"};
7506 static constexpr char const *
const typestr{
"unsigned"};
7507 static constexpr bool traverse{
false};
7508 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_rsrctab_nentries};
7509 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7510 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_rsrctab_nentries>;
7514 using field_type = unsigned;
7515 static constexpr size_t position{15};
7516 static constexpr char const *
const name{
"e_fmtdirtab_nentries"};
7517 static constexpr char const *
const typestr{
"unsigned"};
7518 static constexpr bool traverse{
false};
7519 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_fmtdirtab_nentries};
7520 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7521 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_fmtdirtab_nentries>;
7525 using field_type = unsigned;
7526 static constexpr size_t position{16};
7527 static constexpr char const *
const name{
"e_import_modtab_nentries"};
7528 static constexpr char const *
const typestr{
"unsigned"};
7529 static constexpr bool traverse{
false};
7530 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_import_modtab_nentries};
7531 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7532 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_import_modtab_nentries>;
7536 using field_type = unsigned;
7537 static constexpr size_t position{17};
7538 static constexpr char const *
const name{
"e_preload_npages"};
7539 static constexpr char const *
const typestr{
"unsigned"};
7540 static constexpr bool traverse{
false};
7541 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_preload_npages};
7542 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7543 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_preload_npages>;
7547 using field_type = unsigned;
7548 static constexpr size_t position{18};
7549 static constexpr char const *
const name{
"e_nonresnametab_size"};
7550 static constexpr char const *
const typestr{
"unsigned"};
7551 static constexpr bool traverse{
false};
7552 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_nonresnametab_size};
7553 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7554 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_nonresnametab_size>;
7558 using field_type = unsigned;
7559 static constexpr size_t position{19};
7560 static constexpr char const *
const name{
"e_nonresnametab_cksum"};
7561 static constexpr char const *
const typestr{
"unsigned"};
7562 static constexpr bool traverse{
false};
7563 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_nonresnametab_cksum};
7564 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7565 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_nonresnametab_cksum>;
7569 using field_type = unsigned;
7570 static constexpr size_t position{20};
7571 static constexpr char const *
const name{
"e_auto_ds_section"};
7572 static constexpr char const *
const typestr{
"unsigned"};
7573 static constexpr bool traverse{
false};
7574 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_auto_ds_section};
7575 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7576 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_auto_ds_section>;
7580 using field_type = unsigned;
7581 static constexpr size_t position{21};
7582 static constexpr char const *
const name{
"e_debug_info_size"};
7583 static constexpr char const *
const typestr{
"unsigned"};
7584 static constexpr bool traverse{
false};
7585 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_debug_info_size};
7586 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7587 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_debug_info_size>;
7591 using field_type = unsigned;
7592 static constexpr size_t position{22};
7593 static constexpr char const *
const name{
"e_num_instance_preload"};
7594 static constexpr char const *
const typestr{
"unsigned"};
7595 static constexpr bool traverse{
false};
7596 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_num_instance_preload};
7597 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7598 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_num_instance_preload>;
7602 using field_type = unsigned;
7603 static constexpr size_t position{23};
7604 static constexpr char const *
const name{
"e_num_instance_demand"};
7605 static constexpr char const *
const typestr{
"unsigned"};
7606 static constexpr bool traverse{
false};
7607 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_num_instance_demand};
7608 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7609 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_num_instance_demand>;
7613 using field_type = unsigned;
7614 static constexpr size_t position{24};
7615 static constexpr char const *
const name{
"e_heap_size"};
7616 static constexpr char const *
const typestr{
"unsigned"};
7617 static constexpr bool traverse{
false};
7618 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_heap_size};
7619 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7620 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_heap_size>;
7625 static constexpr size_t position{25};
7626 static constexpr char const *
const name{
"e_npages"};
7627 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7628 static constexpr bool traverse{
false};
7629 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_npages};
7630 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7631 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_npages>;
7636 static constexpr size_t position{26};
7637 static constexpr char const *
const name{
"e_eip"};
7638 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7639 static constexpr bool traverse{
false};
7640 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_eip};
7641 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7642 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_eip>;
7647 static constexpr size_t position{27};
7648 static constexpr char const *
const name{
"e_esp"};
7649 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7650 static constexpr bool traverse{
false};
7651 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_esp};
7652 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7653 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_esp>;
7658 static constexpr size_t position{28};
7659 static constexpr char const *
const name{
"e_page_size"};
7660 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7661 static constexpr bool traverse{
false};
7662 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_page_size};
7663 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7664 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_page_size>;
7669 static constexpr size_t position{29};
7670 static constexpr char const *
const name{
"e_fixup_sect_size"};
7671 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7672 static constexpr bool traverse{
false};
7673 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_fixup_sect_size};
7674 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7675 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_fixup_sect_size>;
7680 static constexpr size_t position{30};
7681 static constexpr char const *
const name{
"e_loader_sect_size"};
7682 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7683 static constexpr bool traverse{
false};
7684 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_loader_sect_size};
7685 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7686 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_loader_sect_size>;
7691 static constexpr size_t position{31};
7692 static constexpr char const *
const name{
"e_secttab_rfo"};
7693 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7694 static constexpr bool traverse{
false};
7695 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_secttab_rfo};
7696 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7697 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_secttab_rfo>;
7702 static constexpr size_t position{32};
7703 static constexpr char const *
const name{
"e_pagetab_rfo"};
7704 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7705 static constexpr bool traverse{
false};
7706 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_pagetab_rfo};
7707 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7708 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_pagetab_rfo>;
7713 static constexpr size_t position{33};
7714 static constexpr char const *
const name{
"e_iterpages_offset"};
7715 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7716 static constexpr bool traverse{
false};
7717 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_iterpages_offset};
7718 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7719 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_iterpages_offset>;
7724 static constexpr size_t position{34};
7725 static constexpr char const *
const name{
"e_rsrctab_rfo"};
7726 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7727 static constexpr bool traverse{
false};
7728 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_rsrctab_rfo};
7729 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7730 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_rsrctab_rfo>;
7735 static constexpr size_t position{35};
7736 static constexpr char const *
const name{
"e_resnametab_rfo"};
7737 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7738 static constexpr bool traverse{
false};
7739 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_resnametab_rfo};
7740 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7741 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_resnametab_rfo>;
7746 static constexpr size_t position{36};
7747 static constexpr char const *
const name{
"e_entrytab_rfo"};
7748 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7749 static constexpr bool traverse{
false};
7750 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_entrytab_rfo};
7751 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7752 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_entrytab_rfo>;
7757 static constexpr size_t position{37};
7758 static constexpr char const *
const name{
"e_fmtdirtab_rfo"};
7759 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7760 static constexpr bool traverse{
false};
7761 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_fmtdirtab_rfo};
7762 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7763 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_fmtdirtab_rfo>;
7768 static constexpr size_t position{38};
7769 static constexpr char const *
const name{
"e_fixup_pagetab_rfo"};
7770 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7771 static constexpr bool traverse{
false};
7772 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_fixup_pagetab_rfo};
7773 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7774 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_fixup_pagetab_rfo>;
7779 static constexpr size_t position{39};
7780 static constexpr char const *
const name{
"e_fixup_rectab_rfo"};
7781 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7782 static constexpr bool traverse{
false};
7783 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_fixup_rectab_rfo};
7784 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7785 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_fixup_rectab_rfo>;
7790 static constexpr size_t position{40};
7791 static constexpr char const *
const name{
"e_import_modtab_rfo"};
7792 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7793 static constexpr bool traverse{
false};
7794 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_import_modtab_rfo};
7795 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7796 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_import_modtab_rfo>;
7801 static constexpr size_t position{41};
7802 static constexpr char const *
const name{
"e_import_proctab_rfo"};
7803 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7804 static constexpr bool traverse{
false};
7805 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_import_proctab_rfo};
7806 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7807 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_import_proctab_rfo>;
7812 static constexpr size_t position{42};
7813 static constexpr char const *
const name{
"e_ppcksumtab_rfo"};
7814 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7815 static constexpr bool traverse{
false};
7816 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_ppcksumtab_rfo};
7817 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7818 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_ppcksumtab_rfo>;
7823 static constexpr size_t position{43};
7824 static constexpr char const *
const name{
"e_data_pages_offset"};
7825 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7826 static constexpr bool traverse{
false};
7827 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_data_pages_offset};
7828 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7829 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_data_pages_offset>;
7834 static constexpr size_t position{44};
7835 static constexpr char const *
const name{
"e_nonresnametab_offset"};
7836 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7837 static constexpr bool traverse{
false};
7838 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_nonresnametab_offset};
7839 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7840 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_nonresnametab_offset>;
7845 static constexpr size_t position{45};
7846 static constexpr char const *
const name{
"e_debug_info_rfo"};
7847 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
7848 static constexpr bool traverse{
false};
7849 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_debug_info_rfo};
7850 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7851 using bind = Desc<SgAsmLEFileHeader, Rose::BinaryAnalysis::Address SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_debug_info_rfo>;
7856 static constexpr size_t position{46};
7857 static constexpr char const *
const name{
"dos2Header"};
7858 static constexpr char const *
const typestr{
"SgAsmDOSExtendedHeader*"};
7859 static constexpr bool traverse{
true};
7860 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_dos2Header};
7861 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7862 using bind = Desc<SgAsmLEFileHeader, SgAsmDOSExtendedHeader* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_dos2Header>;
7867 static constexpr size_t position{47};
7868 static constexpr char const *
const name{
"sectionTable"};
7869 static constexpr char const *
const typestr{
"SgAsmLESectionTable*"};
7870 static constexpr bool traverse{
false};
7871 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_sectionTable};
7872 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7873 using bind = Desc<SgAsmLEFileHeader, SgAsmLESectionTable* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_sectionTable>;
7878 static constexpr size_t position{48};
7879 static constexpr char const *
const name{
"pageTable"};
7880 static constexpr char const *
const typestr{
"SgAsmLEPageTable*"};
7881 static constexpr bool traverse{
true};
7882 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_pageTable};
7883 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7884 using bind = Desc<SgAsmLEFileHeader, SgAsmLEPageTable* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_pageTable>;
7889 static constexpr size_t position{49};
7890 static constexpr char const *
const name{
"residentNameTable"};
7891 static constexpr char const *
const typestr{
"SgAsmLENameTable*"};
7892 static constexpr bool traverse{
true};
7893 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_residentNameTable};
7894 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7895 using bind = Desc<SgAsmLEFileHeader, SgAsmLENameTable* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_residentNameTable>;
7900 static constexpr size_t position{50};
7901 static constexpr char const *
const name{
"nonresidentNameTable"};
7902 static constexpr char const *
const typestr{
"SgAsmLENameTable*"};
7903 static constexpr bool traverse{
true};
7904 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_nonresidentNameTable};
7905 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7906 using bind = Desc<SgAsmLEFileHeader, SgAsmLENameTable* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_nonresidentNameTable>;
7911 static constexpr size_t position{51};
7912 static constexpr char const *
const name{
"entryTable"};
7913 static constexpr char const *
const typestr{
"SgAsmLEEntryTable*"};
7914 static constexpr bool traverse{
true};
7915 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_entryTable};
7916 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7917 using bind = Desc<SgAsmLEFileHeader, SgAsmLEEntryTable* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_entryTable>;
7922 static constexpr size_t position{52};
7923 static constexpr char const *
const name{
"relocationTable"};
7924 static constexpr char const *
const typestr{
"SgAsmLERelocTable*"};
7925 static constexpr bool traverse{
true};
7926 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_relocationTable};
7927 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7928 using bind = Desc<SgAsmLEFileHeader, SgAsmLERelocTable* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_relocationTable>;
7933 static constexpr char const *
const name{
"AsmLEFileHeader"};
7934 static constexpr unsigned long variant{223};
7935 static constexpr bool concrete{
true};
7937 using fields_t =
mp::List<describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_byte_order>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_word_order>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_format_level>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_cpu_type>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_os_type>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_module_version>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_flags>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_eip_section>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_esp_section>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_last_page_size>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_page_offset_shift>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_fixup_sect_cksum>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_loader_sect_cksum>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_secttab_nentries>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_rsrctab_nentries>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_fmtdirtab_nentries>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_import_modtab_nentries>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_preload_npages>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_nonresnametab_size>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_nonresnametab_cksum>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_auto_ds_section>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_debug_info_size>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_num_instance_preload>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_num_instance_demand>,
describe_field_t<SgAsmLEFileHeader,unsigned,&SgAsmLEFileHeader::p_e_heap_size>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_npages>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_eip>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_esp>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_page_size>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_fixup_sect_size>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_loader_sect_size>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_secttab_rfo>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_pagetab_rfo>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_iterpages_offset>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_rsrctab_rfo>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_resnametab_rfo>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_entrytab_rfo>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_fmtdirtab_rfo>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_fixup_pagetab_rfo>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_fixup_rectab_rfo>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_import_modtab_rfo>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_import_proctab_rfo>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_ppcksumtab_rfo>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_data_pages_offset>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_nonresnametab_offset>,
describe_field_t<SgAsmLEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmLEFileHeader::p_e_debug_info_rfo>,
describe_field_t<SgAsmLEFileHeader,SgAsmDOSExtendedHeader*,&SgAsmLEFileHeader::p_dos2Header>,
describe_field_t<SgAsmLEFileHeader,SgAsmLESectionTable*,&SgAsmLEFileHeader::p_sectionTable>,
describe_field_t<SgAsmLEFileHeader,SgAsmLEPageTable*,&SgAsmLEFileHeader::p_pageTable>,
describe_field_t<SgAsmLEFileHeader,SgAsmLENameTable*,&SgAsmLEFileHeader::p_residentNameTable>,
describe_field_t<SgAsmLEFileHeader,SgAsmLENameTable*,&SgAsmLEFileHeader::p_nonresidentNameTable>,
describe_field_t<SgAsmLEFileHeader,SgAsmLEEntryTable*,&SgAsmLEFileHeader::p_entryTable>,
describe_field_t<SgAsmLEFileHeader,SgAsmLERelocTable*,&SgAsmLEFileHeader::p_relocationTable>>;
7944 using field_type = SgStringList;
7945 static constexpr size_t position{0};
7946 static constexpr char const *
const name{
"names"};
7947 static constexpr char const *
const typestr{
"SgStringList"};
7948 static constexpr bool traverse{
false};
7949 static constexpr auto mbr_ptr{&SgAsmLENameTable::p_names};
7950 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7951 using bind = Desc<SgAsmLENameTable, SgStringList SgAsmLENameTable::*, &SgAsmLENameTable::p_names>;
7955 using field_type = SgUnsignedList;
7956 static constexpr size_t position{1};
7957 static constexpr char const *
const name{
"ordinals"};
7958 static constexpr char const *
const typestr{
"SgUnsignedList"};
7959 static constexpr bool traverse{
false};
7960 static constexpr auto mbr_ptr{&SgAsmLENameTable::p_ordinals};
7961 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7962 using bind = Desc<SgAsmLENameTable, SgUnsignedList SgAsmLENameTable::*, &SgAsmLENameTable::p_ordinals>;
7967 static constexpr char const *
const name{
"AsmLENameTable"};
7968 static constexpr unsigned long variant{224};
7969 static constexpr bool concrete{
true};
7978 using field_type = SgAsmLEPageTableEntryPtrList;
7979 static constexpr size_t position{0};
7980 static constexpr char const *
const name{
"entries"};
7981 static constexpr char const *
const typestr{
"SgAsmLEPageTableEntryPtrList"};
7982 static constexpr bool traverse{
true};
7983 static constexpr auto mbr_ptr{&SgAsmLEPageTable::p_entries};
7984 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7985 using bind = Desc<SgAsmLEPageTable, SgAsmLEPageTableEntryPtrList SgAsmLEPageTable::*, &SgAsmLEPageTable::p_entries>;
7990 static constexpr char const *
const name{
"AsmLEPageTable"};
7991 static constexpr unsigned long variant{225};
7992 static constexpr bool concrete{
true};
8001 using field_type = unsigned;
8002 static constexpr size_t position{0};
8003 static constexpr char const *
const name{
"pageno"};
8004 static constexpr char const *
const typestr{
"unsigned"};
8005 static constexpr bool traverse{
false};
8006 static constexpr auto mbr_ptr{&SgAsmLEPageTableEntry::p_pageno};
8007 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8008 using bind = Desc<SgAsmLEPageTableEntry, unsigned SgAsmLEPageTableEntry::*, &SgAsmLEPageTableEntry::p_pageno>;
8012 using field_type = unsigned;
8013 static constexpr size_t position{1};
8014 static constexpr char const *
const name{
"flags"};
8015 static constexpr char const *
const typestr{
"unsigned"};
8016 static constexpr bool traverse{
false};
8017 static constexpr auto mbr_ptr{&SgAsmLEPageTableEntry::p_flags};
8018 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8019 using bind = Desc<SgAsmLEPageTableEntry, unsigned SgAsmLEPageTableEntry::*, &SgAsmLEPageTableEntry::p_flags>;
8024 static constexpr char const *
const name{
"AsmLEPageTableEntry"};
8025 static constexpr unsigned long variant{226};
8026 static constexpr bool concrete{
true};
8035 using field_type = SgAsmLERelocEntryPtrList;
8036 static constexpr size_t position{0};
8037 static constexpr char const *
const name{
"entries"};
8038 static constexpr char const *
const typestr{
"SgAsmLERelocEntryPtrList"};
8039 static constexpr bool traverse{
true};
8040 static constexpr auto mbr_ptr{&SgAsmLERelocTable::p_entries};
8041 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8042 using bind = Desc<SgAsmLERelocTable, SgAsmLERelocEntryPtrList SgAsmLERelocTable::*, &SgAsmLERelocTable::p_entries>;
8047 static constexpr char const *
const name{
"AsmLERelocTable"};
8048 static constexpr unsigned long variant{227};
8049 static constexpr bool concrete{
true};
8059 static constexpr size_t position{0};
8060 static constexpr char const *
const name{
"sectionTableEntry"};
8061 static constexpr char const *
const typestr{
"SgAsmLESectionTableEntry*"};
8062 static constexpr bool traverse{
true};
8063 static constexpr auto mbr_ptr{&SgAsmLESection::p_sectionTableEntry};
8064 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8065 using bind = Desc<SgAsmLESection, SgAsmLESectionTableEntry* SgAsmLESection::*, &SgAsmLESection::p_sectionTableEntry>;
8070 static constexpr char const *
const name{
"AsmLESection"};
8071 static constexpr unsigned long variant{228};
8072 static constexpr bool concrete{
true};
8082 static constexpr char const *
const name{
"AsmLESectionTable"};
8083 static constexpr unsigned long variant{229};
8084 static constexpr bool concrete{
true};
8093 using field_type = unsigned;
8094 static constexpr size_t position{0};
8095 static constexpr char const *
const name{
"flags"};
8096 static constexpr char const *
const typestr{
"unsigned"};
8097 static constexpr bool traverse{
false};
8098 static constexpr auto mbr_ptr{&SgAsmLESectionTableEntry::p_flags};
8099 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8100 using bind = Desc<SgAsmLESectionTableEntry, unsigned SgAsmLESectionTableEntry::*, &SgAsmLESectionTableEntry::p_flags>;
8104 using field_type = unsigned;
8105 static constexpr size_t position{1};
8106 static constexpr char const *
const name{
"pageMapIndex"};
8107 static constexpr char const *
const typestr{
"unsigned"};
8108 static constexpr bool traverse{
false};
8109 static constexpr auto mbr_ptr{&SgAsmLESectionTableEntry::p_pageMapIndex};
8110 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8111 using bind = Desc<SgAsmLESectionTableEntry, unsigned SgAsmLESectionTableEntry::*, &SgAsmLESectionTableEntry::p_pageMapIndex>;
8115 using field_type = unsigned;
8116 static constexpr size_t position{2};
8117 static constexpr char const *
const name{
"pageMapNEntries"};
8118 static constexpr char const *
const typestr{
"unsigned"};
8119 static constexpr bool traverse{
false};
8120 static constexpr auto mbr_ptr{&SgAsmLESectionTableEntry::p_pageMapNEntries};
8121 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8122 using bind = Desc<SgAsmLESectionTableEntry, unsigned SgAsmLESectionTableEntry::*, &SgAsmLESectionTableEntry::p_pageMapNEntries>;
8126 using field_type = unsigned;
8127 static constexpr size_t position{3};
8128 static constexpr char const *
const name{
"res1"};
8129 static constexpr char const *
const typestr{
"unsigned"};
8130 static constexpr bool traverse{
false};
8131 static constexpr auto mbr_ptr{&SgAsmLESectionTableEntry::p_res1};
8132 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8133 using bind = Desc<SgAsmLESectionTableEntry, unsigned SgAsmLESectionTableEntry::*, &SgAsmLESectionTableEntry::p_res1>;
8138 static constexpr size_t position{4};
8139 static constexpr char const *
const name{
"mappedSize"};
8140 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8141 static constexpr bool traverse{
false};
8142 static constexpr auto mbr_ptr{&SgAsmLESectionTableEntry::p_mappedSize};
8143 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8144 using bind = Desc<SgAsmLESectionTableEntry, Rose::BinaryAnalysis::Address SgAsmLESectionTableEntry::*, &SgAsmLESectionTableEntry::p_mappedSize>;
8149 static constexpr size_t position{5};
8150 static constexpr char const *
const name{
"baseAddr"};
8151 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8152 static constexpr bool traverse{
false};
8153 static constexpr auto mbr_ptr{&SgAsmLESectionTableEntry::p_baseAddr};
8154 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8155 using bind = Desc<SgAsmLESectionTableEntry, Rose::BinaryAnalysis::Address SgAsmLESectionTableEntry::*, &SgAsmLESectionTableEntry::p_baseAddr>;
8160 static constexpr char const *
const name{
"AsmLESectionTableEntry"};
8161 static constexpr unsigned long variant{230};
8162 static constexpr bool concrete{
true};
8164 using fields_t =
mp::List<describe_field_t<SgAsmLESectionTableEntry,unsigned,&SgAsmLESectionTableEntry::p_flags>,
describe_field_t<SgAsmLESectionTableEntry,unsigned,&SgAsmLESectionTableEntry::p_pageMapIndex>,
describe_field_t<SgAsmLESectionTableEntry,unsigned,&SgAsmLESectionTableEntry::p_pageMapNEntries>,
describe_field_t<SgAsmLESectionTableEntry,unsigned,&SgAsmLESectionTableEntry::p_res1>,
describe_field_t<SgAsmLESectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmLESectionTableEntry::p_mappedSize>,
describe_field_t<SgAsmLESectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmLESectionTableEntry::p_baseAddr>>;
8171 using field_type = Rose::BinaryAnalysis::M68kInstructionKind;
8172 static constexpr size_t position{0};
8173 static constexpr char const *
const name{
"kind"};
8174 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::M68kInstructionKind"};
8175 static constexpr bool traverse{
false};
8176 static constexpr auto mbr_ptr{&SgAsmM68kInstruction::p_kind};
8177 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8178 using bind = Desc<SgAsmM68kInstruction, Rose::BinaryAnalysis::M68kInstructionKind SgAsmM68kInstruction::*, &SgAsmM68kInstruction::p_kind>;
8182 using field_type = Rose::BinaryAnalysis::M68kDataFormat;
8183 static constexpr size_t position{1};
8184 static constexpr char const *
const name{
"dataFormat"};
8185 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::M68kDataFormat"};
8186 static constexpr bool traverse{
false};
8187 static constexpr auto mbr_ptr{&SgAsmM68kInstruction::p_dataFormat};
8188 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8189 using bind = Desc<SgAsmM68kInstruction, Rose::BinaryAnalysis::M68kDataFormat SgAsmM68kInstruction::*, &SgAsmM68kInstruction::p_dataFormat>;
8194 static constexpr char const *
const name{
"AsmM68kInstruction"};
8195 static constexpr unsigned long variant{231};
8196 static constexpr bool concrete{
true};
8206 static constexpr size_t position{0};
8207 static constexpr char const *
const name{
"address"};
8208 static constexpr char const *
const typestr{
"SgAsmExpression*"};
8209 static constexpr bool traverse{
true};
8210 static constexpr auto mbr_ptr{&SgAsmMemoryReferenceExpression::p_address};
8211 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8212 using bind = Desc<SgAsmMemoryReferenceExpression, SgAsmExpression* SgAsmMemoryReferenceExpression::*, &SgAsmMemoryReferenceExpression::p_address>;
8217 static constexpr size_t position{1};
8218 static constexpr char const *
const name{
"segment"};
8219 static constexpr char const *
const typestr{
"SgAsmExpression*"};
8220 static constexpr bool traverse{
true};
8221 static constexpr auto mbr_ptr{&SgAsmMemoryReferenceExpression::p_segment};
8222 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8223 using bind = Desc<SgAsmMemoryReferenceExpression, SgAsmExpression* SgAsmMemoryReferenceExpression::*, &SgAsmMemoryReferenceExpression::p_segment>;
8228 static constexpr char const *
const name{
"AsmMemoryReferenceExpression"};
8229 static constexpr unsigned long variant{232};
8230 static constexpr bool concrete{
true};
8239 using field_type = Rose::BinaryAnalysis::MipsInstructionKind;
8240 static constexpr size_t position{0};
8241 static constexpr char const *
const name{
"kind"};
8242 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::MipsInstructionKind"};
8243 static constexpr bool traverse{
false};
8244 static constexpr auto mbr_ptr{&SgAsmMipsInstruction::p_kind};
8245 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8246 using bind = Desc<SgAsmMipsInstruction, Rose::BinaryAnalysis::MipsInstructionKind SgAsmMipsInstruction::*, &SgAsmMipsInstruction::p_kind>;
8251 static constexpr char const *
const name{
"AsmMipsInstruction"};
8252 static constexpr unsigned long variant{233};
8253 static constexpr bool concrete{
true};
8262 using field_type = SgAsmNEEntryPoint::NEEntryFlags;
8263 static constexpr size_t position{0};
8264 static constexpr char const *
const name{
"flags"};
8265 static constexpr char const *
const typestr{
"SgAsmNEEntryPoint::NEEntryFlags"};
8266 static constexpr bool traverse{
false};
8267 static constexpr auto mbr_ptr{&SgAsmNEEntryPoint::p_flags};
8268 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8269 using bind = Desc<SgAsmNEEntryPoint, SgAsmNEEntryPoint::NEEntryFlags SgAsmNEEntryPoint::*, &SgAsmNEEntryPoint::p_flags>;
8273 using field_type = unsigned;
8274 static constexpr size_t position{1};
8275 static constexpr char const *
const name{
"int3f"};
8276 static constexpr char const *
const typestr{
"unsigned"};
8277 static constexpr bool traverse{
false};
8278 static constexpr auto mbr_ptr{&SgAsmNEEntryPoint::p_int3f};
8279 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8280 using bind = Desc<SgAsmNEEntryPoint, unsigned SgAsmNEEntryPoint::*, &SgAsmNEEntryPoint::p_int3f>;
8284 using field_type = unsigned;
8285 static constexpr size_t position{2};
8286 static constexpr char const *
const name{
"sectionIndex"};
8287 static constexpr char const *
const typestr{
"unsigned"};
8288 static constexpr bool traverse{
false};
8289 static constexpr auto mbr_ptr{&SgAsmNEEntryPoint::p_sectionIndex};
8290 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8291 using bind = Desc<SgAsmNEEntryPoint, unsigned SgAsmNEEntryPoint::*, &SgAsmNEEntryPoint::p_sectionIndex>;
8295 using field_type = unsigned;
8296 static constexpr size_t position{3};
8297 static constexpr char const *
const name{
"sectionOffset"};
8298 static constexpr char const *
const typestr{
"unsigned"};
8299 static constexpr bool traverse{
false};
8300 static constexpr auto mbr_ptr{&SgAsmNEEntryPoint::p_sectionOffset};
8301 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8302 using bind = Desc<SgAsmNEEntryPoint, unsigned SgAsmNEEntryPoint::*, &SgAsmNEEntryPoint::p_sectionOffset>;
8307 static constexpr char const *
const name{
"AsmNEEntryPoint"};
8308 static constexpr unsigned long variant{234};
8309 static constexpr bool concrete{
true};
8311 using fields_t =
mp::List<describe_field_t<SgAsmNEEntryPoint,SgAsmNEEntryPoint::NEEntryFlags,&SgAsmNEEntryPoint::p_flags>,
describe_field_t<SgAsmNEEntryPoint,unsigned,&SgAsmNEEntryPoint::p_int3f>,
describe_field_t<SgAsmNEEntryPoint,unsigned,&SgAsmNEEntryPoint::p_sectionIndex>,
describe_field_t<SgAsmNEEntryPoint,unsigned,&SgAsmNEEntryPoint::p_sectionOffset>>;
8318 using field_type = SgSizeTList;
8319 static constexpr size_t position{0};
8320 static constexpr char const *
const name{
"bundle_sizes"};
8321 static constexpr char const *
const typestr{
"SgSizeTList"};
8322 static constexpr bool traverse{
false};
8323 static constexpr auto mbr_ptr{&SgAsmNEEntryTable::p_bundle_sizes};
8324 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8325 using bind = Desc<SgAsmNEEntryTable, SgSizeTList SgAsmNEEntryTable::*, &SgAsmNEEntryTable::p_bundle_sizes>;
8329 using field_type = SgAsmNEEntryPointPtrList;
8330 static constexpr size_t position{1};
8331 static constexpr char const *
const name{
"entries"};
8332 static constexpr char const *
const typestr{
"SgAsmNEEntryPointPtrList"};
8333 static constexpr bool traverse{
true};
8334 static constexpr auto mbr_ptr{&SgAsmNEEntryTable::p_entries};
8335 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8336 using bind = Desc<SgAsmNEEntryTable, SgAsmNEEntryPointPtrList SgAsmNEEntryTable::*, &SgAsmNEEntryTable::p_entries>;
8341 static constexpr char const *
const name{
"AsmNEEntryTable"};
8342 static constexpr unsigned long variant{235};
8343 static constexpr bool concrete{
true};
8352 using field_type = unsigned;
8353 static constexpr size_t position{0};
8354 static constexpr char const *
const name{
"e_linker_major"};
8355 static constexpr char const *
const typestr{
"unsigned"};
8356 static constexpr bool traverse{
false};
8357 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_linker_major};
8358 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8359 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_linker_major>;
8363 using field_type = unsigned;
8364 static constexpr size_t position{1};
8365 static constexpr char const *
const name{
"e_linker_minor"};
8366 static constexpr char const *
const typestr{
"unsigned"};
8367 static constexpr bool traverse{
false};
8368 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_linker_minor};
8369 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8370 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_linker_minor>;
8374 using field_type = unsigned;
8375 static constexpr size_t position{2};
8376 static constexpr char const *
const name{
"e_checksum"};
8377 static constexpr char const *
const typestr{
"unsigned"};
8378 static constexpr bool traverse{
false};
8379 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_checksum};
8380 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8381 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_checksum>;
8385 using field_type = unsigned;
8386 static constexpr size_t position{3};
8387 static constexpr char const *
const name{
"e_flags1"};
8388 static constexpr char const *
const typestr{
"unsigned"};
8389 static constexpr bool traverse{
false};
8390 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_flags1};
8391 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8392 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_flags1>;
8396 using field_type = unsigned;
8397 static constexpr size_t position{4};
8398 static constexpr char const *
const name{
"e_autodata_sn"};
8399 static constexpr char const *
const typestr{
"unsigned"};
8400 static constexpr bool traverse{
false};
8401 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_autodata_sn};
8402 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8403 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_autodata_sn>;
8407 using field_type = unsigned;
8408 static constexpr size_t position{5};
8409 static constexpr char const *
const name{
"e_bss_size"};
8410 static constexpr char const *
const typestr{
"unsigned"};
8411 static constexpr bool traverse{
false};
8412 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_bss_size};
8413 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8414 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_bss_size>;
8418 using field_type = unsigned;
8419 static constexpr size_t position{6};
8420 static constexpr char const *
const name{
"e_stack_size"};
8421 static constexpr char const *
const typestr{
"unsigned"};
8422 static constexpr bool traverse{
false};
8423 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_stack_size};
8424 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8425 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_stack_size>;
8429 using field_type = unsigned;
8430 static constexpr size_t position{7};
8431 static constexpr char const *
const name{
"e_csip"};
8432 static constexpr char const *
const typestr{
"unsigned"};
8433 static constexpr bool traverse{
false};
8434 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_csip};
8435 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8436 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_csip>;
8440 using field_type = unsigned;
8441 static constexpr size_t position{8};
8442 static constexpr char const *
const name{
"e_sssp"};
8443 static constexpr char const *
const typestr{
"unsigned"};
8444 static constexpr bool traverse{
false};
8445 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_sssp};
8446 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8447 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_sssp>;
8451 using field_type = unsigned;
8452 static constexpr size_t position{9};
8453 static constexpr char const *
const name{
"e_nsections"};
8454 static constexpr char const *
const typestr{
"unsigned"};
8455 static constexpr bool traverse{
false};
8456 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_nsections};
8457 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8458 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_nsections>;
8462 using field_type = unsigned;
8463 static constexpr size_t position{10};
8464 static constexpr char const *
const name{
"e_nmodrefs"};
8465 static constexpr char const *
const typestr{
"unsigned"};
8466 static constexpr bool traverse{
false};
8467 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_nmodrefs};
8468 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8469 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_nmodrefs>;
8473 using field_type = unsigned;
8474 static constexpr size_t position{11};
8475 static constexpr char const *
const name{
"e_nnonresnames"};
8476 static constexpr char const *
const typestr{
"unsigned"};
8477 static constexpr bool traverse{
false};
8478 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_nnonresnames};
8479 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8480 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_nnonresnames>;
8484 using field_type = unsigned;
8485 static constexpr size_t position{12};
8486 static constexpr char const *
const name{
"e_nmovable_entries"};
8487 static constexpr char const *
const typestr{
"unsigned"};
8488 static constexpr bool traverse{
false};
8489 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_nmovable_entries};
8490 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8491 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_nmovable_entries>;
8495 using field_type = unsigned;
8496 static constexpr size_t position{13};
8497 static constexpr char const *
const name{
"e_sector_align"};
8498 static constexpr char const *
const typestr{
"unsigned"};
8499 static constexpr bool traverse{
false};
8500 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_sector_align};
8501 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8502 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_sector_align>;
8506 using field_type = unsigned;
8507 static constexpr size_t position{14};
8508 static constexpr char const *
const name{
"e_nresources"};
8509 static constexpr char const *
const typestr{
"unsigned"};
8510 static constexpr bool traverse{
false};
8511 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_nresources};
8512 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8513 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_nresources>;
8517 using field_type = unsigned;
8518 static constexpr size_t position{15};
8519 static constexpr char const *
const name{
"e_exetype"};
8520 static constexpr char const *
const typestr{
"unsigned"};
8521 static constexpr bool traverse{
false};
8522 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_exetype};
8523 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8524 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_exetype>;
8528 using field_type = unsigned;
8529 static constexpr size_t position{16};
8530 static constexpr char const *
const name{
"e_flags2"};
8531 static constexpr char const *
const typestr{
"unsigned"};
8532 static constexpr bool traverse{
false};
8533 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_flags2};
8534 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8535 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_flags2>;
8539 using field_type = unsigned;
8540 static constexpr size_t position{17};
8541 static constexpr char const *
const name{
"e_res1"};
8542 static constexpr char const *
const typestr{
"unsigned"};
8543 static constexpr bool traverse{
false};
8544 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_res1};
8545 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8546 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_res1>;
8550 using field_type = unsigned;
8551 static constexpr size_t position{18};
8552 static constexpr char const *
const name{
"e_winvers"};
8553 static constexpr char const *
const typestr{
"unsigned"};
8554 static constexpr bool traverse{
false};
8555 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_winvers};
8556 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8557 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_winvers>;
8562 static constexpr size_t position{19};
8563 static constexpr char const *
const name{
"e_entrytab_rfo"};
8564 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8565 static constexpr bool traverse{
false};
8566 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_entrytab_rfo};
8567 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8568 using bind = Desc<SgAsmNEFileHeader, Rose::BinaryAnalysis::Address SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_entrytab_rfo>;
8573 static constexpr size_t position{20};
8574 static constexpr char const *
const name{
"e_entrytab_size"};
8575 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8576 static constexpr bool traverse{
false};
8577 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_entrytab_size};
8578 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8579 using bind = Desc<SgAsmNEFileHeader, Rose::BinaryAnalysis::Address SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_entrytab_size>;
8584 static constexpr size_t position{21};
8585 static constexpr char const *
const name{
"e_sectab_rfo"};
8586 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8587 static constexpr bool traverse{
false};
8588 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_sectab_rfo};
8589 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8590 using bind = Desc<SgAsmNEFileHeader, Rose::BinaryAnalysis::Address SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_sectab_rfo>;
8595 static constexpr size_t position{22};
8596 static constexpr char const *
const name{
"e_rsrctab_rfo"};
8597 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8598 static constexpr bool traverse{
false};
8599 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_rsrctab_rfo};
8600 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8601 using bind = Desc<SgAsmNEFileHeader, Rose::BinaryAnalysis::Address SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_rsrctab_rfo>;
8606 static constexpr size_t position{23};
8607 static constexpr char const *
const name{
"e_resnametab_rfo"};
8608 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8609 static constexpr bool traverse{
false};
8610 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_resnametab_rfo};
8611 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8612 using bind = Desc<SgAsmNEFileHeader, Rose::BinaryAnalysis::Address SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_resnametab_rfo>;
8617 static constexpr size_t position{24};
8618 static constexpr char const *
const name{
"e_modreftab_rfo"};
8619 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8620 static constexpr bool traverse{
false};
8621 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_modreftab_rfo};
8622 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8623 using bind = Desc<SgAsmNEFileHeader, Rose::BinaryAnalysis::Address SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_modreftab_rfo>;
8628 static constexpr size_t position{25};
8629 static constexpr char const *
const name{
"e_importnametab_rfo"};
8630 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8631 static constexpr bool traverse{
false};
8632 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_importnametab_rfo};
8633 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8634 using bind = Desc<SgAsmNEFileHeader, Rose::BinaryAnalysis::Address SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_importnametab_rfo>;
8639 static constexpr size_t position{26};
8640 static constexpr char const *
const name{
"e_nonresnametab_offset"};
8641 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8642 static constexpr bool traverse{
false};
8643 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_nonresnametab_offset};
8644 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8645 using bind = Desc<SgAsmNEFileHeader, Rose::BinaryAnalysis::Address SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_nonresnametab_offset>;
8650 static constexpr size_t position{27};
8651 static constexpr char const *
const name{
"e_fastload_sector"};
8652 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8653 static constexpr bool traverse{
false};
8654 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_fastload_sector};
8655 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8656 using bind = Desc<SgAsmNEFileHeader, Rose::BinaryAnalysis::Address SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_fastload_sector>;
8661 static constexpr size_t position{28};
8662 static constexpr char const *
const name{
"e_fastload_nsectors"};
8663 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8664 static constexpr bool traverse{
false};
8665 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_fastload_nsectors};
8666 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8667 using bind = Desc<SgAsmNEFileHeader, Rose::BinaryAnalysis::Address SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_fastload_nsectors>;
8672 static constexpr size_t position{29};
8673 static constexpr char const *
const name{
"dos2Header"};
8674 static constexpr char const *
const typestr{
"SgAsmDOSExtendedHeader*"};
8675 static constexpr bool traverse{
true};
8676 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_dos2Header};
8677 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8678 using bind = Desc<SgAsmNEFileHeader, SgAsmDOSExtendedHeader* SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_dos2Header>;
8683 static constexpr size_t position{30};
8684 static constexpr char const *
const name{
"sectionTable"};
8685 static constexpr char const *
const typestr{
"SgAsmNESectionTable*"};
8686 static constexpr bool traverse{
false};
8687 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_sectionTable};
8688 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8689 using bind = Desc<SgAsmNEFileHeader, SgAsmNESectionTable* SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_sectionTable>;
8694 static constexpr size_t position{31};
8695 static constexpr char const *
const name{
"residentNameTable"};
8696 static constexpr char const *
const typestr{
"SgAsmNENameTable*"};
8697 static constexpr bool traverse{
true};
8698 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_residentNameTable};
8699 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8700 using bind = Desc<SgAsmNEFileHeader, SgAsmNENameTable* SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_residentNameTable>;
8705 static constexpr size_t position{32};
8706 static constexpr char const *
const name{
"nonresidentNameTable"};
8707 static constexpr char const *
const typestr{
"SgAsmNENameTable*"};
8708 static constexpr bool traverse{
true};
8709 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_nonresidentNameTable};
8710 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8711 using bind = Desc<SgAsmNEFileHeader, SgAsmNENameTable* SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_nonresidentNameTable>;
8716 static constexpr size_t position{33};
8717 static constexpr char const *
const name{
"moduleTable"};
8718 static constexpr char const *
const typestr{
"SgAsmNEModuleTable*"};
8719 static constexpr bool traverse{
true};
8720 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_moduleTable};
8721 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8722 using bind = Desc<SgAsmNEFileHeader, SgAsmNEModuleTable* SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_moduleTable>;
8727 static constexpr size_t position{34};
8728 static constexpr char const *
const name{
"entryTable"};
8729 static constexpr char const *
const typestr{
"SgAsmNEEntryTable*"};
8730 static constexpr bool traverse{
true};
8731 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_entryTable};
8732 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8733 using bind = Desc<SgAsmNEFileHeader, SgAsmNEEntryTable* SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_entryTable>;
8738 static constexpr char const *
const name{
"AsmNEFileHeader"};
8739 static constexpr unsigned long variant{236};
8740 static constexpr bool concrete{
true};
8742 using fields_t =
mp::List<describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_linker_major>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_linker_minor>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_checksum>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_flags1>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_autodata_sn>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_bss_size>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_stack_size>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_csip>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_sssp>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_nsections>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_nmodrefs>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_nnonresnames>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_nmovable_entries>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_sector_align>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_nresources>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_exetype>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_flags2>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_res1>,
describe_field_t<SgAsmNEFileHeader,unsigned,&SgAsmNEFileHeader::p_e_winvers>,
describe_field_t<SgAsmNEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmNEFileHeader::p_e_entrytab_rfo>,
describe_field_t<SgAsmNEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmNEFileHeader::p_e_entrytab_size>,
describe_field_t<SgAsmNEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmNEFileHeader::p_e_sectab_rfo>,
describe_field_t<SgAsmNEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmNEFileHeader::p_e_rsrctab_rfo>,
describe_field_t<SgAsmNEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmNEFileHeader::p_e_resnametab_rfo>,
describe_field_t<SgAsmNEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmNEFileHeader::p_e_modreftab_rfo>,
describe_field_t<SgAsmNEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmNEFileHeader::p_e_importnametab_rfo>,
describe_field_t<SgAsmNEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmNEFileHeader::p_e_nonresnametab_offset>,
describe_field_t<SgAsmNEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmNEFileHeader::p_e_fastload_sector>,
describe_field_t<SgAsmNEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmNEFileHeader::p_e_fastload_nsectors>,
describe_field_t<SgAsmNEFileHeader,SgAsmDOSExtendedHeader*,&SgAsmNEFileHeader::p_dos2Header>,
describe_field_t<SgAsmNEFileHeader,SgAsmNESectionTable*,&SgAsmNEFileHeader::p_sectionTable>,
describe_field_t<SgAsmNEFileHeader,SgAsmNENameTable*,&SgAsmNEFileHeader::p_residentNameTable>,
describe_field_t<SgAsmNEFileHeader,SgAsmNENameTable*,&SgAsmNEFileHeader::p_nonresidentNameTable>,
describe_field_t<SgAsmNEFileHeader,SgAsmNEModuleTable*,&SgAsmNEFileHeader::p_moduleTable>,
describe_field_t<SgAsmNEFileHeader,SgAsmNEEntryTable*,&SgAsmNEFileHeader::p_entryTable>>;
8750 static constexpr size_t position{0};
8751 static constexpr char const *
const name{
"strtab"};
8752 static constexpr char const *
const typestr{
"SgAsmNEStringTable*"};
8753 static constexpr bool traverse{
true};
8754 static constexpr auto mbr_ptr{&SgAsmNEModuleTable::p_strtab};
8755 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8756 using bind = Desc<SgAsmNEModuleTable, SgAsmNEStringTable* SgAsmNEModuleTable::*, &SgAsmNEModuleTable::p_strtab>;
8760 using field_type = SgAddressList;
8761 static constexpr size_t position{1};
8762 static constexpr char const *
const name{
"nameOffsets"};
8763 static constexpr char const *
const typestr{
"SgAddressList"};
8764 static constexpr bool traverse{
false};
8765 static constexpr auto mbr_ptr{&SgAsmNEModuleTable::p_nameOffsets};
8766 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8767 using bind = Desc<SgAsmNEModuleTable, SgAddressList SgAsmNEModuleTable::*, &SgAsmNEModuleTable::p_nameOffsets>;
8771 using field_type = SgStringList;
8772 static constexpr size_t position{2};
8773 static constexpr char const *
const name{
"names"};
8774 static constexpr char const *
const typestr{
"SgStringList"};
8775 static constexpr bool traverse{
false};
8776 static constexpr auto mbr_ptr{&SgAsmNEModuleTable::p_names};
8777 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8778 using bind = Desc<SgAsmNEModuleTable, SgStringList SgAsmNEModuleTable::*, &SgAsmNEModuleTable::p_names>;
8783 static constexpr char const *
const name{
"AsmNEModuleTable"};
8784 static constexpr unsigned long variant{237};
8785 static constexpr bool concrete{
true};
8794 using field_type = SgStringList;
8795 static constexpr size_t position{0};
8796 static constexpr char const *
const name{
"names"};
8797 static constexpr char const *
const typestr{
"SgStringList"};
8798 static constexpr bool traverse{
false};
8799 static constexpr auto mbr_ptr{&SgAsmNENameTable::p_names};
8800 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8801 using bind = Desc<SgAsmNENameTable, SgStringList SgAsmNENameTable::*, &SgAsmNENameTable::p_names>;
8805 using field_type = SgUnsignedList;
8806 static constexpr size_t position{1};
8807 static constexpr char const *
const name{
"ordinals"};
8808 static constexpr char const *
const typestr{
"SgUnsignedList"};
8809 static constexpr bool traverse{
false};
8810 static constexpr auto mbr_ptr{&SgAsmNENameTable::p_ordinals};
8811 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8812 using bind = Desc<SgAsmNENameTable, SgUnsignedList SgAsmNENameTable::*, &SgAsmNENameTable::p_ordinals>;
8817 static constexpr char const *
const name{
"AsmNENameTable"};
8818 static constexpr unsigned long variant{238};
8819 static constexpr bool concrete{
true};
8828 using field_type = SgAsmNERelocEntry::NERelocSrcType;
8829 static constexpr size_t position{0};
8830 static constexpr char const *
const name{
"src_type"};
8831 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::NERelocSrcType"};
8832 static constexpr bool traverse{
false};
8833 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_src_type};
8834 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8835 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::NERelocSrcType SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_src_type>;
8839 using field_type = SgAsmNERelocEntry::NERelocModifiers;
8840 static constexpr size_t position{1};
8841 static constexpr char const *
const name{
"modifier"};
8842 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::NERelocModifiers"};
8843 static constexpr bool traverse{
false};
8844 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_modifier};
8845 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8846 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::NERelocModifiers SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_modifier>;
8850 using field_type = SgAsmNERelocEntry::NERelocTgtType;
8851 static constexpr size_t position{2};
8852 static constexpr char const *
const name{
"tgt_type"};
8853 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::NERelocTgtType"};
8854 static constexpr bool traverse{
false};
8855 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_tgt_type};
8856 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8857 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::NERelocTgtType SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_tgt_type>;
8861 using field_type = SgAsmNERelocEntry::NERelocFlags;
8862 static constexpr size_t position{3};
8863 static constexpr char const *
const name{
"flags"};
8864 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::NERelocFlags"};
8865 static constexpr bool traverse{
false};
8866 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_flags};
8867 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8868 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::NERelocFlags SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_flags>;
8873 static constexpr size_t position{4};
8874 static constexpr char const *
const name{
"src_offset"};
8875 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
8876 static constexpr bool traverse{
false};
8877 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_src_offset};
8878 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8879 using bind = Desc<SgAsmNERelocEntry, Rose::BinaryAnalysis::Address SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_src_offset>;
8884 static constexpr size_t position{5};
8885 static constexpr char const *
const name{
"iref"};
8886 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::iref_type"};
8887 static constexpr bool traverse{
false};
8888 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_iref};
8889 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8890 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::iref_type SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_iref>;
8895 static constexpr size_t position{6};
8896 static constexpr char const *
const name{
"iord"};
8897 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::iord_type"};
8898 static constexpr bool traverse{
false};
8899 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_iord};
8900 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8901 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::iord_type SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_iord>;
8906 static constexpr size_t position{7};
8907 static constexpr char const *
const name{
"iname"};
8908 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::iname_type"};
8909 static constexpr bool traverse{
false};
8910 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_iname};
8911 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8912 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::iname_type SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_iname>;
8917 static constexpr size_t position{8};
8918 static constexpr char const *
const name{
"osfixup"};
8919 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::osfixup_type"};
8920 static constexpr bool traverse{
false};
8921 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_osfixup};
8922 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8923 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::osfixup_type SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_osfixup>;
8928 static constexpr char const *
const name{
"AsmNERelocEntry"};
8929 static constexpr unsigned long variant{239};
8930 static constexpr bool concrete{
true};
8932 using fields_t =
mp::List<describe_field_t<SgAsmNERelocEntry,SgAsmNERelocEntry::NERelocSrcType,&SgAsmNERelocEntry::p_src_type>,
describe_field_t<SgAsmNERelocEntry,SgAsmNERelocEntry::NERelocModifiers,&SgAsmNERelocEntry::p_modifier>,
describe_field_t<SgAsmNERelocEntry,SgAsmNERelocEntry::NERelocTgtType,&SgAsmNERelocEntry::p_tgt_type>,
describe_field_t<SgAsmNERelocEntry,SgAsmNERelocEntry::NERelocFlags,&SgAsmNERelocEntry::p_flags>,
describe_field_t<SgAsmNERelocEntry,Rose::BinaryAnalysis::Address,&SgAsmNERelocEntry::p_src_offset>,
describe_field_t<SgAsmNERelocEntry,SgAsmNERelocEntry::iref_type,&SgAsmNERelocEntry::p_iref>,
describe_field_t<SgAsmNERelocEntry,SgAsmNERelocEntry::iord_type,&SgAsmNERelocEntry::p_iord>,
describe_field_t<SgAsmNERelocEntry,SgAsmNERelocEntry::iname_type,&SgAsmNERelocEntry::p_iname>,
describe_field_t<SgAsmNERelocEntry,SgAsmNERelocEntry::osfixup_type,&SgAsmNERelocEntry::p_osfixup>>;
8939 using field_type = SgAsmNERelocEntryPtrList;
8940 static constexpr size_t position{0};
8941 static constexpr char const *
const name{
"entries"};
8942 static constexpr char const *
const typestr{
"SgAsmNERelocEntryPtrList"};
8943 static constexpr bool traverse{
true};
8944 static constexpr auto mbr_ptr{&SgAsmNERelocTable::p_entries};
8945 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8946 using bind = Desc<SgAsmNERelocTable, SgAsmNERelocEntryPtrList SgAsmNERelocTable::*, &SgAsmNERelocTable::p_entries>;
8951 static constexpr char const *
const name{
"AsmNERelocTable"};
8952 static constexpr unsigned long variant{240};
8953 static constexpr bool concrete{
true};
8963 static constexpr size_t position{0};
8964 static constexpr char const *
const name{
"sectionTableEntry"};
8965 static constexpr char const *
const typestr{
"SgAsmNESectionTableEntry*"};
8966 static constexpr bool traverse{
true};
8967 static constexpr auto mbr_ptr{&SgAsmNESection::p_sectionTableEntry};
8968 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8969 using bind = Desc<SgAsmNESection, SgAsmNESectionTableEntry* SgAsmNESection::*, &SgAsmNESection::p_sectionTableEntry>;
8974 static constexpr size_t position{1};
8975 static constexpr char const *
const name{
"relocationTable"};
8976 static constexpr char const *
const typestr{
"SgAsmNERelocTable*"};
8977 static constexpr bool traverse{
true};
8978 static constexpr auto mbr_ptr{&SgAsmNESection::p_relocationTable};
8979 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8980 using bind = Desc<SgAsmNESection, SgAsmNERelocTable* SgAsmNESection::*, &SgAsmNESection::p_relocationTable>;
8985 static constexpr char const *
const name{
"AsmNESection"};
8986 static constexpr unsigned long variant{241};
8987 static constexpr bool concrete{
true};
8996 using field_type = unsigned;
8997 static constexpr size_t position{0};
8998 static constexpr char const *
const name{
"flags"};
8999 static constexpr char const *
const typestr{
"unsigned"};
9000 static constexpr bool traverse{
false};
9001 static constexpr auto mbr_ptr{&SgAsmNESectionTable::p_flags};
9002 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9003 using bind = Desc<SgAsmNESectionTable, unsigned SgAsmNESectionTable::*, &SgAsmNESectionTable::p_flags>;
9007 using field_type = unsigned;
9008 static constexpr size_t position{1};
9009 static constexpr char const *
const name{
"sector"};
9010 static constexpr char const *
const typestr{
"unsigned"};
9011 static constexpr bool traverse{
false};
9012 static constexpr auto mbr_ptr{&SgAsmNESectionTable::p_sector};
9013 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9014 using bind = Desc<SgAsmNESectionTable, unsigned SgAsmNESectionTable::*, &SgAsmNESectionTable::p_sector>;
9019 static constexpr size_t position{2};
9020 static constexpr char const *
const name{
"physicalSize"};
9021 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
9022 static constexpr bool traverse{
false};
9023 static constexpr auto mbr_ptr{&SgAsmNESectionTable::p_physicalSize};
9024 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9025 using bind = Desc<SgAsmNESectionTable, Rose::BinaryAnalysis::Address SgAsmNESectionTable::*, &SgAsmNESectionTable::p_physicalSize>;
9030 static constexpr size_t position{3};
9031 static constexpr char const *
const name{
"virtualSize"};
9032 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
9033 static constexpr bool traverse{
false};
9034 static constexpr auto mbr_ptr{&SgAsmNESectionTable::p_virtualSize};
9035 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9036 using bind = Desc<SgAsmNESectionTable, Rose::BinaryAnalysis::Address SgAsmNESectionTable::*, &SgAsmNESectionTable::p_virtualSize>;
9041 static constexpr char const *
const name{
"AsmNESectionTable"};
9042 static constexpr unsigned long variant{242};
9043 static constexpr bool concrete{
true};
9045 using fields_t =
mp::List<describe_field_t<SgAsmNESectionTable,unsigned,&SgAsmNESectionTable::p_flags>,
describe_field_t<SgAsmNESectionTable,unsigned,&SgAsmNESectionTable::p_sector>,
describe_field_t<SgAsmNESectionTable,Rose::BinaryAnalysis::Address,&SgAsmNESectionTable::p_physicalSize>,
describe_field_t<SgAsmNESectionTable,Rose::BinaryAnalysis::Address,&SgAsmNESectionTable::p_virtualSize>>;
9052 using field_type = unsigned;
9053 static constexpr size_t position{0};
9054 static constexpr char const *
const name{
"flags"};
9055 static constexpr char const *
const typestr{
"unsigned"};
9056 static constexpr bool traverse{
false};
9057 static constexpr auto mbr_ptr{&SgAsmNESectionTableEntry::p_flags};
9058 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9059 using bind = Desc<SgAsmNESectionTableEntry, unsigned SgAsmNESectionTableEntry::*, &SgAsmNESectionTableEntry::p_flags>;
9063 using field_type = unsigned;
9064 static constexpr size_t position{1};
9065 static constexpr char const *
const name{
"sector"};
9066 static constexpr char const *
const typestr{
"unsigned"};
9067 static constexpr bool traverse{
false};
9068 static constexpr auto mbr_ptr{&SgAsmNESectionTableEntry::p_sector};
9069 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9070 using bind = Desc<SgAsmNESectionTableEntry, unsigned SgAsmNESectionTableEntry::*, &SgAsmNESectionTableEntry::p_sector>;
9075 static constexpr size_t position{2};
9076 static constexpr char const *
const name{
"physicalSize"};
9077 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
9078 static constexpr bool traverse{
false};
9079 static constexpr auto mbr_ptr{&SgAsmNESectionTableEntry::p_physicalSize};
9080 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9081 using bind = Desc<SgAsmNESectionTableEntry, Rose::BinaryAnalysis::Address SgAsmNESectionTableEntry::*, &SgAsmNESectionTableEntry::p_physicalSize>;
9086 static constexpr size_t position{3};
9087 static constexpr char const *
const name{
"virtualSize"};
9088 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
9089 static constexpr bool traverse{
false};
9090 static constexpr auto mbr_ptr{&SgAsmNESectionTableEntry::p_virtualSize};
9091 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9092 using bind = Desc<SgAsmNESectionTableEntry, Rose::BinaryAnalysis::Address SgAsmNESectionTableEntry::*, &SgAsmNESectionTableEntry::p_virtualSize>;
9097 static constexpr char const *
const name{
"AsmNESectionTableEntry"};
9098 static constexpr unsigned long variant{243};
9099 static constexpr bool concrete{
true};
9101 using fields_t =
mp::List<describe_field_t<SgAsmNESectionTableEntry,unsigned,&SgAsmNESectionTableEntry::p_flags>,
describe_field_t<SgAsmNESectionTableEntry,unsigned,&SgAsmNESectionTableEntry::p_sector>,
describe_field_t<SgAsmNESectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmNESectionTableEntry::p_physicalSize>,
describe_field_t<SgAsmNESectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmNESectionTableEntry::p_virtualSize>>;
9109 static constexpr char const *
const name{
"AsmNEStringTable"};
9110 static constexpr unsigned long variant{244};
9111 static constexpr bool concrete{
true};
9121 static constexpr char const *
const name{
"AsmNode"};
9122 static constexpr unsigned long variant{245};
9123 static constexpr bool concrete{
false};
9124 using subclasses_t =
mp::List<SgAsmCilNode, SgAsmExecutableFileFormat, SgAsmExpression, SgAsmGenericFileList, SgAsmInstructionList, SgAsmInterpretation, SgAsmInterpretationList, SgAsmJvmNode, SgAsmOperandList, SgAsmStatement, SgAsmType>;
9133 static constexpr size_t position{0};
9134 static constexpr char const *
const name{
"constraint"};
9135 static constexpr char const *
const typestr{
"SgAsmOp::asm_operand_constraint_enum"};
9136 static constexpr bool traverse{
false};
9137 static constexpr auto mbr_ptr{&SgAsmOp::p_constraint};
9138 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9139 using bind = Desc<SgAsmOp, SgAsmOp::asm_operand_constraint_enum SgAsmOp::*, &SgAsmOp::p_constraint>;
9144 static constexpr size_t position{1};
9145 static constexpr char const *
const name{
"modifiers"};
9146 static constexpr char const *
const typestr{
"SgAsmOp::asm_operand_modifier_enum"};
9147 static constexpr bool traverse{
false};
9148 static constexpr auto mbr_ptr{&SgAsmOp::p_modifiers};
9149 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9150 using bind = Desc<SgAsmOp, SgAsmOp::asm_operand_modifier_enum SgAsmOp::*, &SgAsmOp::p_modifiers>;
9155 static constexpr size_t position{2};
9156 static constexpr char const *
const name{
"expression"};
9157 static constexpr char const *
const typestr{
"SgExpression*"};
9158 static constexpr bool traverse{
true};
9159 static constexpr auto mbr_ptr{&SgAsmOp::p_expression};
9160 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9161 using bind = Desc<SgAsmOp, SgExpression* SgAsmOp::*, &SgAsmOp::p_expression>;
9165 using field_type = bool;
9166 static constexpr size_t position{3};
9167 static constexpr char const *
const name{
"recordRawAsmOperandDescriptions"};
9168 static constexpr char const *
const typestr{
"bool"};
9169 static constexpr bool traverse{
false};
9170 static constexpr auto mbr_ptr{&SgAsmOp::p_recordRawAsmOperandDescriptions};
9171 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9172 using bind = Desc<SgAsmOp, bool SgAsmOp::*, &SgAsmOp::p_recordRawAsmOperandDescriptions>;
9176 using field_type = bool;
9177 static constexpr size_t position{4};
9178 static constexpr char const *
const name{
"isOutputOperand"};
9179 static constexpr char const *
const typestr{
"bool"};
9180 static constexpr bool traverse{
false};
9181 static constexpr auto mbr_ptr{&SgAsmOp::p_isOutputOperand};
9182 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9183 using bind = Desc<SgAsmOp, bool SgAsmOp::*, &SgAsmOp::p_isOutputOperand>;
9187 using field_type = std::string;
9188 static constexpr size_t position{5};
9189 static constexpr char const *
const name{
"constraintString"};
9190 static constexpr char const *
const typestr{
"std::string"};
9191 static constexpr bool traverse{
false};
9192 static constexpr auto mbr_ptr{&SgAsmOp::p_constraintString};
9193 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9194 using bind = Desc<SgAsmOp, std::string SgAsmOp::*, &SgAsmOp::p_constraintString>;
9198 using field_type = std::string;
9199 static constexpr size_t position{6};
9200 static constexpr char const *
const name{
"name"};
9201 static constexpr char const *
const typestr{
"std::string"};
9202 static constexpr bool traverse{
false};
9203 static constexpr auto mbr_ptr{&SgAsmOp::p_name};
9204 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9205 using bind = Desc<SgAsmOp, std::string SgAsmOp::*, &SgAsmOp::p_name>;
9210 static constexpr char const *
const name{
"AsmOp"};
9211 static constexpr unsigned long variant{246};
9212 static constexpr bool concrete{
true};
9214 using fields_t =
mp::List<describe_field_t<SgAsmOp,SgAsmOp::asm_operand_constraint_enum,&SgAsmOp::p_constraint>,
describe_field_t<SgAsmOp,SgAsmOp::asm_operand_modifier_enum,&SgAsmOp::p_modifiers>,
describe_field_t<SgAsmOp,SgExpression*,&SgAsmOp::p_expression>,
describe_field_t<SgAsmOp,bool,&SgAsmOp::p_recordRawAsmOperandDescriptions>,
describe_field_t<SgAsmOp,bool,&SgAsmOp::p_isOutputOperand>,
describe_field_t<SgAsmOp,std::string,&SgAsmOp::p_constraintString>,
describe_field_t<SgAsmOp,std::string,&SgAsmOp::p_name>>;
9221 using field_type = SgAsmExpressionPtrList;
9222 static constexpr size_t position{0};
9223 static constexpr char const *
const name{
"operands"};
9224 static constexpr char const *
const typestr{
"SgAsmExpressionPtrList"};
9225 static constexpr bool traverse{
true};
9226 static constexpr auto mbr_ptr{&SgAsmOperandList::p_operands};
9227 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9228 using bind = Desc<SgAsmOperandList, SgAsmExpressionPtrList SgAsmOperandList::*, &SgAsmOperandList::p_operands>;
9233 static constexpr char const *
const name{
"AsmOperandList"};
9234 static constexpr unsigned long variant{247};
9235 static constexpr bool concrete{
true};
9244 using field_type = unsigned;
9245 static constexpr size_t position{0};
9246 static constexpr char const *
const name{
"res1"};
9247 static constexpr char const *
const typestr{
"unsigned"};
9248 static constexpr bool traverse{
false};
9249 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_res1};
9250 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9251 using bind = Desc<SgAsmPEExportDirectory, unsigned SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_res1>;
9255 using field_type = time_t;
9256 static constexpr size_t position{1};
9257 static constexpr char const *
const name{
"timestamp"};
9258 static constexpr char const *
const typestr{
"time_t"};
9259 static constexpr bool traverse{
false};
9260 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_timestamp};
9261 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9262 using bind = Desc<SgAsmPEExportDirectory, time_t SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_timestamp>;
9266 using field_type = unsigned;
9267 static constexpr size_t position{2};
9268 static constexpr char const *
const name{
"vmajor"};
9269 static constexpr char const *
const typestr{
"unsigned"};
9270 static constexpr bool traverse{
false};
9271 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_vmajor};
9272 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9273 using bind = Desc<SgAsmPEExportDirectory, unsigned SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_vmajor>;
9277 using field_type = unsigned;
9278 static constexpr size_t position{3};
9279 static constexpr char const *
const name{
"vminor"};
9280 static constexpr char const *
const typestr{
"unsigned"};
9281 static constexpr bool traverse{
false};
9282 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_vminor};
9283 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9284 using bind = Desc<SgAsmPEExportDirectory, unsigned SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_vminor>;
9289 static constexpr size_t position{4};
9290 static constexpr char const *
const name{
"name_rva"};
9291 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9292 static constexpr bool traverse{
false};
9293 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_name_rva};
9294 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9295 using bind = Desc<SgAsmPEExportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_name_rva>;
9299 using field_type = unsigned;
9300 static constexpr size_t position{5};
9301 static constexpr char const *
const name{
"ord_base"};
9302 static constexpr char const *
const typestr{
"unsigned"};
9303 static constexpr bool traverse{
false};
9304 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_ord_base};
9305 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9306 using bind = Desc<SgAsmPEExportDirectory, unsigned SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_ord_base>;
9310 using field_type = size_t;
9311 static constexpr size_t position{6};
9312 static constexpr char const *
const name{
"expaddr_n"};
9313 static constexpr char const *
const typestr{
"size_t"};
9314 static constexpr bool traverse{
false};
9315 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_expaddr_n};
9316 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9317 using bind = Desc<SgAsmPEExportDirectory, size_t SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_expaddr_n>;
9321 using field_type = size_t;
9322 static constexpr size_t position{7};
9323 static constexpr char const *
const name{
"nameptr_n"};
9324 static constexpr char const *
const typestr{
"size_t"};
9325 static constexpr bool traverse{
false};
9326 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_nameptr_n};
9327 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9328 using bind = Desc<SgAsmPEExportDirectory, size_t SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_nameptr_n>;
9333 static constexpr size_t position{8};
9334 static constexpr char const *
const name{
"expaddr_rva"};
9335 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9336 static constexpr bool traverse{
false};
9337 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_expaddr_rva};
9338 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9339 using bind = Desc<SgAsmPEExportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_expaddr_rva>;
9344 static constexpr size_t position{9};
9345 static constexpr char const *
const name{
"nameptr_rva"};
9346 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9347 static constexpr bool traverse{
false};
9348 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_nameptr_rva};
9349 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9350 using bind = Desc<SgAsmPEExportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_nameptr_rva>;
9355 static constexpr size_t position{10};
9356 static constexpr char const *
const name{
"ordinals_rva"};
9357 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9358 static constexpr bool traverse{
false};
9359 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_ordinals_rva};
9360 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9361 using bind = Desc<SgAsmPEExportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_ordinals_rva>;
9366 static constexpr size_t position{11};
9367 static constexpr char const *
const name{
"name"};
9368 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
9369 static constexpr bool traverse{
true};
9370 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_name};
9371 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9372 using bind = Desc<SgAsmPEExportDirectory, SgAsmGenericString* SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_name>;
9377 static constexpr char const *
const name{
"AsmPEExportDirectory"};
9378 static constexpr unsigned long variant{248};
9379 static constexpr bool concrete{
true};
9381 using fields_t =
mp::List<describe_field_t<SgAsmPEExportDirectory,unsigned,&SgAsmPEExportDirectory::p_res1>,
describe_field_t<SgAsmPEExportDirectory,time_t,&SgAsmPEExportDirectory::p_timestamp>,
describe_field_t<SgAsmPEExportDirectory,unsigned,&SgAsmPEExportDirectory::p_vmajor>,
describe_field_t<SgAsmPEExportDirectory,unsigned,&SgAsmPEExportDirectory::p_vminor>,
describe_field_t<SgAsmPEExportDirectory,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmPEExportDirectory::p_name_rva>,
describe_field_t<SgAsmPEExportDirectory,unsigned,&SgAsmPEExportDirectory::p_ord_base>,
describe_field_t<SgAsmPEExportDirectory,size_t,&SgAsmPEExportDirectory::p_expaddr_n>,
describe_field_t<SgAsmPEExportDirectory,size_t,&SgAsmPEExportDirectory::p_nameptr_n>,
describe_field_t<SgAsmPEExportDirectory,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmPEExportDirectory::p_expaddr_rva>,
describe_field_t<SgAsmPEExportDirectory,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmPEExportDirectory::p_nameptr_rva>,
describe_field_t<SgAsmPEExportDirectory,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmPEExportDirectory::p_ordinals_rva>,
describe_field_t<SgAsmPEExportDirectory,SgAsmGenericString*,&SgAsmPEExportDirectory::p_name>>;
9389 static constexpr size_t position{0};
9390 static constexpr char const *
const name{
"name"};
9391 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
9392 static constexpr bool traverse{
true};
9393 static constexpr auto mbr_ptr{&SgAsmPEExportEntry::p_name};
9394 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9395 using bind = Desc<SgAsmPEExportEntry, SgAsmGenericString* SgAsmPEExportEntry::*, &SgAsmPEExportEntry::p_name>;
9399 using field_type = unsigned;
9400 static constexpr size_t position{1};
9401 static constexpr char const *
const name{
"ordinal"};
9402 static constexpr char const *
const typestr{
"unsigned"};
9403 static constexpr bool traverse{
false};
9404 static constexpr auto mbr_ptr{&SgAsmPEExportEntry::p_ordinal};
9405 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9406 using bind = Desc<SgAsmPEExportEntry, unsigned SgAsmPEExportEntry::*, &SgAsmPEExportEntry::p_ordinal>;
9411 static constexpr size_t position{2};
9412 static constexpr char const *
const name{
"exportRva"};
9413 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9414 static constexpr bool traverse{
false};
9415 static constexpr auto mbr_ptr{&SgAsmPEExportEntry::p_exportRva};
9416 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9417 using bind = Desc<SgAsmPEExportEntry, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEExportEntry::*, &SgAsmPEExportEntry::p_exportRva>;
9422 static constexpr size_t position{3};
9423 static constexpr char const *
const name{
"forwarder"};
9424 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
9425 static constexpr bool traverse{
true};
9426 static constexpr auto mbr_ptr{&SgAsmPEExportEntry::p_forwarder};
9427 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9428 using bind = Desc<SgAsmPEExportEntry, SgAsmGenericString* SgAsmPEExportEntry::*, &SgAsmPEExportEntry::p_forwarder>;
9433 static constexpr char const *
const name{
"AsmPEExportEntry"};
9434 static constexpr unsigned long variant{249};
9435 static constexpr bool concrete{
true};
9437 using fields_t =
mp::List<describe_field_t<SgAsmPEExportEntry,SgAsmGenericString*,&SgAsmPEExportEntry::p_name>,
describe_field_t<SgAsmPEExportEntry,unsigned,&SgAsmPEExportEntry::p_ordinal>,
describe_field_t<SgAsmPEExportEntry,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmPEExportEntry::p_exportRva>,
describe_field_t<SgAsmPEExportEntry,SgAsmGenericString*,&SgAsmPEExportEntry::p_forwarder>>;
9444 using field_type = SgAsmPEExportEntryPtrList;
9445 static constexpr size_t position{0};
9446 static constexpr char const *
const name{
"exports"};
9447 static constexpr char const *
const typestr{
"SgAsmPEExportEntryPtrList"};
9448 static constexpr bool traverse{
true};
9449 static constexpr auto mbr_ptr{&SgAsmPEExportEntryList::p_exports};
9450 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9451 using bind = Desc<SgAsmPEExportEntryList, SgAsmPEExportEntryPtrList SgAsmPEExportEntryList::*, &SgAsmPEExportEntryList::p_exports>;
9456 static constexpr char const *
const name{
"AsmPEExportEntryList"};
9457 static constexpr unsigned long variant{250};
9458 static constexpr bool concrete{
true};
9468 static constexpr size_t position{0};
9469 static constexpr char const *
const name{
"exportDirectory"};
9470 static constexpr char const *
const typestr{
"SgAsmPEExportDirectory*"};
9471 static constexpr bool traverse{
true};
9472 static constexpr auto mbr_ptr{&SgAsmPEExportSection::p_exportDirectory};
9473 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9474 using bind = Desc<SgAsmPEExportSection, SgAsmPEExportDirectory* SgAsmPEExportSection::*, &SgAsmPEExportSection::p_exportDirectory>;
9479 static constexpr size_t position{1};
9480 static constexpr char const *
const name{
"exports"};
9481 static constexpr char const *
const typestr{
"SgAsmPEExportEntryList*"};
9482 static constexpr bool traverse{
true};
9483 static constexpr auto mbr_ptr{&SgAsmPEExportSection::p_exports};
9484 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9485 using bind = Desc<SgAsmPEExportSection, SgAsmPEExportEntryList* SgAsmPEExportSection::*, &SgAsmPEExportSection::p_exports>;
9490 static constexpr char const *
const name{
"AsmPEExportSection"};
9491 static constexpr unsigned long variant{251};
9492 static constexpr bool concrete{
true};
9501 using field_type = unsigned;
9502 static constexpr size_t position{0};
9503 static constexpr char const *
const name{
"e_cpu_type"};
9504 static constexpr char const *
const typestr{
"unsigned"};
9505 static constexpr bool traverse{
false};
9506 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_cpu_type};
9507 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9508 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_cpu_type>;
9512 using field_type = unsigned;
9513 static constexpr size_t position{1};
9514 static constexpr char const *
const name{
"e_nsections"};
9515 static constexpr char const *
const typestr{
"unsigned"};
9516 static constexpr bool traverse{
false};
9517 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_nsections};
9518 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9519 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_nsections>;
9523 using field_type = unsigned;
9524 static constexpr size_t position{2};
9525 static constexpr char const *
const name{
"e_time"};
9526 static constexpr char const *
const typestr{
"unsigned"};
9527 static constexpr bool traverse{
false};
9528 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_time};
9529 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9530 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_time>;
9535 static constexpr size_t position{3};
9536 static constexpr char const *
const name{
"e_coff_symtab"};
9537 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
9538 static constexpr bool traverse{
false};
9539 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_coff_symtab};
9540 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9541 using bind = Desc<SgAsmPEFileHeader, Rose::BinaryAnalysis::Address SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_coff_symtab>;
9546 static constexpr size_t position{4};
9547 static constexpr char const *
const name{
"e_nt_hdr_size"};
9548 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
9549 static constexpr bool traverse{
false};
9550 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_nt_hdr_size};
9551 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9552 using bind = Desc<SgAsmPEFileHeader, Rose::BinaryAnalysis::Address SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_nt_hdr_size>;
9556 using field_type = unsigned;
9557 static constexpr size_t position{5};
9558 static constexpr char const *
const name{
"e_coff_nsyms"};
9559 static constexpr char const *
const typestr{
"unsigned"};
9560 static constexpr bool traverse{
false};
9561 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_coff_nsyms};
9562 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9563 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_coff_nsyms>;
9567 using field_type = unsigned;
9568 static constexpr size_t position{6};
9569 static constexpr char const *
const name{
"e_flags"};
9570 static constexpr char const *
const typestr{
"unsigned"};
9571 static constexpr bool traverse{
false};
9572 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_flags};
9573 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9574 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_flags>;
9578 using field_type = unsigned;
9579 static constexpr size_t position{7};
9580 static constexpr char const *
const name{
"e_opt_magic"};
9581 static constexpr char const *
const typestr{
"unsigned"};
9582 static constexpr bool traverse{
false};
9583 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_opt_magic};
9584 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9585 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_opt_magic>;
9589 using field_type = unsigned;
9590 static constexpr size_t position{8};
9591 static constexpr char const *
const name{
"e_lmajor"};
9592 static constexpr char const *
const typestr{
"unsigned"};
9593 static constexpr bool traverse{
false};
9594 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_lmajor};
9595 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9596 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_lmajor>;
9600 using field_type = unsigned;
9601 static constexpr size_t position{9};
9602 static constexpr char const *
const name{
"e_lminor"};
9603 static constexpr char const *
const typestr{
"unsigned"};
9604 static constexpr bool traverse{
false};
9605 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_lminor};
9606 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9607 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_lminor>;
9611 using field_type = unsigned;
9612 static constexpr size_t position{10};
9613 static constexpr char const *
const name{
"e_code_size"};
9614 static constexpr char const *
const typestr{
"unsigned"};
9615 static constexpr bool traverse{
false};
9616 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_code_size};
9617 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9618 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_code_size>;
9622 using field_type = unsigned;
9623 static constexpr size_t position{11};
9624 static constexpr char const *
const name{
"e_data_size"};
9625 static constexpr char const *
const typestr{
"unsigned"};
9626 static constexpr bool traverse{
false};
9627 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_data_size};
9628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9629 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_data_size>;
9633 using field_type = unsigned;
9634 static constexpr size_t position{12};
9635 static constexpr char const *
const name{
"e_bss_size"};
9636 static constexpr char const *
const typestr{
"unsigned"};
9637 static constexpr bool traverse{
false};
9638 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_bss_size};
9639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9640 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_bss_size>;
9645 static constexpr size_t position{13};
9646 static constexpr char const *
const name{
"e_code_rva"};
9647 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9648 static constexpr bool traverse{
false};
9649 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_code_rva};
9650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9651 using bind = Desc<SgAsmPEFileHeader, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_code_rva>;
9656 static constexpr size_t position{14};
9657 static constexpr char const *
const name{
"e_data_rva"};
9658 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9659 static constexpr bool traverse{
false};
9660 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_data_rva};
9661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9662 using bind = Desc<SgAsmPEFileHeader, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_data_rva>;
9666 using field_type = unsigned;
9667 static constexpr size_t position{15};
9668 static constexpr char const *
const name{
"e_section_align"};
9669 static constexpr char const *
const typestr{
"unsigned"};
9670 static constexpr bool traverse{
false};
9671 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_section_align};
9672 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9673 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_section_align>;
9677 using field_type = unsigned;
9678 static constexpr size_t position{16};
9679 static constexpr char const *
const name{
"e_file_align"};
9680 static constexpr char const *
const typestr{
"unsigned"};
9681 static constexpr bool traverse{
false};
9682 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_file_align};
9683 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9684 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_file_align>;
9688 using field_type = unsigned;
9689 static constexpr size_t position{17};
9690 static constexpr char const *
const name{
"e_os_major"};
9691 static constexpr char const *
const typestr{
"unsigned"};
9692 static constexpr bool traverse{
false};
9693 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_os_major};
9694 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9695 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_os_major>;
9699 using field_type = unsigned;
9700 static constexpr size_t position{18};
9701 static constexpr char const *
const name{
"e_os_minor"};
9702 static constexpr char const *
const typestr{
"unsigned"};
9703 static constexpr bool traverse{
false};
9704 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_os_minor};
9705 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9706 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_os_minor>;
9710 using field_type = unsigned;
9711 static constexpr size_t position{19};
9712 static constexpr char const *
const name{
"e_user_major"};
9713 static constexpr char const *
const typestr{
"unsigned"};
9714 static constexpr bool traverse{
false};
9715 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_user_major};
9716 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9717 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_user_major>;
9721 using field_type = unsigned;
9722 static constexpr size_t position{20};
9723 static constexpr char const *
const name{
"e_user_minor"};
9724 static constexpr char const *
const typestr{
"unsigned"};
9725 static constexpr bool traverse{
false};
9726 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_user_minor};
9727 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9728 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_user_minor>;
9732 using field_type = unsigned;
9733 static constexpr size_t position{21};
9734 static constexpr char const *
const name{
"e_subsys_major"};
9735 static constexpr char const *
const typestr{
"unsigned"};
9736 static constexpr bool traverse{
false};
9737 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_subsys_major};
9738 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9739 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_subsys_major>;
9743 using field_type = unsigned;
9744 static constexpr size_t position{22};
9745 static constexpr char const *
const name{
"e_subsys_minor"};
9746 static constexpr char const *
const typestr{
"unsigned"};
9747 static constexpr bool traverse{
false};
9748 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_subsys_minor};
9749 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9750 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_subsys_minor>;
9754 using field_type = unsigned;
9755 static constexpr size_t position{23};
9756 static constexpr char const *
const name{
"e_reserved9"};
9757 static constexpr char const *
const typestr{
"unsigned"};
9758 static constexpr bool traverse{
false};
9759 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_reserved9};
9760 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9761 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_reserved9>;
9765 using field_type = unsigned;
9766 static constexpr size_t position{24};
9767 static constexpr char const *
const name{
"e_image_size"};
9768 static constexpr char const *
const typestr{
"unsigned"};
9769 static constexpr bool traverse{
false};
9770 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_image_size};
9771 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9772 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_image_size>;
9776 using field_type = unsigned;
9777 static constexpr size_t position{25};
9778 static constexpr char const *
const name{
"e_header_size"};
9779 static constexpr char const *
const typestr{
"unsigned"};
9780 static constexpr bool traverse{
false};
9781 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_header_size};
9782 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9783 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_header_size>;
9787 using field_type = unsigned;
9788 static constexpr size_t position{26};
9789 static constexpr char const *
const name{
"e_file_checksum"};
9790 static constexpr char const *
const typestr{
"unsigned"};
9791 static constexpr bool traverse{
false};
9792 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_file_checksum};
9793 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9794 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_file_checksum>;
9798 using field_type = unsigned;
9799 static constexpr size_t position{27};
9800 static constexpr char const *
const name{
"e_subsystem"};
9801 static constexpr char const *
const typestr{
"unsigned"};
9802 static constexpr bool traverse{
false};
9803 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_subsystem};
9804 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9805 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_subsystem>;
9809 using field_type = unsigned;
9810 static constexpr size_t position{28};
9811 static constexpr char const *
const name{
"e_dll_flags"};
9812 static constexpr char const *
const typestr{
"unsigned"};
9813 static constexpr bool traverse{
false};
9814 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_dll_flags};
9815 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9816 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_dll_flags>;
9820 using field_type = unsigned;
9821 static constexpr size_t position{29};
9822 static constexpr char const *
const name{
"e_stack_reserve_size"};
9823 static constexpr char const *
const typestr{
"unsigned"};
9824 static constexpr bool traverse{
false};
9825 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_stack_reserve_size};
9826 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9827 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_stack_reserve_size>;
9831 using field_type = unsigned;
9832 static constexpr size_t position{30};
9833 static constexpr char const *
const name{
"e_stack_commit_size"};
9834 static constexpr char const *
const typestr{
"unsigned"};
9835 static constexpr bool traverse{
false};
9836 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_stack_commit_size};
9837 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9838 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_stack_commit_size>;
9842 using field_type = unsigned;
9843 static constexpr size_t position{31};
9844 static constexpr char const *
const name{
"e_heap_reserve_size"};
9845 static constexpr char const *
const typestr{
"unsigned"};
9846 static constexpr bool traverse{
false};
9847 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_heap_reserve_size};
9848 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9849 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_heap_reserve_size>;
9853 using field_type = unsigned;
9854 static constexpr size_t position{32};
9855 static constexpr char const *
const name{
"e_heap_commit_size"};
9856 static constexpr char const *
const typestr{
"unsigned"};
9857 static constexpr bool traverse{
false};
9858 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_heap_commit_size};
9859 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9860 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_heap_commit_size>;
9864 using field_type = unsigned;
9865 static constexpr size_t position{33};
9866 static constexpr char const *
const name{
"e_loader_flags"};
9867 static constexpr char const *
const typestr{
"unsigned"};
9868 static constexpr bool traverse{
false};
9869 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_loader_flags};
9870 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9871 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_loader_flags>;
9875 using field_type = unsigned;
9876 static constexpr size_t position{34};
9877 static constexpr char const *
const name{
"e_num_rvasize_pairs"};
9878 static constexpr char const *
const typestr{
"unsigned"};
9879 static constexpr bool traverse{
false};
9880 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_num_rvasize_pairs};
9881 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9882 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_num_rvasize_pairs>;
9887 static constexpr size_t position{35};
9888 static constexpr char const *
const name{
"rvaSizePairs"};
9889 static constexpr char const *
const typestr{
"SgAsmPERVASizePairList*"};
9890 static constexpr bool traverse{
true};
9891 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_rvaSizePairs};
9892 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9893 using bind = Desc<SgAsmPEFileHeader, SgAsmPERVASizePairList* SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_rvaSizePairs>;
9898 static constexpr size_t position{36};
9899 static constexpr char const *
const name{
"sectionTable"};
9900 static constexpr char const *
const typestr{
"SgAsmPESectionTable*"};
9901 static constexpr bool traverse{
false};
9902 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_sectionTable};
9903 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9904 using bind = Desc<SgAsmPEFileHeader, SgAsmPESectionTable* SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_sectionTable>;
9909 static constexpr size_t position{37};
9910 static constexpr char const *
const name{
"coffSymbolTable"};
9911 static constexpr char const *
const typestr{
"SgAsmCoffSymbolTable*"};
9912 static constexpr bool traverse{
false};
9913 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_coffSymbolTable};
9914 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9915 using bind = Desc<SgAsmPEFileHeader, SgAsmCoffSymbolTable* SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_coffSymbolTable>;
9920 static constexpr char const *
const name{
"AsmPEFileHeader"};
9921 static constexpr unsigned long variant{252};
9922 static constexpr bool concrete{
true};
9924 using fields_t =
mp::List<describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_cpu_type>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_nsections>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_time>,
describe_field_t<SgAsmPEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmPEFileHeader::p_e_coff_symtab>,
describe_field_t<SgAsmPEFileHeader,Rose::BinaryAnalysis::Address,&SgAsmPEFileHeader::p_e_nt_hdr_size>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_coff_nsyms>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_flags>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_opt_magic>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_lmajor>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_lminor>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_code_size>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_data_size>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_bss_size>,
describe_field_t<SgAsmPEFileHeader,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmPEFileHeader::p_e_code_rva>,
describe_field_t<SgAsmPEFileHeader,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmPEFileHeader::p_e_data_rva>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_section_align>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_file_align>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_os_major>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_os_minor>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_user_major>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_user_minor>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_subsys_major>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_subsys_minor>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_reserved9>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_image_size>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_header_size>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_file_checksum>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_subsystem>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_dll_flags>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_stack_reserve_size>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_stack_commit_size>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_heap_reserve_size>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_heap_commit_size>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_loader_flags>,
describe_field_t<SgAsmPEFileHeader,unsigned,&SgAsmPEFileHeader::p_e_num_rvasize_pairs>,
describe_field_t<SgAsmPEFileHeader,SgAsmPERVASizePairList*,&SgAsmPEFileHeader::p_rvaSizePairs>,
describe_field_t<SgAsmPEFileHeader,SgAsmPESectionTable*,&SgAsmPEFileHeader::p_sectionTable>,
describe_field_t<SgAsmPEFileHeader,SgAsmCoffSymbolTable*,&SgAsmPEFileHeader::p_coffSymbolTable>>;
9932 static constexpr size_t position{0};
9933 static constexpr char const *
const name{
"dllName"};
9934 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
9935 static constexpr bool traverse{
true};
9936 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_dllName};
9937 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9938 using bind = Desc<SgAsmPEImportDirectory, SgAsmGenericString* SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_dllName>;
9943 static constexpr size_t position{1};
9944 static constexpr char const *
const name{
"dllNameRva"};
9945 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9946 static constexpr bool traverse{
false};
9947 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_dllNameRva};
9948 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9949 using bind = Desc<SgAsmPEImportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_dllNameRva>;
9953 using field_type = size_t;
9954 static constexpr size_t position{2};
9955 static constexpr char const *
const name{
"dll_name_nalloc"};
9956 static constexpr char const *
const typestr{
"size_t"};
9957 static constexpr bool traverse{
false};
9958 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_dll_name_nalloc};
9959 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9960 using bind = Desc<SgAsmPEImportDirectory, size_t SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_dll_name_nalloc>;
9964 using field_type = time_t;
9965 static constexpr size_t position{3};
9966 static constexpr char const *
const name{
"time"};
9967 static constexpr char const *
const typestr{
"time_t"};
9968 static constexpr bool traverse{
false};
9969 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_time};
9970 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9971 using bind = Desc<SgAsmPEImportDirectory, time_t SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_time>;
9975 using field_type = unsigned;
9976 static constexpr size_t position{4};
9977 static constexpr char const *
const name{
"forwarder_chain"};
9978 static constexpr char const *
const typestr{
"unsigned"};
9979 static constexpr bool traverse{
false};
9980 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_forwarder_chain};
9981 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9982 using bind = Desc<SgAsmPEImportDirectory, unsigned SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_forwarder_chain>;
9987 static constexpr size_t position{5};
9988 static constexpr char const *
const name{
"ilt_rva"};
9989 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9990 static constexpr bool traverse{
false};
9991 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_ilt_rva};
9992 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9993 using bind = Desc<SgAsmPEImportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_ilt_rva>;
9997 using field_type = size_t;
9998 static constexpr size_t position{6};
9999 static constexpr char const *
const name{
"ilt_nalloc"};
10000 static constexpr char const *
const typestr{
"size_t"};
10001 static constexpr bool traverse{
false};
10002 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_ilt_nalloc};
10003 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10004 using bind = Desc<SgAsmPEImportDirectory, size_t SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_ilt_nalloc>;
10009 static constexpr size_t position{7};
10010 static constexpr char const *
const name{
"iat_rva"};
10011 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
10012 static constexpr bool traverse{
false};
10013 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_iat_rva};
10014 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10015 using bind = Desc<SgAsmPEImportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_iat_rva>;
10019 using field_type = size_t;
10020 static constexpr size_t position{8};
10021 static constexpr char const *
const name{
"iat_nalloc"};
10022 static constexpr char const *
const typestr{
"size_t"};
10023 static constexpr bool traverse{
false};
10024 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_iat_nalloc};
10025 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10026 using bind = Desc<SgAsmPEImportDirectory, size_t SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_iat_nalloc>;
10031 static constexpr size_t position{9};
10032 static constexpr char const *
const name{
"imports"};
10033 static constexpr char const *
const typestr{
"SgAsmPEImportItemList*"};
10034 static constexpr bool traverse{
true};
10035 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_imports};
10036 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10037 using bind = Desc<SgAsmPEImportDirectory, SgAsmPEImportItemList* SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_imports>;
10042 static constexpr char const *
const name{
"AsmPEImportDirectory"};
10043 static constexpr unsigned long variant{253};
10044 static constexpr bool concrete{
true};
10046 using fields_t =
mp::List<describe_field_t<SgAsmPEImportDirectory,SgAsmGenericString*,&SgAsmPEImportDirectory::p_dllName>,
describe_field_t<SgAsmPEImportDirectory,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmPEImportDirectory::p_dllNameRva>,
describe_field_t<SgAsmPEImportDirectory,size_t,&SgAsmPEImportDirectory::p_dll_name_nalloc>,
describe_field_t<SgAsmPEImportDirectory,time_t,&SgAsmPEImportDirectory::p_time>,
describe_field_t<SgAsmPEImportDirectory,unsigned,&SgAsmPEImportDirectory::p_forwarder_chain>,
describe_field_t<SgAsmPEImportDirectory,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmPEImportDirectory::p_ilt_rva>,
describe_field_t<SgAsmPEImportDirectory,size_t,&SgAsmPEImportDirectory::p_ilt_nalloc>,
describe_field_t<SgAsmPEImportDirectory,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmPEImportDirectory::p_iat_rva>,
describe_field_t<SgAsmPEImportDirectory,size_t,&SgAsmPEImportDirectory::p_iat_nalloc>,
describe_field_t<SgAsmPEImportDirectory,SgAsmPEImportItemList*,&SgAsmPEImportDirectory::p_imports>>;
10053 using field_type = SgAsmPEImportDirectoryPtrList;
10054 static constexpr size_t position{0};
10055 static constexpr char const *
const name{
"vector"};
10056 static constexpr char const *
const typestr{
"SgAsmPEImportDirectoryPtrList"};
10057 static constexpr bool traverse{
true};
10058 static constexpr auto mbr_ptr{&SgAsmPEImportDirectoryList::p_vector};
10059 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10060 using bind = Desc<SgAsmPEImportDirectoryList, SgAsmPEImportDirectoryPtrList SgAsmPEImportDirectoryList::*, &SgAsmPEImportDirectoryList::p_vector>;
10065 static constexpr char const *
const name{
"AsmPEImportDirectoryList"};
10066 static constexpr unsigned long variant{254};
10067 static constexpr bool concrete{
true};
10076 using field_type = bool;
10077 static constexpr size_t position{0};
10078 static constexpr char const *
const name{
"by_ordinal"};
10079 static constexpr char const *
const typestr{
"bool"};
10080 static constexpr bool traverse{
false};
10081 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_by_ordinal};
10082 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10083 using bind = Desc<SgAsmPEImportItem, bool SgAsmPEImportItem::*, &SgAsmPEImportItem::p_by_ordinal>;
10087 using field_type = unsigned;
10088 static constexpr size_t position{1};
10089 static constexpr char const *
const name{
"ordinal"};
10090 static constexpr char const *
const typestr{
"unsigned"};
10091 static constexpr bool traverse{
false};
10092 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_ordinal};
10093 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10094 using bind = Desc<SgAsmPEImportItem, unsigned SgAsmPEImportItem::*, &SgAsmPEImportItem::p_ordinal>;
10098 using field_type = unsigned;
10099 static constexpr size_t position{2};
10100 static constexpr char const *
const name{
"hint"};
10101 static constexpr char const *
const typestr{
"unsigned"};
10102 static constexpr bool traverse{
false};
10103 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_hint};
10104 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10105 using bind = Desc<SgAsmPEImportItem, unsigned SgAsmPEImportItem::*, &SgAsmPEImportItem::p_hint>;
10110 static constexpr size_t position{3};
10111 static constexpr char const *
const name{
"name"};
10112 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
10113 static constexpr bool traverse{
true};
10114 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_name};
10115 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10116 using bind = Desc<SgAsmPEImportItem, SgAsmGenericString* SgAsmPEImportItem::*, &SgAsmPEImportItem::p_name>;
10121 static constexpr size_t position{4};
10122 static constexpr char const *
const name{
"hintname_rva"};
10123 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
10124 static constexpr bool traverse{
false};
10125 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_hintname_rva};
10126 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10127 using bind = Desc<SgAsmPEImportItem, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEImportItem::*, &SgAsmPEImportItem::p_hintname_rva>;
10131 using field_type = size_t;
10132 static constexpr size_t position{5};
10133 static constexpr char const *
const name{
"hintname_nalloc"};
10134 static constexpr char const *
const typestr{
"size_t"};
10135 static constexpr bool traverse{
false};
10136 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_hintname_nalloc};
10137 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10138 using bind = Desc<SgAsmPEImportItem, size_t SgAsmPEImportItem::*, &SgAsmPEImportItem::p_hintname_nalloc>;
10143 static constexpr size_t position{6};
10144 static constexpr char const *
const name{
"bound_rva"};
10145 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
10146 static constexpr bool traverse{
false};
10147 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_bound_rva};
10148 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10149 using bind = Desc<SgAsmPEImportItem, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEImportItem::*, &SgAsmPEImportItem::p_bound_rva>;
10153 using field_type = bool;
10154 static constexpr size_t position{7};
10155 static constexpr char const *
const name{
"iat_written"};
10156 static constexpr char const *
const typestr{
"bool"};
10157 static constexpr bool traverse{
false};
10158 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_iat_written};
10159 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10160 using bind = Desc<SgAsmPEImportItem, bool SgAsmPEImportItem::*, &SgAsmPEImportItem::p_iat_written>;
10165 static constexpr char const *
const name{
"AsmPEImportItem"};
10166 static constexpr unsigned long variant{255};
10167 static constexpr bool concrete{
true};
10169 using fields_t =
mp::List<describe_field_t<SgAsmPEImportItem,bool,&SgAsmPEImportItem::p_by_ordinal>,
describe_field_t<SgAsmPEImportItem,unsigned,&SgAsmPEImportItem::p_ordinal>,
describe_field_t<SgAsmPEImportItem,unsigned,&SgAsmPEImportItem::p_hint>,
describe_field_t<SgAsmPEImportItem,SgAsmGenericString*,&SgAsmPEImportItem::p_name>,
describe_field_t<SgAsmPEImportItem,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmPEImportItem::p_hintname_rva>,
describe_field_t<SgAsmPEImportItem,size_t,&SgAsmPEImportItem::p_hintname_nalloc>,
describe_field_t<SgAsmPEImportItem,Rose::BinaryAnalysis::RelativeVirtualAddress,&SgAsmPEImportItem::p_bound_rva>,
describe_field_t<SgAsmPEImportItem,bool,&SgAsmPEImportItem::p_iat_written>>;
10176 using field_type = SgAsmPEImportItemPtrList;
10177 static constexpr size_t position{0};
10178 static constexpr char const *
const name{
"vector"};
10179 static constexpr char const *
const typestr{
"SgAsmPEImportItemPtrList"};
10180 static constexpr bool traverse{
true};
10181 static constexpr auto mbr_ptr{&SgAsmPEImportItemList::p_vector};
10182 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10183 using bind = Desc<SgAsmPEImportItemList, SgAsmPEImportItemPtrList SgAsmPEImportItemList::*, &SgAsmPEImportItemList::p_vector>;
10188 static constexpr char const *
const name{
"AsmPEImportItemList"};
10189 static constexpr unsigned long variant{256};
10190 static constexpr bool concrete{
true};
10200 static constexpr size_t position{0};
10201 static constexpr char const *
const name{
"importDirectories"};
10202 static constexpr char const *
const typestr{
"SgAsmPEImportDirectoryList*"};
10203 static constexpr bool traverse{
true};
10204 static constexpr auto mbr_ptr{&SgAsmPEImportSection::p_importDirectories};
10205 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10206 using bind = Desc<SgAsmPEImportSection, SgAsmPEImportDirectoryList* SgAsmPEImportSection::*, &SgAsmPEImportSection::p_importDirectories>;
10211 static constexpr char const *
const name{
"AsmPEImportSection"};
10212 static constexpr unsigned long variant{257};
10213 static constexpr bool concrete{
true};
10223 static constexpr size_t position{0};
10224 static constexpr char const *
const name{
"e_rva"};
10225 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
10226 static constexpr bool traverse{
false};
10227 static constexpr auto mbr_ptr{&SgAsmPERVASizePair::p_e_rva};
10228 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10229 using bind = Desc<SgAsmPERVASizePair, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPERVASizePair::*, &SgAsmPERVASizePair::p_e_rva>;
10234 static constexpr size_t position{1};
10235 static constexpr char const *
const name{
"e_size"};
10236 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
10237 static constexpr bool traverse{
false};
10238 static constexpr auto mbr_ptr{&SgAsmPERVASizePair::p_e_size};
10239 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10240 using bind = Desc<SgAsmPERVASizePair, Rose::BinaryAnalysis::Address SgAsmPERVASizePair::*, &SgAsmPERVASizePair::p_e_size>;
10245 static constexpr size_t position{2};
10246 static constexpr char const *
const name{
"section"};
10247 static constexpr char const *
const typestr{
"SgAsmGenericSection*"};
10248 static constexpr bool traverse{
false};
10249 static constexpr auto mbr_ptr{&SgAsmPERVASizePair::p_section};
10250 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10251 using bind = Desc<SgAsmPERVASizePair, SgAsmGenericSection* SgAsmPERVASizePair::*, &SgAsmPERVASizePair::p_section>;
10256 static constexpr char const *
const name{
"AsmPERVASizePair"};
10257 static constexpr unsigned long variant{258};
10258 static constexpr bool concrete{
true};
10267 using field_type = SgAsmPERVASizePairPtrList;
10268 static constexpr size_t position{0};
10269 static constexpr char const *
const name{
"pairs"};
10270 static constexpr char const *
const typestr{
"SgAsmPERVASizePairPtrList"};
10271 static constexpr bool traverse{
true};
10272 static constexpr auto mbr_ptr{&SgAsmPERVASizePairList::p_pairs};
10273 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10274 using bind = Desc<SgAsmPERVASizePairList, SgAsmPERVASizePairPtrList SgAsmPERVASizePairList::*, &SgAsmPERVASizePairList::p_pairs>;
10279 static constexpr char const *
const name{
"AsmPERVASizePairList"};
10280 static constexpr unsigned long variant{259};
10281 static constexpr bool concrete{
true};
10291 static constexpr size_t position{0};
10292 static constexpr char const *
const name{
"section_entry"};
10293 static constexpr char const *
const typestr{
"SgAsmPESectionTableEntry*"};
10294 static constexpr bool traverse{
true};
10295 static constexpr auto mbr_ptr{&SgAsmPESection::p_section_entry};
10296 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10297 using bind = Desc<SgAsmPESection, SgAsmPESectionTableEntry* SgAsmPESection::*, &SgAsmPESection::p_section_entry>;
10302 static constexpr char const *
const name{
"AsmPESection"};
10303 static constexpr unsigned long variant{260};
10304 static constexpr bool concrete{
true};
10314 static constexpr char const *
const name{
"AsmPESectionTable"};
10315 static constexpr unsigned long variant{261};
10316 static constexpr bool concrete{
true};
10325 using field_type = std::string;
10326 static constexpr size_t position{0};
10327 static constexpr char const *
const name{
"name"};
10328 static constexpr char const *
const typestr{
"std::string"};
10329 static constexpr bool traverse{
false};
10330 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_name};
10331 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10332 using bind = Desc<SgAsmPESectionTableEntry, std::string SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_name>;
10337 static constexpr size_t position{1};
10338 static constexpr char const *
const name{
"virtual_size"};
10339 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
10340 static constexpr bool traverse{
false};
10341 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_virtual_size};
10342 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10343 using bind = Desc<SgAsmPESectionTableEntry, Rose::BinaryAnalysis::Address SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_virtual_size>;
10348 static constexpr size_t position{2};
10349 static constexpr char const *
const name{
"rva"};
10350 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
10351 static constexpr bool traverse{
false};
10352 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_rva};
10353 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10354 using bind = Desc<SgAsmPESectionTableEntry, Rose::BinaryAnalysis::Address SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_rva>;
10359 static constexpr size_t position{3};
10360 static constexpr char const *
const name{
"physical_size"};
10361 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
10362 static constexpr bool traverse{
false};
10363 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_physical_size};
10364 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10365 using bind = Desc<SgAsmPESectionTableEntry, Rose::BinaryAnalysis::Address SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_physical_size>;
10370 static constexpr size_t position{4};
10371 static constexpr char const *
const name{
"physical_offset"};
10372 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
10373 static constexpr bool traverse{
false};
10374 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_physical_offset};
10375 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10376 using bind = Desc<SgAsmPESectionTableEntry, Rose::BinaryAnalysis::Address SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_physical_offset>;
10380 using field_type = unsigned;
10381 static constexpr size_t position{5};
10382 static constexpr char const *
const name{
"coff_line_nums"};
10383 static constexpr char const *
const typestr{
"unsigned"};
10384 static constexpr bool traverse{
false};
10385 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_coff_line_nums};
10386 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10387 using bind = Desc<SgAsmPESectionTableEntry, unsigned SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_coff_line_nums>;
10391 using field_type = unsigned;
10392 static constexpr size_t position{6};
10393 static constexpr char const *
const name{
"n_relocs"};
10394 static constexpr char const *
const typestr{
"unsigned"};
10395 static constexpr bool traverse{
false};
10396 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_n_relocs};
10397 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10398 using bind = Desc<SgAsmPESectionTableEntry, unsigned SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_n_relocs>;
10402 using field_type = unsigned;
10403 static constexpr size_t position{7};
10404 static constexpr char const *
const name{
"n_coff_line_nums"};
10405 static constexpr char const *
const typestr{
"unsigned"};
10406 static constexpr bool traverse{
false};
10407 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_n_coff_line_nums};
10408 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10409 using bind = Desc<SgAsmPESectionTableEntry, unsigned SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_n_coff_line_nums>;
10413 using field_type = unsigned;
10414 static constexpr size_t position{8};
10415 static constexpr char const *
const name{
"flags"};
10416 static constexpr char const *
const typestr{
"unsigned"};
10417 static constexpr bool traverse{
false};
10418 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_flags};
10419 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10420 using bind = Desc<SgAsmPESectionTableEntry, unsigned SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_flags>;
10425 static constexpr char const *
const name{
"AsmPESectionTableEntry"};
10426 static constexpr unsigned long variant{262};
10427 static constexpr bool concrete{
true};
10429 using fields_t =
mp::List<describe_field_t<SgAsmPESectionTableEntry,std::string,&SgAsmPESectionTableEntry::p_name>,
describe_field_t<SgAsmPESectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmPESectionTableEntry::p_virtual_size>,
describe_field_t<SgAsmPESectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmPESectionTableEntry::p_rva>,
describe_field_t<SgAsmPESectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmPESectionTableEntry::p_physical_size>,
describe_field_t<SgAsmPESectionTableEntry,Rose::BinaryAnalysis::Address,&SgAsmPESectionTableEntry::p_physical_offset>,
describe_field_t<SgAsmPESectionTableEntry,unsigned,&SgAsmPESectionTableEntry::p_coff_line_nums>,
describe_field_t<SgAsmPESectionTableEntry,unsigned,&SgAsmPESectionTableEntry::p_n_relocs>,
describe_field_t<SgAsmPESectionTableEntry,unsigned,&SgAsmPESectionTableEntry::p_n_coff_line_nums>,
describe_field_t<SgAsmPESectionTableEntry,unsigned,&SgAsmPESectionTableEntry::p_flags>>;
10437 static constexpr size_t position{0};
10438 static constexpr char const *
const name{
"strtab"};
10439 static constexpr char const *
const typestr{
"SgAsmCoffStrtab*"};
10440 static constexpr bool traverse{
false};
10441 static constexpr auto mbr_ptr{&SgAsmPEStringSection::p_strtab};
10442 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10443 using bind = Desc<SgAsmPEStringSection, SgAsmCoffStrtab* SgAsmPEStringSection::*, &SgAsmPEStringSection::p_strtab>;
10448 static constexpr char const *
const name{
"AsmPEStringSection"};
10449 static constexpr unsigned long variant{263};
10450 static constexpr bool concrete{
true};
10459 using field_type = Rose::BinaryAnalysis::PowerpcInstructionKind;
10460 static constexpr size_t position{0};
10461 static constexpr char const *
const name{
"kind"};
10462 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::PowerpcInstructionKind"};
10463 static constexpr bool traverse{
false};
10464 static constexpr auto mbr_ptr{&SgAsmPowerpcInstruction::p_kind};
10465 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10466 using bind = Desc<SgAsmPowerpcInstruction, Rose::BinaryAnalysis::PowerpcInstructionKind SgAsmPowerpcInstruction::*, &SgAsmPowerpcInstruction::p_kind>;
10471 static constexpr char const *
const name{
"AsmPowerpcInstruction"};
10472 static constexpr unsigned long variant{264};
10473 static constexpr bool concrete{
true};
10482 using field_type = SgAsmRegisterReferenceExpressionPtrList;
10483 static constexpr size_t position{0};
10484 static constexpr char const *
const name{
"registers"};
10485 static constexpr char const *
const typestr{
"SgAsmRegisterReferenceExpressionPtrList"};
10486 static constexpr bool traverse{
true};
10487 static constexpr auto mbr_ptr{&SgAsmRegisterNames::p_registers};
10488 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10489 using bind = Desc<SgAsmRegisterNames, SgAsmRegisterReferenceExpressionPtrList SgAsmRegisterNames::*, &SgAsmRegisterNames::p_registers>;
10493 using field_type = unsigned;
10494 static constexpr size_t position{1};
10495 static constexpr char const *
const name{
"mask"};
10496 static constexpr char const *
const typestr{
"unsigned"};
10497 static constexpr bool traverse{
false};
10498 static constexpr auto mbr_ptr{&SgAsmRegisterNames::p_mask};
10499 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10500 using bind = Desc<SgAsmRegisterNames, unsigned SgAsmRegisterNames::*, &SgAsmRegisterNames::p_mask>;
10505 static constexpr char const *
const name{
"AsmRegisterNames"};
10506 static constexpr unsigned long variant{265};
10507 static constexpr bool concrete{
true};
10517 static constexpr size_t position{0};
10518 static constexpr char const *
const name{
"descriptor"};
10519 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RegisterDescriptor"};
10520 static constexpr bool traverse{
false};
10521 static constexpr auto mbr_ptr{&SgAsmRegisterReferenceExpression::p_descriptor};
10522 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10523 using bind = Desc<SgAsmRegisterReferenceExpression, Rose::BinaryAnalysis::RegisterDescriptor SgAsmRegisterReferenceExpression::*, &SgAsmRegisterReferenceExpression::p_descriptor>;
10527 using field_type = int;
10528 static constexpr size_t position{1};
10529 static constexpr char const *
const name{
"adjustment"};
10530 static constexpr char const *
const typestr{
"int"};
10531 static constexpr bool traverse{
false};
10532 static constexpr auto mbr_ptr{&SgAsmRegisterReferenceExpression::p_adjustment};
10533 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10534 using bind = Desc<SgAsmRegisterReferenceExpression, int SgAsmRegisterReferenceExpression::*, &SgAsmRegisterReferenceExpression::p_adjustment>;
10539 static constexpr char const *
const name{
"AsmRegisterReferenceExpression"};
10540 static constexpr unsigned long variant{266};
10541 static constexpr bool concrete{
false};
10551 static constexpr size_t position{0};
10552 static constexpr char const *
const name{
"riscOperator"};
10553 static constexpr char const *
const typestr{
"SgAsmRiscOperation::RiscOperator"};
10554 static constexpr bool traverse{
false};
10555 static constexpr auto mbr_ptr{&SgAsmRiscOperation::p_riscOperator};
10556 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10557 using bind = Desc<SgAsmRiscOperation, SgAsmRiscOperation::RiscOperator SgAsmRiscOperation::*, &SgAsmRiscOperation::p_riscOperator>;
10562 static constexpr size_t position{1};
10563 static constexpr char const *
const name{
"operands"};
10564 static constexpr char const *
const typestr{
"SgAsmExprListExp*"};
10565 static constexpr bool traverse{
true};
10566 static constexpr auto mbr_ptr{&SgAsmRiscOperation::p_operands};
10567 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10568 using bind = Desc<SgAsmRiscOperation, SgAsmExprListExp* SgAsmRiscOperation::*, &SgAsmRiscOperation::p_operands>;
10573 static constexpr char const *
const name{
"AsmRiscOperation"};
10574 static constexpr unsigned long variant{267};
10575 static constexpr bool concrete{
true};
10585 static constexpr size_t position{0};
10586 static constexpr char const *
const name{
"minorOrder"};
10587 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::ByteOrder::Endianness"};
10588 static constexpr bool traverse{
false};
10589 static constexpr auto mbr_ptr{&SgAsmScalarType::p_minorOrder};
10590 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10591 using bind = Desc<SgAsmScalarType, Rose::BinaryAnalysis::ByteOrder::Endianness SgAsmScalarType::*, &SgAsmScalarType::p_minorOrder>;
10596 static constexpr size_t position{1};
10597 static constexpr char const *
const name{
"majorOrder"};
10598 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::ByteOrder::Endianness"};
10599 static constexpr bool traverse{
false};
10600 static constexpr auto mbr_ptr{&SgAsmScalarType::p_majorOrder};
10601 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10602 using bind = Desc<SgAsmScalarType, Rose::BinaryAnalysis::ByteOrder::Endianness SgAsmScalarType::*, &SgAsmScalarType::p_majorOrder>;
10606 using field_type = size_t;
10607 static constexpr size_t position{2};
10608 static constexpr char const *
const name{
"majorNBytes"};
10609 static constexpr char const *
const typestr{
"size_t"};
10610 static constexpr bool traverse{
false};
10611 static constexpr auto mbr_ptr{&SgAsmScalarType::p_majorNBytes};
10612 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10613 using bind = Desc<SgAsmScalarType, size_t SgAsmScalarType::*, &SgAsmScalarType::p_majorNBytes>;
10617 using field_type = size_t;
10618 static constexpr size_t position{3};
10619 static constexpr char const *
const name{
"nBits"};
10620 static constexpr char const *
const typestr{
"size_t"};
10621 static constexpr bool traverse{
false};
10622 static constexpr auto mbr_ptr{&SgAsmScalarType::p_nBits};
10623 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10624 using bind = Desc<SgAsmScalarType, size_t SgAsmScalarType::*, &SgAsmScalarType::p_nBits>;
10629 static constexpr char const *
const name{
"AsmScalarType"};
10630 static constexpr unsigned long variant{268};
10631 static constexpr bool concrete{
false};
10633 using fields_t =
mp::List<describe_field_t<SgAsmScalarType,Rose::BinaryAnalysis::ByteOrder::Endianness,&SgAsmScalarType::p_minorOrder>,
describe_field_t<SgAsmScalarType,Rose::BinaryAnalysis::ByteOrder::Endianness,&SgAsmScalarType::p_majorOrder>,
describe_field_t<SgAsmScalarType,size_t,&SgAsmScalarType::p_majorNBytes>,
describe_field_t<SgAsmScalarType,size_t,&SgAsmScalarType::p_nBits>>;
10641 static constexpr size_t position{0};
10642 static constexpr char const *
const name{
"address"};
10643 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
10644 static constexpr bool traverse{
false};
10645 static constexpr auto mbr_ptr{&SgAsmStatement::p_address};
10646 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10647 using bind = Desc<SgAsmStatement, Rose::BinaryAnalysis::Address SgAsmStatement::*, &SgAsmStatement::p_address>;
10651 using field_type = std::string;
10652 static constexpr size_t position{1};
10653 static constexpr char const *
const name{
"comment"};
10654 static constexpr char const *
const typestr{
"std::string"};
10655 static constexpr bool traverse{
false};
10656 static constexpr auto mbr_ptr{&SgAsmStatement::p_comment};
10657 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10658 using bind = Desc<SgAsmStatement, std::string SgAsmStatement::*, &SgAsmStatement::p_comment>;
10663 static constexpr char const *
const name{
"AsmStatement"};
10664 static constexpr unsigned long variant{269};
10665 static constexpr bool concrete{
false};
10674 using field_type = SgUnsignedCharList;
10675 static constexpr size_t position{0};
10676 static constexpr char const *
const name{
"rawBytes"};
10677 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
10678 static constexpr bool traverse{
false};
10679 static constexpr auto mbr_ptr{&SgAsmStaticData::p_rawBytes};
10680 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10681 using bind = Desc<SgAsmStaticData, SgUnsignedCharList SgAsmStaticData::*, &SgAsmStaticData::p_rawBytes>;
10686 static constexpr char const *
const name{
"AsmStaticData"};
10687 static constexpr unsigned long variant{270};
10688 static constexpr bool concrete{
true};
10697 using field_type = std::string;
10698 static constexpr size_t position{0};
10699 static constexpr char const *
const name{
"assemblyCode"};
10700 static constexpr char const *
const typestr{
"std::string"};
10701 static constexpr bool traverse{
false};
10702 static constexpr auto mbr_ptr{&SgAsmStmt::p_assemblyCode};
10703 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10704 using bind = Desc<SgAsmStmt, std::string SgAsmStmt::*, &SgAsmStmt::p_assemblyCode>;
10708 using field_type = bool;
10709 static constexpr size_t position{1};
10710 static constexpr char const *
const name{
"useGnuExtendedFormat"};
10711 static constexpr char const *
const typestr{
"bool"};
10712 static constexpr bool traverse{
false};
10713 static constexpr auto mbr_ptr{&SgAsmStmt::p_useGnuExtendedFormat};
10714 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10715 using bind = Desc<SgAsmStmt, bool SgAsmStmt::*, &SgAsmStmt::p_useGnuExtendedFormat>;
10719 using field_type = SgExpressionPtrList;
10720 static constexpr size_t position{2};
10721 static constexpr char const *
const name{
"operands"};
10722 static constexpr char const *
const typestr{
"SgExpressionPtrList"};
10723 static constexpr bool traverse{
true};
10725 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10726 using bind = Desc<SgAsmStmt, SgExpressionPtrList SgAsmStmt::*, &SgAsmStmt::p_operands>;
10730 using field_type = SgAsmStmt::AsmRegisterNameList;
10731 static constexpr size_t position{3};
10732 static constexpr char const *
const name{
"clobberRegisterList"};
10733 static constexpr char const *
const typestr{
"SgAsmStmt::AsmRegisterNameList"};
10734 static constexpr bool traverse{
false};
10736 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10737 using bind = Desc<SgAsmStmt, SgAsmStmt::AsmRegisterNameList SgAsmStmt::*, &SgAsmStmt::p_clobberRegisterList>;
10741 using field_type = bool;
10742 static constexpr size_t position{4};
10743 static constexpr char const *
const name{
"isVolatile"};
10744 static constexpr char const *
const typestr{
"bool"};
10745 static constexpr bool traverse{
false};
10746 static constexpr auto mbr_ptr{&SgAsmStmt::p_isVolatile};
10747 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10748 using bind = Desc<SgAsmStmt, bool SgAsmStmt::*, &SgAsmStmt::p_isVolatile>;
10753 static constexpr char const *
const name{
"AsmStmt"};
10754 static constexpr unsigned long variant{271};
10755 static constexpr bool concrete{
true};
10757 using fields_t =
mp::List<describe_field_t<SgAsmStmt,std::string,&SgAsmStmt::p_assemblyCode>,
describe_field_t<SgAsmStmt,bool,&SgAsmStmt::p_useGnuExtendedFormat>,
describe_field_t<SgAsmStmt,SgExpressionPtrList,&SgAsmStmt::p_operands>,
describe_field_t<SgAsmStmt,SgAsmStmt::AsmRegisterNameList,&SgAsmStmt::p_clobberRegisterList>,
describe_field_t<SgAsmStmt,bool,&SgAsmStmt::p_isVolatile>>;
10765 static constexpr size_t position{0};
10766 static constexpr char const *
const name{
"storage"};
10767 static constexpr char const *
const typestr{
"SgAsmStringStorage*"};
10768 static constexpr bool traverse{
false};
10769 static constexpr auto mbr_ptr{&SgAsmStoredString::p_storage};
10770 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10771 using bind = Desc<SgAsmStoredString, SgAsmStringStorage* SgAsmStoredString::*, &SgAsmStoredString::p_storage>;
10776 static constexpr char const *
const name{
"AsmStoredString"};
10777 static constexpr unsigned long variant{272};
10778 static constexpr bool concrete{
true};
10788 static constexpr size_t position{0};
10789 static constexpr char const *
const name{
"strtab"};
10790 static constexpr char const *
const typestr{
"SgAsmGenericStrtab*"};
10791 static constexpr bool traverse{
false};
10792 static constexpr auto mbr_ptr{&SgAsmStringStorage::p_strtab};
10793 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10794 using bind = Desc<SgAsmStringStorage, SgAsmGenericStrtab* SgAsmStringStorage::*, &SgAsmStringStorage::p_strtab>;
10798 using field_type = std::string;
10799 static constexpr size_t position{1};
10800 static constexpr char const *
const name{
"string"};
10801 static constexpr char const *
const typestr{
"std::string"};
10802 static constexpr bool traverse{
false};
10803 static constexpr auto mbr_ptr{&SgAsmStringStorage::p_string};
10804 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10805 using bind = Desc<SgAsmStringStorage, std::string SgAsmStringStorage::*, &SgAsmStringStorage::p_string>;
10810 static constexpr size_t position{2};
10811 static constexpr char const *
const name{
"offset"};
10812 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::Address"};
10813 static constexpr bool traverse{
false};
10814 static constexpr auto mbr_ptr{&SgAsmStringStorage::p_offset};
10815 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10816 using bind = Desc<SgAsmStringStorage, Rose::BinaryAnalysis::Address SgAsmStringStorage::*, &SgAsmStringStorage::p_offset>;
10821 static constexpr char const *
const name{
"AsmStringStorage"};
10822 static constexpr unsigned long variant{273};
10823 static constexpr bool concrete{
true};
10833 static constexpr char const *
const name{
"AsmType"};
10834 static constexpr unsigned long variant{274};
10835 static constexpr bool concrete{
false};
10845 static constexpr size_t position{0};
10846 static constexpr char const *
const name{
"operand"};
10847 static constexpr char const *
const typestr{
"SgAsmExpression*"};
10848 static constexpr bool traverse{
true};
10849 static constexpr auto mbr_ptr{&SgAsmUnaryExpression::p_operand};
10850 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10851 using bind = Desc<SgAsmUnaryExpression, SgAsmExpression* SgAsmUnaryExpression::*, &SgAsmUnaryExpression::p_operand>;
10856 static constexpr char const *
const name{
"AsmUnaryExpression"};
10857 static constexpr unsigned long variant{275};
10858 static constexpr bool concrete{
false};
10868 static constexpr char const *
const name{
"AsmUnaryMinus"};
10869 static constexpr unsigned long variant{276};
10870 static constexpr bool concrete{
true};
10880 static constexpr char const *
const name{
"AsmUnaryPlus"};
10881 static constexpr unsigned long variant{277};
10882 static constexpr bool concrete{
true};
10892 static constexpr char const *
const name{
"AsmUnaryRrx"};
10893 static constexpr unsigned long variant{278};
10894 static constexpr bool concrete{
true};
10904 static constexpr char const *
const name{
"AsmUnarySignedExtend"};
10905 static constexpr unsigned long variant{279};
10906 static constexpr bool concrete{
true};
10916 static constexpr char const *
const name{
"AsmUnaryUnsignedExtend"};
10917 static constexpr unsigned long variant{280};
10918 static constexpr bool concrete{
true};
10928 static constexpr char const *
const name{
"AsmUnaryTruncate"};
10929 static constexpr unsigned long variant{281};
10930 static constexpr bool concrete{
true};
10940 static constexpr size_t position{0};
10941 static constexpr char const *
const name{
"unfoldedExpression"};
10942 static constexpr char const *
const typestr{
"SgAsmValueExpression*"};
10943 static constexpr bool traverse{
true};
10944 static constexpr auto mbr_ptr{&SgAsmValueExpression::p_unfoldedExpression};
10945 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10946 using bind = Desc<SgAsmValueExpression, SgAsmValueExpression* SgAsmValueExpression::*, &SgAsmValueExpression::p_unfoldedExpression>;
10950 using field_type =
unsigned short;
10951 static constexpr size_t position{1};
10952 static constexpr char const *
const name{
"bitOffset"};
10953 static constexpr char const *
const typestr{
"unsigned short"};
10954 static constexpr bool traverse{
false};
10955 static constexpr auto mbr_ptr{&SgAsmValueExpression::p_bitOffset};
10956 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10957 using bind = Desc<SgAsmValueExpression, unsigned short SgAsmValueExpression::*, &SgAsmValueExpression::p_bitOffset>;
10961 using field_type =
unsigned short;
10962 static constexpr size_t position{2};
10963 static constexpr char const *
const name{
"bitSize"};
10964 static constexpr char const *
const typestr{
"unsigned short"};
10965 static constexpr bool traverse{
false};
10966 static constexpr auto mbr_ptr{&SgAsmValueExpression::p_bitSize};
10967 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10968 using bind = Desc<SgAsmValueExpression, unsigned short SgAsmValueExpression::*, &SgAsmValueExpression::p_bitSize>;
10973 static constexpr size_t position{3};
10974 static constexpr char const *
const name{
"symbol"};
10975 static constexpr char const *
const typestr{
"SgSymbol*"};
10976 static constexpr bool traverse{
false};
10977 static constexpr auto mbr_ptr{&SgAsmValueExpression::p_symbol};
10978 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10979 using bind = Desc<SgAsmValueExpression, SgSymbol* SgAsmValueExpression::*, &SgAsmValueExpression::p_symbol>;
10984 static constexpr char const *
const name{
"AsmValueExpression"};
10985 static constexpr unsigned long variant{282};
10986 static constexpr bool concrete{
false};
10988 using fields_t =
mp::List<describe_field_t<SgAsmValueExpression,SgAsmValueExpression*,&SgAsmValueExpression::p_unfoldedExpression>,
describe_field_t<SgAsmValueExpression,unsigned short,&SgAsmValueExpression::p_bitOffset>,
describe_field_t<SgAsmValueExpression,unsigned short,&SgAsmValueExpression::p_bitSize>,
describe_field_t<SgAsmValueExpression,SgSymbol*,&SgAsmValueExpression::p_symbol>>;
10995 using field_type = size_t;
10996 static constexpr size_t position{0};
10997 static constexpr char const *
const name{
"nElmts"};
10998 static constexpr char const *
const typestr{
"size_t"};
10999 static constexpr bool traverse{
false};
11000 static constexpr auto mbr_ptr{&SgAsmVectorType::p_nElmts};
11001 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11002 using bind = Desc<SgAsmVectorType, size_t SgAsmVectorType::*, &SgAsmVectorType::p_nElmts>;
11007 static constexpr size_t position{1};
11008 static constexpr char const *
const name{
"elmtType"};
11009 static constexpr char const *
const typestr{
"SgAsmType*"};
11010 static constexpr bool traverse{
false};
11011 static constexpr auto mbr_ptr{&SgAsmVectorType::p_elmtType};
11012 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11013 using bind = Desc<SgAsmVectorType, SgAsmType* SgAsmVectorType::*, &SgAsmVectorType::p_elmtType>;
11018 static constexpr char const *
const name{
"AsmVectorType"};
11019 static constexpr unsigned long variant{283};
11020 static constexpr bool concrete{
true};
11030 static constexpr size_t position{0};
11031 static constexpr char const *
const name{
"kind"};
11032 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86InstructionKind"};
11033 static constexpr bool traverse{
false};
11034 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_kind};
11035 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11036 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86InstructionKind SgAsmX86Instruction::*, &SgAsmX86Instruction::p_kind>;
11040 using field_type = Rose::BinaryAnalysis::X86InstructionSize;
11041 static constexpr size_t position{1};
11042 static constexpr char const *
const name{
"baseSize"};
11043 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86InstructionSize"};
11044 static constexpr bool traverse{
false};
11045 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_baseSize};
11046 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11047 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86InstructionSize SgAsmX86Instruction::*, &SgAsmX86Instruction::p_baseSize>;
11051 using field_type = Rose::BinaryAnalysis::X86InstructionSize;
11052 static constexpr size_t position{2};
11053 static constexpr char const *
const name{
"operandSize"};
11054 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86InstructionSize"};
11055 static constexpr bool traverse{
false};
11056 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_operandSize};
11057 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11058 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86InstructionSize SgAsmX86Instruction::*, &SgAsmX86Instruction::p_operandSize>;
11062 using field_type = Rose::BinaryAnalysis::X86InstructionSize;
11063 static constexpr size_t position{3};
11064 static constexpr char const *
const name{
"addressSize"};
11065 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86InstructionSize"};
11066 static constexpr bool traverse{
false};
11067 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_addressSize};
11068 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11069 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86InstructionSize SgAsmX86Instruction::*, &SgAsmX86Instruction::p_addressSize>;
11073 using field_type = bool;
11074 static constexpr size_t position{4};
11075 static constexpr char const *
const name{
"lockPrefix"};
11076 static constexpr char const *
const typestr{
"bool"};
11077 static constexpr bool traverse{
false};
11078 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_lockPrefix};
11079 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11080 using bind = Desc<SgAsmX86Instruction, bool SgAsmX86Instruction::*, &SgAsmX86Instruction::p_lockPrefix>;
11084 using field_type = Rose::BinaryAnalysis::X86RepeatPrefix;
11085 static constexpr size_t position{5};
11086 static constexpr char const *
const name{
"repeatPrefix"};
11087 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86RepeatPrefix"};
11088 static constexpr bool traverse{
false};
11089 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_repeatPrefix};
11090 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11091 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86RepeatPrefix SgAsmX86Instruction::*, &SgAsmX86Instruction::p_repeatPrefix>;
11095 using field_type = Rose::BinaryAnalysis::X86BranchPrediction;
11096 static constexpr size_t position{6};
11097 static constexpr char const *
const name{
"branchPrediction"};
11098 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86BranchPrediction"};
11099 static constexpr bool traverse{
false};
11100 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_branchPrediction};
11101 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11102 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86BranchPrediction SgAsmX86Instruction::*, &SgAsmX86Instruction::p_branchPrediction>;
11106 using field_type = Rose::BinaryAnalysis::X86SegmentRegister;
11107 static constexpr size_t position{7};
11108 static constexpr char const *
const name{
"segmentOverride"};
11109 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86SegmentRegister"};
11110 static constexpr bool traverse{
false};
11111 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_segmentOverride};
11112 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11113 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86SegmentRegister SgAsmX86Instruction::*, &SgAsmX86Instruction::p_segmentOverride>;
11118 static constexpr char const *
const name{
"AsmX86Instruction"};
11119 static constexpr unsigned long variant{284};
11120 static constexpr bool concrete{
true};
11122 using fields_t =
mp::List<describe_field_t<SgAsmX86Instruction,Rose::BinaryAnalysis::X86InstructionKind,&SgAsmX86Instruction::p_kind>,
describe_field_t<SgAsmX86Instruction,Rose::BinaryAnalysis::X86InstructionSize,&SgAsmX86Instruction::p_baseSize>,
describe_field_t<SgAsmX86Instruction,Rose::BinaryAnalysis::X86InstructionSize,&SgAsmX86Instruction::p_operandSize>,
describe_field_t<SgAsmX86Instruction,Rose::BinaryAnalysis::X86InstructionSize,&SgAsmX86Instruction::p_addressSize>,
describe_field_t<SgAsmX86Instruction,bool,&SgAsmX86Instruction::p_lockPrefix>,
describe_field_t<SgAsmX86Instruction,Rose::BinaryAnalysis::X86RepeatPrefix,&SgAsmX86Instruction::p_repeatPrefix>,
describe_field_t<SgAsmX86Instruction,Rose::BinaryAnalysis::X86BranchPrediction,&SgAsmX86Instruction::p_branchPrediction>,
describe_field_t<SgAsmX86Instruction,Rose::BinaryAnalysis::X86SegmentRegister,&SgAsmX86Instruction::p_segmentOverride>>;
11130 static constexpr size_t position{0};
11131 static constexpr char const *
const name{
"address_name"};
11132 static constexpr char const *
const typestr{
"SgName"};
11133 static constexpr bool traverse{
false};
11134 static constexpr auto mbr_ptr{&SgAsmBinaryAddressSymbol::p_address_name};
11135 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11136 using bind = Desc<SgAsmBinaryAddressSymbol, SgName SgAsmBinaryAddressSymbol::*, &SgAsmBinaryAddressSymbol::p_address_name>;
11141 static constexpr size_t position{1};
11142 static constexpr char const *
const name{
"address"};
11143 static constexpr char const *
const typestr{
"SgAsmInstruction*"};
11144 static constexpr bool traverse{
false};
11145 static constexpr auto mbr_ptr{&SgAsmBinaryAddressSymbol::p_address};
11146 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11147 using bind = Desc<SgAsmBinaryAddressSymbol, SgAsmInstruction* SgAsmBinaryAddressSymbol::*, &SgAsmBinaryAddressSymbol::p_address>;
11152 static constexpr char const *
const name{
"AsmBinaryAddressSymbol"};
11153 static constexpr unsigned long variant{285};
11154 static constexpr bool concrete{
true};
11164 static constexpr size_t position{0};
11165 static constexpr char const *
const name{
"variable_name"};
11166 static constexpr char const *
const typestr{
"SgName"};
11167 static constexpr bool traverse{
false};
11168 static constexpr auto mbr_ptr{&SgAsmBinaryDataSymbol::p_variable_name};
11169 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11170 using bind = Desc<SgAsmBinaryDataSymbol, SgName SgAsmBinaryDataSymbol::*, &SgAsmBinaryDataSymbol::p_variable_name>;
11175 static constexpr size_t position{1};
11176 static constexpr char const *
const name{
"address"};
11177 static constexpr char const *
const typestr{
"SgAsmInstruction*"};
11178 static constexpr bool traverse{
false};
11179 static constexpr auto mbr_ptr{&SgAsmBinaryDataSymbol::p_address};
11180 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11181 using bind = Desc<SgAsmBinaryDataSymbol, SgAsmInstruction* SgAsmBinaryDataSymbol::*, &SgAsmBinaryDataSymbol::p_address>;
11186 static constexpr char const *
const name{
"AsmBinaryDataSymbol"};
11187 static constexpr unsigned long variant{286};
11188 static constexpr bool concrete{
true};
11198 static constexpr size_t position{0};
11199 static constexpr char const *
const name{
"test"};
11200 static constexpr char const *
const typestr{
"SgExpression*"};
11201 static constexpr bool traverse{
true};
11202 static constexpr auto mbr_ptr{&SgAssertStmt::p_test};
11203 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11204 using bind = Desc<SgAssertStmt, SgExpression* SgAssertStmt::*, &SgAssertStmt::p_test>;
11209 static constexpr size_t position{1};
11210 static constexpr char const *
const name{
"exception_argument"};
11211 static constexpr char const *
const typestr{
"SgExpression*"};
11212 static constexpr bool traverse{
true};
11213 static constexpr auto mbr_ptr{&SgAssertStmt::p_exception_argument};
11214 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11215 using bind = Desc<SgAssertStmt, SgExpression* SgAssertStmt::*, &SgAssertStmt::p_exception_argument>;
11220 static constexpr char const *
const name{
"AssertStmt"};
11221 static constexpr unsigned long variant{287};
11222 static constexpr bool concrete{
true};
11232 static constexpr size_t position{0};
11233 static constexpr char const *
const name{
"operand_i"};
11234 static constexpr char const *
const typestr{
"SgExpression*"};
11235 static constexpr bool traverse{
true};
11237 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11238 using bind = Desc<SgAssignInitializer, SgExpression* SgAssignInitializer::*, &SgAssignInitializer::p_operand_i>;
11243 static constexpr size_t position{1};
11244 static constexpr char const *
const name{
"expression_type"};
11245 static constexpr char const *
const typestr{
"SgType*"};
11246 static constexpr bool traverse{
false};
11248 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11249 using bind = Desc<SgAssignInitializer, SgType* SgAssignInitializer::*, &SgAssignInitializer::p_expression_type>;
11254 static constexpr char const *
const name{
"AssignInitializer"};
11255 static constexpr unsigned long variant{288};
11256 static constexpr bool concrete{
true};
11266 static constexpr char const *
const name{
"AssignOp"};
11267 static constexpr unsigned long variant{289};
11268 static constexpr bool concrete{
true};
11278 static constexpr size_t position{0};
11279 static constexpr char const *
const name{
"label"};
11280 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
11281 static constexpr bool traverse{
false};
11282 static constexpr auto mbr_ptr{&SgAssignStatement::p_label};
11283 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11284 using bind = Desc<SgAssignStatement, SgLabelRefExp* SgAssignStatement::*, &SgAssignStatement::p_label>;
11289 static constexpr size_t position{1};
11290 static constexpr char const *
const name{
"value"};
11291 static constexpr char const *
const typestr{
"SgExpression*"};
11292 static constexpr bool traverse{
true};
11293 static constexpr auto mbr_ptr{&SgAssignStatement::p_value};
11294 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11295 using bind = Desc<SgAssignStatement, SgExpression* SgAssignStatement::*, &SgAssignStatement::p_value>;
11300 static constexpr char const *
const name{
"AssignStatement"};
11301 static constexpr unsigned long variant{290};
11302 static constexpr bool concrete{
true};
11312 static constexpr size_t position{0};
11313 static constexpr char const *
const name{
"targets"};
11314 static constexpr char const *
const typestr{
"SgExprListExp*"};
11315 static constexpr bool traverse{
true};
11316 static constexpr auto mbr_ptr{&SgAssignedGotoStatement::p_targets};
11317 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11318 using bind = Desc<SgAssignedGotoStatement, SgExprListExp* SgAssignedGotoStatement::*, &SgAssignedGotoStatement::p_targets>;
11323 static constexpr char const *
const name{
"AssignedGotoStatement"};
11324 static constexpr unsigned long variant{291};
11325 static constexpr bool concrete{
true};
11334 using field_type = SgDeclarationStatementPtrList;
11335 static constexpr size_t position{0};
11336 static constexpr char const *
const name{
"associates"};
11337 static constexpr char const *
const typestr{
"SgDeclarationStatementPtrList"};
11338 static constexpr bool traverse{
false};
11339 static constexpr auto mbr_ptr{&SgAssociateStatement::p_associates};
11340 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11341 using bind = Desc<SgAssociateStatement, SgDeclarationStatementPtrList SgAssociateStatement::*, &SgAssociateStatement::p_associates>;
11346 static constexpr size_t position{1};
11347 static constexpr char const *
const name{
"body"};
11348 static constexpr char const *
const typestr{
"SgBasicBlock*"};
11349 static constexpr bool traverse{
true};
11350 static constexpr auto mbr_ptr{&SgAssociateStatement::p_body};
11351 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11352 using bind = Desc<SgAssociateStatement, SgBasicBlock* SgAssociateStatement::*, &SgAssociateStatement::p_body>;
11357 static constexpr char const *
const name{
"AssociateStatement"};
11358 static constexpr unsigned long variant{292};
11359 static constexpr bool concrete{
true};
11369 static constexpr char const *
const name{
"AsteriskShapeExp"};
11370 static constexpr unsigned long variant{293};
11371 static constexpr bool concrete{
true};
11381 static constexpr char const *
const name{
"AtOp"};
11382 static constexpr unsigned long variant{294};
11383 static constexpr bool concrete{
true};
11392 using field_type = std::string;
11393 static constexpr size_t position{0};
11394 static constexpr char const *
const name{
"name"};
11395 static constexpr char const *
const typestr{
"std::string"};
11396 static constexpr bool traverse{
false};
11397 static constexpr auto mbr_ptr{&SgAttribute::p_name};
11398 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11399 using bind = Desc<SgAttribute, std::string SgAttribute::*, &SgAttribute::p_name>;
11404 static constexpr char const *
const name{
"Attribute"};
11405 static constexpr unsigned long variant{295};
11406 static constexpr bool concrete{
false};
11415 using field_type = SgStringList;
11416 static constexpr size_t position{0};
11417 static constexpr char const *
const name{
"name_list"};
11418 static constexpr char const *
const typestr{
"SgStringList"};
11419 static constexpr bool traverse{
false};
11420 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_name_list};
11421 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11422 using bind = Desc<SgAttributeSpecificationStatement, SgStringList SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_name_list>;
11427 static constexpr size_t position{1};
11428 static constexpr char const *
const name{
"attribute_kind"};
11429 static constexpr char const *
const typestr{
"SgAttributeSpecificationStatement::attribute_spec_enum"};
11430 static constexpr bool traverse{
false};
11431 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_attribute_kind};
11432 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11433 using bind = Desc<SgAttributeSpecificationStatement, SgAttributeSpecificationStatement::attribute_spec_enum SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_attribute_kind>;
11437 using field_type = int;
11438 static constexpr size_t position{2};
11439 static constexpr char const *
const name{
"intent"};
11440 static constexpr char const *
const typestr{
"int"};
11441 static constexpr bool traverse{
false};
11442 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_intent};
11443 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11444 using bind = Desc<SgAttributeSpecificationStatement, int SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_intent>;
11449 static constexpr size_t position{3};
11450 static constexpr char const *
const name{
"parameter_list"};
11451 static constexpr char const *
const typestr{
"SgExprListExp*"};
11452 static constexpr bool traverse{
false};
11453 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_parameter_list};
11454 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11455 using bind = Desc<SgAttributeSpecificationStatement, SgExprListExp* SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_parameter_list>;
11459 using field_type = SgDataStatementGroupPtrList;
11460 static constexpr size_t position{4};
11461 static constexpr char const *
const name{
"data_statement_group_list"};
11462 static constexpr char const *
const typestr{
"SgDataStatementGroupPtrList"};
11463 static constexpr bool traverse{
false};
11464 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_data_statement_group_list};
11465 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11466 using bind = Desc<SgAttributeSpecificationStatement, SgDataStatementGroupPtrList SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_data_statement_group_list>;
11471 static constexpr size_t position{5};
11472 static constexpr char const *
const name{
"bind_list"};
11473 static constexpr char const *
const typestr{
"SgExprListExp*"};
11474 static constexpr bool traverse{
false};
11475 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_bind_list};
11476 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11477 using bind = Desc<SgAttributeSpecificationStatement, SgExprListExp* SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_bind_list>;
11481 using field_type = SgDimensionObjectPtrList;
11482 static constexpr size_t position{6};
11483 static constexpr char const *
const name{
"dimension_object_list"};
11484 static constexpr char const *
const typestr{
"SgDimensionObjectPtrList"};
11485 static constexpr bool traverse{
false};
11486 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_dimension_object_list};
11487 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11488 using bind = Desc<SgAttributeSpecificationStatement, SgDimensionObjectPtrList SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_dimension_object_list>;
11493 static constexpr char const *
const name{
"AttributeSpecificationStatement"};
11494 static constexpr unsigned long variant{296};
11495 static constexpr bool concrete{
true};
11497 using fields_t =
mp::List<describe_field_t<SgAttributeSpecificationStatement,SgStringList,&SgAttributeSpecificationStatement::p_name_list>,
describe_field_t<SgAttributeSpecificationStatement,SgAttributeSpecificationStatement::attribute_spec_enum,&SgAttributeSpecificationStatement::p_attribute_kind>,
describe_field_t<SgAttributeSpecificationStatement,int,&SgAttributeSpecificationStatement::p_intent>,
describe_field_t<SgAttributeSpecificationStatement,SgExprListExp*,&SgAttributeSpecificationStatement::p_parameter_list>,
describe_field_t<SgAttributeSpecificationStatement,SgDataStatementGroupPtrList,&SgAttributeSpecificationStatement::p_data_statement_group_list>,
describe_field_t<SgAttributeSpecificationStatement,SgExprListExp*,&SgAttributeSpecificationStatement::p_bind_list>,
describe_field_t<SgAttributeSpecificationStatement,SgDimensionObjectPtrList,&SgAttributeSpecificationStatement::p_dimension_object_list>>;
11505 static constexpr char const *
const name{
"AutoType"};
11506 static constexpr unsigned long variant{297};
11507 static constexpr bool concrete{
true};
11517 static constexpr size_t position{0};
11518 static constexpr char const *
const name{
"value"};
11519 static constexpr char const *
const typestr{
"SgExpression*"};
11520 static constexpr bool traverse{
true};
11521 static constexpr auto mbr_ptr{&SgAwaitExpression::p_value};
11522 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11523 using bind = Desc<SgAwaitExpression, SgExpression* SgAwaitExpression::*, &SgAwaitExpression::p_value>;
11528 static constexpr char const *
const name{
"AwaitExpression"};
11529 static constexpr unsigned long variant{298};
11530 static constexpr bool concrete{
true};
11540 static constexpr char const *
const name{
"BackspaceStatement"};
11541 static constexpr unsigned long variant{299};
11542 static constexpr bool concrete{
true};
11552 static constexpr size_t position{0};
11553 static constexpr char const *
const name{
"base_class"};
11554 static constexpr char const *
const typestr{
"SgClassDeclaration*"};
11555 static constexpr bool traverse{
true};
11556 static constexpr auto mbr_ptr{&SgBaseClass::p_base_class};
11557 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11558 using bind = Desc<SgBaseClass, SgClassDeclaration* SgBaseClass::*, &SgBaseClass::p_base_class>;
11562 using field_type = bool;
11563 static constexpr size_t position{1};
11564 static constexpr char const *
const name{
"isDirectBaseClass"};
11565 static constexpr char const *
const typestr{
"bool"};
11566 static constexpr bool traverse{
false};
11567 static constexpr auto mbr_ptr{&SgBaseClass::p_isDirectBaseClass};
11568 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11569 using bind = Desc<SgBaseClass, bool SgBaseClass::*, &SgBaseClass::p_isDirectBaseClass>;
11574 static constexpr size_t position{2};
11575 static constexpr char const *
const name{
"baseClassModifier"};
11576 static constexpr char const *
const typestr{
"SgBaseClassModifier*"};
11577 static constexpr bool traverse{
false};
11578 static constexpr auto mbr_ptr{&SgBaseClass::p_baseClassModifier};
11579 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11580 using bind = Desc<SgBaseClass, SgBaseClassModifier* SgBaseClass::*, &SgBaseClass::p_baseClassModifier>;
11584 using field_type = int;
11585 static constexpr size_t position{3};
11586 static constexpr char const *
const name{
"name_qualification_length"};
11587 static constexpr char const *
const typestr{
"int"};
11588 static constexpr bool traverse{
false};
11589 static constexpr auto mbr_ptr{&SgBaseClass::p_name_qualification_length};
11590 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11591 using bind = Desc<SgBaseClass, int SgBaseClass::*, &SgBaseClass::p_name_qualification_length>;
11595 using field_type = bool;
11596 static constexpr size_t position{4};
11597 static constexpr char const *
const name{
"type_elaboration_required"};
11598 static constexpr char const *
const typestr{
"bool"};
11599 static constexpr bool traverse{
false};
11600 static constexpr auto mbr_ptr{&SgBaseClass::p_type_elaboration_required};
11601 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11602 using bind = Desc<SgBaseClass, bool SgBaseClass::*, &SgBaseClass::p_type_elaboration_required>;
11606 using field_type = bool;
11607 static constexpr size_t position{5};
11608 static constexpr char const *
const name{
"global_qualification_required"};
11609 static constexpr char const *
const typestr{
"bool"};
11610 static constexpr bool traverse{
false};
11611 static constexpr auto mbr_ptr{&SgBaseClass::p_global_qualification_required};
11612 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11613 using bind = Desc<SgBaseClass, bool SgBaseClass::*, &SgBaseClass::p_global_qualification_required>;
11618 static constexpr char const *
const name{
"BaseClass"};
11619 static constexpr unsigned long variant{300};
11620 static constexpr bool concrete{
false};
11622 using fields_t =
mp::List<describe_field_t<SgBaseClass,SgClassDeclaration*,&SgBaseClass::p_base_class>,
describe_field_t<SgBaseClass,bool,&SgBaseClass::p_isDirectBaseClass>,
describe_field_t<SgBaseClass,SgBaseClassModifier*,&SgBaseClass::p_baseClassModifier>,
describe_field_t<SgBaseClass,int,&SgBaseClass::p_name_qualification_length>,
describe_field_t<SgBaseClass,bool,&SgBaseClass::p_type_elaboration_required>,
describe_field_t<SgBaseClass,bool,&SgBaseClass::p_global_qualification_required>>;
11630 static constexpr size_t position{0};
11631 static constexpr char const *
const name{
"base_class_exp"};
11632 static constexpr char const *
const typestr{
"SgExpression*"};
11633 static constexpr bool traverse{
true};
11634 static constexpr auto mbr_ptr{&SgExpBaseClass::p_base_class_exp};
11635 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11636 using bind = Desc<SgExpBaseClass, SgExpression* SgExpBaseClass::*, &SgExpBaseClass::p_base_class_exp>;
11641 static constexpr char const *
const name{
"ExpBaseClass"};
11642 static constexpr unsigned long variant{301};
11643 static constexpr bool concrete{
true};
11653 static constexpr size_t position{0};
11654 static constexpr char const *
const name{
"modifier"};
11655 static constexpr char const *
const typestr{
"SgBaseClassModifier::baseclass_modifier_enum"};
11656 static constexpr bool traverse{
false};
11657 static constexpr auto mbr_ptr{&SgBaseClassModifier::p_modifier};
11658 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11659 using bind = Desc<SgBaseClassModifier, SgBaseClassModifier::baseclass_modifier_enum SgBaseClassModifier::*, &SgBaseClassModifier::p_modifier>;
11664 static constexpr size_t position{1};
11665 static constexpr char const *
const name{
"accessModifier"};
11666 static constexpr char const *
const typestr{
"SgAccessModifier"};
11667 static constexpr bool traverse{
false};
11668 static constexpr auto mbr_ptr{&SgBaseClassModifier::p_accessModifier};
11669 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11670 using bind = Desc<SgBaseClassModifier, SgAccessModifier SgBaseClassModifier::*, &SgBaseClassModifier::p_accessModifier>;
11675 static constexpr char const *
const name{
"BaseClassModifier"};
11676 static constexpr unsigned long variant{302};
11677 static constexpr bool concrete{
true};
11686 using field_type = SgStatementPtrList;
11687 static constexpr size_t position{0};
11688 static constexpr char const *
const name{
"statements"};
11689 static constexpr char const *
const typestr{
"SgStatementPtrList"};
11690 static constexpr bool traverse{
true};
11692 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11693 using bind = Desc<SgBasicBlock, SgStatementPtrList SgBasicBlock::*, &SgBasicBlock::p_statements>;
11697 using field_type = std::string;
11698 static constexpr size_t position{1};
11699 static constexpr char const *
const name{
"asm_function_body"};
11700 static constexpr char const *
const typestr{
"std::string"};
11701 static constexpr bool traverse{
false};
11702 static constexpr auto mbr_ptr{&SgBasicBlock::p_asm_function_body};
11703 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11704 using bind = Desc<SgBasicBlock, std::string SgBasicBlock::*, &SgBasicBlock::p_asm_function_body>;
11708 using field_type = std::string;
11709 static constexpr size_t position{2};
11710 static constexpr char const *
const name{
"string_label"};
11711 static constexpr char const *
const typestr{
"std::string"};
11712 static constexpr bool traverse{
false};
11713 static constexpr auto mbr_ptr{&SgBasicBlock::p_string_label};
11714 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11715 using bind = Desc<SgBasicBlock, std::string SgBasicBlock::*, &SgBasicBlock::p_string_label>;
11720 static constexpr char const *
const name{
"BasicBlock"};
11721 static constexpr unsigned long variant{303};
11722 static constexpr bool concrete{
true};
11732 static constexpr char const *
const name{
"BidirectionalGraph"};
11733 static constexpr unsigned long variant{304};
11734 static constexpr bool concrete{
false};
11744 static constexpr size_t position{0};
11745 static constexpr char const *
const name{
"genericFileList"};
11746 static constexpr char const *
const typestr{
"SgAsmGenericFileList*"};
11747 static constexpr bool traverse{
true};
11748 static constexpr auto mbr_ptr{&SgBinaryComposite::p_genericFileList};
11749 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11750 using bind = Desc<SgBinaryComposite, SgAsmGenericFileList* SgBinaryComposite::*, &SgBinaryComposite::p_genericFileList>;
11755 static constexpr size_t position{1};
11756 static constexpr char const *
const name{
"interpretations"};
11757 static constexpr char const *
const typestr{
"SgAsmInterpretationList*"};
11758 static constexpr bool traverse{
true};
11759 static constexpr auto mbr_ptr{&SgBinaryComposite::p_interpretations};
11760 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11761 using bind = Desc<SgBinaryComposite, SgAsmInterpretationList* SgBinaryComposite::*, &SgBinaryComposite::p_interpretations>;
11766 static constexpr char const *
const name{
"BinaryComposite"};
11767 static constexpr unsigned long variant{305};
11768 static constexpr bool concrete{
true};
11778 static constexpr size_t position{0};
11779 static constexpr char const *
const name{
"lhs_operand_i"};
11780 static constexpr char const *
const typestr{
"SgExpression*"};
11781 static constexpr bool traverse{
true};
11783 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11784 using bind = Desc<SgBinaryOp, SgExpression* SgBinaryOp::*, &SgBinaryOp::p_lhs_operand_i>;
11789 static constexpr size_t position{1};
11790 static constexpr char const *
const name{
"rhs_operand_i"};
11791 static constexpr char const *
const typestr{
"SgExpression*"};
11792 static constexpr bool traverse{
true};
11794 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11795 using bind = Desc<SgBinaryOp, SgExpression* SgBinaryOp::*, &SgBinaryOp::p_rhs_operand_i>;
11800 static constexpr size_t position{2};
11801 static constexpr char const *
const name{
"expression_type"};
11802 static constexpr char const *
const typestr{
"SgType*"};
11803 static constexpr bool traverse{
false};
11805 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11806 using bind = Desc<SgBinaryOp, SgType* SgBinaryOp::*, &SgBinaryOp::p_expression_type>;
11811 static constexpr size_t position{3};
11812 static constexpr char const *
const name{
"originalExpressionTree"};
11813 static constexpr char const *
const typestr{
"SgExpression*"};
11814 static constexpr bool traverse{
false};
11815 static constexpr auto mbr_ptr{&SgBinaryOp::p_originalExpressionTree};
11816 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11817 using bind = Desc<SgBinaryOp, SgExpression* SgBinaryOp::*, &SgBinaryOp::p_originalExpressionTree>;
11822 static constexpr char const *
const name{
"BinaryOp"};
11823 static constexpr unsigned long variant{306};
11824 static constexpr bool concrete{
false};
11825 using subclasses_t =
mp::List<SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgBitEqvOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgMembershipOp, SgSpaceshipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgDotDotExp, SgElementwiseOp, SgPowerOp, SgLeftDivideOp, SgRemOp, SgReplicationOp, SgAtOp>;
11826 using fields_t =
mp::List<describe_field_t<SgBinaryOp,SgExpression*,&SgBinaryOp::p_lhs_operand_i>,
describe_field_t<SgBinaryOp,SgExpression*,&SgBinaryOp::p_rhs_operand_i>,
describe_field_t<SgBinaryOp,SgType*,&SgBinaryOp::p_expression_type>,
describe_field_t<SgBinaryOp,SgExpression*,&SgBinaryOp::p_originalExpressionTree>>;
11834 static constexpr char const *
const name{
"BitAndOp"};
11835 static constexpr unsigned long variant{307};
11836 static constexpr bool concrete{
true};
11845 using field_type =
unsigned long int;
11846 static constexpr size_t position{0};
11847 static constexpr char const *
const name{
"bitflag"};
11848 static constexpr char const *
const typestr{
"unsigned long int"};
11849 static constexpr bool traverse{
false};
11850 static constexpr auto mbr_ptr{&SgBitAttribute::p_bitflag};
11851 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11852 using bind = Desc<SgBitAttribute, unsigned long int SgBitAttribute::*, &SgBitAttribute::p_bitflag>;
11857 static constexpr char const *
const name{
"BitAttribute"};
11858 static constexpr unsigned long variant{308};
11859 static constexpr bool concrete{
false};
11869 static constexpr char const *
const name{
"BitComplementOp"};
11870 static constexpr unsigned long variant{309};
11871 static constexpr bool concrete{
true};
11881 static constexpr char const *
const name{
"BitEqvOp"};
11882 static constexpr unsigned long variant{310};
11883 static constexpr bool concrete{
true};
11893 static constexpr char const *
const name{
"BitOrOp"};
11894 static constexpr unsigned long variant{311};
11895 static constexpr bool concrete{
true};
11905 static constexpr char const *
const name{
"BitXorOp"};
11906 static constexpr unsigned long variant{312};
11907 static constexpr bool concrete{
true};
11917 static constexpr size_t position{0};
11918 static constexpr char const *
const name{
"body"};
11919 static constexpr char const *
const typestr{
"SgBasicBlock*"};
11920 static constexpr bool traverse{
false};
11921 static constexpr auto mbr_ptr{&SgBlockDataStatement::p_body};
11922 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11923 using bind = Desc<SgBlockDataStatement, SgBasicBlock* SgBlockDataStatement::*, &SgBlockDataStatement::p_body>;
11928 static constexpr char const *
const name{
"BlockDataStatement"};
11929 static constexpr unsigned long variant{313};
11930 static constexpr bool concrete{
true};
11939 using field_type = int;
11940 static constexpr size_t position{0};
11941 static constexpr char const *
const name{
"value"};
11942 static constexpr char const *
const typestr{
"int"};
11943 static constexpr bool traverse{
false};
11945 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11946 using bind = Desc<SgBoolValExp, int SgBoolValExp::*, &SgBoolValExp::p_value>;
11951 static constexpr char const *
const name{
"BoolValExp"};
11952 static constexpr unsigned long variant{314};
11953 static constexpr bool concrete{
true};
11962 using field_type = std::string;
11963 static constexpr size_t position{0};
11964 static constexpr char const *
const name{
"do_string_label"};
11965 static constexpr char const *
const typestr{
"std::string"};
11966 static constexpr bool traverse{
false};
11967 static constexpr auto mbr_ptr{&SgBreakStmt::p_do_string_label};
11968 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11969 using bind = Desc<SgBreakStmt, std::string SgBreakStmt::*, &SgBreakStmt::p_do_string_label>;
11974 static constexpr char const *
const name{
"BreakStmt"};
11975 static constexpr unsigned long variant{315};
11976 static constexpr bool concrete{
true};
11986 static constexpr size_t position{0};
11987 static constexpr char const *
const name{
"initializers"};
11988 static constexpr char const *
const typestr{
"SgExprListExp*"};
11989 static constexpr bool traverse{
true};
11990 static constexpr auto mbr_ptr{&SgBracedInitializer::p_initializers};
11991 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11992 using bind = Desc<SgBracedInitializer, SgExprListExp* SgBracedInitializer::*, &SgBracedInitializer::p_initializers>;
11997 static constexpr size_t position{1};
11998 static constexpr char const *
const name{
"expression_type"};
11999 static constexpr char const *
const typestr{
"SgType*"};
12000 static constexpr bool traverse{
false};
12001 static constexpr auto mbr_ptr{&SgBracedInitializer::p_expression_type};
12002 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12003 using bind = Desc<SgBracedInitializer, SgType* SgBracedInitializer::*, &SgBracedInitializer::p_expression_type>;
12008 static constexpr char const *
const name{
"BracedInitializer"};
12009 static constexpr unsigned long variant{316};
12010 static constexpr bool concrete{
true};
12019 using field_type = std::string;
12020 static constexpr size_t position{0};
12021 static constexpr char const *
const name{
"directiveString"};
12022 static constexpr char const *
const typestr{
"std::string"};
12023 static constexpr bool traverse{
false};
12024 static constexpr auto mbr_ptr{&SgC_PreprocessorDirectiveStatement::p_directiveString};
12025 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12026 using bind = Desc<SgC_PreprocessorDirectiveStatement, std::string SgC_PreprocessorDirectiveStatement::*, &SgC_PreprocessorDirectiveStatement::p_directiveString>;
12031 static constexpr char const *
const name{
"C_PreprocessorDirectiveStatement"};
12032 static constexpr unsigned long variant{317};
12033 static constexpr bool concrete{
false};
12034 using subclasses_t =
mp::List<SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement>;
12043 static constexpr size_t position{0};
12044 static constexpr char const *
const name{
"key"};
12045 static constexpr char const *
const typestr{
"SgExpression*"};
12046 static constexpr bool traverse{
true};
12047 static constexpr auto mbr_ptr{&SgCaseOptionStmt::p_key};
12048 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12049 using bind = Desc<SgCaseOptionStmt, SgExpression* SgCaseOptionStmt::*, &SgCaseOptionStmt::p_key>;
12054 static constexpr size_t position{1};
12055 static constexpr char const *
const name{
"body"};
12056 static constexpr char const *
const typestr{
"SgStatement*"};
12057 static constexpr bool traverse{
true};
12059 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12060 using bind = Desc<SgCaseOptionStmt, SgStatement* SgCaseOptionStmt::*, &SgCaseOptionStmt::p_body>;
12065 static constexpr size_t position{2};
12066 static constexpr char const *
const name{
"key_range_end"};
12067 static constexpr char const *
const typestr{
"SgExpression*"};
12068 static constexpr bool traverse{
true};
12070 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12071 using bind = Desc<SgCaseOptionStmt, SgExpression* SgCaseOptionStmt::*, &SgCaseOptionStmt::p_key_range_end>;
12075 using field_type = std::string;
12076 static constexpr size_t position{3};
12077 static constexpr char const *
const name{
"case_construct_name"};
12078 static constexpr char const *
const typestr{
"std::string"};
12079 static constexpr bool traverse{
false};
12080 static constexpr auto mbr_ptr{&SgCaseOptionStmt::p_case_construct_name};
12081 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12082 using bind = Desc<SgCaseOptionStmt, std::string SgCaseOptionStmt::*, &SgCaseOptionStmt::p_case_construct_name>;
12086 using field_type = bool;
12087 static constexpr size_t position{4};
12088 static constexpr char const *
const name{
"has_fall_through"};
12089 static constexpr char const *
const typestr{
"bool"};
12090 static constexpr bool traverse{
false};
12091 static constexpr auto mbr_ptr{&SgCaseOptionStmt::p_has_fall_through};
12092 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12093 using bind = Desc<SgCaseOptionStmt, bool SgCaseOptionStmt::*, &SgCaseOptionStmt::p_has_fall_through>;
12098 static constexpr char const *
const name{
"CaseOptionStmt"};
12099 static constexpr unsigned long variant{318};
12100 static constexpr bool concrete{
true};
12102 using fields_t =
mp::List<describe_field_t<SgCaseOptionStmt,SgExpression*,&SgCaseOptionStmt::p_key>,
describe_field_t<SgCaseOptionStmt,SgStatement*,&SgCaseOptionStmt::p_body>,
describe_field_t<SgCaseOptionStmt,SgExpression*,&SgCaseOptionStmt::p_key_range_end>,
describe_field_t<SgCaseOptionStmt,std::string,&SgCaseOptionStmt::p_case_construct_name>,
describe_field_t<SgCaseOptionStmt,bool,&SgCaseOptionStmt::p_has_fall_through>>;
12110 static constexpr size_t position{0};
12111 static constexpr char const *
const name{
"cast_type"};
12112 static constexpr char const *
const typestr{
"SgCastExp::cast_type_enum"};
12113 static constexpr bool traverse{
false};
12114 static constexpr auto mbr_ptr{&SgCastExp::p_cast_type};
12115 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12116 using bind = Desc<SgCastExp, SgCastExp::cast_type_enum SgCastExp::*, &SgCastExp::p_cast_type>;
12121 static constexpr size_t position{1};
12122 static constexpr char const *
const name{
"originalExpressionTree"};
12123 static constexpr char const *
const typestr{
"SgExpression*"};
12124 static constexpr bool traverse{
false};
12125 static constexpr auto mbr_ptr{&SgCastExp::p_originalExpressionTree};
12126 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12127 using bind = Desc<SgCastExp, SgExpression* SgCastExp::*, &SgCastExp::p_originalExpressionTree>;
12131 using field_type = int;
12132 static constexpr size_t position{2};
12133 static constexpr char const *
const name{
"name_qualification_length"};
12134 static constexpr char const *
const typestr{
"int"};
12135 static constexpr bool traverse{
false};
12136 static constexpr auto mbr_ptr{&SgCastExp::p_name_qualification_length};
12137 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12138 using bind = Desc<SgCastExp, int SgCastExp::*, &SgCastExp::p_name_qualification_length>;
12142 using field_type = bool;
12143 static constexpr size_t position{3};
12144 static constexpr char const *
const name{
"type_elaboration_required"};
12145 static constexpr char const *
const typestr{
"bool"};
12146 static constexpr bool traverse{
false};
12147 static constexpr auto mbr_ptr{&SgCastExp::p_type_elaboration_required};
12148 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12149 using bind = Desc<SgCastExp, bool SgCastExp::*, &SgCastExp::p_type_elaboration_required>;
12153 using field_type = bool;
12154 static constexpr size_t position{4};
12155 static constexpr char const *
const name{
"global_qualification_required"};
12156 static constexpr char const *
const typestr{
"bool"};
12157 static constexpr bool traverse{
false};
12158 static constexpr auto mbr_ptr{&SgCastExp::p_global_qualification_required};
12159 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12160 using bind = Desc<SgCastExp, bool SgCastExp::*, &SgCastExp::p_global_qualification_required>;
12164 using field_type = bool;
12165 static constexpr size_t position{5};
12166 static constexpr char const *
const name{
"castContainsBaseTypeDefiningDeclaration"};
12167 static constexpr char const *
const typestr{
"bool"};
12168 static constexpr bool traverse{
false};
12169 static constexpr auto mbr_ptr{&SgCastExp::p_castContainsBaseTypeDefiningDeclaration};
12170 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12171 using bind = Desc<SgCastExp, bool SgCastExp::*, &SgCastExp::p_castContainsBaseTypeDefiningDeclaration>;
12175 using field_type = int;
12176 static constexpr size_t position{6};
12177 static constexpr char const *
const name{
"name_qualification_for_pointer_to_member_class_length"};
12178 static constexpr char const *
const typestr{
"int"};
12179 static constexpr bool traverse{
false};
12180 static constexpr auto mbr_ptr{&SgCastExp::p_name_qualification_for_pointer_to_member_class_length};
12181 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12182 using bind = Desc<SgCastExp, int SgCastExp::*, &SgCastExp::p_name_qualification_for_pointer_to_member_class_length>;
12186 using field_type = bool;
12187 static constexpr size_t position{7};
12188 static constexpr char const *
const name{
"type_elaboration_for_pointer_to_member_class_required"};
12189 static constexpr char const *
const typestr{
"bool"};
12190 static constexpr bool traverse{
false};
12191 static constexpr auto mbr_ptr{&SgCastExp::p_type_elaboration_for_pointer_to_member_class_required};
12192 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12193 using bind = Desc<SgCastExp, bool SgCastExp::*, &SgCastExp::p_type_elaboration_for_pointer_to_member_class_required>;
12197 using field_type = bool;
12198 static constexpr size_t position{8};
12199 static constexpr char const *
const name{
"global_qualification_for_pointer_to_member_class_required"};
12200 static constexpr char const *
const typestr{
"bool"};
12201 static constexpr bool traverse{
false};
12202 static constexpr auto mbr_ptr{&SgCastExp::p_global_qualification_for_pointer_to_member_class_required};
12203 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12204 using bind = Desc<SgCastExp, bool SgCastExp::*, &SgCastExp::p_global_qualification_for_pointer_to_member_class_required>;
12209 static constexpr char const *
const name{
"CastExp"};
12210 static constexpr unsigned long variant{319};
12211 static constexpr bool concrete{
true};
12213 using fields_t =
mp::List<describe_field_t<SgCastExp,SgCastExp::cast_type_enum,&SgCastExp::p_cast_type>,
describe_field_t<SgCastExp,SgExpression*,&SgCastExp::p_originalExpressionTree>,
describe_field_t<SgCastExp,int,&SgCastExp::p_name_qualification_length>,
describe_field_t<SgCastExp,bool,&SgCastExp::p_type_elaboration_required>,
describe_field_t<SgCastExp,bool,&SgCastExp::p_global_qualification_required>,
describe_field_t<SgCastExp,bool,&SgCastExp::p_castContainsBaseTypeDefiningDeclaration>,
describe_field_t<SgCastExp,int,&SgCastExp::p_name_qualification_for_pointer_to_member_class_length>,
describe_field_t<SgCastExp,bool,&SgCastExp::p_type_elaboration_for_pointer_to_member_class_required>,
describe_field_t<SgCastExp,bool,&SgCastExp::p_global_qualification_for_pointer_to_member_class_required>>;
12221 static constexpr size_t position{0};
12222 static constexpr char const *
const name{
"condition"};
12223 static constexpr char const *
const typestr{
"SgVariableDeclaration*"};
12224 static constexpr bool traverse{
true};
12226 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12227 using bind = Desc<SgCatchOptionStmt, SgVariableDeclaration* SgCatchOptionStmt::*, &SgCatchOptionStmt::p_condition>;
12232 static constexpr size_t position{1};
12233 static constexpr char const *
const name{
"body"};
12234 static constexpr char const *
const typestr{
"SgStatement*"};
12235 static constexpr bool traverse{
true};
12237 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12238 using bind = Desc<SgCatchOptionStmt, SgStatement* SgCatchOptionStmt::*, &SgCatchOptionStmt::p_body>;
12243 static constexpr size_t position{2};
12244 static constexpr char const *
const name{
"trystmt"};
12245 static constexpr char const *
const typestr{
"SgTryStmt*"};
12246 static constexpr bool traverse{
false};
12248 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12249 using bind = Desc<SgCatchOptionStmt, SgTryStmt* SgCatchOptionStmt::*, &SgCatchOptionStmt::p_trystmt>;
12254 static constexpr char const *
const name{
"CatchOptionStmt"};
12255 static constexpr unsigned long variant{320};
12256 static constexpr bool concrete{
true};
12265 using field_type = SgStatementPtrList;
12266 static constexpr size_t position{0};
12267 static constexpr char const *
const name{
"catch_statement_seq"};
12268 static constexpr char const *
const typestr{
"SgStatementPtrList"};
12269 static constexpr bool traverse{
true};
12271 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12272 using bind = Desc<SgCatchStatementSeq, SgStatementPtrList SgCatchStatementSeq::*, &SgCatchStatementSeq::p_catch_statement_seq>;
12277 static constexpr char const *
const name{
"CatchStatementSeq"};
12278 static constexpr unsigned long variant{321};
12279 static constexpr bool concrete{
true};
12288 using field_type = char;
12289 static constexpr size_t position{0};
12290 static constexpr char const *
const name{
"value"};
12291 static constexpr char const *
const typestr{
"char"};
12292 static constexpr bool traverse{
false};
12293 static constexpr auto mbr_ptr{&SgCharVal::p_value};
12294 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12295 using bind = Desc<SgCharVal, char SgCharVal::*, &SgCharVal::p_value>;
12299 using field_type = std::string;
12300 static constexpr size_t position{1};
12301 static constexpr char const *
const name{
"valueString"};
12302 static constexpr char const *
const typestr{
"std::string"};
12303 static constexpr bool traverse{
false};
12304 static constexpr auto mbr_ptr{&SgCharVal::p_valueString};
12305 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12306 using bind = Desc<SgCharVal, std::string SgCharVal::*, &SgCharVal::p_valueString>;
12311 static constexpr char const *
const name{
"CharVal"};
12312 static constexpr unsigned long variant{322};
12313 static constexpr bool concrete{
true};
12322 using field_type =
unsigned short;
12323 static constexpr size_t position{0};
12324 static constexpr char const *
const name{
"valueUL"};
12325 static constexpr char const *
const typestr{
"unsigned short"};
12326 static constexpr bool traverse{
false};
12327 static constexpr auto mbr_ptr{&SgChar16Val::p_valueUL};
12328 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12329 using bind = Desc<SgChar16Val, unsigned short SgChar16Val::*, &SgChar16Val::p_valueUL>;
12333 using field_type = std::string;
12334 static constexpr size_t position{1};
12335 static constexpr char const *
const name{
"valueString"};
12336 static constexpr char const *
const typestr{
"std::string"};
12337 static constexpr bool traverse{
false};
12338 static constexpr auto mbr_ptr{&SgChar16Val::p_valueString};
12339 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12340 using bind = Desc<SgChar16Val, std::string SgChar16Val::*, &SgChar16Val::p_valueString>;
12345 static constexpr char const *
const name{
"Char16Val"};
12346 static constexpr unsigned long variant{323};
12347 static constexpr bool concrete{
true};
12356 using field_type =
unsigned int;
12357 static constexpr size_t position{0};
12358 static constexpr char const *
const name{
"valueUL"};
12359 static constexpr char const *
const typestr{
"unsigned int"};
12360 static constexpr bool traverse{
false};
12361 static constexpr auto mbr_ptr{&SgChar32Val::p_valueUL};
12362 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12363 using bind = Desc<SgChar32Val, unsigned int SgChar32Val::*, &SgChar32Val::p_valueUL>;
12367 using field_type = std::string;
12368 static constexpr size_t position{1};
12369 static constexpr char const *
const name{
"valueString"};
12370 static constexpr char const *
const typestr{
"std::string"};
12371 static constexpr bool traverse{
false};
12372 static constexpr auto mbr_ptr{&SgChar32Val::p_valueString};
12373 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12374 using bind = Desc<SgChar32Val, std::string SgChar32Val::*, &SgChar32Val::p_valueString>;
12379 static constexpr char const *
const name{
"Char32Val"};
12380 static constexpr unsigned long variant{324};
12381 static constexpr bool concrete{
true};
12391 static constexpr size_t position{0};
12392 static constexpr char const *
const name{
"value"};
12393 static constexpr char const *
const typestr{
"SgExpression*"};
12394 static constexpr bool traverse{
true};
12395 static constexpr auto mbr_ptr{&SgChooseExpression::p_value};
12396 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12397 using bind = Desc<SgChooseExpression, SgExpression* SgChooseExpression::*, &SgChooseExpression::p_value>;
12402 static constexpr char const *
const name{
"ChooseExpression"};
12403 static constexpr unsigned long variant{325};
12404 static constexpr bool concrete{
true};
12414 static constexpr char const *
const name{
"ClassDecl_attr"};
12415 static constexpr unsigned long variant{326};
12416 static constexpr bool concrete{
true};
12426 static constexpr size_t position{0};
12427 static constexpr char const *
const name{
"name"};
12428 static constexpr char const *
const typestr{
"SgName"};
12429 static constexpr bool traverse{
false};
12431 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12432 using bind = Desc<SgClassDeclaration, SgName SgClassDeclaration::*, &SgClassDeclaration::p_name>;
12437 static constexpr size_t position{1};
12438 static constexpr char const *
const name{
"class_type"};
12439 static constexpr char const *
const typestr{
"SgClassDeclaration::class_types"};
12440 static constexpr bool traverse{
false};
12442 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12443 using bind = Desc<SgClassDeclaration, SgClassDeclaration::class_types SgClassDeclaration::*, &SgClassDeclaration::p_class_type>;
12448 static constexpr size_t position{2};
12449 static constexpr char const *
const name{
"type"};
12450 static constexpr char const *
const typestr{
"SgClassType*"};
12451 static constexpr bool traverse{
false};
12453 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12454 using bind = Desc<SgClassDeclaration, SgClassType* SgClassDeclaration::*, &SgClassDeclaration::p_type>;
12459 static constexpr size_t position{3};
12460 static constexpr char const *
const name{
"definition"};
12461 static constexpr char const *
const typestr{
"SgClassDefinition*"};
12462 static constexpr bool traverse{
true};
12464 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12465 using bind = Desc<SgClassDeclaration, SgClassDefinition* SgClassDeclaration::*, &SgClassDeclaration::p_definition>;
12470 static constexpr size_t position{4};
12471 static constexpr char const *
const name{
"scope"};
12472 static constexpr char const *
const typestr{
"SgScopeStatement*"};
12473 static constexpr bool traverse{
false};
12474 static constexpr auto mbr_ptr{&SgClassDeclaration::p_scope};
12475 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12476 using bind = Desc<SgClassDeclaration, SgScopeStatement* SgClassDeclaration::*, &SgClassDeclaration::p_scope>;
12481 static constexpr size_t position{5};
12482 static constexpr char const *
const name{
"specialization"};
12483 static constexpr char const *
const typestr{
"SgDeclarationStatement::template_specialization_enum"};
12484 static constexpr bool traverse{
false};
12485 static constexpr auto mbr_ptr{&SgClassDeclaration::p_specialization};
12486 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12487 using bind = Desc<SgClassDeclaration, SgDeclarationStatement::template_specialization_enum SgClassDeclaration::*, &SgClassDeclaration::p_specialization>;
12491 using field_type = bool;
12492 static constexpr size_t position{6};
12493 static constexpr char const *
const name{
"from_template"};
12494 static constexpr char const *
const typestr{
"bool"};
12495 static constexpr bool traverse{
false};
12497 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12498 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_from_template>;
12502 using field_type = bool;
12503 static constexpr size_t position{7};
12504 static constexpr char const *
const name{
"fixupScope"};
12505 static constexpr char const *
const typestr{
"bool"};
12506 static constexpr bool traverse{
false};
12507 static constexpr auto mbr_ptr{&SgClassDeclaration::p_fixupScope};
12508 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12509 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_fixupScope>;
12513 using field_type = bool;
12514 static constexpr size_t position{8};
12515 static constexpr char const *
const name{
"isUnNamed"};
12516 static constexpr char const *
const typestr{
"bool"};
12517 static constexpr bool traverse{
false};
12518 static constexpr auto mbr_ptr{&SgClassDeclaration::p_isUnNamed};
12519 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12520 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_isUnNamed>;
12524 using field_type = bool;
12525 static constexpr size_t position{9};
12526 static constexpr char const *
const name{
"explicit_annotation_interface"};
12527 static constexpr char const *
const typestr{
"bool"};
12528 static constexpr bool traverse{
false};
12529 static constexpr auto mbr_ptr{&SgClassDeclaration::p_explicit_annotation_interface};
12530 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12531 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_explicit_annotation_interface>;
12535 using field_type = bool;
12536 static constexpr size_t position{10};
12537 static constexpr char const *
const name{
"explicit_interface"};
12538 static constexpr char const *
const typestr{
"bool"};
12539 static constexpr bool traverse{
false};
12540 static constexpr auto mbr_ptr{&SgClassDeclaration::p_explicit_interface};
12541 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12542 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_explicit_interface>;
12546 using field_type = bool;
12547 static constexpr size_t position{11};
12548 static constexpr char const *
const name{
"explicit_enum"};
12549 static constexpr char const *
const typestr{
"bool"};
12550 static constexpr bool traverse{
false};
12551 static constexpr auto mbr_ptr{&SgClassDeclaration::p_explicit_enum};
12552 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12553 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_explicit_enum>;
12557 using field_type = bool;
12558 static constexpr size_t position{12};
12559 static constexpr char const *
const name{
"explicit_anonymous"};
12560 static constexpr char const *
const typestr{
"bool"};
12561 static constexpr bool traverse{
false};
12562 static constexpr auto mbr_ptr{&SgClassDeclaration::p_explicit_anonymous};
12563 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12564 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_explicit_anonymous>;
12569 static constexpr size_t position{13};
12570 static constexpr char const *
const name{
"decoratorList"};
12571 static constexpr char const *
const typestr{
"SgExprListExp*"};
12572 static constexpr bool traverse{
true};
12573 static constexpr auto mbr_ptr{&SgClassDeclaration::p_decoratorList};
12574 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12575 using bind = Desc<SgClassDeclaration, SgExprListExp* SgClassDeclaration::*, &SgClassDeclaration::p_decoratorList>;
12579 using field_type = int;
12580 static constexpr size_t position{14};
12581 static constexpr char const *
const name{
"name_qualification_length"};
12582 static constexpr char const *
const typestr{
"int"};
12583 static constexpr bool traverse{
false};
12584 static constexpr auto mbr_ptr{&SgClassDeclaration::p_name_qualification_length};
12585 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12586 using bind = Desc<SgClassDeclaration, int SgClassDeclaration::*, &SgClassDeclaration::p_name_qualification_length>;
12590 using field_type = bool;
12591 static constexpr size_t position{15};
12592 static constexpr char const *
const name{
"type_elaboration_required"};
12593 static constexpr char const *
const typestr{
"bool"};
12594 static constexpr bool traverse{
false};
12595 static constexpr auto mbr_ptr{&SgClassDeclaration::p_type_elaboration_required};
12596 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12597 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_type_elaboration_required>;
12601 using field_type = bool;
12602 static constexpr size_t position{16};
12603 static constexpr char const *
const name{
"global_qualification_required"};
12604 static constexpr char const *
const typestr{
"bool"};
12605 static constexpr bool traverse{
false};
12606 static constexpr auto mbr_ptr{&SgClassDeclaration::p_global_qualification_required};
12607 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12608 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_global_qualification_required>;
12612 using field_type = bool;
12613 static constexpr size_t position{17};
12614 static constexpr char const *
const name{
"isAutonomousDeclaration"};
12615 static constexpr char const *
const typestr{
"bool"};
12616 static constexpr bool traverse{
false};
12617 static constexpr auto mbr_ptr{&SgClassDeclaration::p_isAutonomousDeclaration};
12618 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12619 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_isAutonomousDeclaration>;
12623 using field_type = bool;
12624 static constexpr size_t position{18};
12625 static constexpr char const *
const name{
"isRepresentingTemplateParameterInTemplateDeclaration"};
12626 static constexpr char const *
const typestr{
"bool"};
12627 static constexpr bool traverse{
false};
12628 static constexpr auto mbr_ptr{&SgClassDeclaration::p_isRepresentingTemplateParameterInTemplateDeclaration};
12629 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12630 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_isRepresentingTemplateParameterInTemplateDeclaration>;
12635 static constexpr size_t position{19};
12636 static constexpr char const *
const name{
"adaParentType"};
12637 static constexpr char const *
const typestr{
"SgBaseClass*"};
12638 static constexpr bool traverse{
false};
12639 static constexpr auto mbr_ptr{&SgClassDeclaration::p_adaParentType};
12640 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12641 using bind = Desc<SgClassDeclaration, SgBaseClass* SgClassDeclaration::*, &SgClassDeclaration::p_adaParentType>;
12646 static constexpr char const *
const name{
"ClassDeclaration"};
12647 static constexpr unsigned long variant{327};
12648 static constexpr bool concrete{
true};
12650 using fields_t =
mp::List<describe_field_t<SgClassDeclaration,SgName,&SgClassDeclaration::p_name>,
describe_field_t<SgClassDeclaration,SgClassDeclaration::class_types,&SgClassDeclaration::p_class_type>,
describe_field_t<SgClassDeclaration,SgClassType*,&SgClassDeclaration::p_type>,
describe_field_t<SgClassDeclaration,SgClassDefinition*,&SgClassDeclaration::p_definition>,
describe_field_t<SgClassDeclaration,SgScopeStatement*,&SgClassDeclaration::p_scope>,
describe_field_t<SgClassDeclaration,SgDeclarationStatement::template_specialization_enum,&SgClassDeclaration::p_specialization>,
describe_field_t<SgClassDeclaration,bool,&SgClassDeclaration::p_from_template>,
describe_field_t<SgClassDeclaration,bool,&SgClassDeclaration::p_fixupScope>,
describe_field_t<SgClassDeclaration,bool,&SgClassDeclaration::p_isUnNamed>,
describe_field_t<SgClassDeclaration,bool,&SgClassDeclaration::p_explicit_annotation_interface>,
describe_field_t<SgClassDeclaration,bool,&SgClassDeclaration::p_explicit_interface>,
describe_field_t<SgClassDeclaration,bool,&SgClassDeclaration::p_explicit_enum>,
describe_field_t<SgClassDeclaration,bool,&SgClassDeclaration::p_explicit_anonymous>,
describe_field_t<SgClassDeclaration,SgExprListExp*,&SgClassDeclaration::p_decoratorList>,
describe_field_t<SgClassDeclaration,int,&SgClassDeclaration::p_name_qualification_length>,
describe_field_t<SgClassDeclaration,bool,&SgClassDeclaration::p_type_elaboration_required>,
describe_field_t<SgClassDeclaration,bool,&SgClassDeclaration::p_global_qualification_required>,
describe_field_t<SgClassDeclaration,bool,&SgClassDeclaration::p_isAutonomousDeclaration>,
describe_field_t<SgClassDeclaration,bool,&SgClassDeclaration::p_isRepresentingTemplateParameterInTemplateDeclaration>,
describe_field_t<SgClassDeclaration,SgBaseClass*,&SgClassDeclaration::p_adaParentType>>;
12657 using field_type = SgDeclarationStatementPtrList;
12658 static constexpr size_t position{0};
12659 static constexpr char const *
const name{
"members"};
12660 static constexpr char const *
const typestr{
"SgDeclarationStatementPtrList"};
12661 static constexpr bool traverse{
true};
12663 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12664 using bind = Desc<SgClassDefinition, SgDeclarationStatementPtrList SgClassDefinition::*, &SgClassDefinition::p_members>;
12668 using field_type = SgBaseClassPtrList;
12669 static constexpr size_t position{1};
12670 static constexpr char const *
const name{
"inheritances"};
12671 static constexpr char const *
const typestr{
"SgBaseClassPtrList"};
12672 static constexpr bool traverse{
false};
12674 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12675 using bind = Desc<SgClassDefinition, SgBaseClassPtrList SgClassDefinition::*, &SgClassDefinition::p_inheritances>;
12679 using field_type =
unsigned int;
12680 static constexpr size_t position{2};
12681 static constexpr char const *
const name{
"packingAlignment"};
12682 static constexpr char const *
const typestr{
"unsigned int"};
12683 static constexpr bool traverse{
false};
12684 static constexpr auto mbr_ptr{&SgClassDefinition::p_packingAlignment};
12685 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12686 using bind = Desc<SgClassDefinition, unsigned int SgClassDefinition::*, &SgClassDefinition::p_packingAlignment>;
12690 using field_type = bool;
12691 static constexpr size_t position{3};
12692 static constexpr char const *
const name{
"isSequence"};
12693 static constexpr char const *
const typestr{
"bool"};
12694 static constexpr bool traverse{
false};
12695 static constexpr auto mbr_ptr{&SgClassDefinition::p_isSequence};
12696 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12697 using bind = Desc<SgClassDefinition, bool SgClassDefinition::*, &SgClassDefinition::p_isSequence>;
12701 using field_type = bool;
12702 static constexpr size_t position{4};
12703 static constexpr char const *
const name{
"isPrivate"};
12704 static constexpr char const *
const typestr{
"bool"};
12705 static constexpr bool traverse{
false};
12706 static constexpr auto mbr_ptr{&SgClassDefinition::p_isPrivate};
12707 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12708 using bind = Desc<SgClassDefinition, bool SgClassDefinition::*, &SgClassDefinition::p_isPrivate>;
12712 using field_type = bool;
12713 static constexpr size_t position{5};
12714 static constexpr char const *
const name{
"isAbstract"};
12715 static constexpr char const *
const typestr{
"bool"};
12716 static constexpr bool traverse{
false};
12717 static constexpr auto mbr_ptr{&SgClassDefinition::p_isAbstract};
12718 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12719 using bind = Desc<SgClassDefinition, bool SgClassDefinition::*, &SgClassDefinition::p_isAbstract>;
12724 static constexpr char const *
const name{
"ClassDefinition"};
12725 static constexpr unsigned long variant{328};
12726 static constexpr bool concrete{
true};
12728 using fields_t =
mp::List<describe_field_t<SgClassDefinition,SgDeclarationStatementPtrList,&SgClassDefinition::p_members>,
describe_field_t<SgClassDefinition,SgBaseClassPtrList,&SgClassDefinition::p_inheritances>,
describe_field_t<SgClassDefinition,unsigned int,&SgClassDefinition::p_packingAlignment>,
describe_field_t<SgClassDefinition,bool,&SgClassDefinition::p_isSequence>,
describe_field_t<SgClassDefinition,bool,&SgClassDefinition::p_isPrivate>,
describe_field_t<SgClassDefinition,bool,&SgClassDefinition::p_isAbstract>>;
12736 static constexpr size_t position{0};
12737 static constexpr char const *
const name{
"symbol"};
12738 static constexpr char const *
const typestr{
"SgClassSymbol*"};
12739 static constexpr bool traverse{
false};
12741 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12742 using bind = Desc<SgClassNameRefExp, SgClassSymbol* SgClassNameRefExp::*, &SgClassNameRefExp::p_symbol>;
12747 static constexpr char const *
const name{
"ClassNameRefExp"};
12748 static constexpr unsigned long variant{329};
12749 static constexpr bool concrete{
true};
12759 static constexpr size_t position{0};
12760 static constexpr char const *
const name{
"declaration"};
12761 static constexpr char const *
const typestr{
"SgClassDeclaration*"};
12762 static constexpr bool traverse{
true};
12763 static constexpr auto mbr_ptr{&SgClassSymbol::p_declaration};
12764 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12765 using bind = Desc<SgClassSymbol, SgClassDeclaration* SgClassSymbol::*, &SgClassSymbol::p_declaration>;
12770 static constexpr char const *
const name{
"ClassSymbol"};
12771 static constexpr unsigned long variant{330};
12772 static constexpr bool concrete{
true};
12781 using field_type = bool;
12782 static constexpr size_t position{0};
12783 static constexpr char const *
const name{
"packed"};
12784 static constexpr char const *
const typestr{
"bool"};
12785 static constexpr bool traverse{
false};
12786 static constexpr auto mbr_ptr{&SgClassType::p_packed};
12787 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12788 using bind = Desc<SgClassType, bool SgClassType::*, &SgClassType::p_packed>;
12793 static constexpr char const *
const name{
"ClassType"};
12794 static constexpr unsigned long variant{331};
12795 static constexpr bool concrete{
true};
12804 using field_type = std::string;
12805 static constexpr size_t position{0};
12806 static constexpr char const *
const name{
"languageSpecifier"};
12807 static constexpr char const *
const typestr{
"std::string"};
12808 static constexpr bool traverse{
false};
12809 static constexpr auto mbr_ptr{&SgClinkageDeclarationStatement::p_languageSpecifier};
12810 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12811 using bind = Desc<SgClinkageDeclarationStatement, std::string SgClinkageDeclarationStatement::*, &SgClinkageDeclarationStatement::p_languageSpecifier>;
12816 static constexpr char const *
const name{
"ClinkageDeclarationStatement"};
12817 static constexpr unsigned long variant{332};
12818 static constexpr bool concrete{
false};
12828 static constexpr char const *
const name{
"ClinkageEndStatement"};
12829 static constexpr unsigned long variant{333};
12830 static constexpr bool concrete{
true};
12840 static constexpr char const *
const name{
"ClinkageStartStatement"};
12841 static constexpr unsigned long variant{334};
12842 static constexpr bool concrete{
true};
12852 static constexpr size_t position{0};
12853 static constexpr char const *
const name{
"status"};
12854 static constexpr char const *
const typestr{
"SgExpression*"};
12855 static constexpr bool traverse{
true};
12856 static constexpr auto mbr_ptr{&SgCloseStatement::p_status};
12857 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12858 using bind = Desc<SgCloseStatement, SgExpression* SgCloseStatement::*, &SgCloseStatement::p_status>;
12863 static constexpr char const *
const name{
"CloseStatement"};
12864 static constexpr unsigned long variant{335};
12865 static constexpr bool concrete{
true};
12875 static constexpr char const *
const name{
"ColonShapeExp"};
12876 static constexpr unsigned long variant{336};
12877 static constexpr bool concrete{
true};
12887 static constexpr char const *
const name{
"CommaOpExp"};
12888 static constexpr unsigned long variant{337};
12889 static constexpr bool concrete{
true};
12898 using field_type = SgCommonBlockObjectPtrList;
12899 static constexpr size_t position{0};
12900 static constexpr char const *
const name{
"block_list"};
12901 static constexpr char const *
const typestr{
"SgCommonBlockObjectPtrList"};
12902 static constexpr bool traverse{
true};
12903 static constexpr auto mbr_ptr{&SgCommonBlock::p_block_list};
12904 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12905 using bind = Desc<SgCommonBlock, SgCommonBlockObjectPtrList SgCommonBlock::*, &SgCommonBlock::p_block_list>;
12910 static constexpr char const *
const name{
"CommonBlock"};
12911 static constexpr unsigned long variant{338};
12912 static constexpr bool concrete{
true};
12921 using field_type = std::string;
12922 static constexpr size_t position{0};
12923 static constexpr char const *
const name{
"block_name"};
12924 static constexpr char const *
const typestr{
"std::string"};
12925 static constexpr bool traverse{
false};
12926 static constexpr auto mbr_ptr{&SgCommonBlockObject::p_block_name};
12927 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12928 using bind = Desc<SgCommonBlockObject, std::string SgCommonBlockObject::*, &SgCommonBlockObject::p_block_name>;
12933 static constexpr size_t position{1};
12934 static constexpr char const *
const name{
"variable_reference_list"};
12935 static constexpr char const *
const typestr{
"SgExprListExp*"};
12936 static constexpr bool traverse{
true};
12937 static constexpr auto mbr_ptr{&SgCommonBlockObject::p_variable_reference_list};
12938 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12939 using bind = Desc<SgCommonBlockObject, SgExprListExp* SgCommonBlockObject::*, &SgCommonBlockObject::p_variable_reference_list>;
12944 static constexpr char const *
const name{
"CommonBlockObject"};
12945 static constexpr unsigned long variant{339};
12946 static constexpr bool concrete{
true};
12956 static constexpr size_t position{0};
12957 static constexpr char const *
const name{
"declaration"};
12958 static constexpr char const *
const typestr{
"SgInitializedName*"};
12959 static constexpr bool traverse{
false};
12960 static constexpr auto mbr_ptr{&SgCommonSymbol::p_declaration};
12961 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12962 using bind = Desc<SgCommonSymbol, SgInitializedName* SgCommonSymbol::*, &SgCommonSymbol::p_declaration>;
12967 static constexpr char const *
const name{
"CommonSymbol"};
12968 static constexpr unsigned long variant{340};
12969 static constexpr bool concrete{
true};
12979 static constexpr size_t position{0};
12980 static constexpr char const *
const name{
"real_value"};
12981 static constexpr char const *
const typestr{
"SgValueExp*"};
12982 static constexpr bool traverse{
true};
12983 static constexpr auto mbr_ptr{&SgComplexVal::p_real_value};
12984 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12985 using bind = Desc<SgComplexVal, SgValueExp* SgComplexVal::*, &SgComplexVal::p_real_value>;
12990 static constexpr size_t position{1};
12991 static constexpr char const *
const name{
"imaginary_value"};
12992 static constexpr char const *
const typestr{
"SgValueExp*"};
12993 static constexpr bool traverse{
true};
12994 static constexpr auto mbr_ptr{&SgComplexVal::p_imaginary_value};
12995 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12996 using bind = Desc<SgComplexVal, SgValueExp* SgComplexVal::*, &SgComplexVal::p_imaginary_value>;
13001 static constexpr size_t position{2};
13002 static constexpr char const *
const name{
"precisionType"};
13003 static constexpr char const *
const typestr{
"SgType*"};
13004 static constexpr bool traverse{
false};
13005 static constexpr auto mbr_ptr{&SgComplexVal::p_precisionType};
13006 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13007 using bind = Desc<SgComplexVal, SgType* SgComplexVal::*, &SgComplexVal::p_precisionType>;
13011 using field_type = std::string;
13012 static constexpr size_t position{3};
13013 static constexpr char const *
const name{
"valueString"};
13014 static constexpr char const *
const typestr{
"std::string"};
13015 static constexpr bool traverse{
false};
13016 static constexpr auto mbr_ptr{&SgComplexVal::p_valueString};
13017 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13018 using bind = Desc<SgComplexVal, std::string SgComplexVal::*, &SgComplexVal::p_valueString>;
13023 static constexpr char const *
const name{
"ComplexVal"};
13024 static constexpr unsigned long variant{341};
13025 static constexpr bool concrete{
true};
13027 using fields_t =
mp::List<describe_field_t<SgComplexVal,SgValueExp*,&SgComplexVal::p_real_value>,
describe_field_t<SgComplexVal,SgValueExp*,&SgComplexVal::p_imaginary_value>,
describe_field_t<SgComplexVal,SgType*,&SgComplexVal::p_precisionType>,
describe_field_t<SgComplexVal,std::string,&SgComplexVal::p_valueString>>;
13035 static constexpr size_t position{0};
13036 static constexpr char const *
const name{
"target"};
13037 static constexpr char const *
const typestr{
"SgExpression*"};
13038 static constexpr bool traverse{
true};
13039 static constexpr auto mbr_ptr{&SgComprehension::p_target};
13040 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13041 using bind = Desc<SgComprehension, SgExpression* SgComprehension::*, &SgComprehension::p_target>;
13046 static constexpr size_t position{1};
13047 static constexpr char const *
const name{
"iter"};
13048 static constexpr char const *
const typestr{
"SgExpression*"};
13049 static constexpr bool traverse{
true};
13050 static constexpr auto mbr_ptr{&SgComprehension::p_iter};
13051 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13052 using bind = Desc<SgComprehension, SgExpression* SgComprehension::*, &SgComprehension::p_iter>;
13057 static constexpr size_t position{2};
13058 static constexpr char const *
const name{
"filters"};
13059 static constexpr char const *
const typestr{
"SgExprListExp*"};
13060 static constexpr bool traverse{
true};
13061 static constexpr auto mbr_ptr{&SgComprehension::p_filters};
13062 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13063 using bind = Desc<SgComprehension, SgExprListExp* SgComprehension::*, &SgComprehension::p_filters>;
13068 static constexpr char const *
const name{
"Comprehension"};
13069 static constexpr unsigned long variant{342};
13070 static constexpr bool concrete{
true};
13080 static constexpr char const *
const name{
"CompoundAssignOp"};
13081 static constexpr unsigned long variant{344};
13082 static constexpr bool concrete{
false};
13083 using subclasses_t =
mp::List<SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp>;
13092 static constexpr size_t position{0};
13093 static constexpr char const *
const name{
"initializers"};
13094 static constexpr char const *
const typestr{
"SgExprListExp*"};
13095 static constexpr bool traverse{
true};
13096 static constexpr auto mbr_ptr{&SgCompoundInitializer::p_initializers};
13097 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13098 using bind = Desc<SgCompoundInitializer, SgExprListExp* SgCompoundInitializer::*, &SgCompoundInitializer::p_initializers>;
13103 static constexpr size_t position{1};
13104 static constexpr char const *
const name{
"expression_type"};
13105 static constexpr char const *
const typestr{
"SgType*"};
13106 static constexpr bool traverse{
false};
13107 static constexpr auto mbr_ptr{&SgCompoundInitializer::p_expression_type};
13108 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13109 using bind = Desc<SgCompoundInitializer, SgType* SgCompoundInitializer::*, &SgCompoundInitializer::p_expression_type>;
13114 static constexpr char const *
const name{
"CompoundInitializer"};
13115 static constexpr unsigned long variant{345};
13116 static constexpr bool concrete{
true};
13126 static constexpr size_t position{0};
13127 static constexpr char const *
const name{
"symbol"};
13128 static constexpr char const *
const typestr{
"SgVariableSymbol*"};
13129 static constexpr bool traverse{
false};
13130 static constexpr auto mbr_ptr{&SgCompoundLiteralExp::p_symbol};
13131 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13132 using bind = Desc<SgCompoundLiteralExp, SgVariableSymbol* SgCompoundLiteralExp::*, &SgCompoundLiteralExp::p_symbol>;
13137 static constexpr char const *
const name{
"CompoundLiteralExp"};
13138 static constexpr unsigned long variant{346};
13139 static constexpr bool concrete{
true};
13149 static constexpr size_t position{0};
13150 static constexpr char const *
const name{
"labelList"};
13151 static constexpr char const *
const typestr{
"SgExprListExp*"};
13152 static constexpr bool traverse{
true};
13153 static constexpr auto mbr_ptr{&SgComputedGotoStatement::p_labelList};
13154 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13155 using bind = Desc<SgComputedGotoStatement, SgExprListExp* SgComputedGotoStatement::*, &SgComputedGotoStatement::p_labelList>;
13160 static constexpr size_t position{1};
13161 static constexpr char const *
const name{
"label_index"};
13162 static constexpr char const *
const typestr{
"SgExpression*"};
13163 static constexpr bool traverse{
true};
13164 static constexpr auto mbr_ptr{&SgComputedGotoStatement::p_label_index};
13165 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13166 using bind = Desc<SgComputedGotoStatement, SgExpression* SgComputedGotoStatement::*, &SgComputedGotoStatement::p_label_index>;
13171 static constexpr char const *
const name{
"ComputedGotoStatement"};
13172 static constexpr unsigned long variant{347};
13173 static constexpr bool concrete{
true};
13183 static constexpr char const *
const name{
"ConcatenationOp"};
13184 static constexpr unsigned long variant{348};
13185 static constexpr bool concrete{
true};
13195 static constexpr size_t position{0};
13196 static constexpr char const *
const name{
"conditional_exp"};
13197 static constexpr char const *
const typestr{
"SgExpression*"};
13198 static constexpr bool traverse{
true};
13200 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13201 using bind = Desc<SgConditionalExp, SgExpression* SgConditionalExp::*, &SgConditionalExp::p_conditional_exp>;
13206 static constexpr size_t position{1};
13207 static constexpr char const *
const name{
"true_exp"};
13208 static constexpr char const *
const typestr{
"SgExpression*"};
13209 static constexpr bool traverse{
true};
13211 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13212 using bind = Desc<SgConditionalExp, SgExpression* SgConditionalExp::*, &SgConditionalExp::p_true_exp>;
13217 static constexpr size_t position{2};
13218 static constexpr char const *
const name{
"false_exp"};
13219 static constexpr char const *
const typestr{
"SgExpression*"};
13220 static constexpr bool traverse{
true};
13222 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13223 using bind = Desc<SgConditionalExp, SgExpression* SgConditionalExp::*, &SgConditionalExp::p_false_exp>;
13228 static constexpr size_t position{3};
13229 static constexpr char const *
const name{
"expression_type"};
13230 static constexpr char const *
const typestr{
"SgType*"};
13231 static constexpr bool traverse{
false};
13233 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13234 using bind = Desc<SgConditionalExp, SgType* SgConditionalExp::*, &SgConditionalExp::p_expression_type>;
13239 static constexpr char const *
const name{
"ConditionalExp"};
13240 static constexpr unsigned long variant{349};
13241 static constexpr bool concrete{
true};
13243 using fields_t =
mp::List<describe_field_t<SgConditionalExp,SgExpression*,&SgConditionalExp::p_conditional_exp>,
describe_field_t<SgConditionalExp,SgExpression*,&SgConditionalExp::p_true_exp>,
describe_field_t<SgConditionalExp,SgExpression*,&SgConditionalExp::p_false_exp>,
describe_field_t<SgConditionalExp,SgType*,&SgConditionalExp::p_expression_type>>;
13251 static constexpr char const *
const name{
"ConjugateOp"};
13252 static constexpr unsigned long variant{350};
13253 static constexpr bool concrete{
true};
13263 static constexpr size_t position{0};
13264 static constexpr char const *
const name{
"modifier"};
13265 static constexpr char const *
const typestr{
"SgConstVolatileModifier::cv_modifier_enum"};
13266 static constexpr bool traverse{
false};
13267 static constexpr auto mbr_ptr{&SgConstVolatileModifier::p_modifier};
13268 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13269 using bind = Desc<SgConstVolatileModifier, SgConstVolatileModifier::cv_modifier_enum SgConstVolatileModifier::*, &SgConstVolatileModifier::p_modifier>;
13274 static constexpr char const *
const name{
"ConstVolatileModifier"};
13275 static constexpr unsigned long variant{351};
13276 static constexpr bool concrete{
true};
13286 static constexpr size_t position{0};
13287 static constexpr char const *
const name{
"declaration"};
13288 static constexpr char const *
const typestr{
"SgMemberFunctionDeclaration*"};
13289 static constexpr bool traverse{
false};
13291 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13292 using bind = Desc<SgConstructorInitializer, SgMemberFunctionDeclaration* SgConstructorInitializer::*, &SgConstructorInitializer::p_declaration>;
13297 static constexpr size_t position{1};
13298 static constexpr char const *
const name{
"args"};
13299 static constexpr char const *
const typestr{
"SgExprListExp*"};
13300 static constexpr bool traverse{
true};
13302 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13303 using bind = Desc<SgConstructorInitializer, SgExprListExp* SgConstructorInitializer::*, &SgConstructorInitializer::p_args>;
13308 static constexpr size_t position{2};
13309 static constexpr char const *
const name{
"expression_type"};
13310 static constexpr char const *
const typestr{
"SgType*"};
13311 static constexpr bool traverse{
false};
13313 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13314 using bind = Desc<SgConstructorInitializer, SgType* SgConstructorInitializer::*, &SgConstructorInitializer::p_expression_type>;
13318 using field_type = bool;
13319 static constexpr size_t position{3};
13320 static constexpr char const *
const name{
"need_name"};
13321 static constexpr char const *
const typestr{
"bool"};
13322 static constexpr bool traverse{
false};
13324 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13325 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_need_name>;
13329 using field_type = bool;
13330 static constexpr size_t position{4};
13331 static constexpr char const *
const name{
"need_qualifier"};
13332 static constexpr char const *
const typestr{
"bool"};
13333 static constexpr bool traverse{
false};
13335 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13336 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_need_qualifier>;
13340 using field_type = bool;
13341 static constexpr size_t position{5};
13342 static constexpr char const *
const name{
"need_parenthesis_after_name"};
13343 static constexpr char const *
const typestr{
"bool"};
13344 static constexpr bool traverse{
false};
13346 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13347 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_need_parenthesis_after_name>;
13351 using field_type = bool;
13352 static constexpr size_t position{6};
13353 static constexpr char const *
const name{
"associated_class_unknown"};
13354 static constexpr char const *
const typestr{
"bool"};
13355 static constexpr bool traverse{
false};
13357 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13358 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_associated_class_unknown>;
13362 using field_type = int;
13363 static constexpr size_t position{7};
13364 static constexpr char const *
const name{
"name_qualification_length"};
13365 static constexpr char const *
const typestr{
"int"};
13366 static constexpr bool traverse{
false};
13367 static constexpr auto mbr_ptr{&SgConstructorInitializer::p_name_qualification_length};
13368 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13369 using bind = Desc<SgConstructorInitializer, int SgConstructorInitializer::*, &SgConstructorInitializer::p_name_qualification_length>;
13373 using field_type = bool;
13374 static constexpr size_t position{8};
13375 static constexpr char const *
const name{
"type_elaboration_required"};
13376 static constexpr char const *
const typestr{
"bool"};
13377 static constexpr bool traverse{
false};
13378 static constexpr auto mbr_ptr{&SgConstructorInitializer::p_type_elaboration_required};
13379 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13380 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_type_elaboration_required>;
13384 using field_type = bool;
13385 static constexpr size_t position{9};
13386 static constexpr char const *
const name{
"global_qualification_required"};
13387 static constexpr char const *
const typestr{
"bool"};
13388 static constexpr bool traverse{
false};
13389 static constexpr auto mbr_ptr{&SgConstructorInitializer::p_global_qualification_required};
13390 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13391 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_global_qualification_required>;
13395 using field_type = bool;
13396 static constexpr size_t position{10};
13397 static constexpr char const *
const name{
"is_used_in_conditional"};
13398 static constexpr char const *
const typestr{
"bool"};
13399 static constexpr bool traverse{
false};
13400 static constexpr auto mbr_ptr{&SgConstructorInitializer::p_is_used_in_conditional};
13401 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13402 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_is_used_in_conditional>;
13407 static constexpr char const *
const name{
"ConstructorInitializer"};
13408 static constexpr unsigned long variant{352};
13409 static constexpr bool concrete{
true};
13411 using fields_t =
mp::List<describe_field_t<SgConstructorInitializer,SgMemberFunctionDeclaration*,&SgConstructorInitializer::p_declaration>,
describe_field_t<SgConstructorInitializer,SgExprListExp*,&SgConstructorInitializer::p_args>,
describe_field_t<SgConstructorInitializer,SgType*,&SgConstructorInitializer::p_expression_type>,
describe_field_t<SgConstructorInitializer,bool,&SgConstructorInitializer::p_need_name>,
describe_field_t<SgConstructorInitializer,bool,&SgConstructorInitializer::p_need_qualifier>,
describe_field_t<SgConstructorInitializer,bool,&SgConstructorInitializer::p_need_parenthesis_after_name>,
describe_field_t<SgConstructorInitializer,bool,&SgConstructorInitializer::p_associated_class_unknown>,
describe_field_t<SgConstructorInitializer,int,&SgConstructorInitializer::p_name_qualification_length>,
describe_field_t<SgConstructorInitializer,bool,&SgConstructorInitializer::p_type_elaboration_required>,
describe_field_t<SgConstructorInitializer,bool,&SgConstructorInitializer::p_global_qualification_required>,
describe_field_t<SgConstructorInitializer,bool,&SgConstructorInitializer::p_is_used_in_conditional>>;
13419 static constexpr char const *
const name{
"ContainsStatement"};
13420 static constexpr unsigned long variant{353};
13421 static constexpr bool concrete{
true};
13430 using field_type = std::string;
13431 static constexpr size_t position{0};
13432 static constexpr char const *
const name{
"do_string_label"};
13433 static constexpr char const *
const typestr{
"std::string"};
13434 static constexpr bool traverse{
false};
13435 static constexpr auto mbr_ptr{&SgContinueStmt::p_do_string_label};
13436 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13437 using bind = Desc<SgContinueStmt, std::string SgContinueStmt::*, &SgContinueStmt::p_do_string_label>;
13442 static constexpr char const *
const name{
"ContinueStmt"};
13443 static constexpr unsigned long variant{354};
13444 static constexpr bool concrete{
true};
13453 using field_type = SgInitializedNamePtrList;
13454 static constexpr size_t position{0};
13455 static constexpr char const *
const name{
"ctors"};
13456 static constexpr char const *
const typestr{
"SgInitializedNamePtrList"};
13457 static constexpr bool traverse{
true};
13459 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13460 using bind = Desc<SgCtorInitializerList, SgInitializedNamePtrList SgCtorInitializerList::*, &SgCtorInitializerList::p_ctors>;
13465 static constexpr char const *
const name{
"CtorInitializerList"};
13466 static constexpr unsigned long variant{355};
13467 static constexpr bool concrete{
true};
13476 using field_type = SgDataStatementObjectPtrList;
13477 static constexpr size_t position{0};
13478 static constexpr char const *
const name{
"object_list"};
13479 static constexpr char const *
const typestr{
"SgDataStatementObjectPtrList"};
13480 static constexpr bool traverse{
false};
13481 static constexpr auto mbr_ptr{&SgDataStatementGroup::p_object_list};
13482 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13483 using bind = Desc<SgDataStatementGroup, SgDataStatementObjectPtrList SgDataStatementGroup::*, &SgDataStatementGroup::p_object_list>;
13487 using field_type = SgDataStatementValuePtrList;
13488 static constexpr size_t position{1};
13489 static constexpr char const *
const name{
"value_list"};
13490 static constexpr char const *
const typestr{
"SgDataStatementValuePtrList"};
13491 static constexpr bool traverse{
false};
13492 static constexpr auto mbr_ptr{&SgDataStatementGroup::p_value_list};
13493 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13494 using bind = Desc<SgDataStatementGroup, SgDataStatementValuePtrList SgDataStatementGroup::*, &SgDataStatementGroup::p_value_list>;
13499 static constexpr char const *
const name{
"DataStatementGroup"};
13500 static constexpr unsigned long variant{356};
13501 static constexpr bool concrete{
true};
13511 static constexpr size_t position{0};
13512 static constexpr char const *
const name{
"variableReference_list"};
13513 static constexpr char const *
const typestr{
"SgExprListExp*"};
13514 static constexpr bool traverse{
false};
13515 static constexpr auto mbr_ptr{&SgDataStatementObject::p_variableReference_list};
13516 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13517 using bind = Desc<SgDataStatementObject, SgExprListExp* SgDataStatementObject::*, &SgDataStatementObject::p_variableReference_list>;
13522 static constexpr char const *
const name{
"DataStatementObject"};
13523 static constexpr unsigned long variant{357};
13524 static constexpr bool concrete{
true};
13534 static constexpr size_t position{0};
13535 static constexpr char const *
const name{
"data_initialization_format"};
13536 static constexpr char const *
const typestr{
"SgDataStatementValue::data_statement_value_enum"};
13537 static constexpr bool traverse{
false};
13538 static constexpr auto mbr_ptr{&SgDataStatementValue::p_data_initialization_format};
13539 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13540 using bind = Desc<SgDataStatementValue, SgDataStatementValue::data_statement_value_enum SgDataStatementValue::*, &SgDataStatementValue::p_data_initialization_format>;
13545 static constexpr size_t position{1};
13546 static constexpr char const *
const name{
"initializer_list"};
13547 static constexpr char const *
const typestr{
"SgExprListExp*"};
13548 static constexpr bool traverse{
false};
13549 static constexpr auto mbr_ptr{&SgDataStatementValue::p_initializer_list};
13550 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13551 using bind = Desc<SgDataStatementValue, SgExprListExp* SgDataStatementValue::*, &SgDataStatementValue::p_initializer_list>;
13556 static constexpr size_t position{2};
13557 static constexpr char const *
const name{
"repeat_expression"};
13558 static constexpr char const *
const typestr{
"SgExpression*"};
13559 static constexpr bool traverse{
false};
13560 static constexpr auto mbr_ptr{&SgDataStatementValue::p_repeat_expression};
13561 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13562 using bind = Desc<SgDataStatementValue, SgExpression* SgDataStatementValue::*, &SgDataStatementValue::p_repeat_expression>;
13567 static constexpr size_t position{3};
13568 static constexpr char const *
const name{
"constant_expression"};
13569 static constexpr char const *
const typestr{
"SgExpression*"};
13570 static constexpr bool traverse{
false};
13571 static constexpr auto mbr_ptr{&SgDataStatementValue::p_constant_expression};
13572 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13573 using bind = Desc<SgDataStatementValue, SgExpression* SgDataStatementValue::*, &SgDataStatementValue::p_constant_expression>;
13578 static constexpr char const *
const name{
"DataStatementValue"};
13579 static constexpr unsigned long variant{358};
13580 static constexpr bool concrete{
true};
13582 using fields_t =
mp::List<describe_field_t<SgDataStatementValue,SgDataStatementValue::data_statement_value_enum,&SgDataStatementValue::p_data_initialization_format>,
describe_field_t<SgDataStatementValue,SgExprListExp*,&SgDataStatementValue::p_initializer_list>,
describe_field_t<SgDataStatementValue,SgExpression*,&SgDataStatementValue::p_repeat_expression>,
describe_field_t<SgDataStatementValue,SgExpression*,&SgDataStatementValue::p_constant_expression>>;
13590 static constexpr char const *
const name{
"DeadIfDirectiveStatement"};
13591 static constexpr unsigned long variant{359};
13592 static constexpr bool concrete{
true};
13602 static constexpr size_t position{0};
13603 static constexpr char const *
const name{
"expr_list"};
13604 static constexpr char const *
const typestr{
"SgExprListExp*"};
13605 static constexpr bool traverse{
true};
13606 static constexpr auto mbr_ptr{&SgDeallocateStatement::p_expr_list};
13607 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13608 using bind = Desc<SgDeallocateStatement, SgExprListExp* SgDeallocateStatement::*, &SgDeallocateStatement::p_expr_list>;
13613 static constexpr size_t position{1};
13614 static constexpr char const *
const name{
"stat_expression"};
13615 static constexpr char const *
const typestr{
"SgExpression*"};
13616 static constexpr bool traverse{
true};
13617 static constexpr auto mbr_ptr{&SgDeallocateStatement::p_stat_expression};
13618 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13619 using bind = Desc<SgDeallocateStatement, SgExpression* SgDeallocateStatement::*, &SgDeallocateStatement::p_stat_expression>;
13624 static constexpr size_t position{2};
13625 static constexpr char const *
const name{
"errmsg_expression"};
13626 static constexpr char const *
const typestr{
"SgExpression*"};
13627 static constexpr bool traverse{
true};
13628 static constexpr auto mbr_ptr{&SgDeallocateStatement::p_errmsg_expression};
13629 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13630 using bind = Desc<SgDeallocateStatement, SgExpression* SgDeallocateStatement::*, &SgDeallocateStatement::p_errmsg_expression>;
13635 static constexpr char const *
const name{
"DeallocateStatement"};
13636 static constexpr unsigned long variant{360};
13637 static constexpr bool concrete{
true};
13646 using field_type = SgBitVector;
13647 static constexpr size_t position{0};
13648 static constexpr char const *
const name{
"modifierVector"};
13649 static constexpr char const *
const typestr{
"SgBitVector"};
13650 static constexpr bool traverse{
false};
13652 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13653 using bind = Desc<SgDeclarationModifier, SgBitVector SgDeclarationModifier::*, &SgDeclarationModifier::p_modifierVector>;
13658 static constexpr size_t position{1};
13659 static constexpr char const *
const name{
"typeModifier"};
13660 static constexpr char const *
const typestr{
"SgTypeModifier"};
13661 static constexpr bool traverse{
false};
13663 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13664 using bind = Desc<SgDeclarationModifier, SgTypeModifier SgDeclarationModifier::*, &SgDeclarationModifier::p_typeModifier>;
13669 static constexpr size_t position{2};
13670 static constexpr char const *
const name{
"accessModifier"};
13671 static constexpr char const *
const typestr{
"SgAccessModifier"};
13672 static constexpr bool traverse{
false};
13674 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13675 using bind = Desc<SgDeclarationModifier, SgAccessModifier SgDeclarationModifier::*, &SgDeclarationModifier::p_accessModifier>;
13680 static constexpr size_t position{3};
13681 static constexpr char const *
const name{
"storageModifier"};
13682 static constexpr char const *
const typestr{
"SgStorageModifier"};
13683 static constexpr bool traverse{
false};
13685 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13686 using bind = Desc<SgDeclarationModifier, SgStorageModifier SgDeclarationModifier::*, &SgDeclarationModifier::p_storageModifier>;
13690 using field_type = std::string;
13691 static constexpr size_t position{4};
13692 static constexpr char const *
const name{
"gnu_attribute_section_name"};
13693 static constexpr char const *
const typestr{
"std::string"};
13694 static constexpr bool traverse{
false};
13695 static constexpr auto mbr_ptr{&SgDeclarationModifier::p_gnu_attribute_section_name};
13696 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13697 using bind = Desc<SgDeclarationModifier, std::string SgDeclarationModifier::*, &SgDeclarationModifier::p_gnu_attribute_section_name>;
13702 static constexpr size_t position{5};
13703 static constexpr char const *
const name{
"gnu_attribute_visability"};
13704 static constexpr char const *
const typestr{
"SgDeclarationModifier::gnu_declaration_visability_enum"};
13705 static constexpr bool traverse{
false};
13706 static constexpr auto mbr_ptr{&SgDeclarationModifier::p_gnu_attribute_visability};
13707 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13708 using bind = Desc<SgDeclarationModifier, SgDeclarationModifier::gnu_declaration_visability_enum SgDeclarationModifier::*, &SgDeclarationModifier::p_gnu_attribute_visability>;
13712 using field_type = std::string;
13713 static constexpr size_t position{6};
13714 static constexpr char const *
const name{
"microsoft_uuid_string"};
13715 static constexpr char const *
const typestr{
"std::string"};
13716 static constexpr bool traverse{
false};
13717 static constexpr auto mbr_ptr{&SgDeclarationModifier::p_microsoft_uuid_string};
13718 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13719 using bind = Desc<SgDeclarationModifier, std::string SgDeclarationModifier::*, &SgDeclarationModifier::p_microsoft_uuid_string>;
13723 using field_type = std::string;
13724 static constexpr size_t position{7};
13725 static constexpr char const *
const name{
"microsoft_property_get_function_name"};
13726 static constexpr char const *
const typestr{
"std::string"};
13727 static constexpr bool traverse{
false};
13728 static constexpr auto mbr_ptr{&SgDeclarationModifier::p_microsoft_property_get_function_name};
13729 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13730 using bind = Desc<SgDeclarationModifier, std::string SgDeclarationModifier::*, &SgDeclarationModifier::p_microsoft_property_get_function_name>;
13734 using field_type = std::string;
13735 static constexpr size_t position{8};
13736 static constexpr char const *
const name{
"microsoft_property_put_function_name"};
13737 static constexpr char const *
const typestr{
"std::string"};
13738 static constexpr bool traverse{
false};
13739 static constexpr auto mbr_ptr{&SgDeclarationModifier::p_microsoft_property_put_function_name};
13740 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13741 using bind = Desc<SgDeclarationModifier, std::string SgDeclarationModifier::*, &SgDeclarationModifier::p_microsoft_property_put_function_name>;
13746 static constexpr char const *
const name{
"DeclarationModifier"};
13747 static constexpr unsigned long variant{361};
13748 static constexpr bool concrete{
true};
13750 using fields_t =
mp::List<describe_field_t<SgDeclarationModifier,SgBitVector,&SgDeclarationModifier::p_modifierVector>,
describe_field_t<SgDeclarationModifier,SgTypeModifier,&SgDeclarationModifier::p_typeModifier>,
describe_field_t<SgDeclarationModifier,SgAccessModifier,&SgDeclarationModifier::p_accessModifier>,
describe_field_t<SgDeclarationModifier,SgStorageModifier,&SgDeclarationModifier::p_storageModifier>,
describe_field_t<SgDeclarationModifier,std::string,&SgDeclarationModifier::p_gnu_attribute_section_name>,
describe_field_t<SgDeclarationModifier,SgDeclarationModifier::gnu_declaration_visability_enum,&SgDeclarationModifier::p_gnu_attribute_visability>,
describe_field_t<SgDeclarationModifier,std::string,&SgDeclarationModifier::p_microsoft_uuid_string>,
describe_field_t<SgDeclarationModifier,std::string,&SgDeclarationModifier::p_microsoft_property_get_function_name>,
describe_field_t<SgDeclarationModifier,std::string,&SgDeclarationModifier::p_microsoft_property_put_function_name>>;
13758 static constexpr char const *
const name{
"DeclarationScope"};
13759 static constexpr unsigned long variant{362};
13760 static constexpr bool concrete{
true};
13769 using field_type =
unsigned int;
13770 static constexpr size_t position{0};
13771 static constexpr char const *
const name{
"decl_attributes"};
13772 static constexpr char const *
const typestr{
"unsigned int"};
13773 static constexpr bool traverse{
false};
13775 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13776 using bind = Desc<SgDeclarationStatement, unsigned int SgDeclarationStatement::*, &SgDeclarationStatement::p_decl_attributes>;
13780 using field_type = std::string;
13781 static constexpr size_t position{1};
13782 static constexpr char const *
const name{
"linkage"};
13783 static constexpr char const *
const typestr{
"std::string"};
13784 static constexpr bool traverse{
false};
13786 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13787 using bind = Desc<SgDeclarationStatement, std::string SgDeclarationStatement::*, &SgDeclarationStatement::p_linkage>;
13792 static constexpr size_t position{2};
13793 static constexpr char const *
const name{
"declarationModifier"};
13794 static constexpr char const *
const typestr{
"SgDeclarationModifier"};
13795 static constexpr bool traverse{
false};
13797 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13798 using bind = Desc<SgDeclarationStatement, SgDeclarationModifier SgDeclarationStatement::*, &SgDeclarationStatement::p_declarationModifier>;
13802 using field_type = bool;
13803 static constexpr size_t position{3};
13804 static constexpr char const *
const name{
"nameOnly"};
13805 static constexpr char const *
const typestr{
"bool"};
13806 static constexpr bool traverse{
false};
13808 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13809 using bind = Desc<SgDeclarationStatement, bool SgDeclarationStatement::*, &SgDeclarationStatement::p_nameOnly>;
13813 using field_type = bool;
13814 static constexpr size_t position{4};
13815 static constexpr char const *
const name{
"forward"};
13816 static constexpr char const *
const typestr{
"bool"};
13817 static constexpr bool traverse{
false};
13819 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13820 using bind = Desc<SgDeclarationStatement, bool SgDeclarationStatement::*, &SgDeclarationStatement::p_forward>;
13824 using field_type = bool;
13825 static constexpr size_t position{5};
13826 static constexpr char const *
const name{
"externBrace"};
13827 static constexpr char const *
const typestr{
"bool"};
13828 static constexpr bool traverse{
false};
13830 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13831 using bind = Desc<SgDeclarationStatement, bool SgDeclarationStatement::*, &SgDeclarationStatement::p_externBrace>;
13835 using field_type = bool;
13836 static constexpr size_t position{6};
13837 static constexpr char const *
const name{
"skipElaborateType"};
13838 static constexpr char const *
const typestr{
"bool"};
13839 static constexpr bool traverse{
false};
13841 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13842 using bind = Desc<SgDeclarationStatement, bool SgDeclarationStatement::*, &SgDeclarationStatement::p_skipElaborateType>;
13847 static constexpr size_t position{7};
13848 static constexpr char const *
const name{
"definingDeclaration"};
13849 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
13850 static constexpr bool traverse{
false};
13852 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13853 using bind = Desc<SgDeclarationStatement, SgDeclarationStatement* SgDeclarationStatement::*, &SgDeclarationStatement::p_definingDeclaration>;
13858 static constexpr size_t position{8};
13859 static constexpr char const *
const name{
"firstNondefiningDeclaration"};
13860 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
13861 static constexpr bool traverse{
false};
13863 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13864 using bind = Desc<SgDeclarationStatement, SgDeclarationStatement* SgDeclarationStatement::*, &SgDeclarationStatement::p_firstNondefiningDeclaration>;
13868 using field_type = SgQualifiedNamePtrList;
13869 static constexpr size_t position{9};
13870 static constexpr char const *
const name{
"qualifiedNameList"};
13871 static constexpr char const *
const typestr{
"SgQualifiedNamePtrList"};
13872 static constexpr bool traverse{
false};
13873 static constexpr auto mbr_ptr{&SgDeclarationStatement::p_qualifiedNameList};
13874 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13875 using bind = Desc<SgDeclarationStatement, SgQualifiedNamePtrList SgDeclarationStatement::*, &SgDeclarationStatement::p_qualifiedNameList>;
13879 using field_type = std::string;
13880 static constexpr size_t position{10};
13881 static constexpr char const *
const name{
"binding_label"};
13882 static constexpr char const *
const typestr{
"std::string"};
13883 static constexpr bool traverse{
false};
13884 static constexpr auto mbr_ptr{&SgDeclarationStatement::p_binding_label};
13885 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13886 using bind = Desc<SgDeclarationStatement, std::string SgDeclarationStatement::*, &SgDeclarationStatement::p_binding_label>;
13891 static constexpr size_t position{11};
13892 static constexpr char const *
const name{
"declarationScope"};
13893 static constexpr char const *
const typestr{
"SgDeclarationScope*"};
13894 static constexpr bool traverse{
false};
13895 static constexpr auto mbr_ptr{&SgDeclarationStatement::p_declarationScope};
13896 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13897 using bind = Desc<SgDeclarationStatement, SgDeclarationScope* SgDeclarationStatement::*, &SgDeclarationStatement::p_declarationScope>;
13901 using field_type = bool;
13902 static constexpr size_t position{12};
13903 static constexpr char const *
const name{
"unparse_template_ast"};
13904 static constexpr char const *
const typestr{
"bool"};
13905 static constexpr bool traverse{
false};
13906 static constexpr auto mbr_ptr{&SgDeclarationStatement::p_unparse_template_ast};
13907 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13908 using bind = Desc<SgDeclarationStatement, bool SgDeclarationStatement::*, &SgDeclarationStatement::p_unparse_template_ast>;
13913 static constexpr size_t position{13};
13914 static constexpr char const *
const name{
"adaAspects"};
13915 static constexpr char const *
const typestr{
"SgExprListExp*"};
13916 static constexpr bool traverse{
false};
13917 static constexpr auto mbr_ptr{&SgDeclarationStatement::p_adaAspects};
13918 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13919 using bind = Desc<SgDeclarationStatement, SgExprListExp* SgDeclarationStatement::*, &SgDeclarationStatement::p_adaAspects>;
13924 static constexpr char const *
const name{
"DeclarationStatement"};
13925 static constexpr unsigned long variant{363};
13926 static constexpr bool concrete{
false};
13927 using subclasses_t =
mp::List<SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgJavaPackageStatement, SgStmtDeclarationStatement, SgStaticAssertionDeclaration, SgOmpDeclareSimdStatement, SgMicrosoftAttributeDeclaration, SgJovialCompoolStatement, SgJovialDirectiveStatement, SgJovialDefineDeclaration, SgJovialLabelDeclaration, SgJovialOverlayDeclaration, SgNonrealDecl, SgEmptyDeclaration, SgAdaPackageBodyDecl, SgAdaPackageSpecDecl, SgAdaRenamingDecl, SgAdaTaskSpecDecl, SgAdaTaskBodyDecl, SgAdaTaskTypeDecl, SgAdaProtectedSpecDecl, SgAdaProtectedBodyDecl, SgAdaProtectedTypeDecl, SgAdaRepresentationClause, SgAdaComponentClause, SgAdaAttributeClause, SgAdaEnumRepresentationClause, SgAdaGenericDecl, SgAdaFormalTypeDecl, SgAdaDiscriminatedTypeDecl, SgAdaGenericInstanceDecl, SgAdaFormalPackageDecl, SgAdaParameterList, SgAdaVariantDecl>;
13928 using fields_t =
mp::List<describe_field_t<SgDeclarationStatement,unsigned int,&SgDeclarationStatement::p_decl_attributes>,
describe_field_t<SgDeclarationStatement,std::string,&SgDeclarationStatement::p_linkage>,
describe_field_t<SgDeclarationStatement,SgDeclarationModifier,&SgDeclarationStatement::p_declarationModifier>,
describe_field_t<SgDeclarationStatement,bool,&SgDeclarationStatement::p_nameOnly>,
describe_field_t<SgDeclarationStatement,bool,&SgDeclarationStatement::p_forward>,
describe_field_t<SgDeclarationStatement,bool,&SgDeclarationStatement::p_externBrace>,
describe_field_t<SgDeclarationStatement,bool,&SgDeclarationStatement::p_skipElaborateType>,
describe_field_t<SgDeclarationStatement,SgDeclarationStatement*,&SgDeclarationStatement::p_definingDeclaration>,
describe_field_t<SgDeclarationStatement,SgDeclarationStatement*,&SgDeclarationStatement::p_firstNondefiningDeclaration>,
describe_field_t<SgDeclarationStatement,SgQualifiedNamePtrList,&SgDeclarationStatement::p_qualifiedNameList>,
describe_field_t<SgDeclarationStatement,std::string,&SgDeclarationStatement::p_binding_label>,
describe_field_t<SgDeclarationStatement,SgDeclarationScope*,&SgDeclarationStatement::p_declarationScope>,
describe_field_t<SgDeclarationStatement,bool,&SgDeclarationStatement::p_unparse_template_ast>,
describe_field_t<SgDeclarationStatement,SgExprListExp*,&SgDeclarationStatement::p_adaAspects>>;
13936 static constexpr size_t position{0};
13937 static constexpr char const *
const name{
"base_expression"};
13938 static constexpr char const *
const typestr{
"SgExpression*"};
13939 static constexpr bool traverse{
false};
13940 static constexpr auto mbr_ptr{&SgDeclType::p_base_expression};
13941 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13942 using bind = Desc<SgDeclType, SgExpression* SgDeclType::*, &SgDeclType::p_base_expression>;
13947 static constexpr size_t position{1};
13948 static constexpr char const *
const name{
"base_type"};
13949 static constexpr char const *
const typestr{
"SgType*"};
13950 static constexpr bool traverse{
false};
13951 static constexpr auto mbr_ptr{&SgDeclType::p_base_type};
13952 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13953 using bind = Desc<SgDeclType, SgType* SgDeclType::*, &SgDeclType::p_base_type>;
13958 static constexpr char const *
const name{
"DeclType"};
13959 static constexpr unsigned long variant{364};
13960 static constexpr bool concrete{
true};
13970 static constexpr size_t position{0};
13971 static constexpr char const *
const name{
"body"};
13972 static constexpr char const *
const typestr{
"SgStatement*"};
13973 static constexpr bool traverse{
true};
13975 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13976 using bind = Desc<SgDefaultOptionStmt, SgStatement* SgDefaultOptionStmt::*, &SgDefaultOptionStmt::p_body>;
13980 using field_type = std::string;
13981 static constexpr size_t position{1};
13982 static constexpr char const *
const name{
"default_construct_name"};
13983 static constexpr char const *
const typestr{
"std::string"};
13984 static constexpr bool traverse{
false};
13985 static constexpr auto mbr_ptr{&SgDefaultOptionStmt::p_default_construct_name};
13986 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13987 using bind = Desc<SgDefaultOptionStmt, std::string SgDefaultOptionStmt::*, &SgDefaultOptionStmt::p_default_construct_name>;
13991 using field_type = bool;
13992 static constexpr size_t position{2};
13993 static constexpr char const *
const name{
"has_fall_through"};
13994 static constexpr char const *
const typestr{
"bool"};
13995 static constexpr bool traverse{
false};
13996 static constexpr auto mbr_ptr{&SgDefaultOptionStmt::p_has_fall_through};
13997 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13998 using bind = Desc<SgDefaultOptionStmt, bool SgDefaultOptionStmt::*, &SgDefaultOptionStmt::p_has_fall_through>;
14003 static constexpr char const *
const name{
"DefaultOptionStmt"};
14004 static constexpr unsigned long variant{365};
14005 static constexpr bool concrete{
true};
14015 static constexpr size_t position{0};
14016 static constexpr char const *
const name{
"type"};
14017 static constexpr char const *
const typestr{
"SgType*"};
14018 static constexpr bool traverse{
false};
14019 static constexpr auto mbr_ptr{&SgDefaultSymbol::p_type};
14020 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14021 using bind = Desc<SgDefaultSymbol, SgType* SgDefaultSymbol::*, &SgDefaultSymbol::p_type>;
14026 static constexpr char const *
const name{
"DefaultSymbol"};
14027 static constexpr unsigned long variant{366};
14028 static constexpr bool concrete{
true};
14038 static constexpr char const *
const name{
"DefineDirectiveStatement"};
14039 static constexpr unsigned long variant{367};
14040 static constexpr bool concrete{
true};
14050 static constexpr size_t position{0};
14051 static constexpr char const *
const name{
"variable"};
14052 static constexpr char const *
const typestr{
"SgExpression*"};
14053 static constexpr bool traverse{
true};
14055 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14056 using bind = Desc<SgDeleteExp, SgExpression* SgDeleteExp::*, &SgDeleteExp::p_variable>;
14060 using field_type = short;
14061 static constexpr size_t position{1};
14062 static constexpr char const *
const name{
"is_array"};
14063 static constexpr char const *
const typestr{
"short"};
14064 static constexpr bool traverse{
false};
14066 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14067 using bind = Desc<SgDeleteExp, short SgDeleteExp::*, &SgDeleteExp::p_is_array>;
14071 using field_type = short;
14072 static constexpr size_t position{2};
14073 static constexpr char const *
const name{
"need_global_specifier"};
14074 static constexpr char const *
const typestr{
"short"};
14075 static constexpr bool traverse{
false};
14077 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14078 using bind = Desc<SgDeleteExp, short SgDeleteExp::*, &SgDeleteExp::p_need_global_specifier>;
14083 static constexpr size_t position{3};
14084 static constexpr char const *
const name{
"deleteOperatorDeclaration"};
14085 static constexpr char const *
const typestr{
"SgFunctionDeclaration*"};
14086 static constexpr bool traverse{
false};
14087 static constexpr auto mbr_ptr{&SgDeleteExp::p_deleteOperatorDeclaration};
14088 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14089 using bind = Desc<SgDeleteExp, SgFunctionDeclaration* SgDeleteExp::*, &SgDeleteExp::p_deleteOperatorDeclaration>;
14094 static constexpr char const *
const name{
"DeleteExp"};
14095 static constexpr unsigned long variant{368};
14096 static constexpr bool concrete{
true};
14098 using fields_t =
mp::List<describe_field_t<SgDeleteExp,SgExpression*,&SgDeleteExp::p_variable>,
describe_field_t<SgDeleteExp,short,&SgDeleteExp::p_is_array>,
describe_field_t<SgDeleteExp,short,&SgDeleteExp::p_need_global_specifier>,
describe_field_t<SgDeleteExp,SgFunctionDeclaration*,&SgDeleteExp::p_deleteOperatorDeclaration>>;
14106 static constexpr size_t position{0};
14107 static constexpr char const *
const name{
"end_numeric_label"};
14108 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
14109 static constexpr bool traverse{
false};
14110 static constexpr auto mbr_ptr{&SgDerivedTypeStatement::p_end_numeric_label};
14111 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14112 using bind = Desc<SgDerivedTypeStatement, SgLabelRefExp* SgDerivedTypeStatement::*, &SgDerivedTypeStatement::p_end_numeric_label>;
14117 static constexpr char const *
const name{
"DerivedTypeStatement"};
14118 static constexpr unsigned long variant{369};
14119 static constexpr bool concrete{
true};
14129 static constexpr size_t position{0};
14130 static constexpr char const *
const name{
"designatorList"};
14131 static constexpr char const *
const typestr{
"SgExprListExp*"};
14132 static constexpr bool traverse{
true};
14133 static constexpr auto mbr_ptr{&SgDesignatedInitializer::p_designatorList};
14134 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14135 using bind = Desc<SgDesignatedInitializer, SgExprListExp* SgDesignatedInitializer::*, &SgDesignatedInitializer::p_designatorList>;
14140 static constexpr size_t position{1};
14141 static constexpr char const *
const name{
"memberInit"};
14142 static constexpr char const *
const typestr{
"SgInitializer*"};
14143 static constexpr bool traverse{
true};
14144 static constexpr auto mbr_ptr{&SgDesignatedInitializer::p_memberInit};
14145 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14146 using bind = Desc<SgDesignatedInitializer, SgInitializer* SgDesignatedInitializer::*, &SgDesignatedInitializer::p_memberInit>;
14151 static constexpr char const *
const name{
"DesignatedInitializer"};
14152 static constexpr unsigned long variant{370};
14153 static constexpr bool concrete{
true};
14163 static constexpr size_t position{0};
14164 static constexpr char const *
const name{
"element"};
14165 static constexpr char const *
const typestr{
"SgKeyDatumPair*"};
14166 static constexpr bool traverse{
true};
14167 static constexpr auto mbr_ptr{&SgDictionaryComprehension::p_element};
14168 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14169 using bind = Desc<SgDictionaryComprehension, SgKeyDatumPair* SgDictionaryComprehension::*, &SgDictionaryComprehension::p_element>;
14174 static constexpr size_t position{1};
14175 static constexpr char const *
const name{
"generators"};
14176 static constexpr char const *
const typestr{
"SgExprListExp*"};
14177 static constexpr bool traverse{
true};
14178 static constexpr auto mbr_ptr{&SgDictionaryComprehension::p_generators};
14179 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14180 using bind = Desc<SgDictionaryComprehension, SgExprListExp* SgDictionaryComprehension::*, &SgDictionaryComprehension::p_generators>;
14185 static constexpr char const *
const name{
"DictionaryComprehension"};
14186 static constexpr unsigned long variant{371};
14187 static constexpr bool concrete{
true};
14196 using field_type = SgKeyDatumPairPtrList;
14197 static constexpr size_t position{0};
14198 static constexpr char const *
const name{
"key_datum_pairs"};
14199 static constexpr char const *
const typestr{
"SgKeyDatumPairPtrList"};
14200 static constexpr bool traverse{
true};
14201 static constexpr auto mbr_ptr{&SgDictionaryExp::p_key_datum_pairs};
14202 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14203 using bind = Desc<SgDictionaryExp, SgKeyDatumPairPtrList SgDictionaryExp::*, &SgDictionaryExp::p_key_datum_pairs>;
14208 static constexpr char const *
const name{
"DictionaryExp"};
14209 static constexpr unsigned long variant{372};
14210 static constexpr bool concrete{
true};
14220 static constexpr size_t position{0};
14221 static constexpr char const *
const name{
"array"};
14222 static constexpr char const *
const typestr{
"SgInitializedName*"};
14223 static constexpr bool traverse{
false};
14224 static constexpr auto mbr_ptr{&SgDimensionObject::p_array};
14225 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14226 using bind = Desc<SgDimensionObject, SgInitializedName* SgDimensionObject::*, &SgDimensionObject::p_array>;
14231 static constexpr size_t position{1};
14232 static constexpr char const *
const name{
"shape"};
14233 static constexpr char const *
const typestr{
"SgExprListExp*"};
14234 static constexpr bool traverse{
false};
14235 static constexpr auto mbr_ptr{&SgDimensionObject::p_shape};
14236 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14237 using bind = Desc<SgDimensionObject, SgExprListExp* SgDimensionObject::*, &SgDimensionObject::p_shape>;
14242 static constexpr char const *
const name{
"DimensionObject"};
14243 static constexpr unsigned long variant{373};
14244 static constexpr bool concrete{
true};
14254 static constexpr char const *
const name{
"DirectedGraphEdge"};
14255 static constexpr unsigned long variant{375};
14256 static constexpr bool concrete{
true};
14265 using field_type = std::string;
14266 static constexpr size_t position{0};
14267 static constexpr char const *
const name{
"name"};
14268 static constexpr char const *
const typestr{
"std::string"};
14269 static constexpr bool traverse{
false};
14270 static constexpr auto mbr_ptr{&SgDirectory::p_name};
14271 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14272 using bind = Desc<SgDirectory, std::string SgDirectory::*, &SgDirectory::p_name>;
14277 static constexpr size_t position{1};
14278 static constexpr char const *
const name{
"fileList"};
14279 static constexpr char const *
const typestr{
"SgFileList*"};
14280 static constexpr bool traverse{
true};
14281 static constexpr auto mbr_ptr{&SgDirectory::p_fileList};
14282 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14283 using bind = Desc<SgDirectory, SgFileList* SgDirectory::*, &SgDirectory::p_fileList>;
14288 static constexpr size_t position{2};
14289 static constexpr char const *
const name{
"directoryList"};
14290 static constexpr char const *
const typestr{
"SgDirectoryList*"};
14291 static constexpr bool traverse{
true};
14292 static constexpr auto mbr_ptr{&SgDirectory::p_directoryList};
14293 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14294 using bind = Desc<SgDirectory, SgDirectoryList* SgDirectory::*, &SgDirectory::p_directoryList>;
14299 static constexpr size_t position{3};
14300 static constexpr char const *
const name{
"attributeMechanism"};
14301 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
14302 static constexpr bool traverse{
false};
14303 static constexpr auto mbr_ptr{&SgDirectory::p_attributeMechanism};
14304 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14305 using bind = Desc<SgDirectory, AstAttributeMechanism* SgDirectory::*, &SgDirectory::p_attributeMechanism>;
14310 static constexpr char const *
const name{
"Directory"};
14311 static constexpr unsigned long variant{377};
14312 static constexpr bool concrete{
true};
14314 using fields_t =
mp::List<describe_field_t<SgDirectory,std::string,&SgDirectory::p_name>,
describe_field_t<SgDirectory,SgFileList*,&SgDirectory::p_fileList>,
describe_field_t<SgDirectory,SgDirectoryList*,&SgDirectory::p_directoryList>,
describe_field_t<SgDirectory,AstAttributeMechanism*,&SgDirectory::p_attributeMechanism>>;
14321 using field_type = SgDirectoryPtrList;
14322 static constexpr size_t position{0};
14323 static constexpr char const *
const name{
"listOfDirectories"};
14324 static constexpr char const *
const typestr{
"SgDirectoryPtrList"};
14325 static constexpr bool traverse{
true};
14326 static constexpr auto mbr_ptr{&SgDirectoryList::p_listOfDirectories};
14327 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14328 using bind = Desc<SgDirectoryList, SgDirectoryPtrList SgDirectoryList::*, &SgDirectoryList::p_listOfDirectories>;
14333 static constexpr char const *
const name{
"DirectoryList"};
14334 static constexpr unsigned long variant{378};
14335 static constexpr bool concrete{
true};
14345 static constexpr char const *
const name{
"DivAssignOp"};
14346 static constexpr unsigned long variant{379};
14347 static constexpr bool concrete{
true};
14357 static constexpr char const *
const name{
"DivideOp"};
14358 static constexpr unsigned long variant{380};
14359 static constexpr bool concrete{
true};
14369 static constexpr size_t position{0};
14370 static constexpr char const *
const name{
"body"};
14371 static constexpr char const *
const typestr{
"SgStatement*"};
14372 static constexpr bool traverse{
true};
14374 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14375 using bind = Desc<SgDoWhileStmt, SgStatement* SgDoWhileStmt::*, &SgDoWhileStmt::p_body>;
14380 static constexpr size_t position{1};
14381 static constexpr char const *
const name{
"condition"};
14382 static constexpr char const *
const typestr{
"SgStatement*"};
14383 static constexpr bool traverse{
true};
14385 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14386 using bind = Desc<SgDoWhileStmt, SgStatement* SgDoWhileStmt::*, &SgDoWhileStmt::p_condition>;
14391 static constexpr char const *
const name{
"DoWhileStmt"};
14392 static constexpr unsigned long variant{381};
14393 static constexpr bool concrete{
true};
14403 static constexpr char const *
const name{
"DotExp"};
14404 static constexpr unsigned long variant{382};
14405 static constexpr bool concrete{
true};
14415 static constexpr char const *
const name{
"DotStarOp"};
14416 static constexpr unsigned long variant{383};
14417 static constexpr bool concrete{
true};
14426 using field_type = double;
14427 static constexpr size_t position{0};
14428 static constexpr char const *
const name{
"value"};
14429 static constexpr char const *
const typestr{
"double"};
14430 static constexpr bool traverse{
false};
14432 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14433 using bind = Desc<SgDoubleVal, double SgDoubleVal::*, &SgDoubleVal::p_value>;
14437 using field_type = std::string;
14438 static constexpr size_t position{1};
14439 static constexpr char const *
const name{
"valueString"};
14440 static constexpr char const *
const typestr{
"std::string"};
14441 static constexpr bool traverse{
false};
14442 static constexpr auto mbr_ptr{&SgDoubleVal::p_valueString};
14443 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14444 using bind = Desc<SgDoubleVal, std::string SgDoubleVal::*, &SgDoubleVal::p_valueString>;
14449 static constexpr char const *
const name{
"DoubleVal"};
14450 static constexpr unsigned long variant{384};
14451 static constexpr bool concrete{
true};
14461 static constexpr size_t position{0};
14462 static constexpr char const *
const name{
"modifier"};
14463 static constexpr char const *
const typestr{
"SgElaboratedTypeModifier::elaborated_type_modifier_enum"};
14464 static constexpr bool traverse{
false};
14465 static constexpr auto mbr_ptr{&SgElaboratedTypeModifier::p_modifier};
14466 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14467 using bind = Desc<SgElaboratedTypeModifier, SgElaboratedTypeModifier::elaborated_type_modifier_enum SgElaboratedTypeModifier::*, &SgElaboratedTypeModifier::p_modifier>;
14472 static constexpr char const *
const name{
"ElaboratedTypeModifier"};
14473 static constexpr unsigned long variant{385};
14474 static constexpr bool concrete{
true};
14484 static constexpr char const *
const name{
"ElementwiseOp"};
14485 static constexpr unsigned long variant{386};
14486 static constexpr bool concrete{
false};
14496 static constexpr char const *
const name{
"ElementwiseAddOp"};
14497 static constexpr unsigned long variant{387};
14498 static constexpr bool concrete{
true};
14508 static constexpr char const *
const name{
"ElementwiseDivideOp"};
14509 static constexpr unsigned long variant{388};
14510 static constexpr bool concrete{
true};
14520 static constexpr char const *
const name{
"ElementwiseLeftDivideOp"};
14521 static constexpr unsigned long variant{389};
14522 static constexpr bool concrete{
true};
14532 static constexpr char const *
const name{
"ElementwiseMultiplyOp"};
14533 static constexpr unsigned long variant{390};
14534 static constexpr bool concrete{
true};
14544 static constexpr char const *
const name{
"ElementwisePowerOp"};
14545 static constexpr unsigned long variant{391};
14546 static constexpr bool concrete{
true};
14556 static constexpr char const *
const name{
"ElementwiseSubtractOp"};
14557 static constexpr unsigned long variant{392};
14558 static constexpr bool concrete{
true};
14568 static constexpr char const *
const name{
"ElseDirectiveStatement"};
14569 static constexpr unsigned long variant{393};
14570 static constexpr bool concrete{
true};
14580 static constexpr size_t position{0};
14581 static constexpr char const *
const name{
"condition"};
14582 static constexpr char const *
const typestr{
"SgExpression*"};
14583 static constexpr bool traverse{
true};
14584 static constexpr auto mbr_ptr{&SgElseWhereStatement::p_condition};
14585 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14586 using bind = Desc<SgElseWhereStatement, SgExpression* SgElseWhereStatement::*, &SgElseWhereStatement::p_condition>;
14591 static constexpr size_t position{1};
14592 static constexpr char const *
const name{
"body"};
14593 static constexpr char const *
const typestr{
"SgBasicBlock*"};
14594 static constexpr bool traverse{
true};
14595 static constexpr auto mbr_ptr{&SgElseWhereStatement::p_body};
14596 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14597 using bind = Desc<SgElseWhereStatement, SgBasicBlock* SgElseWhereStatement::*, &SgElseWhereStatement::p_body>;
14602 static constexpr size_t position{2};
14603 static constexpr char const *
const name{
"elsewhere"};
14604 static constexpr char const *
const typestr{
"SgElseWhereStatement*"};
14605 static constexpr bool traverse{
true};
14606 static constexpr auto mbr_ptr{&SgElseWhereStatement::p_elsewhere};
14607 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14608 using bind = Desc<SgElseWhereStatement, SgElseWhereStatement* SgElseWhereStatement::*, &SgElseWhereStatement::p_elsewhere>;
14613 static constexpr char const *
const name{
"ElseWhereStatement"};
14614 static constexpr unsigned long variant{394};
14615 static constexpr bool concrete{
true};
14625 static constexpr char const *
const name{
"ElseifDirectiveStatement"};
14626 static constexpr unsigned long variant{395};
14627 static constexpr bool concrete{
true};
14637 static constexpr char const *
const name{
"EmptyDeclaration"};
14638 static constexpr unsigned long variant{396};
14639 static constexpr bool concrete{
true};
14649 static constexpr char const *
const name{
"EmptyDirectiveStatement"};
14650 static constexpr unsigned long variant{397};
14651 static constexpr bool concrete{
true};
14661 static constexpr char const *
const name{
"EndfileStatement"};
14662 static constexpr unsigned long variant{398};
14663 static constexpr bool concrete{
true};
14673 static constexpr char const *
const name{
"EndifDirectiveStatement"};
14674 static constexpr unsigned long variant{399};
14675 static constexpr bool concrete{
true};
14685 static constexpr size_t position{0};
14686 static constexpr char const *
const name{
"result_name"};
14687 static constexpr char const *
const typestr{
"SgInitializedName*"};
14688 static constexpr bool traverse{
true};
14689 static constexpr auto mbr_ptr{&SgEntryStatement::p_result_name};
14690 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14691 using bind = Desc<SgEntryStatement, SgInitializedName* SgEntryStatement::*, &SgEntryStatement::p_result_name>;
14696 static constexpr char const *
const name{
"EntryStatement"};
14697 static constexpr unsigned long variant{400};
14698 static constexpr bool concrete{
true};
14708 static constexpr size_t position{0};
14709 static constexpr char const *
const name{
"name"};
14710 static constexpr char const *
const typestr{
"SgName"};
14711 static constexpr bool traverse{
false};
14713 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14714 using bind = Desc<SgEnumDeclaration, SgName SgEnumDeclaration::*, &SgEnumDeclaration::p_name>;
14718 using field_type = bool;
14719 static constexpr size_t position{1};
14720 static constexpr char const *
const name{
"embedded"};
14721 static constexpr char const *
const typestr{
"bool"};
14722 static constexpr bool traverse{
false};
14724 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14725 using bind = Desc<SgEnumDeclaration, bool SgEnumDeclaration::*, &SgEnumDeclaration::p_embedded>;
14730 static constexpr size_t position{2};
14731 static constexpr char const *
const name{
"type"};
14732 static constexpr char const *
const typestr{
"SgEnumType*"};
14733 static constexpr bool traverse{
false};
14735 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14736 using bind = Desc<SgEnumDeclaration, SgEnumType* SgEnumDeclaration::*, &SgEnumDeclaration::p_type>;
14741 static constexpr size_t position{3};
14742 static constexpr char const *
const name{
"adaParentType"};
14743 static constexpr char const *
const typestr{
"SgType*"};
14744 static constexpr bool traverse{
false};
14745 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_adaParentType};
14746 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14747 using bind = Desc<SgEnumDeclaration, SgType* SgEnumDeclaration::*, &SgEnumDeclaration::p_adaParentType>;
14751 using field_type = SgInitializedNamePtrList;
14752 static constexpr size_t position{4};
14753 static constexpr char const *
const name{
"enumerators"};
14754 static constexpr char const *
const typestr{
"SgInitializedNamePtrList"};
14755 static constexpr bool traverse{
true};
14757 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14758 using bind = Desc<SgEnumDeclaration, SgInitializedNamePtrList SgEnumDeclaration::*, &SgEnumDeclaration::p_enumerators>;
14763 static constexpr size_t position{5};
14764 static constexpr char const *
const name{
"scope"};
14765 static constexpr char const *
const typestr{
"SgScopeStatement*"};
14766 static constexpr bool traverse{
false};
14768 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14769 using bind = Desc<SgEnumDeclaration, SgScopeStatement* SgEnumDeclaration::*, &SgEnumDeclaration::p_scope>;
14773 using field_type = bool;
14774 static constexpr size_t position{6};
14775 static constexpr char const *
const name{
"isUnNamed"};
14776 static constexpr char const *
const typestr{
"bool"};
14777 static constexpr bool traverse{
false};
14778 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_isUnNamed};
14779 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14780 using bind = Desc<SgEnumDeclaration, bool SgEnumDeclaration::*, &SgEnumDeclaration::p_isUnNamed>;
14784 using field_type = bool;
14785 static constexpr size_t position{7};
14786 static constexpr char const *
const name{
"isAutonomousDeclaration"};
14787 static constexpr char const *
const typestr{
"bool"};
14788 static constexpr bool traverse{
false};
14789 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_isAutonomousDeclaration};
14790 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14791 using bind = Desc<SgEnumDeclaration, bool SgEnumDeclaration::*, &SgEnumDeclaration::p_isAutonomousDeclaration>;
14796 static constexpr size_t position{8};
14797 static constexpr char const *
const name{
"field_type"};
14798 static constexpr char const *
const typestr{
"SgType*"};
14799 static constexpr bool traverse{
false};
14800 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_field_type};
14801 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14802 using bind = Desc<SgEnumDeclaration, SgType* SgEnumDeclaration::*, &SgEnumDeclaration::p_field_type>;
14806 using field_type = bool;
14807 static constexpr size_t position{9};
14808 static constexpr char const *
const name{
"isScopedEnum"};
14809 static constexpr char const *
const typestr{
"bool"};
14810 static constexpr bool traverse{
false};
14811 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_isScopedEnum};
14812 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14813 using bind = Desc<SgEnumDeclaration, bool SgEnumDeclaration::*, &SgEnumDeclaration::p_isScopedEnum>;
14817 using field_type = int;
14818 static constexpr size_t position{10};
14819 static constexpr char const *
const name{
"name_qualification_length"};
14820 static constexpr char const *
const typestr{
"int"};
14821 static constexpr bool traverse{
false};
14822 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_name_qualification_length};
14823 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14824 using bind = Desc<SgEnumDeclaration, int SgEnumDeclaration::*, &SgEnumDeclaration::p_name_qualification_length>;
14828 using field_type = bool;
14829 static constexpr size_t position{11};
14830 static constexpr char const *
const name{
"type_elaboration_required"};
14831 static constexpr char const *
const typestr{
"bool"};
14832 static constexpr bool traverse{
false};
14833 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_type_elaboration_required};
14834 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14835 using bind = Desc<SgEnumDeclaration, bool SgEnumDeclaration::*, &SgEnumDeclaration::p_type_elaboration_required>;
14839 using field_type = bool;
14840 static constexpr size_t position{12};
14841 static constexpr char const *
const name{
"global_qualification_required"};
14842 static constexpr char const *
const typestr{
"bool"};
14843 static constexpr bool traverse{
false};
14844 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_global_qualification_required};
14845 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14846 using bind = Desc<SgEnumDeclaration, bool SgEnumDeclaration::*, &SgEnumDeclaration::p_global_qualification_required>;
14851 static constexpr char const *
const name{
"EnumDeclaration"};
14852 static constexpr unsigned long variant{401};
14853 static constexpr bool concrete{
true};
14855 using fields_t =
mp::List<describe_field_t<SgEnumDeclaration,SgName,&SgEnumDeclaration::p_name>,
describe_field_t<SgEnumDeclaration,bool,&SgEnumDeclaration::p_embedded>,
describe_field_t<SgEnumDeclaration,SgEnumType*,&SgEnumDeclaration::p_type>,
describe_field_t<SgEnumDeclaration,SgType*,&SgEnumDeclaration::p_adaParentType>,
describe_field_t<SgEnumDeclaration,SgInitializedNamePtrList,&SgEnumDeclaration::p_enumerators>,
describe_field_t<SgEnumDeclaration,SgScopeStatement*,&SgEnumDeclaration::p_scope>,
describe_field_t<SgEnumDeclaration,bool,&SgEnumDeclaration::p_isUnNamed>,
describe_field_t<SgEnumDeclaration,bool,&SgEnumDeclaration::p_isAutonomousDeclaration>,
describe_field_t<SgEnumDeclaration,SgType*,&SgEnumDeclaration::p_field_type>,
describe_field_t<SgEnumDeclaration,bool,&SgEnumDeclaration::p_isScopedEnum>,
describe_field_t<SgEnumDeclaration,int,&SgEnumDeclaration::p_name_qualification_length>,
describe_field_t<SgEnumDeclaration,bool,&SgEnumDeclaration::p_type_elaboration_required>,
describe_field_t<SgEnumDeclaration,bool,&SgEnumDeclaration::p_global_qualification_required>>;
14863 static constexpr size_t position{0};
14864 static constexpr char const *
const name{
"declaration"};
14865 static constexpr char const *
const typestr{
"SgInitializedName*"};
14866 static constexpr bool traverse{
false};
14867 static constexpr auto mbr_ptr{&SgEnumFieldSymbol::p_declaration};
14868 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14869 using bind = Desc<SgEnumFieldSymbol, SgInitializedName* SgEnumFieldSymbol::*, &SgEnumFieldSymbol::p_declaration>;
14874 static constexpr char const *
const name{
"EnumFieldSymbol"};
14875 static constexpr unsigned long variant{402};
14876 static constexpr bool concrete{
true};
14886 static constexpr size_t position{0};
14887 static constexpr char const *
const name{
"declaration"};
14888 static constexpr char const *
const typestr{
"SgEnumDeclaration*"};
14889 static constexpr bool traverse{
true};
14890 static constexpr auto mbr_ptr{&SgEnumSymbol::p_declaration};
14891 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14892 using bind = Desc<SgEnumSymbol, SgEnumDeclaration* SgEnumSymbol::*, &SgEnumSymbol::p_declaration>;
14897 static constexpr char const *
const name{
"EnumSymbol"};
14898 static constexpr unsigned long variant{403};
14899 static constexpr bool concrete{
true};
14909 static constexpr char const *
const name{
"EnumType"};
14910 static constexpr unsigned long variant{404};
14911 static constexpr bool concrete{
true};
14920 using field_type =
long long int;
14921 static constexpr size_t position{0};
14922 static constexpr char const *
const name{
"value"};
14923 static constexpr char const *
const typestr{
"long long int"};
14924 static constexpr bool traverse{
false};
14925 static constexpr auto mbr_ptr{&SgEnumVal::p_value};
14926 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14927 using bind = Desc<SgEnumVal, long long int SgEnumVal::*, &SgEnumVal::p_value>;
14932 static constexpr size_t position{1};
14933 static constexpr char const *
const name{
"declaration"};
14934 static constexpr char const *
const typestr{
"SgEnumDeclaration*"};
14935 static constexpr bool traverse{
false};
14936 static constexpr auto mbr_ptr{&SgEnumVal::p_declaration};
14937 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14938 using bind = Desc<SgEnumVal, SgEnumDeclaration* SgEnumVal::*, &SgEnumVal::p_declaration>;
14943 static constexpr size_t position{2};
14944 static constexpr char const *
const name{
"name"};
14945 static constexpr char const *
const typestr{
"SgName"};
14946 static constexpr bool traverse{
false};
14947 static constexpr auto mbr_ptr{&SgEnumVal::p_name};
14948 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14949 using bind = Desc<SgEnumVal, SgName SgEnumVal::*, &SgEnumVal::p_name>;
14953 using field_type = bool;
14954 static constexpr size_t position{3};
14955 static constexpr char const *
const name{
"requiresNameQualification"};
14956 static constexpr char const *
const typestr{
"bool"};
14957 static constexpr bool traverse{
false};
14958 static constexpr auto mbr_ptr{&SgEnumVal::p_requiresNameQualification};
14959 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14960 using bind = Desc<SgEnumVal, bool SgEnumVal::*, &SgEnumVal::p_requiresNameQualification>;
14964 using field_type = int;
14965 static constexpr size_t position{4};
14966 static constexpr char const *
const name{
"name_qualification_length"};
14967 static constexpr char const *
const typestr{
"int"};
14968 static constexpr bool traverse{
false};
14969 static constexpr auto mbr_ptr{&SgEnumVal::p_name_qualification_length};
14970 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14971 using bind = Desc<SgEnumVal, int SgEnumVal::*, &SgEnumVal::p_name_qualification_length>;
14975 using field_type = bool;
14976 static constexpr size_t position{5};
14977 static constexpr char const *
const name{
"type_elaboration_required"};
14978 static constexpr char const *
const typestr{
"bool"};
14979 static constexpr bool traverse{
false};
14980 static constexpr auto mbr_ptr{&SgEnumVal::p_type_elaboration_required};
14981 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14982 using bind = Desc<SgEnumVal, bool SgEnumVal::*, &SgEnumVal::p_type_elaboration_required>;
14986 using field_type = bool;
14987 static constexpr size_t position{6};
14988 static constexpr char const *
const name{
"global_qualification_required"};
14989 static constexpr char const *
const typestr{
"bool"};
14990 static constexpr bool traverse{
false};
14991 static constexpr auto mbr_ptr{&SgEnumVal::p_global_qualification_required};
14992 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14993 using bind = Desc<SgEnumVal, bool SgEnumVal::*, &SgEnumVal::p_global_qualification_required>;
14998 static constexpr char const *
const name{
"EnumVal"};
14999 static constexpr unsigned long variant{405};
15000 static constexpr bool concrete{
true};
15002 using fields_t =
mp::List<describe_field_t<SgEnumVal,long long int,&SgEnumVal::p_value>,
describe_field_t<SgEnumVal,SgEnumDeclaration*,&SgEnumVal::p_declaration>,
describe_field_t<SgEnumVal,SgName,&SgEnumVal::p_name>,
describe_field_t<SgEnumVal,bool,&SgEnumVal::p_requiresNameQualification>,
describe_field_t<SgEnumVal,int,&SgEnumVal::p_name_qualification_length>,
describe_field_t<SgEnumVal,bool,&SgEnumVal::p_type_elaboration_required>,
describe_field_t<SgEnumVal,bool,&SgEnumVal::p_global_qualification_required>>;
15010 static constexpr char const *
const name{
"EqualityOp"};
15011 static constexpr unsigned long variant{406};
15012 static constexpr bool concrete{
true};
15022 static constexpr size_t position{0};
15023 static constexpr char const *
const name{
"equivalence_set_list"};
15024 static constexpr char const *
const typestr{
"SgExprListExp*"};
15025 static constexpr bool traverse{
false};
15026 static constexpr auto mbr_ptr{&SgEquivalenceStatement::p_equivalence_set_list};
15027 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15028 using bind = Desc<SgEquivalenceStatement, SgExprListExp* SgEquivalenceStatement::*, &SgEquivalenceStatement::p_equivalence_set_list>;
15033 static constexpr char const *
const name{
"EquivalenceStatement"};
15034 static constexpr unsigned long variant{407};
15035 static constexpr bool concrete{
true};
15045 static constexpr char const *
const name{
"ErrorDirectiveStatement"};
15046 static constexpr unsigned long variant{408};
15047 static constexpr bool concrete{
true};
15057 static constexpr size_t position{0};
15058 static constexpr char const *
const name{
"executable"};
15059 static constexpr char const *
const typestr{
"SgExpression*"};
15060 static constexpr bool traverse{
true};
15062 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15063 using bind = Desc<SgExecStatement, SgExpression* SgExecStatement::*, &SgExecStatement::p_executable>;
15068 static constexpr size_t position{1};
15069 static constexpr char const *
const name{
"globals"};
15070 static constexpr char const *
const typestr{
"SgExpression*"};
15071 static constexpr bool traverse{
true};
15073 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15074 using bind = Desc<SgExecStatement, SgExpression* SgExecStatement::*, &SgExecStatement::p_globals>;
15079 static constexpr size_t position{2};
15080 static constexpr char const *
const name{
"locals"};
15081 static constexpr char const *
const typestr{
"SgExpression*"};
15082 static constexpr bool traverse{
true};
15084 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15085 using bind = Desc<SgExecStatement, SgExpression* SgExecStatement::*, &SgExecStatement::p_locals>;
15090 static constexpr char const *
const name{
"ExecStatement"};
15091 static constexpr unsigned long variant{409};
15092 static constexpr bool concrete{
true};
15102 static constexpr char const *
const name{
"ExponentiationOp"};
15103 static constexpr unsigned long variant{410};
15104 static constexpr bool concrete{
true};
15114 static constexpr char const *
const name{
"ExponentiationAssignOp"};
15115 static constexpr unsigned long variant{411};
15116 static constexpr bool concrete{
true};
15125 using field_type = SgExpressionPtrList;
15126 static constexpr size_t position{0};
15127 static constexpr char const *
const name{
"expressions"};
15128 static constexpr char const *
const typestr{
"SgExpressionPtrList"};
15129 static constexpr bool traverse{
true};
15130 static constexpr auto mbr_ptr{&SgExprListExp::p_expressions};
15131 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15132 using bind = Desc<SgExprListExp, SgExpressionPtrList SgExprListExp::*, &SgExprListExp::p_expressions>;
15137 static constexpr char const *
const name{
"ExprListExp"};
15138 static constexpr unsigned long variant{412};
15139 static constexpr bool concrete{
true};
15149 static constexpr size_t position{0};
15150 static constexpr char const *
const name{
"expression"};
15151 static constexpr char const *
const typestr{
"SgExpression*"};
15152 static constexpr bool traverse{
true};
15153 static constexpr auto mbr_ptr{&SgExprStatement::p_expression};
15154 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15155 using bind = Desc<SgExprStatement, SgExpression* SgExprStatement::*, &SgExprStatement::p_expression>;
15160 static constexpr char const *
const name{
"ExprStatement"};
15161 static constexpr unsigned long variant{413};
15162 static constexpr bool concrete{
true};
15171 using field_type = bool;
15172 static constexpr size_t position{0};
15173 static constexpr char const *
const name{
"need_paren"};
15174 static constexpr char const *
const typestr{
"bool"};
15175 static constexpr bool traverse{
false};
15177 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15178 using bind = Desc<SgExpression, bool SgExpression::*, &SgExpression::p_need_paren>;
15182 using field_type = bool;
15183 static constexpr size_t position{1};
15184 static constexpr char const *
const name{
"lvalue"};
15185 static constexpr char const *
const typestr{
"bool"};
15186 static constexpr bool traverse{
false};
15188 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15189 using bind = Desc<SgExpression, bool SgExpression::*, &SgExpression::p_lvalue>;
15193 using field_type = bool;
15194 static constexpr size_t position{2};
15195 static constexpr char const *
const name{
"global_qualified_name"};
15196 static constexpr char const *
const typestr{
"bool"};
15197 static constexpr bool traverse{
false};
15198 static constexpr auto mbr_ptr{&SgExpression::p_global_qualified_name};
15199 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15200 using bind = Desc<SgExpression, bool SgExpression::*, &SgExpression::p_global_qualified_name>;
15205 static constexpr size_t position{3};
15206 static constexpr char const *
const name{
"operatorPosition"};
15207 static constexpr char const *
const typestr{
"Sg_File_Info*"};
15208 static constexpr bool traverse{
false};
15209 static constexpr auto mbr_ptr{&SgExpression::p_operatorPosition};
15210 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15211 using bind = Desc<SgExpression, Sg_File_Info* SgExpression::*, &SgExpression::p_operatorPosition>;
15216 static constexpr char const *
const name{
"Expression"};
15217 static constexpr unsigned long variant{414};
15218 static constexpr bool concrete{
false};
15219 using subclasses_t =
mp::List<SgUnaryOp, SgBinaryOp, SgExprListExp, SgValueExp, SgCallExpression, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgSuperExp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgActualArgumentExpression, SgStatementExpression, SgAsmOp, SgCudaKernelExecConfig, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgSizeOfOp, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgReferenceExp, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgStringConversion, SgYieldExpression, SgAlignOfOp, SgRangeExp, SgMagicColonExp, SgTypeTraitBuiltinOperator, SgCompoundLiteralExp, SgJavaAnnotation, SgJavaTypeExpression, SgTypeExpression, SgClassExp, SgFunctionParameterRefExp, SgLambdaExp, SgHereExp, SgAtExp, SgFinishExp, SgNoexceptOp, SgAdaTaskRefExp, SgAdaProtectedRefExp, SgFoldExpression, SgAwaitExpression, SgChooseExpression, SgAdaAttributeExp, SgJovialTablePresetExp, SgJovialPresetPositionExp, SgAdaOthersExp, SgAdaRenamingRefExp, SgAdaUnitRefExp>;
15220 using fields_t =
mp::List<describe_field_t<SgExpression,bool,&SgExpression::p_need_paren>,
describe_field_t<SgExpression,bool,&SgExpression::p_lvalue>,
describe_field_t<SgExpression,bool,&SgExpression::p_global_qualified_name>,
describe_field_t<SgExpression,Sg_File_Info*,&SgExpression::p_operatorPosition>>;
15228 static constexpr char const *
const name{
"ExpressionRoot"};
15229 static constexpr unsigned long variant{415};
15230 static constexpr bool concrete{
true};
15240 static constexpr size_t position{0};
15241 static constexpr char const *
const name{
"startOfConstruct"};
15242 static constexpr char const *
const typestr{
"Sg_File_Info*"};
15243 static constexpr bool traverse{
false};
15244 static constexpr auto mbr_ptr{&SgFile::p_startOfConstruct};
15245 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15246 using bind = Desc<SgFile, Sg_File_Info* SgFile::*, &SgFile::p_startOfConstruct>;
15250 using field_type = SgStringList;
15251 static constexpr size_t position{1};
15252 static constexpr char const *
const name{
"originalCommandLineArgumentList"};
15253 static constexpr char const *
const typestr{
"SgStringList"};
15254 static constexpr bool traverse{
false};
15256 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15257 using bind = Desc<SgFile, SgStringList SgFile::*, &SgFile::p_originalCommandLineArgumentList>;
15261 using field_type = int;
15262 static constexpr size_t position{2};
15263 static constexpr char const *
const name{
"verbose"};
15264 static constexpr char const *
const typestr{
"int"};
15265 static constexpr bool traverse{
false};
15266 static constexpr auto mbr_ptr{&SgFile::p_verbose};
15267 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15268 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_verbose>;
15272 using field_type = bool;
15273 static constexpr size_t position{3};
15274 static constexpr char const *
const name{
"output_warnings"};
15275 static constexpr char const *
const typestr{
"bool"};
15276 static constexpr bool traverse{
false};
15277 static constexpr auto mbr_ptr{&SgFile::p_output_warnings};
15278 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15279 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_output_warnings>;
15283 using field_type = bool;
15284 static constexpr size_t position{4};
15285 static constexpr char const *
const name{
"C_only"};
15286 static constexpr char const *
const typestr{
"bool"};
15287 static constexpr bool traverse{
false};
15288 static constexpr auto mbr_ptr{&SgFile::p_C_only};
15289 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15290 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_C_only>;
15294 using field_type = bool;
15295 static constexpr size_t position{5};
15296 static constexpr char const *
const name{
"Cxx_only"};
15297 static constexpr char const *
const typestr{
"bool"};
15298 static constexpr bool traverse{
false};
15299 static constexpr auto mbr_ptr{&SgFile::p_Cxx_only};
15300 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15301 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Cxx_only>;
15305 using field_type = bool;
15306 static constexpr size_t position{6};
15307 static constexpr char const *
const name{
"Fortran_only"};
15308 static constexpr char const *
const typestr{
"bool"};
15309 static constexpr bool traverse{
false};
15310 static constexpr auto mbr_ptr{&SgFile::p_Fortran_only};
15311 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15312 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Fortran_only>;
15316 using field_type = bool;
15317 static constexpr size_t position{7};
15318 static constexpr char const *
const name{
"CoArrayFortran_only"};
15319 static constexpr char const *
const typestr{
"bool"};
15320 static constexpr bool traverse{
false};
15321 static constexpr auto mbr_ptr{&SgFile::p_CoArrayFortran_only};
15322 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15323 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_CoArrayFortran_only>;
15327 using field_type = int;
15328 static constexpr size_t position{8};
15329 static constexpr char const *
const name{
"upc_threads"};
15330 static constexpr char const *
const typestr{
"int"};
15331 static constexpr bool traverse{
false};
15332 static constexpr auto mbr_ptr{&SgFile::p_upc_threads};
15333 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15334 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_upc_threads>;
15338 using field_type = bool;
15339 static constexpr size_t position{9};
15340 static constexpr char const *
const name{
"Java_only"};
15341 static constexpr char const *
const typestr{
"bool"};
15342 static constexpr bool traverse{
false};
15343 static constexpr auto mbr_ptr{&SgFile::p_Java_only};
15344 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15345 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Java_only>;
15349 using field_type = bool;
15350 static constexpr size_t position{10};
15351 static constexpr char const *
const name{
"Jvm_only"};
15352 static constexpr char const *
const typestr{
"bool"};
15353 static constexpr bool traverse{
false};
15354 static constexpr auto mbr_ptr{&SgFile::p_Jvm_only};
15355 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15356 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Jvm_only>;
15360 using field_type = bool;
15361 static constexpr size_t position{11};
15362 static constexpr char const *
const name{
"Jovial_only"};
15363 static constexpr char const *
const typestr{
"bool"};
15364 static constexpr bool traverse{
false};
15365 static constexpr auto mbr_ptr{&SgFile::p_Jovial_only};
15366 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15367 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Jovial_only>;
15371 using field_type = bool;
15372 static constexpr size_t position{12};
15373 static constexpr char const *
const name{
"PHP_only"};
15374 static constexpr char const *
const typestr{
"bool"};
15375 static constexpr bool traverse{
false};
15376 static constexpr auto mbr_ptr{&SgFile::p_PHP_only};
15377 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15378 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_PHP_only>;
15382 using field_type = bool;
15383 static constexpr size_t position{13};
15384 static constexpr char const *
const name{
"Python_only"};
15385 static constexpr char const *
const typestr{
"bool"};
15386 static constexpr bool traverse{
false};
15387 static constexpr auto mbr_ptr{&SgFile::p_Python_only};
15388 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15389 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Python_only>;
15393 using field_type = bool;
15394 static constexpr size_t position{14};
15395 static constexpr char const *
const name{
"Cuda_only"};
15396 static constexpr char const *
const typestr{
"bool"};
15397 static constexpr bool traverse{
false};
15398 static constexpr auto mbr_ptr{&SgFile::p_Cuda_only};
15399 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15400 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Cuda_only>;
15404 using field_type = bool;
15405 static constexpr size_t position{15};
15406 static constexpr char const *
const name{
"OpenCL_only"};
15407 static constexpr char const *
const typestr{
"bool"};
15408 static constexpr bool traverse{
false};
15409 static constexpr auto mbr_ptr{&SgFile::p_OpenCL_only};
15410 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15411 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_OpenCL_only>;
15415 using field_type = bool;
15416 static constexpr size_t position{16};
15417 static constexpr char const *
const name{
"Csharp_only"};
15418 static constexpr char const *
const typestr{
"bool"};
15419 static constexpr bool traverse{
false};
15420 static constexpr auto mbr_ptr{&SgFile::p_Csharp_only};
15421 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15422 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Csharp_only>;
15426 using field_type = bool;
15427 static constexpr size_t position{17};
15428 static constexpr char const *
const name{
"Ada_only"};
15429 static constexpr char const *
const typestr{
"bool"};
15430 static constexpr bool traverse{
false};
15431 static constexpr auto mbr_ptr{&SgFile::p_Ada_only};
15432 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15433 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Ada_only>;
15437 using field_type = bool;
15438 static constexpr size_t position{18};
15439 static constexpr char const *
const name{
"requires_C_preprocessor"};
15440 static constexpr char const *
const typestr{
"bool"};
15441 static constexpr bool traverse{
false};
15442 static constexpr auto mbr_ptr{&SgFile::p_requires_C_preprocessor};
15443 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15444 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_requires_C_preprocessor>;
15448 using field_type = bool;
15449 static constexpr size_t position{19};
15450 static constexpr char const *
const name{
"binary_only"};
15451 static constexpr char const *
const typestr{
"bool"};
15452 static constexpr bool traverse{
false};
15453 static constexpr auto mbr_ptr{&SgFile::p_binary_only};
15454 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15455 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_binary_only>;
15460 static constexpr size_t position{20};
15461 static constexpr char const *
const name{
"inputFormat"};
15462 static constexpr char const *
const typestr{
"SgFile::outputFormatOption_enum"};
15463 static constexpr bool traverse{
false};
15464 static constexpr auto mbr_ptr{&SgFile::p_inputFormat};
15465 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15466 using bind = Desc<SgFile, SgFile::outputFormatOption_enum SgFile::*, &SgFile::p_inputFormat>;
15471 static constexpr size_t position{21};
15472 static constexpr char const *
const name{
"outputFormat"};
15473 static constexpr char const *
const typestr{
"SgFile::outputFormatOption_enum"};
15474 static constexpr bool traverse{
false};
15475 static constexpr auto mbr_ptr{&SgFile::p_outputFormat};
15476 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15477 using bind = Desc<SgFile, SgFile::outputFormatOption_enum SgFile::*, &SgFile::p_outputFormat>;
15482 static constexpr size_t position{22};
15483 static constexpr char const *
const name{
"backendCompileFormat"};
15484 static constexpr char const *
const typestr{
"SgFile::outputFormatOption_enum"};
15485 static constexpr bool traverse{
false};
15486 static constexpr auto mbr_ptr{&SgFile::p_backendCompileFormat};
15487 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15488 using bind = Desc<SgFile, SgFile::outputFormatOption_enum SgFile::*, &SgFile::p_backendCompileFormat>;
15492 using field_type = bool;
15493 static constexpr size_t position{23};
15494 static constexpr char const *
const name{
"fortran_implicit_none"};
15495 static constexpr char const *
const typestr{
"bool"};
15496 static constexpr bool traverse{
false};
15497 static constexpr auto mbr_ptr{&SgFile::p_fortran_implicit_none};
15498 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15499 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_fortran_implicit_none>;
15503 using field_type = bool;
15504 static constexpr size_t position{24};
15505 static constexpr char const *
const name{
"openmp"};
15506 static constexpr char const *
const typestr{
"bool"};
15507 static constexpr bool traverse{
false};
15508 static constexpr auto mbr_ptr{&SgFile::p_openmp};
15509 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15510 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openmp>;
15514 using field_type = bool;
15515 static constexpr size_t position{25};
15516 static constexpr char const *
const name{
"openmp_parse_only"};
15517 static constexpr char const *
const typestr{
"bool"};
15518 static constexpr bool traverse{
false};
15519 static constexpr auto mbr_ptr{&SgFile::p_openmp_parse_only};
15520 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15521 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openmp_parse_only>;
15525 using field_type = bool;
15526 static constexpr size_t position{26};
15527 static constexpr char const *
const name{
"openmp_ast_only"};
15528 static constexpr char const *
const typestr{
"bool"};
15529 static constexpr bool traverse{
false};
15530 static constexpr auto mbr_ptr{&SgFile::p_openmp_ast_only};
15531 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15532 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openmp_ast_only>;
15536 using field_type = bool;
15537 static constexpr size_t position{27};
15538 static constexpr char const *
const name{
"openmp_lowering"};
15539 static constexpr char const *
const typestr{
"bool"};
15540 static constexpr bool traverse{
false};
15541 static constexpr auto mbr_ptr{&SgFile::p_openmp_lowering};
15542 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15543 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openmp_lowering>;
15547 using field_type = bool;
15548 static constexpr size_t position{28};
15549 static constexpr char const *
const name{
"openacc"};
15550 static constexpr char const *
const typestr{
"bool"};
15551 static constexpr bool traverse{
false};
15552 static constexpr auto mbr_ptr{&SgFile::p_openacc};
15553 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15554 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openacc>;
15558 using field_type = bool;
15559 static constexpr size_t position{29};
15560 static constexpr char const *
const name{
"openacc_parse_only"};
15561 static constexpr char const *
const typestr{
"bool"};
15562 static constexpr bool traverse{
false};
15563 static constexpr auto mbr_ptr{&SgFile::p_openacc_parse_only};
15564 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15565 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openacc_parse_only>;
15569 using field_type = bool;
15570 static constexpr size_t position{30};
15571 static constexpr char const *
const name{
"openacc_ast_only"};
15572 static constexpr char const *
const typestr{
"bool"};
15573 static constexpr bool traverse{
false};
15574 static constexpr auto mbr_ptr{&SgFile::p_openacc_ast_only};
15575 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15576 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openacc_ast_only>;
15580 using field_type = bool;
15581 static constexpr size_t position{31};
15582 static constexpr char const *
const name{
"cray_pointer_support"};
15583 static constexpr char const *
const typestr{
"bool"};
15584 static constexpr bool traverse{
false};
15585 static constexpr auto mbr_ptr{&SgFile::p_cray_pointer_support};
15586 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15587 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_cray_pointer_support>;
15591 using field_type = bool;
15592 static constexpr size_t position{32};
15593 static constexpr char const *
const name{
"failsafe"};
15594 static constexpr char const *
const typestr{
"bool"};
15595 static constexpr bool traverse{
false};
15596 static constexpr auto mbr_ptr{&SgFile::p_failsafe};
15597 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15598 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_failsafe>;
15602 using field_type = bool;
15603 static constexpr size_t position{33};
15604 static constexpr char const *
const name{
"output_parser_actions"};
15605 static constexpr char const *
const typestr{
"bool"};
15606 static constexpr bool traverse{
false};
15607 static constexpr auto mbr_ptr{&SgFile::p_output_parser_actions};
15608 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15609 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_output_parser_actions>;
15613 using field_type = bool;
15614 static constexpr size_t position{34};
15615 static constexpr char const *
const name{
"exit_after_parser"};
15616 static constexpr char const *
const typestr{
"bool"};
15617 static constexpr bool traverse{
false};
15618 static constexpr auto mbr_ptr{&SgFile::p_exit_after_parser};
15619 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15620 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_exit_after_parser>;
15624 using field_type = bool;
15625 static constexpr size_t position{35};
15626 static constexpr char const *
const name{
"skip_syntax_check"};
15627 static constexpr char const *
const typestr{
"bool"};
15628 static constexpr bool traverse{
false};
15629 static constexpr auto mbr_ptr{&SgFile::p_skip_syntax_check};
15630 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15631 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skip_syntax_check>;
15635 using field_type = bool;
15636 static constexpr size_t position{36};
15637 static constexpr char const *
const name{
"skip_parser"};
15638 static constexpr char const *
const typestr{
"bool"};
15639 static constexpr bool traverse{
false};
15640 static constexpr auto mbr_ptr{&SgFile::p_skip_parser};
15641 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15642 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skip_parser>;
15646 using field_type = bool;
15647 static constexpr size_t position{37};
15648 static constexpr char const *
const name{
"relax_syntax_check"};
15649 static constexpr char const *
const typestr{
"bool"};
15650 static constexpr bool traverse{
false};
15651 static constexpr auto mbr_ptr{&SgFile::p_relax_syntax_check};
15652 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15653 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_relax_syntax_check>;
15657 using field_type = bool;
15658 static constexpr size_t position{38};
15659 static constexpr char const *
const name{
"skip_translation_from_edg_ast_to_rose_ast"};
15660 static constexpr char const *
const typestr{
"bool"};
15661 static constexpr bool traverse{
false};
15662 static constexpr auto mbr_ptr{&SgFile::p_skip_translation_from_edg_ast_to_rose_ast};
15663 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15664 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skip_translation_from_edg_ast_to_rose_ast>;
15668 using field_type = bool;
15669 static constexpr size_t position{39};
15670 static constexpr char const *
const name{
"skip_transformation"};
15671 static constexpr char const *
const typestr{
"bool"};
15672 static constexpr bool traverse{
false};
15673 static constexpr auto mbr_ptr{&SgFile::p_skip_transformation};
15674 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15675 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skip_transformation>;
15679 using field_type = bool;
15680 static constexpr size_t position{40};
15681 static constexpr char const *
const name{
"skip_unparse"};
15682 static constexpr char const *
const typestr{
"bool"};
15683 static constexpr bool traverse{
false};
15684 static constexpr auto mbr_ptr{&SgFile::p_skip_unparse};
15685 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15686 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skip_unparse>;
15690 using field_type = bool;
15691 static constexpr size_t position{41};
15692 static constexpr char const *
const name{
"skipfinalCompileStep"};
15693 static constexpr char const *
const typestr{
"bool"};
15694 static constexpr bool traverse{
false};
15695 static constexpr auto mbr_ptr{&SgFile::p_skipfinalCompileStep};
15696 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15697 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skipfinalCompileStep>;
15701 using field_type = bool;
15702 static constexpr size_t position{42};
15703 static constexpr char const *
const name{
"unparse_includes"};
15704 static constexpr char const *
const typestr{
"bool"};
15705 static constexpr bool traverse{
false};
15706 static constexpr auto mbr_ptr{&SgFile::p_unparse_includes};
15707 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15708 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_includes>;
15712 using field_type = bool;
15713 static constexpr size_t position{43};
15714 static constexpr char const *
const name{
"unparse_line_directives"};
15715 static constexpr char const *
const typestr{
"bool"};
15716 static constexpr bool traverse{
false};
15717 static constexpr auto mbr_ptr{&SgFile::p_unparse_line_directives};
15718 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15719 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_line_directives>;
15723 using field_type = bool;
15724 static constexpr size_t position{44};
15725 static constexpr char const *
const name{
"unparse_function_calls_using_operator_syntax"};
15726 static constexpr char const *
const typestr{
"bool"};
15727 static constexpr bool traverse{
false};
15728 static constexpr auto mbr_ptr{&SgFile::p_unparse_function_calls_using_operator_syntax};
15729 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15730 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_function_calls_using_operator_syntax>;
15734 using field_type = bool;
15735 static constexpr size_t position{45};
15736 static constexpr char const *
const name{
"unparse_function_calls_using_operator_names"};
15737 static constexpr char const *
const typestr{
"bool"};
15738 static constexpr bool traverse{
false};
15739 static constexpr auto mbr_ptr{&SgFile::p_unparse_function_calls_using_operator_names};
15740 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15741 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_function_calls_using_operator_names>;
15745 using field_type = bool;
15746 static constexpr size_t position{46};
15747 static constexpr char const *
const name{
"unparse_instruction_addresses"};
15748 static constexpr char const *
const typestr{
"bool"};
15749 static constexpr bool traverse{
false};
15750 static constexpr auto mbr_ptr{&SgFile::p_unparse_instruction_addresses};
15751 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15752 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_instruction_addresses>;
15756 using field_type = bool;
15757 static constexpr size_t position{47};
15758 static constexpr char const *
const name{
"unparse_raw_memory_contents"};
15759 static constexpr char const *
const typestr{
"bool"};
15760 static constexpr bool traverse{
false};
15761 static constexpr auto mbr_ptr{&SgFile::p_unparse_raw_memory_contents};
15762 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15763 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_raw_memory_contents>;
15767 using field_type = bool;
15768 static constexpr size_t position{48};
15769 static constexpr char const *
const name{
"unparse_binary_file_format"};
15770 static constexpr char const *
const typestr{
"bool"};
15771 static constexpr bool traverse{
false};
15772 static constexpr auto mbr_ptr{&SgFile::p_unparse_binary_file_format};
15773 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15774 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_binary_file_format>;
15779 static constexpr size_t position{49};
15780 static constexpr char const *
const name{
"outputLanguage"};
15781 static constexpr char const *
const typestr{
"SgFile::languageOption_enum"};
15782 static constexpr bool traverse{
false};
15783 static constexpr auto mbr_ptr{&SgFile::p_outputLanguage};
15784 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15785 using bind = Desc<SgFile, SgFile::languageOption_enum SgFile::*, &SgFile::p_outputLanguage>;
15790 static constexpr size_t position{50};
15791 static constexpr char const *
const name{
"inputLanguage"};
15792 static constexpr char const *
const typestr{
"SgFile::languageOption_enum"};
15793 static constexpr bool traverse{
false};
15794 static constexpr auto mbr_ptr{&SgFile::p_inputLanguage};
15795 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15796 using bind = Desc<SgFile, SgFile::languageOption_enum SgFile::*, &SgFile::p_inputLanguage>;
15800 using field_type = std::string;
15801 static constexpr size_t position{51};
15802 static constexpr char const *
const name{
"sourceFileNameWithPath"};
15803 static constexpr char const *
const typestr{
"std::string"};
15804 static constexpr bool traverse{
false};
15805 static constexpr auto mbr_ptr{&SgFile::p_sourceFileNameWithPath};
15806 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15807 using bind = Desc<SgFile, std::string SgFile::*, &SgFile::p_sourceFileNameWithPath>;
15811 using field_type = std::string;
15812 static constexpr size_t position{52};
15813 static constexpr char const *
const name{
"sourceFileNameWithoutPath"};
15814 static constexpr char const *
const typestr{
"std::string"};
15815 static constexpr bool traverse{
false};
15816 static constexpr auto mbr_ptr{&SgFile::p_sourceFileNameWithoutPath};
15817 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15818 using bind = Desc<SgFile, std::string SgFile::*, &SgFile::p_sourceFileNameWithoutPath>;
15822 using field_type = std::string;
15823 static constexpr size_t position{53};
15824 static constexpr char const *
const name{
"unparse_output_filename"};
15825 static constexpr char const *
const typestr{
"std::string"};
15826 static constexpr bool traverse{
false};
15827 static constexpr auto mbr_ptr{&SgFile::p_unparse_output_filename};
15828 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15829 using bind = Desc<SgFile, std::string SgFile::*, &SgFile::p_unparse_output_filename>;
15833 using field_type = std::string;
15834 static constexpr size_t position{54};
15835 static constexpr char const *
const name{
"objectFileNameWithPath"};
15836 static constexpr char const *
const typestr{
"std::string"};
15837 static constexpr bool traverse{
false};
15838 static constexpr auto mbr_ptr{&SgFile::p_objectFileNameWithPath};
15839 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15840 using bind = Desc<SgFile, std::string SgFile::*, &SgFile::p_objectFileNameWithPath>;
15844 using field_type = std::string;
15845 static constexpr size_t position{55};
15846 static constexpr char const *
const name{
"objectFileNameWithoutPath"};
15847 static constexpr char const *
const typestr{
"std::string"};
15848 static constexpr bool traverse{
false};
15849 static constexpr auto mbr_ptr{&SgFile::p_objectFileNameWithoutPath};
15850 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15851 using bind = Desc<SgFile, std::string SgFile::*, &SgFile::p_objectFileNameWithoutPath>;
15855 using field_type = bool;
15856 static constexpr size_t position{56};
15857 static constexpr char const *
const name{
"useBackendOnly"};
15858 static constexpr char const *
const typestr{
"bool"};
15859 static constexpr bool traverse{
false};
15860 static constexpr auto mbr_ptr{&SgFile::p_useBackendOnly};
15861 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15862 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_useBackendOnly>;
15866 using field_type = bool;
15867 static constexpr size_t position{57};
15868 static constexpr char const *
const name{
"compileOnly"};
15869 static constexpr char const *
const typestr{
"bool"};
15870 static constexpr bool traverse{
false};
15871 static constexpr auto mbr_ptr{&SgFile::p_compileOnly};
15872 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15873 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_compileOnly>;
15877 using field_type = std::string;
15878 static constexpr size_t position{58};
15879 static constexpr char const *
const name{
"savedFrontendCommandLine"};
15880 static constexpr char const *
const typestr{
"std::string"};
15881 static constexpr bool traverse{
false};
15882 static constexpr auto mbr_ptr{&SgFile::p_savedFrontendCommandLine};
15883 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15884 using bind = Desc<SgFile, std::string SgFile::*, &SgFile::p_savedFrontendCommandLine>;
15888 using field_type = bool;
15889 static constexpr size_t position{59};
15890 static constexpr char const *
const name{
"no_implicit_templates"};
15891 static constexpr char const *
const typestr{
"bool"};
15892 static constexpr bool traverse{
false};
15894 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15895 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_no_implicit_templates>;
15899 using field_type = bool;
15900 static constexpr size_t position{60};
15901 static constexpr char const *
const name{
"no_implicit_inline_templates"};
15902 static constexpr char const *
const typestr{
"bool"};
15903 static constexpr bool traverse{
false};
15905 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15906 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_no_implicit_inline_templates>;
15910 using field_type = bool;
15911 static constexpr size_t position{61};
15912 static constexpr char const *
const name{
"skip_commentsAndDirectives"};
15913 static constexpr char const *
const typestr{
"bool"};
15914 static constexpr bool traverse{
false};
15915 static constexpr auto mbr_ptr{&SgFile::p_skip_commentsAndDirectives};
15916 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15917 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skip_commentsAndDirectives>;
15921 using field_type = bool;
15922 static constexpr size_t position{62};
15923 static constexpr char const *
const name{
"collectAllCommentsAndDirectives"};
15924 static constexpr char const *
const typestr{
"bool"};
15925 static constexpr bool traverse{
false};
15926 static constexpr auto mbr_ptr{&SgFile::p_collectAllCommentsAndDirectives};
15927 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15928 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_collectAllCommentsAndDirectives>;
15932 using field_type = bool;
15933 static constexpr size_t position{63};
15934 static constexpr char const *
const name{
"translateCommentsAndDirectivesIntoAST"};
15935 static constexpr char const *
const typestr{
"bool"};
15936 static constexpr bool traverse{
false};
15937 static constexpr auto mbr_ptr{&SgFile::p_translateCommentsAndDirectivesIntoAST};
15938 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15939 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_translateCommentsAndDirectivesIntoAST>;
15943 using field_type = bool;
15944 static constexpr size_t position{64};
15945 static constexpr char const *
const name{
"unparseHeaderFiles"};
15946 static constexpr char const *
const typestr{
"bool"};
15947 static constexpr bool traverse{
false};
15948 static constexpr auto mbr_ptr{&SgFile::p_unparseHeaderFiles};
15949 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15950 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparseHeaderFiles>;
15955 static constexpr size_t position{65};
15956 static constexpr char const *
const name{
"preprocessorDirectivesAndCommentsList"};
15957 static constexpr char const *
const typestr{
"ROSEAttributesListContainerPtr"};
15958 static constexpr bool traverse{
false};
15960 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15961 using bind = Desc<SgFile, ROSEAttributesListContainerPtr SgFile::*, &SgFile::p_preprocessorDirectivesAndCommentsList>;
15966 static constexpr size_t position{66};
15967 static constexpr char const *
const name{
"attributeMechanism"};
15968 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
15969 static constexpr bool traverse{
false};
15970 static constexpr auto mbr_ptr{&SgFile::p_attributeMechanism};
15971 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15972 using bind = Desc<SgFile, AstAttributeMechanism* SgFile::*, &SgFile::p_attributeMechanism>;
15976 using field_type = bool;
15977 static constexpr size_t position{67};
15978 static constexpr char const *
const name{
"KCC_frontend"};
15979 static constexpr char const *
const typestr{
"bool"};
15980 static constexpr bool traverse{
false};
15981 static constexpr auto mbr_ptr{&SgFile::p_KCC_frontend};
15982 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15983 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_KCC_frontend>;
15987 using field_type = bool;
15988 static constexpr size_t position{68};
15989 static constexpr char const *
const name{
"new_frontend"};
15990 static constexpr char const *
const typestr{
"bool"};
15991 static constexpr bool traverse{
false};
15992 static constexpr auto mbr_ptr{&SgFile::p_new_frontend};
15993 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15994 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_new_frontend>;
15998 using field_type = bool;
15999 static constexpr size_t position{69};
16000 static constexpr char const *
const name{
"disable_edg_backend"};
16001 static constexpr char const *
const typestr{
"bool"};
16002 static constexpr bool traverse{
false};
16003 static constexpr auto mbr_ptr{&SgFile::p_disable_edg_backend};
16004 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16005 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_disable_edg_backend>;
16009 using field_type = bool;
16010 static constexpr size_t position{70};
16011 static constexpr char const *
const name{
"disable_sage_backend"};
16012 static constexpr char const *
const typestr{
"bool"};
16013 static constexpr bool traverse{
false};
16014 static constexpr auto mbr_ptr{&SgFile::p_disable_sage_backend};
16015 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16016 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_disable_sage_backend>;
16020 using field_type = int;
16021 static constexpr size_t position{71};
16022 static constexpr char const *
const name{
"testingLevel"};
16023 static constexpr char const *
const typestr{
"int"};
16024 static constexpr bool traverse{
false};
16025 static constexpr auto mbr_ptr{&SgFile::p_testingLevel};
16026 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16027 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_testingLevel>;
16031 using field_type = bool;
16032 static constexpr size_t position{72};
16033 static constexpr char const *
const name{
"preinit_il"};
16034 static constexpr char const *
const typestr{
"bool"};
16035 static constexpr bool traverse{
false};
16036 static constexpr auto mbr_ptr{&SgFile::p_preinit_il};
16037 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16038 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_preinit_il>;
16042 using field_type = bool;
16043 static constexpr size_t position{73};
16044 static constexpr char const *
const name{
"enable_cp_backend"};
16045 static constexpr char const *
const typestr{
"bool"};
16046 static constexpr bool traverse{
false};
16047 static constexpr auto mbr_ptr{&SgFile::p_enable_cp_backend};
16048 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16049 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_enable_cp_backend>;
16053 using field_type = bool;
16054 static constexpr size_t position{74};
16055 static constexpr char const *
const name{
"markGeneratedFiles"};
16056 static constexpr char const *
const typestr{
"bool"};
16057 static constexpr bool traverse{
false};
16058 static constexpr auto mbr_ptr{&SgFile::p_markGeneratedFiles};
16059 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16060 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_markGeneratedFiles>;
16064 using field_type = bool;
16065 static constexpr size_t position{75};
16066 static constexpr char const *
const name{
"negative_test"};
16067 static constexpr char const *
const typestr{
"bool"};
16068 static constexpr bool traverse{
false};
16069 static constexpr auto mbr_ptr{&SgFile::p_negative_test};
16070 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16071 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_negative_test>;
16075 using field_type = bool;
16076 static constexpr size_t position{76};
16077 static constexpr char const *
const name{
"strict_language_handling"};
16078 static constexpr char const *
const typestr{
"bool"};
16079 static constexpr bool traverse{
false};
16080 static constexpr auto mbr_ptr{&SgFile::p_strict_language_handling};
16081 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16082 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_strict_language_handling>;
16086 using field_type = bool;
16087 static constexpr size_t position{77};
16088 static constexpr char const *
const name{
"wave"};
16089 static constexpr char const *
const typestr{
"bool"};
16090 static constexpr bool traverse{
false};
16091 static constexpr auto mbr_ptr{&SgFile::p_wave};
16092 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16093 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_wave>;
16097 using field_type = int;
16098 static constexpr size_t position{78};
16099 static constexpr char const *
const name{
"embedColorCodesInGeneratedCode"};
16100 static constexpr char const *
const typestr{
"int"};
16101 static constexpr bool traverse{
false};
16102 static constexpr auto mbr_ptr{&SgFile::p_embedColorCodesInGeneratedCode};
16103 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16104 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_embedColorCodesInGeneratedCode>;
16108 using field_type = int;
16109 static constexpr size_t position{79};
16110 static constexpr char const *
const name{
"generateSourcePositionCodes"};
16111 static constexpr char const *
const typestr{
"int"};
16112 static constexpr bool traverse{
false};
16113 static constexpr auto mbr_ptr{&SgFile::p_generateSourcePositionCodes};
16114 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16115 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_generateSourcePositionCodes>;
16119 using field_type = bool;
16120 static constexpr size_t position{80};
16121 static constexpr char const *
const name{
"sourceFileUsesCppFileExtension"};
16122 static constexpr char const *
const typestr{
"bool"};
16123 static constexpr bool traverse{
false};
16124 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesCppFileExtension};
16125 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16126 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesCppFileExtension>;
16130 using field_type = bool;
16131 static constexpr size_t position{81};
16132 static constexpr char const *
const name{
"sourceFileUsesFortranFileExtension"};
16133 static constexpr char const *
const typestr{
"bool"};
16134 static constexpr bool traverse{
false};
16135 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesFortranFileExtension};
16136 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16137 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesFortranFileExtension>;
16141 using field_type = bool;
16142 static constexpr size_t position{82};
16143 static constexpr char const *
const name{
"sourceFileUsesFortran77FileExtension"};
16144 static constexpr char const *
const typestr{
"bool"};
16145 static constexpr bool traverse{
false};
16146 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesFortran77FileExtension};
16147 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16148 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesFortran77FileExtension>;
16152 using field_type = bool;
16153 static constexpr size_t position{83};
16154 static constexpr char const *
const name{
"sourceFileUsesFortran90FileExtension"};
16155 static constexpr char const *
const typestr{
"bool"};
16156 static constexpr bool traverse{
false};
16157 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesFortran90FileExtension};
16158 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16159 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesFortran90FileExtension>;
16163 using field_type = bool;
16164 static constexpr size_t position{84};
16165 static constexpr char const *
const name{
"sourceFileUsesFortran95FileExtension"};
16166 static constexpr char const *
const typestr{
"bool"};
16167 static constexpr bool traverse{
false};
16168 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesFortran95FileExtension};
16169 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16170 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesFortran95FileExtension>;
16174 using field_type = bool;
16175 static constexpr size_t position{85};
16176 static constexpr char const *
const name{
"sourceFileUsesFortran2003FileExtension"};
16177 static constexpr char const *
const typestr{
"bool"};
16178 static constexpr bool traverse{
false};
16179 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesFortran2003FileExtension};
16180 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16181 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesFortran2003FileExtension>;
16185 using field_type = bool;
16186 static constexpr size_t position{86};
16187 static constexpr char const *
const name{
"sourceFileUsesFortran2008FileExtension"};
16188 static constexpr char const *
const typestr{
"bool"};
16189 static constexpr bool traverse{
false};
16190 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesFortran2008FileExtension};
16191 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16192 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesFortran2008FileExtension>;
16196 using field_type = bool;
16197 static constexpr size_t position{87};
16198 static constexpr char const *
const name{
"sourceFileUsesCoArrayFortranFileExtension"};
16199 static constexpr char const *
const typestr{
"bool"};
16200 static constexpr bool traverse{
false};
16201 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesCoArrayFortranFileExtension};
16202 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16203 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesCoArrayFortranFileExtension>;
16207 using field_type = bool;
16208 static constexpr size_t position{88};
16209 static constexpr char const *
const name{
"sourceFileUsesPHPFileExtension"};
16210 static constexpr char const *
const typestr{
"bool"};
16211 static constexpr bool traverse{
false};
16212 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesPHPFileExtension};
16213 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16214 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesPHPFileExtension>;
16218 using field_type = bool;
16219 static constexpr size_t position{89};
16220 static constexpr char const *
const name{
"sourceFileUsesPythonFileExtension"};
16221 static constexpr char const *
const typestr{
"bool"};
16222 static constexpr bool traverse{
false};
16223 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesPythonFileExtension};
16224 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16225 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesPythonFileExtension>;
16229 using field_type = bool;
16230 static constexpr size_t position{90};
16231 static constexpr char const *
const name{
"sourceFileUsesJavaFileExtension"};
16232 static constexpr char const *
const typestr{
"bool"};
16233 static constexpr bool traverse{
false};
16234 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesJavaFileExtension};
16235 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16236 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesJavaFileExtension>;
16240 using field_type = bool;
16241 static constexpr size_t position{91};
16242 static constexpr char const *
const name{
"sourceFileUsesJvmFileExtension"};
16243 static constexpr char const *
const typestr{
"bool"};
16244 static constexpr bool traverse{
false};
16245 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesJvmFileExtension};
16246 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16247 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesJvmFileExtension>;
16251 using field_type = bool;
16252 static constexpr size_t position{92};
16253 static constexpr char const *
const name{
"sourceFileUsesBinaryFileExtension"};
16254 static constexpr char const *
const typestr{
"bool"};
16255 static constexpr bool traverse{
false};
16256 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesBinaryFileExtension};
16257 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16258 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesBinaryFileExtension>;
16262 using field_type = bool;
16263 static constexpr size_t position{93};
16264 static constexpr char const *
const name{
"sourceFileTypeIsUnknown"};
16265 static constexpr char const *
const typestr{
"bool"};
16266 static constexpr bool traverse{
false};
16267 static constexpr auto mbr_ptr{&SgFile::p_sourceFileTypeIsUnknown};
16268 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16269 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileTypeIsUnknown>;
16273 using field_type = bool;
16274 static constexpr size_t position{94};
16275 static constexpr char const *
const name{
"sourceFileUsesCsharpFileExtension"};
16276 static constexpr char const *
const typestr{
"bool"};
16277 static constexpr bool traverse{
false};
16278 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesCsharpFileExtension};
16279 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16280 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesCsharpFileExtension>;
16284 using field_type = bool;
16285 static constexpr size_t position{95};
16286 static constexpr char const *
const name{
"sourceFileUsesAdaFileExtension"};
16287 static constexpr char const *
const typestr{
"bool"};
16288 static constexpr bool traverse{
false};
16289 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesAdaFileExtension};
16290 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16291 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesAdaFileExtension>;
16295 using field_type = bool;
16296 static constexpr size_t position{96};
16297 static constexpr char const *
const name{
"sourceFileUsesJovialFileExtension"};
16298 static constexpr char const *
const typestr{
"bool"};
16299 static constexpr bool traverse{
false};
16300 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesJovialFileExtension};
16301 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16302 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesJovialFileExtension>;
16306 using field_type = int;
16307 static constexpr size_t position{97};
16308 static constexpr char const *
const name{
"detect_dangling_pointers"};
16309 static constexpr char const *
const typestr{
"int"};
16310 static constexpr bool traverse{
false};
16311 static constexpr auto mbr_ptr{&SgFile::p_detect_dangling_pointers};
16312 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16313 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_detect_dangling_pointers>;
16317 using field_type = bool;
16318 static constexpr size_t position{98};
16319 static constexpr char const *
const name{
"experimental_flang_frontend"};
16320 static constexpr char const *
const typestr{
"bool"};
16321 static constexpr bool traverse{
false};
16322 static constexpr auto mbr_ptr{&SgFile::p_experimental_flang_frontend};
16323 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16324 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_experimental_flang_frontend>;
16328 using field_type = bool;
16329 static constexpr size_t position{99};
16330 static constexpr char const *
const name{
"read_executable_file_format_only"};
16331 static constexpr char const *
const typestr{
"bool"};
16332 static constexpr bool traverse{
false};
16333 static constexpr auto mbr_ptr{&SgFile::p_read_executable_file_format_only};
16334 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16335 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_read_executable_file_format_only>;
16339 using field_type = bool;
16340 static constexpr size_t position{100};
16341 static constexpr char const *
const name{
"visualize_executable_file_format_skip_symbols"};
16342 static constexpr char const *
const typestr{
"bool"};
16343 static constexpr bool traverse{
false};
16344 static constexpr auto mbr_ptr{&SgFile::p_visualize_executable_file_format_skip_symbols};
16345 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16346 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_visualize_executable_file_format_skip_symbols>;
16350 using field_type = bool;
16351 static constexpr size_t position{101};
16352 static constexpr char const *
const name{
"visualize_dwarf_only"};
16353 static constexpr char const *
const typestr{
"bool"};
16354 static constexpr bool traverse{
false};
16355 static constexpr auto mbr_ptr{&SgFile::p_visualize_dwarf_only};
16356 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16357 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_visualize_dwarf_only>;
16361 using field_type = bool;
16362 static constexpr size_t position{102};
16363 static constexpr char const *
const name{
"read_instructions_only"};
16364 static constexpr char const *
const typestr{
"bool"};
16365 static constexpr bool traverse{
false};
16366 static constexpr auto mbr_ptr{&SgFile::p_read_instructions_only};
16367 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16368 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_read_instructions_only>;
16372 using field_type = SgStringList;
16373 static constexpr size_t position{103};
16374 static constexpr char const *
const name{
"libraryArchiveObjectFileNameList"};
16375 static constexpr char const *
const typestr{
"SgStringList"};
16376 static constexpr bool traverse{
false};
16377 static constexpr auto mbr_ptr{&SgFile::p_libraryArchiveObjectFileNameList};
16378 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16379 using bind = Desc<SgFile, SgStringList SgFile::*, &SgFile::p_libraryArchiveObjectFileNameList>;
16383 using field_type = bool;
16384 static constexpr size_t position{104};
16385 static constexpr char const *
const name{
"isLibraryArchive"};
16386 static constexpr char const *
const typestr{
"bool"};
16387 static constexpr bool traverse{
false};
16388 static constexpr auto mbr_ptr{&SgFile::p_isLibraryArchive};
16389 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16390 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_isLibraryArchive>;
16394 using field_type = bool;
16395 static constexpr size_t position{105};
16396 static constexpr char const *
const name{
"isObjectFile"};
16397 static constexpr char const *
const typestr{
"bool"};
16398 static constexpr bool traverse{
false};
16399 static constexpr auto mbr_ptr{&SgFile::p_isObjectFile};
16400 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16401 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_isObjectFile>;
16405 using field_type = bool;
16406 static constexpr size_t position{106};
16407 static constexpr char const *
const name{
"unparse_tokens"};
16408 static constexpr char const *
const typestr{
"bool"};
16409 static constexpr bool traverse{
false};
16410 static constexpr auto mbr_ptr{&SgFile::p_unparse_tokens};
16411 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16412 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_tokens>;
16416 using field_type = int;
16417 static constexpr size_t position{107};
16418 static constexpr char const *
const name{
"unparse_tokens_testing"};
16419 static constexpr char const *
const typestr{
"int"};
16420 static constexpr bool traverse{
false};
16421 static constexpr auto mbr_ptr{&SgFile::p_unparse_tokens_testing};
16422 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16423 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_unparse_tokens_testing>;
16427 using field_type = bool;
16428 static constexpr size_t position{108};
16429 static constexpr char const *
const name{
"unparse_using_leading_and_trailing_token_mappings"};
16430 static constexpr char const *
const typestr{
"bool"};
16431 static constexpr bool traverse{
false};
16432 static constexpr auto mbr_ptr{&SgFile::p_unparse_using_leading_and_trailing_token_mappings};
16433 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16434 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_using_leading_and_trailing_token_mappings>;
16438 using field_type = bool;
16439 static constexpr size_t position{109};
16440 static constexpr char const *
const name{
"unparse_template_ast"};
16441 static constexpr char const *
const typestr{
"bool"};
16442 static constexpr bool traverse{
false};
16443 static constexpr auto mbr_ptr{&SgFile::p_unparse_template_ast};
16444 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16445 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_template_ast>;
16449 using field_type = bool;
16450 static constexpr size_t position{110};
16451 static constexpr char const *
const name{
"skipAstConsistancyTests"};
16452 static constexpr char const *
const typestr{
"bool"};
16453 static constexpr bool traverse{
false};
16454 static constexpr auto mbr_ptr{&SgFile::p_skipAstConsistancyTests};
16455 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16456 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skipAstConsistancyTests>;
16460 using field_type = bool;
16461 static constexpr size_t position{111};
16462 static constexpr char const *
const name{
"multifile_support"};
16463 static constexpr char const *
const typestr{
"bool"};
16464 static constexpr bool traverse{
false};
16465 static constexpr auto mbr_ptr{&SgFile::p_multifile_support};
16466 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16467 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_multifile_support>;
16471 using field_type = bool;
16472 static constexpr size_t position{112};
16473 static constexpr char const *
const name{
"optimization"};
16474 static constexpr char const *
const typestr{
"bool"};
16475 static constexpr bool traverse{
false};
16476 static constexpr auto mbr_ptr{&SgFile::p_optimization};
16477 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16478 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_optimization>;
16482 using field_type = bool;
16483 static constexpr size_t position{113};
16484 static constexpr char const *
const name{
"use_token_stream_to_improve_source_position_info"};
16485 static constexpr char const *
const typestr{
"bool"};
16486 static constexpr bool traverse{
false};
16487 static constexpr auto mbr_ptr{&SgFile::p_use_token_stream_to_improve_source_position_info};
16488 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16489 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_use_token_stream_to_improve_source_position_info>;
16493 using field_type = bool;
16494 static constexpr size_t position{114};
16495 static constexpr char const *
const name{
"suppress_variable_declaration_normalization"};
16496 static constexpr char const *
const typestr{
"bool"};
16497 static constexpr bool traverse{
false};
16498 static constexpr auto mbr_ptr{&SgFile::p_suppress_variable_declaration_normalization};
16499 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16500 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_suppress_variable_declaration_normalization>;
16504 using field_type = bool;
16505 static constexpr size_t position{115};
16506 static constexpr char const *
const name{
"edg_il_to_graphviz"};
16507 static constexpr char const *
const typestr{
"bool"};
16508 static constexpr bool traverse{
false};
16509 static constexpr auto mbr_ptr{&SgFile::p_edg_il_to_graphviz};
16510 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16511 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_edg_il_to_graphviz>;
16515 using field_type = bool;
16516 static constexpr size_t position{116};
16517 static constexpr char const *
const name{
"clang_il_to_graphviz"};
16518 static constexpr char const *
const typestr{
"bool"};
16519 static constexpr bool traverse{
false};
16520 static constexpr auto mbr_ptr{&SgFile::p_clang_il_to_graphviz};
16521 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16522 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_clang_il_to_graphviz>;
16526 using field_type = bool;
16527 static constexpr size_t position{117};
16528 static constexpr char const *
const name{
"no_optimize_flag_for_frontend"};
16529 static constexpr char const *
const typestr{
"bool"};
16530 static constexpr bool traverse{
false};
16531 static constexpr auto mbr_ptr{&SgFile::p_no_optimize_flag_for_frontend};
16532 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16533 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_no_optimize_flag_for_frontend>;
16537 using field_type = bool;
16538 static constexpr size_t position{118};
16539 static constexpr char const *
const name{
"unparse_edg_normalized_method_ROSE_1392"};
16540 static constexpr char const *
const typestr{
"bool"};
16541 static constexpr bool traverse{
false};
16542 static constexpr auto mbr_ptr{&SgFile::p_unparse_edg_normalized_method_ROSE_1392};
16543 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16544 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_edg_normalized_method_ROSE_1392>;
16548 using field_type = SgFile::standard_enum;
16549 static constexpr size_t position{119};
16550 static constexpr char const *
const name{
"standard"};
16551 static constexpr char const *
const typestr{
"SgFile::standard_enum"};
16552 static constexpr bool traverse{
false};
16553 static constexpr auto mbr_ptr{&SgFile::p_standard};
16554 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16555 using bind = Desc<SgFile, SgFile::standard_enum SgFile::*, &SgFile::p_standard>;
16559 using field_type = bool;
16560 static constexpr size_t position{120};
16561 static constexpr char const *
const name{
"gnu_standard"};
16562 static constexpr char const *
const typestr{
"bool"};
16563 static constexpr bool traverse{
false};
16564 static constexpr auto mbr_ptr{&SgFile::p_gnu_standard};
16565 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16566 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_gnu_standard>;
16570 using field_type = int;
16571 static constexpr size_t position{121};
16572 static constexpr char const *
const name{
"frontendErrorCode"};
16573 static constexpr char const *
const typestr{
"int"};
16574 static constexpr bool traverse{
false};
16575 static constexpr auto mbr_ptr{&SgFile::p_frontendErrorCode};
16576 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16577 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_frontendErrorCode>;
16581 using field_type = int;
16582 static constexpr size_t position{122};
16583 static constexpr char const *
const name{
"javacErrorCode"};
16584 static constexpr char const *
const typestr{
"int"};
16585 static constexpr bool traverse{
false};
16586 static constexpr auto mbr_ptr{&SgFile::p_javacErrorCode};
16587 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16588 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_javacErrorCode>;
16592 using field_type = int;
16593 static constexpr size_t position{123};
16594 static constexpr char const *
const name{
"ecjErrorCode"};
16595 static constexpr char const *
const typestr{
"int"};
16596 static constexpr bool traverse{
false};
16597 static constexpr auto mbr_ptr{&SgFile::p_ecjErrorCode};
16598 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16599 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_ecjErrorCode>;
16603 using field_type = int;
16604 static constexpr size_t position{124};
16605 static constexpr char const *
const name{
"midendErrorCode"};
16606 static constexpr char const *
const typestr{
"int"};
16607 static constexpr bool traverse{
false};
16608 static constexpr auto mbr_ptr{&SgFile::p_midendErrorCode};
16609 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16610 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_midendErrorCode>;
16614 using field_type = int;
16615 static constexpr size_t position{125};
16616 static constexpr char const *
const name{
"unparserErrorCode"};
16617 static constexpr char const *
const typestr{
"int"};
16618 static constexpr bool traverse{
false};
16619 static constexpr auto mbr_ptr{&SgFile::p_unparserErrorCode};
16620 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16621 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_unparserErrorCode>;
16625 using field_type = int;
16626 static constexpr size_t position{126};
16627 static constexpr char const *
const name{
"backendCompilerErrorCode"};
16628 static constexpr char const *
const typestr{
"int"};
16629 static constexpr bool traverse{
false};
16630 static constexpr auto mbr_ptr{&SgFile::p_backendCompilerErrorCode};
16631 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16632 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_backendCompilerErrorCode>;
16636 using field_type = bool;
16637 static constexpr size_t position{127};
16638 static constexpr char const *
const name{
"unparsedFileFailedCompilation"};
16639 static constexpr char const *
const typestr{
"bool"};
16640 static constexpr bool traverse{
false};
16641 static constexpr auto mbr_ptr{&SgFile::p_unparsedFileFailedCompilation};
16642 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16643 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparsedFileFailedCompilation>;
16648 static constexpr char const *
const name{
"File"};
16649 static constexpr unsigned long variant{416};
16650 static constexpr bool concrete{
false};
16652 using fields_t =
mp::List<describe_field_t<SgFile,Sg_File_Info*,&SgFile::p_startOfConstruct>,
describe_field_t<SgFile,SgStringList,&SgFile::p_originalCommandLineArgumentList>,
describe_field_t<SgFile,int,&SgFile::p_verbose>,
describe_field_t<SgFile,bool,&SgFile::p_output_warnings>,
describe_field_t<SgFile,bool,&SgFile::p_C_only>,
describe_field_t<SgFile,bool,&SgFile::p_Cxx_only>,
describe_field_t<SgFile,bool,&SgFile::p_Fortran_only>,
describe_field_t<SgFile,bool,&SgFile::p_CoArrayFortran_only>,
describe_field_t<SgFile,int,&SgFile::p_upc_threads>,
describe_field_t<SgFile,bool,&SgFile::p_Java_only>,
describe_field_t<SgFile,bool,&SgFile::p_Jvm_only>,
describe_field_t<SgFile,bool,&SgFile::p_Jovial_only>,
describe_field_t<SgFile,bool,&SgFile::p_PHP_only>,
describe_field_t<SgFile,bool,&SgFile::p_Python_only>,
describe_field_t<SgFile,bool,&SgFile::p_Cuda_only>,
describe_field_t<SgFile,bool,&SgFile::p_OpenCL_only>,
describe_field_t<SgFile,bool,&SgFile::p_Csharp_only>,
describe_field_t<SgFile,bool,&SgFile::p_Ada_only>,
describe_field_t<SgFile,bool,&SgFile::p_requires_C_preprocessor>,
describe_field_t<SgFile,bool,&SgFile::p_binary_only>,
describe_field_t<SgFile,SgFile::outputFormatOption_enum,&SgFile::p_inputFormat>,
describe_field_t<SgFile,SgFile::outputFormatOption_enum,&SgFile::p_outputFormat>,
describe_field_t<SgFile,SgFile::outputFormatOption_enum,&SgFile::p_backendCompileFormat>,
describe_field_t<SgFile,bool,&SgFile::p_fortran_implicit_none>,
describe_field_t<SgFile,bool,&SgFile::p_openmp>,
describe_field_t<SgFile,bool,&SgFile::p_openmp_parse_only>,
describe_field_t<SgFile,bool,&SgFile::p_openmp_ast_only>,
describe_field_t<SgFile,bool,&SgFile::p_openmp_lowering>,
describe_field_t<SgFile,bool,&SgFile::p_openacc>,
describe_field_t<SgFile,bool,&SgFile::p_openacc_parse_only>,
describe_field_t<SgFile,bool,&SgFile::p_openacc_ast_only>,
describe_field_t<SgFile,bool,&SgFile::p_cray_pointer_support>,
describe_field_t<SgFile,bool,&SgFile::p_failsafe>,
describe_field_t<SgFile,bool,&SgFile::p_output_parser_actions>,
describe_field_t<SgFile,bool,&SgFile::p_exit_after_parser>,
describe_field_t<SgFile,bool,&SgFile::p_skip_syntax_check>,
describe_field_t<SgFile,bool,&SgFile::p_skip_parser>,
describe_field_t<SgFile,bool,&SgFile::p_relax_syntax_check>,
describe_field_t<SgFile,bool,&SgFile::p_skip_translation_from_edg_ast_to_rose_ast>,
describe_field_t<SgFile,bool,&SgFile::p_skip_transformation>,
describe_field_t<SgFile,bool,&SgFile::p_skip_unparse>,
describe_field_t<SgFile,bool,&SgFile::p_skipfinalCompileStep>,
describe_field_t<SgFile,bool,&SgFile::p_unparse_includes>,
describe_field_t<SgFile,bool,&SgFile::p_unparse_line_directives>,
describe_field_t<SgFile,bool,&SgFile::p_unparse_function_calls_using_operator_syntax>,
describe_field_t<SgFile,bool,&SgFile::p_unparse_function_calls_using_operator_names>,
describe_field_t<SgFile,bool,&SgFile::p_unparse_instruction_addresses>,
describe_field_t<SgFile,bool,&SgFile::p_unparse_raw_memory_contents>,
describe_field_t<SgFile,bool,&SgFile::p_unparse_binary_file_format>,
describe_field_t<SgFile,SgFile::languageOption_enum,&SgFile::p_outputLanguage>,
describe_field_t<SgFile,SgFile::languageOption_enum,&SgFile::p_inputLanguage>,
describe_field_t<SgFile,std::string,&SgFile::p_sourceFileNameWithPath>,
describe_field_t<SgFile,std::string,&SgFile::p_sourceFileNameWithoutPath>,
describe_field_t<SgFile,std::string,&SgFile::p_unparse_output_filename>,
describe_field_t<SgFile,std::string,&SgFile::p_objectFileNameWithPath>,
describe_field_t<SgFile,std::string,&SgFile::p_objectFileNameWithoutPath>,
describe_field_t<SgFile,bool,&SgFile::p_useBackendOnly>,
describe_field_t<SgFile,bool,&SgFile::p_compileOnly>,
describe_field_t<SgFile,std::string,&SgFile::p_savedFrontendCommandLine>,
describe_field_t<SgFile,bool,&SgFile::p_no_implicit_templates>,
describe_field_t<SgFile,bool,&SgFile::p_no_implicit_inline_templates>,
describe_field_t<SgFile,bool,&SgFile::p_skip_commentsAndDirectives>,
describe_field_t<SgFile,bool,&SgFile::p_collectAllCommentsAndDirectives>,
describe_field_t<SgFile,bool,&SgFile::p_translateCommentsAndDirectivesIntoAST>,
describe_field_t<SgFile,bool,&SgFile::p_unparseHeaderFiles>,
describe_field_t<SgFile,ROSEAttributesListContainerPtr,&SgFile::p_preprocessorDirectivesAndCommentsList>,
describe_field_t<SgFile,AstAttributeMechanism*,&SgFile::p_attributeMechanism>,
describe_field_t<SgFile,bool,&SgFile::p_KCC_frontend>,
describe_field_t<SgFile,bool,&SgFile::p_new_frontend>,
describe_field_t<SgFile,bool,&SgFile::p_disable_edg_backend>,
describe_field_t<SgFile,bool,&SgFile::p_disable_sage_backend>,
describe_field_t<SgFile,int,&SgFile::p_testingLevel>,
describe_field_t<SgFile,bool,&SgFile::p_preinit_il>,
describe_field_t<SgFile,bool,&SgFile::p_enable_cp_backend>,
describe_field_t<SgFile,bool,&SgFile::p_markGeneratedFiles>,
describe_field_t<SgFile,bool,&SgFile::p_negative_test>,
describe_field_t<SgFile,bool,&SgFile::p_strict_language_handling>,
describe_field_t<SgFile,bool,&SgFile::p_wave>,
describe_field_t<SgFile,int,&SgFile::p_embedColorCodesInGeneratedCode>,
describe_field_t<SgFile,int,&SgFile::p_generateSourcePositionCodes>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesCppFileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesFortranFileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesFortran77FileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesFortran90FileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesFortran95FileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesFortran2003FileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesFortran2008FileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesCoArrayFortranFileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesPHPFileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesPythonFileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesJavaFileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesJvmFileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesBinaryFileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileTypeIsUnknown>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesCsharpFileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesAdaFileExtension>,
describe_field_t<SgFile,bool,&SgFile::p_sourceFileUsesJovialFileExtension>,
describe_field_t<SgFile,int,&SgFile::p_detect_dangling_pointers>,
describe_field_t<SgFile,bool,&SgFile::p_experimental_flang_frontend>,
describe_field_t<SgFile,bool,&SgFile::p_read_executable_file_format_only>,
describe_field_t<SgFile,bool,&SgFile::p_visualize_executable_file_format_skip_symbols>,
describe_field_t<SgFile,bool,&SgFile::p_visualize_dwarf_only>,
describe_field_t<SgFile,bool,&SgFile::p_read_instructions_only>,
describe_field_t<SgFile,SgStringList,&SgFile::p_libraryArchiveObjectFileNameList>,
describe_field_t<SgFile,bool,&SgFile::p_isLibraryArchive>,
describe_field_t<SgFile,bool,&SgFile::p_isObjectFile>,
describe_field_t<SgFile,bool,&SgFile::p_unparse_tokens>,
describe_field_t<SgFile,int,&SgFile::p_unparse_tokens_testing>,
describe_field_t<SgFile,bool,&SgFile::p_unparse_using_leading_and_trailing_token_mappings>,
describe_field_t<SgFile,bool,&SgFile::p_unparse_template_ast>,
describe_field_t<SgFile,bool,&SgFile::p_skipAstConsistancyTests>,
describe_field_t<SgFile,bool,&SgFile::p_multifile_support>,
describe_field_t<SgFile,bool,&SgFile::p_optimization>,
describe_field_t<SgFile,bool,&SgFile::p_use_token_stream_to_improve_source_position_info>,
describe_field_t<SgFile,bool,&SgFile::p_suppress_variable_declaration_normalization>,
describe_field_t<SgFile,bool,&SgFile::p_edg_il_to_graphviz>,
describe_field_t<SgFile,bool,&SgFile::p_clang_il_to_graphviz>,
describe_field_t<SgFile,bool,&SgFile::p_no_optimize_flag_for_frontend>,
describe_field_t<SgFile,bool,&SgFile::p_unparse_edg_normalized_method_ROSE_1392>,
describe_field_t<SgFile,SgFile::standard_enum,&SgFile::p_standard>,
describe_field_t<SgFile,bool,&SgFile::p_gnu_standard>,
describe_field_t<SgFile,int,&SgFile::p_frontendErrorCode>,
describe_field_t<SgFile,int,&SgFile::p_javacErrorCode>,
describe_field_t<SgFile,int,&SgFile::p_ecjErrorCode>,
describe_field_t<SgFile,int,&SgFile::p_midendErrorCode>,
describe_field_t<SgFile,int,&SgFile::p_unparserErrorCode>,
describe_field_t<SgFile,int,&SgFile::p_backendCompilerErrorCode>,
describe_field_t<SgFile,bool,&SgFile::p_unparsedFileFailedCompilation>>;
16659 using field_type = SgFilePtrList;
16660 static constexpr size_t position{0};
16661 static constexpr char const *
const name{
"listOfFiles"};
16662 static constexpr char const *
const typestr{
"SgFilePtrList"};
16663 static constexpr bool traverse{
true};
16664 static constexpr auto mbr_ptr{&SgFileList::p_listOfFiles};
16665 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16666 using bind = Desc<SgFileList, SgFilePtrList SgFileList::*, &SgFileList::p_listOfFiles>;
16671 static constexpr size_t position{1};
16672 static constexpr char const *
const name{
"attributeMechanism"};
16673 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
16674 static constexpr bool traverse{
false};
16675 static constexpr auto mbr_ptr{&SgFileList::p_attributeMechanism};
16676 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16677 using bind = Desc<SgFileList, AstAttributeMechanism* SgFileList::*, &SgFileList::p_attributeMechanism>;
16682 static constexpr char const *
const name{
"FileList"};
16683 static constexpr unsigned long variant{417};
16684 static constexpr bool concrete{
true};
16693 using field_type = float;
16694 static constexpr size_t position{0};
16695 static constexpr char const *
const name{
"value"};
16696 static constexpr char const *
const typestr{
"float"};
16697 static constexpr bool traverse{
false};
16699 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16700 using bind = Desc<SgFloatVal, float SgFloatVal::*, &SgFloatVal::p_value>;
16704 using field_type = std::string;
16705 static constexpr size_t position{1};
16706 static constexpr char const *
const name{
"valueString"};
16707 static constexpr char const *
const typestr{
"std::string"};
16708 static constexpr bool traverse{
false};
16709 static constexpr auto mbr_ptr{&SgFloatVal::p_valueString};
16710 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16711 using bind = Desc<SgFloatVal, std::string SgFloatVal::*, &SgFloatVal::p_valueString>;
16716 static constexpr char const *
const name{
"FloatVal"};
16717 static constexpr unsigned long variant{418};
16718 static constexpr bool concrete{
true};
16727 using field_type =
long double;
16728 static constexpr size_t position{0};
16729 static constexpr char const *
const name{
"value"};
16730 static constexpr char const *
const typestr{
"long double"};
16731 static constexpr bool traverse{
false};
16732 static constexpr auto mbr_ptr{&SgFloat128Val::p_value};
16733 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16734 using bind = Desc<SgFloat128Val, long double SgFloat128Val::*, &SgFloat128Val::p_value>;
16738 using field_type = std::string;
16739 static constexpr size_t position{1};
16740 static constexpr char const *
const name{
"valueString"};
16741 static constexpr char const *
const typestr{
"std::string"};
16742 static constexpr bool traverse{
false};
16743 static constexpr auto mbr_ptr{&SgFloat128Val::p_valueString};
16744 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16745 using bind = Desc<SgFloat128Val, std::string SgFloat128Val::*, &SgFloat128Val::p_valueString>;
16750 static constexpr char const *
const name{
"Float128Val"};
16751 static constexpr unsigned long variant{419};
16752 static constexpr bool concrete{
true};
16761 using field_type =
long double;
16762 static constexpr size_t position{0};
16763 static constexpr char const *
const name{
"value"};
16764 static constexpr char const *
const typestr{
"long double"};
16765 static constexpr bool traverse{
false};
16766 static constexpr auto mbr_ptr{&SgFloat80Val::p_value};
16767 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16768 using bind = Desc<SgFloat80Val, long double SgFloat80Val::*, &SgFloat80Val::p_value>;
16772 using field_type = std::string;
16773 static constexpr size_t position{1};
16774 static constexpr char const *
const name{
"valueString"};
16775 static constexpr char const *
const typestr{
"std::string"};
16776 static constexpr bool traverse{
false};
16777 static constexpr auto mbr_ptr{&SgFloat80Val::p_valueString};
16778 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16779 using bind = Desc<SgFloat80Val, std::string SgFloat80Val::*, &SgFloat80Val::p_valueString>;
16784 static constexpr char const *
const name{
"Float80Val"};
16785 static constexpr unsigned long variant{420};
16786 static constexpr bool concrete{
true};
16796 static constexpr size_t position{0};
16797 static constexpr char const *
const name{
"operands"};
16798 static constexpr char const *
const typestr{
"SgExpression*"};
16799 static constexpr bool traverse{
true};
16800 static constexpr auto mbr_ptr{&SgFoldExpression::p_operands};
16801 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16802 using bind = Desc<SgFoldExpression, SgExpression* SgFoldExpression::*, &SgFoldExpression::p_operands>;
16806 using field_type = std::string;
16807 static constexpr size_t position{1};
16808 static constexpr char const *
const name{
"operator_token"};
16809 static constexpr char const *
const typestr{
"std::string"};
16810 static constexpr bool traverse{
false};
16811 static constexpr auto mbr_ptr{&SgFoldExpression::p_operator_token};
16812 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16813 using bind = Desc<SgFoldExpression, std::string SgFoldExpression::*, &SgFoldExpression::p_operator_token>;
16817 using field_type = bool;
16818 static constexpr size_t position{2};
16819 static constexpr char const *
const name{
"is_left_associative"};
16820 static constexpr char const *
const typestr{
"bool"};
16821 static constexpr bool traverse{
false};
16822 static constexpr auto mbr_ptr{&SgFoldExpression::p_is_left_associative};
16823 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16824 using bind = Desc<SgFoldExpression, bool SgFoldExpression::*, &SgFoldExpression::p_is_left_associative>;
16829 static constexpr char const *
const name{
"FoldExpression"};
16830 static constexpr unsigned long variant{421};
16831 static constexpr bool concrete{
true};
16841 static constexpr char const *
const name{
"FlushStatement"};
16842 static constexpr unsigned long variant{422};
16843 static constexpr bool concrete{
true};
16853 static constexpr size_t position{0};
16854 static constexpr char const *
const name{
"forall_header"};
16855 static constexpr char const *
const typestr{
"SgExprListExp*"};
16856 static constexpr bool traverse{
true};
16857 static constexpr auto mbr_ptr{&SgForAllStatement::p_forall_header};
16858 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16859 using bind = Desc<SgForAllStatement, SgExprListExp* SgForAllStatement::*, &SgForAllStatement::p_forall_header>;
16864 static constexpr size_t position{1};
16865 static constexpr char const *
const name{
"body"};
16866 static constexpr char const *
const typestr{
"SgBasicBlock*"};
16867 static constexpr bool traverse{
true};
16868 static constexpr auto mbr_ptr{&SgForAllStatement::p_body};
16869 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16870 using bind = Desc<SgForAllStatement, SgBasicBlock* SgForAllStatement::*, &SgForAllStatement::p_body>;
16874 using field_type = bool;
16875 static constexpr size_t position{2};
16876 static constexpr char const *
const name{
"has_end_statement"};
16877 static constexpr char const *
const typestr{
"bool"};
16878 static constexpr bool traverse{
false};
16879 static constexpr auto mbr_ptr{&SgForAllStatement::p_has_end_statement};
16880 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16881 using bind = Desc<SgForAllStatement, bool SgForAllStatement::*, &SgForAllStatement::p_has_end_statement>;
16885 using field_type = std::string;
16886 static constexpr size_t position{3};
16887 static constexpr char const *
const name{
"string_label"};
16888 static constexpr char const *
const typestr{
"std::string"};
16889 static constexpr bool traverse{
false};
16890 static constexpr auto mbr_ptr{&SgForAllStatement::p_string_label};
16891 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16892 using bind = Desc<SgForAllStatement, std::string SgForAllStatement::*, &SgForAllStatement::p_string_label>;
16897 static constexpr size_t position{4};
16898 static constexpr char const *
const name{
"end_numeric_label"};
16899 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
16900 static constexpr bool traverse{
false};
16901 static constexpr auto mbr_ptr{&SgForAllStatement::p_end_numeric_label};
16902 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16903 using bind = Desc<SgForAllStatement, SgLabelRefExp* SgForAllStatement::*, &SgForAllStatement::p_end_numeric_label>;
16908 static constexpr size_t position{5};
16909 static constexpr char const *
const name{
"forall_statement_kind"};
16910 static constexpr char const *
const typestr{
"SgForAllStatement::forall_statement_kind_enum"};
16911 static constexpr bool traverse{
false};
16912 static constexpr auto mbr_ptr{&SgForAllStatement::p_forall_statement_kind};
16913 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16914 using bind = Desc<SgForAllStatement, SgForAllStatement::forall_statement_kind_enum SgForAllStatement::*, &SgForAllStatement::p_forall_statement_kind>;
16919 static constexpr char const *
const name{
"ForAllStatement"};
16920 static constexpr unsigned long variant{423};
16921 static constexpr bool concrete{
true};
16923 using fields_t =
mp::List<describe_field_t<SgForAllStatement,SgExprListExp*,&SgForAllStatement::p_forall_header>,
describe_field_t<SgForAllStatement,SgBasicBlock*,&SgForAllStatement::p_body>,
describe_field_t<SgForAllStatement,bool,&SgForAllStatement::p_has_end_statement>,
describe_field_t<SgForAllStatement,std::string,&SgForAllStatement::p_string_label>,
describe_field_t<SgForAllStatement,SgLabelRefExp*,&SgForAllStatement::p_end_numeric_label>,
describe_field_t<SgForAllStatement,SgForAllStatement::forall_statement_kind_enum,&SgForAllStatement::p_forall_statement_kind>>;
16930 using field_type = SgStatementPtrList;
16931 static constexpr size_t position{0};
16932 static constexpr char const *
const name{
"init_stmt"};
16933 static constexpr char const *
const typestr{
"SgStatementPtrList"};
16934 static constexpr bool traverse{
true};
16936 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16937 using bind = Desc<SgForInitStatement, SgStatementPtrList SgForInitStatement::*, &SgForInitStatement::p_init_stmt>;
16942 static constexpr char const *
const name{
"ForInitStatement"};
16943 static constexpr unsigned long variant{424};
16944 static constexpr bool concrete{
true};
16954 static constexpr size_t position{0};
16955 static constexpr char const *
const name{
"for_init_stmt"};
16956 static constexpr char const *
const typestr{
"SgForInitStatement*"};
16957 static constexpr bool traverse{
true};
16959 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16960 using bind = Desc<SgForStatement, SgForInitStatement* SgForStatement::*, &SgForStatement::p_for_init_stmt>;
16965 static constexpr size_t position{1};
16966 static constexpr char const *
const name{
"test"};
16967 static constexpr char const *
const typestr{
"SgStatement*"};
16968 static constexpr bool traverse{
true};
16969 static constexpr auto mbr_ptr{&SgForStatement::p_test};
16970 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16971 using bind = Desc<SgForStatement, SgStatement* SgForStatement::*, &SgForStatement::p_test>;
16976 static constexpr size_t position{2};
16977 static constexpr char const *
const name{
"increment"};
16978 static constexpr char const *
const typestr{
"SgExpression*"};
16979 static constexpr bool traverse{
true};
16980 static constexpr auto mbr_ptr{&SgForStatement::p_increment};
16981 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16982 using bind = Desc<SgForStatement, SgExpression* SgForStatement::*, &SgForStatement::p_increment>;
16987 static constexpr size_t position{3};
16988 static constexpr char const *
const name{
"loop_body"};
16989 static constexpr char const *
const typestr{
"SgStatement*"};
16990 static constexpr bool traverse{
true};
16992 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16993 using bind = Desc<SgForStatement, SgStatement* SgForStatement::*, &SgForStatement::p_loop_body>;
16998 static constexpr size_t position{4};
16999 static constexpr char const *
const name{
"else_body"};
17000 static constexpr char const *
const typestr{
"SgStatement*"};
17001 static constexpr bool traverse{
true};
17003 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17004 using bind = Desc<SgForStatement, SgStatement* SgForStatement::*, &SgForStatement::p_else_body>;
17008 using field_type = std::string;
17009 static constexpr size_t position{5};
17010 static constexpr char const *
const name{
"string_label"};
17011 static constexpr char const *
const typestr{
"std::string"};
17012 static constexpr bool traverse{
false};
17013 static constexpr auto mbr_ptr{&SgForStatement::p_string_label};
17014 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17015 using bind = Desc<SgForStatement, std::string SgForStatement::*, &SgForStatement::p_string_label>;
17020 static constexpr char const *
const name{
"ForStatement"};
17021 static constexpr unsigned long variant{425};
17022 static constexpr bool concrete{
true};
17024 using fields_t =
mp::List<describe_field_t<SgForStatement,SgForInitStatement*,&SgForStatement::p_for_init_stmt>,
describe_field_t<SgForStatement,SgStatement*,&SgForStatement::p_test>,
describe_field_t<SgForStatement,SgExpression*,&SgForStatement::p_increment>,
describe_field_t<SgForStatement,SgStatement*,&SgForStatement::p_loop_body>,
describe_field_t<SgForStatement,SgStatement*,&SgForStatement::p_else_body>,
describe_field_t<SgForStatement,std::string,&SgForStatement::p_string_label>>;