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};
1589 using field_type = rose_addr_t;
1590 static constexpr size_t position{0};
1591 static constexpr char const *
const name{
"id"};
1592 static constexpr char const *
const typestr{
"rose_addr_t"};
1593 static constexpr bool traverse{
false};
1594 static constexpr auto mbr_ptr{&SgAsmBlock::p_id};
1595 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1596 using bind = Desc<SgAsmBlock, rose_addr_t SgAsmBlock::*, &SgAsmBlock::p_id>;
1600 using field_type = unsigned;
1601 static constexpr size_t position{1};
1602 static constexpr char const *
const name{
"reason"};
1603 static constexpr char const *
const typestr{
"unsigned"};
1604 static constexpr bool traverse{
false};
1605 static constexpr auto mbr_ptr{&SgAsmBlock::p_reason};
1606 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1607 using bind = Desc<SgAsmBlock, unsigned SgAsmBlock::*, &SgAsmBlock::p_reason>;
1611 using field_type = SgAsmStatementPtrList;
1612 static constexpr size_t position{2};
1613 static constexpr char const *
const name{
"statementList"};
1614 static constexpr char const *
const typestr{
"SgAsmStatementPtrList"};
1615 static constexpr bool traverse{
true};
1616 static constexpr auto mbr_ptr{&SgAsmBlock::p_statementList};
1617 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1618 using bind = Desc<SgAsmBlock, SgAsmStatementPtrList SgAsmBlock::*, &SgAsmBlock::p_statementList>;
1622 using field_type = SgAsmIntegerValuePtrList;
1623 static constexpr size_t position{3};
1624 static constexpr char const *
const name{
"successors"};
1625 static constexpr char const *
const typestr{
"SgAsmIntegerValuePtrList"};
1626 static constexpr bool traverse{
false};
1627 static constexpr auto mbr_ptr{&SgAsmBlock::p_successors};
1628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1629 using bind = Desc<SgAsmBlock, SgAsmIntegerValuePtrList SgAsmBlock::*, &SgAsmBlock::p_successors>;
1633 using field_type = bool;
1634 static constexpr size_t position{4};
1635 static constexpr char const *
const name{
"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_addr_t,&SgAsmBlock::p_id>,
describe_field_t<SgAsmBlock,unsigned,&SgAsmBlock::p_reason>,
describe_field_t<SgAsmBlock,SgAsmStatementPtrList,&SgAsmBlock::p_statementList>,
describe_field_t<SgAsmBlock,SgAsmIntegerValuePtrList,&SgAsmBlock::p_successors>,
describe_field_t<SgAsmBlock,bool,&SgAsmBlock::p_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>;
1723 using field_type = rose_addr_t;
1724 static constexpr size_t position{1};
1725 static constexpr char const *
const name{
"st_name_offset"};
1726 static constexpr char const *
const typestr{
"rose_addr_t"};
1727 static constexpr bool traverse{
false};
1728 static constexpr auto mbr_ptr{&SgAsmCoffSymbol::p_st_name_offset};
1729 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1730 using bind = Desc<SgAsmCoffSymbol, rose_addr_t SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_name_offset>;
1734 using field_type = int;
1735 static constexpr size_t position{2};
1736 static constexpr char const *
const name{
"st_section_num"};
1737 static constexpr char const *
const typestr{
"int"};
1738 static constexpr bool traverse{
false};
1739 static constexpr auto mbr_ptr{&SgAsmCoffSymbol::p_st_section_num};
1740 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1741 using bind = Desc<SgAsmCoffSymbol, int SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_section_num>;
1745 using field_type = unsigned;
1746 static constexpr size_t position{3};
1747 static constexpr char const *
const name{
"st_type"};
1748 static constexpr char const *
const typestr{
"unsigned"};
1749 static constexpr bool traverse{
false};
1750 static constexpr auto mbr_ptr{&SgAsmCoffSymbol::p_st_type};
1751 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1752 using bind = Desc<SgAsmCoffSymbol, unsigned SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_type>;
1756 using field_type = unsigned;
1757 static constexpr size_t position{4};
1758 static constexpr char const *
const name{
"st_storage_class"};
1759 static constexpr char const *
const typestr{
"unsigned"};
1760 static constexpr bool traverse{
false};
1761 static constexpr auto mbr_ptr{&SgAsmCoffSymbol::p_st_storage_class};
1762 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1763 using bind = Desc<SgAsmCoffSymbol, unsigned SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_storage_class>;
1767 using field_type = unsigned;
1768 static constexpr size_t position{5};
1769 static constexpr char const *
const name{
"st_num_aux_entries"};
1770 static constexpr char const *
const typestr{
"unsigned"};
1771 static constexpr bool traverse{
false};
1772 static constexpr auto mbr_ptr{&SgAsmCoffSymbol::p_st_num_aux_entries};
1773 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
1774 using bind = Desc<SgAsmCoffSymbol, unsigned SgAsmCoffSymbol::*, &SgAsmCoffSymbol::p_st_num_aux_entries>;
1778 using field_type = SgUnsignedCharList;
1779 static constexpr size_t position{6};
1780 static constexpr char const *
const name{
"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_addr_t,&SgAsmCoffSymbol::p_st_name_offset>,
describe_field_t<SgAsmCoffSymbol,int,&SgAsmCoffSymbol::p_st_section_num>,
describe_field_t<SgAsmCoffSymbol,unsigned,&SgAsmCoffSymbol::p_st_type>,
describe_field_t<SgAsmCoffSymbol,unsigned,&SgAsmCoffSymbol::p_st_storage_class>,
describe_field_t<SgAsmCoffSymbol,unsigned,&SgAsmCoffSymbol::p_st_num_aux_entries>,
describe_field_t<SgAsmCoffSymbol,SgUnsignedCharList,&SgAsmCoffSymbol::p_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>;
2015 using field_type = rose_addr_t;
2016 static constexpr size_t position{8};
2017 static constexpr char const *
const name{
"e_lfanew"};
2018 static constexpr char const *
const typestr{
"rose_addr_t"};
2019 static constexpr bool traverse{
false};
2020 static constexpr auto mbr_ptr{&SgAsmDOSExtendedHeader::p_e_lfanew};
2021 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2022 using bind = Desc<SgAsmDOSExtendedHeader, rose_addr_t SgAsmDOSExtendedHeader::*, &SgAsmDOSExtendedHeader::p_e_lfanew>;
2027 static constexpr char const *
const name{
"AsmDOSExtendedHeader"};
2028 static constexpr unsigned long variant{70};
2029 static constexpr bool concrete{
true};
2031 using fields_t =
mp::List<describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_res1>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_oemid>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_oeminfo>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_res2>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_res3>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_res4>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_res5>,
describe_field_t<SgAsmDOSExtendedHeader,unsigned,&SgAsmDOSExtendedHeader::p_e_res6>,
describe_field_t<SgAsmDOSExtendedHeader,rose_addr_t,&SgAsmDOSExtendedHeader::p_e_lfanew>>;
2038 using field_type = uint16_t;
2039 static constexpr size_t position{0};
2040 static constexpr char const *
const name{
"e_last_page_size"};
2041 static constexpr char const *
const typestr{
"uint16_t"};
2042 static constexpr bool traverse{
false};
2043 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_last_page_size};
2044 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2045 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_last_page_size>;
2049 using field_type = uint16_t;
2050 static constexpr size_t position{1};
2051 static constexpr char const *
const name{
"e_total_pages"};
2052 static constexpr char const *
const typestr{
"uint16_t"};
2053 static constexpr bool traverse{
false};
2054 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_total_pages};
2055 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2056 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_total_pages>;
2060 using field_type = uint16_t;
2061 static constexpr size_t position{2};
2062 static constexpr char const *
const name{
"e_nrelocs"};
2063 static constexpr char const *
const typestr{
"uint16_t"};
2064 static constexpr bool traverse{
false};
2065 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_nrelocs};
2066 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2067 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_nrelocs>;
2071 using field_type = uint16_t;
2072 static constexpr size_t position{3};
2073 static constexpr char const *
const name{
"e_header_paragraphs"};
2074 static constexpr char const *
const typestr{
"uint16_t"};
2075 static constexpr bool traverse{
false};
2076 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_header_paragraphs};
2077 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2078 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_header_paragraphs>;
2082 using field_type = uint16_t;
2083 static constexpr size_t position{4};
2084 static constexpr char const *
const name{
"e_minalloc"};
2085 static constexpr char const *
const typestr{
"uint16_t"};
2086 static constexpr bool traverse{
false};
2087 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_minalloc};
2088 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2089 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_minalloc>;
2093 using field_type = uint16_t;
2094 static constexpr size_t position{5};
2095 static constexpr char const *
const name{
"e_maxalloc"};
2096 static constexpr char const *
const typestr{
"uint16_t"};
2097 static constexpr bool traverse{
false};
2098 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_maxalloc};
2099 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2100 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_maxalloc>;
2104 using field_type = uint16_t;
2105 static constexpr size_t position{6};
2106 static constexpr char const *
const name{
"e_ss"};
2107 static constexpr char const *
const typestr{
"uint16_t"};
2108 static constexpr bool traverse{
false};
2109 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_ss};
2110 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2111 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_ss>;
2115 using field_type = uint16_t;
2116 static constexpr size_t position{7};
2117 static constexpr char const *
const name{
"e_sp"};
2118 static constexpr char const *
const typestr{
"uint16_t"};
2119 static constexpr bool traverse{
false};
2120 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_sp};
2121 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2122 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_sp>;
2126 using field_type = uint16_t;
2127 static constexpr size_t position{8};
2128 static constexpr char const *
const name{
"e_cksum"};
2129 static constexpr char const *
const typestr{
"uint16_t"};
2130 static constexpr bool traverse{
false};
2131 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_cksum};
2132 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2133 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_cksum>;
2137 using field_type = uint16_t;
2138 static constexpr size_t position{9};
2139 static constexpr char const *
const name{
"e_ip"};
2140 static constexpr char const *
const typestr{
"uint16_t"};
2141 static constexpr bool traverse{
false};
2142 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_ip};
2143 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2144 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_ip>;
2148 using field_type = uint16_t;
2149 static constexpr size_t position{10};
2150 static constexpr char const *
const name{
"e_cs"};
2151 static constexpr char const *
const typestr{
"uint16_t"};
2152 static constexpr bool traverse{
false};
2153 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_cs};
2154 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2155 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_cs>;
2159 using field_type = uint16_t;
2160 static constexpr size_t position{11};
2161 static constexpr char const *
const name{
"e_overlay"};
2162 static constexpr char const *
const typestr{
"uint16_t"};
2163 static constexpr bool traverse{
false};
2164 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_overlay};
2165 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2166 using bind = Desc<SgAsmDOSFileHeader, uint16_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_overlay>;
2170 using field_type = rose_addr_t;
2171 static constexpr size_t position{12};
2172 static constexpr char const *
const name{
"e_relocs_offset"};
2173 static constexpr char const *
const typestr{
"rose_addr_t"};
2174 static constexpr bool traverse{
false};
2175 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_relocs_offset};
2176 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2177 using bind = Desc<SgAsmDOSFileHeader, rose_addr_t SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_relocs_offset>;
2181 using field_type = unsigned;
2182 static constexpr size_t position{13};
2183 static constexpr char const *
const name{
"e_res1"};
2184 static constexpr char const *
const typestr{
"unsigned"};
2185 static constexpr bool traverse{
false};
2186 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_e_res1};
2187 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2188 using bind = Desc<SgAsmDOSFileHeader, unsigned SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_e_res1>;
2193 static constexpr size_t position{14};
2194 static constexpr char const *
const name{
"relocs"};
2195 static constexpr char const *
const typestr{
"SgAsmGenericSection*"};
2196 static constexpr bool traverse{
false};
2197 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_relocs};
2198 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2199 using bind = Desc<SgAsmDOSFileHeader, SgAsmGenericSection* SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_relocs>;
2204 static constexpr size_t position{15};
2205 static constexpr char const *
const name{
"rm_section"};
2206 static constexpr char const *
const typestr{
"SgAsmGenericSection*"};
2207 static constexpr bool traverse{
false};
2208 static constexpr auto mbr_ptr{&SgAsmDOSFileHeader::p_rm_section};
2209 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2210 using bind = Desc<SgAsmDOSFileHeader, SgAsmGenericSection* SgAsmDOSFileHeader::*, &SgAsmDOSFileHeader::p_rm_section>;
2215 static constexpr char const *
const name{
"AsmDOSFileHeader"};
2216 static constexpr unsigned long variant{71};
2217 static constexpr bool concrete{
true};
2219 using fields_t =
mp::List<describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_last_page_size>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_total_pages>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_nrelocs>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_header_paragraphs>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_minalloc>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_maxalloc>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_ss>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_sp>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_cksum>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_ip>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_cs>,
describe_field_t<SgAsmDOSFileHeader,uint16_t,&SgAsmDOSFileHeader::p_e_overlay>,
describe_field_t<SgAsmDOSFileHeader,rose_addr_t,&SgAsmDOSFileHeader::p_e_relocs_offset>,
describe_field_t<SgAsmDOSFileHeader,unsigned,&SgAsmDOSFileHeader::p_e_res1>,
describe_field_t<SgAsmDOSFileHeader,SgAsmGenericSection*,&SgAsmDOSFileHeader::p_relocs>,
describe_field_t<SgAsmDOSFileHeader,SgAsmGenericSection*,&SgAsmDOSFileHeader::p_rm_section>>;
2227 static constexpr char const *
const name{
"AsmSynthesizedDataStructureDeclaration"};
2228 static constexpr unsigned long variant{72};
2229 static constexpr bool concrete{
true};
2239 static constexpr char const *
const name{
"AsmSynthesizedDeclaration"};
2240 static constexpr unsigned long variant{73};
2241 static constexpr bool concrete{
false};
2251 static constexpr char const *
const name{
"AsmDirectRegisterExpression"};
2252 static constexpr unsigned long variant{74};
2253 static constexpr bool concrete{
true};
2263 static constexpr char const *
const name{
"AsmDwarfAccessDeclaration"};
2264 static constexpr unsigned long variant{75};
2265 static constexpr bool concrete{
true};
2275 static constexpr size_t position{0};
2276 static constexpr char const *
const name{
"body"};
2277 static constexpr char const *
const typestr{
"SgAsmDwarfConstructList*"};
2278 static constexpr bool traverse{
true};
2279 static constexpr auto mbr_ptr{&SgAsmDwarfArrayType::p_body};
2280 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2281 using bind = Desc<SgAsmDwarfArrayType, SgAsmDwarfConstructList* SgAsmDwarfArrayType::*, &SgAsmDwarfArrayType::p_body>;
2286 static constexpr char const *
const name{
"AsmDwarfArrayType"};
2287 static constexpr unsigned long variant{76};
2288 static constexpr bool concrete{
true};
2298 static constexpr char const *
const name{
"AsmDwarfBaseType"};
2299 static constexpr unsigned long variant{77};
2300 static constexpr bool concrete{
true};
2310 static constexpr char const *
const name{
"AsmDwarfCatchBlock"};
2311 static constexpr unsigned long variant{78};
2312 static constexpr bool concrete{
true};
2322 static constexpr char const *
const name{
"AsmDwarfClassTemplate"};
2323 static constexpr unsigned long variant{79};
2324 static constexpr bool concrete{
true};
2334 static constexpr size_t position{0};
2335 static constexpr char const *
const name{
"body"};
2336 static constexpr char const *
const typestr{
"SgAsmDwarfConstructList*"};
2337 static constexpr bool traverse{
true};
2338 static constexpr auto mbr_ptr{&SgAsmDwarfClassType::p_body};
2339 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2340 using bind = Desc<SgAsmDwarfClassType, SgAsmDwarfConstructList* SgAsmDwarfClassType::*, &SgAsmDwarfClassType::p_body>;
2345 static constexpr char const *
const name{
"AsmDwarfClassType"};
2346 static constexpr unsigned long variant{80};
2347 static constexpr bool concrete{
true};
2357 static constexpr size_t position{0};
2358 static constexpr char const *
const name{
"body"};
2359 static constexpr char const *
const typestr{
"SgAsmDwarfConstructList*"};
2360 static constexpr bool traverse{
true};
2361 static constexpr auto mbr_ptr{&SgAsmDwarfCommonBlock::p_body};
2362 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2363 using bind = Desc<SgAsmDwarfCommonBlock, SgAsmDwarfConstructList* SgAsmDwarfCommonBlock::*, &SgAsmDwarfCommonBlock::p_body>;
2368 static constexpr char const *
const name{
"AsmDwarfCommonBlock"};
2369 static constexpr unsigned long variant{81};
2370 static constexpr bool concrete{
true};
2380 static constexpr char const *
const name{
"AsmDwarfCommonInclusion"};
2381 static constexpr unsigned long variant{82};
2382 static constexpr bool concrete{
true};
2391 using field_type = std::string;
2392 static constexpr size_t position{0};
2393 static constexpr char const *
const name{
"producer"};
2394 static constexpr char const *
const typestr{
"std::string"};
2395 static constexpr bool traverse{
false};
2396 static constexpr auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_producer};
2397 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2398 using bind = Desc<SgAsmDwarfCompilationUnit, std::string SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_producer>;
2402 using field_type = std::string;
2403 static constexpr size_t position{1};
2404 static constexpr char const *
const name{
"language"};
2405 static constexpr char const *
const typestr{
"std::string"};
2406 static constexpr bool traverse{
false};
2407 static constexpr auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_language};
2408 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2409 using bind = Desc<SgAsmDwarfCompilationUnit, std::string SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_language>;
2413 using field_type = uint64_t;
2414 static constexpr size_t position{2};
2415 static constexpr char const *
const name{
"low_pc"};
2416 static constexpr char const *
const typestr{
"uint64_t"};
2417 static constexpr bool traverse{
false};
2418 static constexpr auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_low_pc};
2419 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2420 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_low_pc>;
2424 using field_type = uint64_t;
2425 static constexpr size_t position{3};
2426 static constexpr char const *
const name{
"hi_pc"};
2427 static constexpr char const *
const typestr{
"uint64_t"};
2428 static constexpr bool traverse{
false};
2429 static constexpr auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_hi_pc};
2430 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2431 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_hi_pc>;
2435 using field_type = int;
2436 static constexpr size_t position{4};
2437 static constexpr char const *
const name{
"version_stamp"};
2438 static constexpr char const *
const typestr{
"int"};
2439 static constexpr bool traverse{
false};
2440 static constexpr auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_version_stamp};
2441 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2442 using bind = Desc<SgAsmDwarfCompilationUnit, int SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_version_stamp>;
2446 using field_type = uint64_t;
2447 static constexpr size_t position{5};
2448 static constexpr char const *
const name{
"abbrev_offset"};
2449 static constexpr char const *
const typestr{
"uint64_t"};
2450 static constexpr bool traverse{
false};
2451 static constexpr auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_abbrev_offset};
2452 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2453 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_abbrev_offset>;
2457 using field_type = uint64_t;
2458 static constexpr size_t position{6};
2459 static constexpr char const *
const name{
"address_size"};
2460 static constexpr char const *
const typestr{
"uint64_t"};
2461 static constexpr bool traverse{
false};
2462 static constexpr auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_address_size};
2463 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2464 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_address_size>;
2468 using field_type = uint64_t;
2469 static constexpr size_t position{7};
2470 static constexpr char const *
const name{
"offset_length"};
2471 static constexpr char const *
const typestr{
"uint64_t"};
2472 static constexpr bool traverse{
false};
2473 static constexpr auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_offset_length};
2474 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2475 using bind = Desc<SgAsmDwarfCompilationUnit, uint64_t SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_offset_length>;
2480 static constexpr size_t position{8};
2481 static constexpr char const *
const name{
"line_info"};
2482 static constexpr char const *
const typestr{
"SgAsmDwarfLineList*"};
2483 static constexpr bool traverse{
true};
2484 static constexpr auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_line_info};
2485 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2486 using bind = Desc<SgAsmDwarfCompilationUnit, SgAsmDwarfLineList* SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_line_info>;
2491 static constexpr size_t position{9};
2492 static constexpr char const *
const name{
"language_constructs"};
2493 static constexpr char const *
const typestr{
"SgAsmDwarfConstructList*"};
2494 static constexpr bool traverse{
true};
2495 static constexpr auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_language_constructs};
2496 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2497 using bind = Desc<SgAsmDwarfCompilationUnit, SgAsmDwarfConstructList* SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_language_constructs>;
2502 static constexpr size_t position{10};
2503 static constexpr char const *
const name{
"macro_info"};
2504 static constexpr char const *
const typestr{
"SgAsmDwarfMacroList*"};
2505 static constexpr bool traverse{
true};
2506 static constexpr auto mbr_ptr{&SgAsmDwarfCompilationUnit::p_macro_info};
2507 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2508 using bind = Desc<SgAsmDwarfCompilationUnit, SgAsmDwarfMacroList* SgAsmDwarfCompilationUnit::*, &SgAsmDwarfCompilationUnit::p_macro_info>;
2513 static constexpr char const *
const name{
"AsmDwarfCompilationUnit"};
2514 static constexpr unsigned long variant{83};
2515 static constexpr bool concrete{
true};
2517 using fields_t =
mp::List<describe_field_t<SgAsmDwarfCompilationUnit,std::string,&SgAsmDwarfCompilationUnit::p_producer>,
describe_field_t<SgAsmDwarfCompilationUnit,std::string,&SgAsmDwarfCompilationUnit::p_language>,
describe_field_t<SgAsmDwarfCompilationUnit,uint64_t,&SgAsmDwarfCompilationUnit::p_low_pc>,
describe_field_t<SgAsmDwarfCompilationUnit,uint64_t,&SgAsmDwarfCompilationUnit::p_hi_pc>,
describe_field_t<SgAsmDwarfCompilationUnit,int,&SgAsmDwarfCompilationUnit::p_version_stamp>,
describe_field_t<SgAsmDwarfCompilationUnit,uint64_t,&SgAsmDwarfCompilationUnit::p_abbrev_offset>,
describe_field_t<SgAsmDwarfCompilationUnit,uint64_t,&SgAsmDwarfCompilationUnit::p_address_size>,
describe_field_t<SgAsmDwarfCompilationUnit,uint64_t,&SgAsmDwarfCompilationUnit::p_offset_length>,
describe_field_t<SgAsmDwarfCompilationUnit,SgAsmDwarfLineList*,&SgAsmDwarfCompilationUnit::p_line_info>,
describe_field_t<SgAsmDwarfCompilationUnit,SgAsmDwarfConstructList*,&SgAsmDwarfCompilationUnit::p_language_constructs>,
describe_field_t<SgAsmDwarfCompilationUnit,SgAsmDwarfMacroList*,&SgAsmDwarfCompilationUnit::p_macro_info>>;
2524 using field_type = SgAsmDwarfCompilationUnitPtrList;
2525 static constexpr size_t position{0};
2526 static constexpr char const *
const name{
"cu_list"};
2527 static constexpr char const *
const typestr{
"SgAsmDwarfCompilationUnitPtrList"};
2528 static constexpr bool traverse{
true};
2529 static constexpr auto mbr_ptr{&SgAsmDwarfCompilationUnitList::p_cu_list};
2530 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2531 using bind = Desc<SgAsmDwarfCompilationUnitList, SgAsmDwarfCompilationUnitPtrList SgAsmDwarfCompilationUnitList::*, &SgAsmDwarfCompilationUnitList::p_cu_list>;
2536 static constexpr char const *
const name{
"AsmDwarfCompilationUnitList"};
2537 static constexpr unsigned long variant{84};
2538 static constexpr bool concrete{
true};
2548 static constexpr char const *
const name{
"AsmDwarfCondition"};
2549 static constexpr unsigned long variant{85};
2550 static constexpr bool concrete{
true};
2560 static constexpr char const *
const name{
"AsmDwarfConstType"};
2561 static constexpr unsigned long variant{86};
2562 static constexpr bool concrete{
true};
2572 static constexpr char const *
const name{
"AsmDwarfConstant"};
2573 static constexpr unsigned long variant{87};
2574 static constexpr bool concrete{
true};
2583 using field_type = int;
2584 static constexpr size_t position{0};
2585 static constexpr char const *
const name{
"nesting_level"};
2586 static constexpr char const *
const typestr{
"int"};
2587 static constexpr bool traverse{
false};
2588 static constexpr auto mbr_ptr{&SgAsmDwarfConstruct::p_nesting_level};
2589 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2590 using bind = Desc<SgAsmDwarfConstruct, int SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_nesting_level>;
2594 using field_type = uint64_t;
2595 static constexpr size_t position{1};
2596 static constexpr char const *
const name{
"offset"};
2597 static constexpr char const *
const typestr{
"uint64_t"};
2598 static constexpr bool traverse{
false};
2599 static constexpr auto mbr_ptr{&SgAsmDwarfConstruct::p_offset};
2600 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2601 using bind = Desc<SgAsmDwarfConstruct, uint64_t SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_offset>;
2605 using field_type = uint64_t;
2606 static constexpr size_t position{2};
2607 static constexpr char const *
const name{
"overall_offset"};
2608 static constexpr char const *
const typestr{
"uint64_t"};
2609 static constexpr bool traverse{
false};
2610 static constexpr auto mbr_ptr{&SgAsmDwarfConstruct::p_overall_offset};
2611 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2612 using bind = Desc<SgAsmDwarfConstruct, uint64_t SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_overall_offset>;
2616 using field_type = std::string;
2617 static constexpr size_t position{3};
2618 static constexpr char const *
const name{
"name"};
2619 static constexpr char const *
const typestr{
"std::string"};
2620 static constexpr bool traverse{
false};
2621 static constexpr auto mbr_ptr{&SgAsmDwarfConstruct::p_name};
2622 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2623 using bind = Desc<SgAsmDwarfConstruct, std::string SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_name>;
2628 static constexpr size_t position{4};
2629 static constexpr char const *
const name{
"source_position"};
2630 static constexpr char const *
const typestr{
"SgAsmDwarfLine*"};
2631 static constexpr bool traverse{
false};
2632 static constexpr auto mbr_ptr{&SgAsmDwarfConstruct::p_source_position};
2633 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
2634 using bind = Desc<SgAsmDwarfConstruct, SgAsmDwarfLine* SgAsmDwarfConstruct::*, &SgAsmDwarfConstruct::p_source_position>;
2639 static constexpr char const *
const name{
"AsmDwarfConstruct"};
2640 static constexpr unsigned long variant{88};
2641 static constexpr bool concrete{
false};
2642 using subclasses_t =
mp::List<SgAsmDwarfAccessDeclaration, SgAsmDwarfArrayType, SgAsmDwarfBaseType, SgAsmDwarfCatchBlock, SgAsmDwarfClassTemplate, SgAsmDwarfClassType, SgAsmDwarfCommonBlock, SgAsmDwarfCommonInclusion, SgAsmDwarfCompilationUnit, SgAsmDwarfCondition, SgAsmDwarfConstant, SgAsmDwarfConstType, SgAsmDwarfDwarfProcedure, SgAsmDwarfEntryPoint, SgAsmDwarfEnumerationType, SgAsmDwarfEnumerator, SgAsmDwarfFileType, SgAsmDwarfFormalParameter, SgAsmDwarfFormatLabel, SgAsmDwarfFriend, SgAsmDwarfFunctionTemplate, SgAsmDwarfImportedDeclaration, SgAsmDwarfImportedModule, SgAsmDwarfImportedUnit, SgAsmDwarfInheritance, SgAsmDwarfInlinedSubroutine, SgAsmDwarfInterfaceType, SgAsmDwarfLabel, SgAsmDwarfLexicalBlock, SgAsmDwarfMember, SgAsmDwarfModule, SgAsmDwarfMutableType, SgAsmDwarfNamelist, SgAsmDwarfNamelistItem, SgAsmDwarfNamespace, SgAsmDwarfPackedType, SgAsmDwarfPartialUnit, SgAsmDwarfPointerType, SgAsmDwarfPtrToMemberType, SgAsmDwarfReferenceType, SgAsmDwarfRestrictType, SgAsmDwarfSetType, SgAsmDwarfSharedType, SgAsmDwarfStringType, SgAsmDwarfStructureType, SgAsmDwarfSubprogram, SgAsmDwarfSubrangeType, SgAsmDwarfSubroutineType, SgAsmDwarfTemplateTypeParameter, SgAsmDwarfTemplateValueParameter, SgAsmDwarfThrownType, SgAsmDwarfTryBlock, SgAsmDwarfTypedef, SgAsmDwarfUnionType, SgAsmDwarfUnknownConstruct, SgAsmDwarfUnspecifiedParameters, SgAsmDwarfUnspecifiedType, SgAsmDwarfUpcRelaxedType, SgAsmDwarfUpcSharedType, SgAsmDwarfUpcStrictType, SgAsmDwarfVariable, SgAsmDwarfVariant, SgAsmDwarfVariantPart, 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>;
3735 using field_type = rose_addr_t;
3736 static constexpr size_t position{9};
3737 static constexpr char const *
const name{
"prh_addr"};
3738 static constexpr char const *
const typestr{
"rose_addr_t"};
3739 static constexpr bool traverse{
false};
3740 static constexpr auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_prh_addr};
3741 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3742 using bind = Desc<SgAsmElfEHFrameEntryCI, rose_addr_t SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_prh_addr>;
3746 using field_type = int;
3747 static constexpr size_t position{10};
3748 static constexpr char const *
const name{
"addr_encoding"};
3749 static constexpr char const *
const typestr{
"int"};
3750 static constexpr bool traverse{
false};
3751 static constexpr auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_addr_encoding};
3752 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3753 using bind = Desc<SgAsmElfEHFrameEntryCI, int SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_addr_encoding>;
3757 using field_type = bool;
3758 static constexpr size_t position{11};
3759 static constexpr char const *
const name{
"sig_frame"};
3760 static constexpr char const *
const typestr{
"bool"};
3761 static constexpr bool traverse{
false};
3762 static constexpr auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_sig_frame};
3763 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3764 using bind = Desc<SgAsmElfEHFrameEntryCI, bool SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_sig_frame>;
3768 using field_type = SgUnsignedCharList;
3769 static constexpr size_t position{12};
3770 static constexpr char const *
const name{
"instructions"};
3771 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
3772 static constexpr bool traverse{
false};
3773 static constexpr auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_instructions};
3774 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3775 using bind = Desc<SgAsmElfEHFrameEntryCI, SgUnsignedCharList SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_instructions>;
3780 static constexpr size_t position{13};
3781 static constexpr char const *
const name{
"fd_entries"};
3782 static constexpr char const *
const typestr{
"SgAsmElfEHFrameEntryFDList*"};
3783 static constexpr bool traverse{
true};
3784 static constexpr auto mbr_ptr{&SgAsmElfEHFrameEntryCI::p_fd_entries};
3785 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3786 using bind = Desc<SgAsmElfEHFrameEntryCI, SgAsmElfEHFrameEntryFDList* SgAsmElfEHFrameEntryCI::*, &SgAsmElfEHFrameEntryCI::p_fd_entries>;
3791 static constexpr char const *
const name{
"AsmElfEHFrameEntryCI"};
3792 static constexpr unsigned long variant{151};
3793 static constexpr bool concrete{
true};
3795 using fields_t =
mp::List<describe_field_t<SgAsmElfEHFrameEntryCI,int,&SgAsmElfEHFrameEntryCI::p_version>,
describe_field_t<SgAsmElfEHFrameEntryCI,std::string,&SgAsmElfEHFrameEntryCI::p_augmentation_string>,
describe_field_t<SgAsmElfEHFrameEntryCI,uint64_t,&SgAsmElfEHFrameEntryCI::p_eh_data>,
describe_field_t<SgAsmElfEHFrameEntryCI,uint64_t,&SgAsmElfEHFrameEntryCI::p_code_alignment_factor>,
describe_field_t<SgAsmElfEHFrameEntryCI,int64_t,&SgAsmElfEHFrameEntryCI::p_data_alignment_factor>,
describe_field_t<SgAsmElfEHFrameEntryCI,uint64_t,&SgAsmElfEHFrameEntryCI::p_augmentation_data_length>,
describe_field_t<SgAsmElfEHFrameEntryCI,int,&SgAsmElfEHFrameEntryCI::p_lsda_encoding>,
describe_field_t<SgAsmElfEHFrameEntryCI,int,&SgAsmElfEHFrameEntryCI::p_prh_encoding>,
describe_field_t<SgAsmElfEHFrameEntryCI,unsigned,&SgAsmElfEHFrameEntryCI::p_prh_arg>,
describe_field_t<SgAsmElfEHFrameEntryCI,rose_addr_t,&SgAsmElfEHFrameEntryCI::p_prh_addr>,
describe_field_t<SgAsmElfEHFrameEntryCI,int,&SgAsmElfEHFrameEntryCI::p_addr_encoding>,
describe_field_t<SgAsmElfEHFrameEntryCI,bool,&SgAsmElfEHFrameEntryCI::p_sig_frame>,
describe_field_t<SgAsmElfEHFrameEntryCI,SgUnsignedCharList,&SgAsmElfEHFrameEntryCI::p_instructions>,
describe_field_t<SgAsmElfEHFrameEntryCI,SgAsmElfEHFrameEntryFDList*,&SgAsmElfEHFrameEntryCI::p_fd_entries>>;
3802 using field_type = SgAsmElfEHFrameEntryCIPtrList;
3803 static constexpr size_t position{0};
3804 static constexpr char const *
const name{
"entries"};
3805 static constexpr char const *
const typestr{
"SgAsmElfEHFrameEntryCIPtrList"};
3806 static constexpr bool traverse{
false};
3807 static constexpr auto mbr_ptr{&SgAsmElfEHFrameEntryCIList::p_entries};
3808 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
3809 using bind = Desc<SgAsmElfEHFrameEntryCIList, SgAsmElfEHFrameEntryCIPtrList SgAsmElfEHFrameEntryCIList::*, &SgAsmElfEHFrameEntryCIList::p_entries>;
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>;
3836 using field_type = rose_addr_t;
3837 static constexpr size_t position{1};
3838 static constexpr char const *
const name{
"size"};
3839 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t 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_addr_t,&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};
4195 using field_type = rose_addr_t;
4196 static constexpr size_t position{0};
4197 static constexpr char const *
const name{
"r_offset"};
4198 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmElfRelocEntry::*, &SgAsmElfRelocEntry::p_r_offset>;
4206 using field_type = rose_addr_t;
4207 static constexpr size_t position{1};
4208 static constexpr char const *
const name{
"r_addend"};
4209 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t 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_addr_t,&SgAsmElfRelocEntry::p_r_offset>,
describe_field_t<SgAsmElfRelocEntry,rose_addr_t,&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>;
4442 using field_type = rose_addr_t;
4443 static constexpr size_t position{5};
4444 static constexpr char const *
const name{
"sh_addr"};
4445 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_addr>;
4453 using field_type = rose_addr_t;
4454 static constexpr size_t position{6};
4455 static constexpr char const *
const name{
"sh_offset"};
4456 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_offset>;
4464 using field_type = rose_addr_t;
4465 static constexpr size_t position{7};
4466 static constexpr char const *
const name{
"sh_size"};
4467 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_size>;
4475 using field_type = rose_addr_t;
4476 static constexpr size_t position{8};
4477 static constexpr char const *
const name{
"sh_addralign"};
4478 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmElfSectionTableEntry::*, &SgAsmElfSectionTableEntry::p_sh_addralign>;
4486 using field_type = rose_addr_t;
4487 static constexpr size_t position{9};
4488 static constexpr char const *
const name{
"sh_entsize"};
4489 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t 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_addr_t,&SgAsmElfSectionTableEntry::p_sh_addr>,
describe_field_t<SgAsmElfSectionTableEntry,rose_addr_t,&SgAsmElfSectionTableEntry::p_sh_offset>,
describe_field_t<SgAsmElfSectionTableEntry,rose_addr_t,&SgAsmElfSectionTableEntry::p_sh_size>,
describe_field_t<SgAsmElfSectionTableEntry,rose_addr_t,&SgAsmElfSectionTableEntry::p_sh_addralign>,
describe_field_t<SgAsmElfSectionTableEntry,rose_addr_t,&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>;
4565 using field_type = rose_addr_t;
4566 static constexpr size_t position{3};
4567 static constexpr char const *
const name{
"offset"};
4568 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_offset>;
4576 using field_type = rose_addr_t;
4577 static constexpr size_t position{4};
4578 static constexpr char const *
const name{
"vaddr"};
4579 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_vaddr>;
4587 using field_type = rose_addr_t;
4588 static constexpr size_t position{5};
4589 static constexpr char const *
const name{
"paddr"};
4590 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_paddr>;
4598 using field_type = rose_addr_t;
4599 static constexpr size_t position{6};
4600 static constexpr char const *
const name{
"filesz"};
4601 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_filesz>;
4609 using field_type = rose_addr_t;
4610 static constexpr size_t position{7};
4611 static constexpr char const *
const name{
"memsz"};
4612 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmElfSegmentTableEntry::*, &SgAsmElfSegmentTableEntry::p_memsz>;
4620 using field_type = rose_addr_t;
4621 static constexpr size_t position{8};
4622 static constexpr char const *
const name{
"align"};
4623 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t 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_addr_t,&SgAsmElfSegmentTableEntry::p_offset>,
describe_field_t<SgAsmElfSegmentTableEntry,rose_addr_t,&SgAsmElfSegmentTableEntry::p_vaddr>,
describe_field_t<SgAsmElfSegmentTableEntry,rose_addr_t,&SgAsmElfSegmentTableEntry::p_paddr>,
describe_field_t<SgAsmElfSegmentTableEntry,rose_addr_t,&SgAsmElfSegmentTableEntry::p_filesz>,
describe_field_t<SgAsmElfSegmentTableEntry,rose_addr_t,&SgAsmElfSegmentTableEntry::p_memsz>,
describe_field_t<SgAsmElfSegmentTableEntry,rose_addr_t,&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>;
4745 using field_type = rose_addr_t;
4746 static constexpr size_t position{3};
4747 static constexpr char const *
const name{
"st_size"};
4748 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t 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_addr_t,&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>;
5526 using field_type = rose_addr_t;
5527 static constexpr size_t position{8};
5528 static constexpr char const *
const name{
"entryVa"};
5529 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t 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_addr_t,&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>;
5939 using field_type = rose_addr_t;
5940 static constexpr size_t position{3};
5941 static constexpr char const *
const name{
"baseVa"};
5942 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t 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_addr_t,&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>;
6040 using field_type = rose_addr_t;
6041 static constexpr size_t position{2};
6042 static constexpr char const *
const name{
"size"};
6043 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmGenericSection::*, &SgAsmGenericSection::p_size>;
6051 using field_type = rose_addr_t;
6052 static constexpr size_t position{3};
6053 static constexpr char const *
const name{
"offset"};
6054 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmGenericSection::*, &SgAsmGenericSection::p_offset>;
6062 using field_type = rose_addr_t;
6063 static constexpr size_t position{4};
6064 static constexpr char const *
const name{
"fileAlignment"};
6065 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t 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>;
6139 using field_type = rose_addr_t;
6140 static constexpr size_t position{11};
6141 static constexpr char const *
const name{
"mappedPreferredRva"};
6142 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmGenericSection::*, &SgAsmGenericSection::p_mappedPreferredRva>;
6150 using field_type = rose_addr_t;
6151 static constexpr size_t position{12};
6152 static constexpr char const *
const name{
"mappedSize"};
6153 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmGenericSection::*, &SgAsmGenericSection::p_mappedSize>;
6161 using field_type = rose_addr_t;
6162 static constexpr size_t position{13};
6163 static constexpr char const *
const name{
"mappedAlignment"};
6164 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t 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>;
6216 using field_type = rose_addr_t;
6217 static constexpr size_t position{18};
6218 static constexpr char const *
const name{
"mappedActualVa"};
6219 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t 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_addr_t,&SgAsmGenericSection::p_size>,
describe_field_t<SgAsmGenericSection,rose_addr_t,&SgAsmGenericSection::p_offset>,
describe_field_t<SgAsmGenericSection,rose_addr_t,&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_addr_t,&SgAsmGenericSection::p_mappedPreferredRva>,
describe_field_t<SgAsmGenericSection,rose_addr_t,&SgAsmGenericSection::p_mappedSize>,
describe_field_t<SgAsmGenericSection,rose_addr_t,&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_addr_t,&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>;
6374 using field_type = rose_addr_t;
6375 static constexpr size_t position{3};
6376 static constexpr char const *
const name{
"value"};
6377 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t SgAsmGenericSymbol::*, &SgAsmGenericSymbol::p_value>;
6385 using field_type = rose_addr_t;
6386 static constexpr size_t position{4};
6387 static constexpr char const *
const name{
"size"};
6388 static constexpr char const *
const typestr{
"rose_addr_t"};
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_addr_t 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_addr_t,&SgAsmGenericSymbol::p_value>,
describe_field_t<SgAsmGenericSymbol,rose_addr_t,&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>;
6553 using field_type = SgAsmStatementPtrList;
6554 static constexpr size_t position{4};
6555 static constexpr char const *
const name{
"sources"};
6556 static constexpr char const *
const typestr{
"SgAsmStatementPtrList"};
6557 static constexpr bool traverse{
false};
6558 static constexpr auto mbr_ptr{&SgAsmInstruction::p_sources};
6559 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6560 using bind = Desc<SgAsmInstruction, SgAsmStatementPtrList SgAsmInstruction::*, &SgAsmInstruction::p_sources>;
6564 using field_type = int64_t;
6565 static constexpr size_t position{5};
6566 static constexpr char const *
const name{
"stackDeltaIn"};
6567 static constexpr char const *
const typestr{
"int64_t"};
6568 static constexpr bool traverse{
false};
6569 static constexpr auto mbr_ptr{&SgAsmInstruction::p_stackDeltaIn};
6570 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6571 using bind = Desc<SgAsmInstruction, int64_t SgAsmInstruction::*, &SgAsmInstruction::p_stackDeltaIn>;
6576 static constexpr size_t position{6};
6577 static constexpr char const *
const name{
"semantics"};
6578 static constexpr char const *
const typestr{
"SgAsmExprListExp*"};
6579 static constexpr bool traverse{
true};
6580 static constexpr auto mbr_ptr{&SgAsmInstruction::p_semantics};
6581 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6582 using bind = Desc<SgAsmInstruction, SgAsmExprListExp* SgAsmInstruction::*, &SgAsmInstruction::p_semantics>;
6587 static constexpr char const *
const name{
"AsmInstruction"};
6588 static constexpr unsigned long variant{208};
6589 static constexpr bool concrete{
true};
6591 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,SgAsmStatementPtrList,&SgAsmInstruction::p_sources>,
describe_field_t<SgAsmInstruction,int64_t,&SgAsmInstruction::p_stackDeltaIn>,
describe_field_t<SgAsmInstruction,SgAsmExprListExp*,&SgAsmInstruction::p_semantics>>;
6599 static constexpr size_t position{0};
6600 static constexpr char const *
const name{
"baseNode"};
6601 static constexpr char const *
const typestr{
"SgNode*"};
6602 static constexpr bool traverse{
false};
6603 static constexpr auto mbr_ptr{&SgAsmIntegerValueExpression::p_baseNode};
6604 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6605 using bind = Desc<SgAsmIntegerValueExpression, SgNode* SgAsmIntegerValueExpression::*, &SgAsmIntegerValueExpression::p_baseNode>;
6610 static constexpr char const *
const name{
"AsmIntegerValueExpression"};
6611 static constexpr unsigned long variant{209};
6612 static constexpr bool concrete{
true};
6621 using field_type = bool;
6622 static constexpr size_t position{0};
6623 static constexpr char const *
const name{
"isSigned"};
6624 static constexpr char const *
const typestr{
"bool"};
6625 static constexpr bool traverse{
false};
6626 static constexpr auto mbr_ptr{&SgAsmIntegerType::p_isSigned};
6627 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6628 using bind = Desc<SgAsmIntegerType, bool SgAsmIntegerType::*, &SgAsmIntegerType::p_isSigned>;
6633 static constexpr char const *
const name{
"AsmIntegerType"};
6634 static constexpr unsigned long variant{210};
6635 static constexpr bool concrete{
true};
6645 static constexpr size_t position{0};
6646 static constexpr char const *
const name{
"headers"};
6647 static constexpr char const *
const typestr{
"SgAsmGenericHeaderList*"};
6648 static constexpr bool traverse{
false};
6649 static constexpr auto mbr_ptr{&SgAsmInterpretation::p_headers};
6650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6651 using bind = Desc<SgAsmInterpretation, SgAsmGenericHeaderList* SgAsmInterpretation::*, &SgAsmInterpretation::p_headers>;
6656 static constexpr size_t position{1};
6657 static constexpr char const *
const name{
"globalBlock"};
6658 static constexpr char const *
const typestr{
"SgAsmBlock*"};
6659 static constexpr bool traverse{
true};
6660 static constexpr auto mbr_ptr{&SgAsmInterpretation::p_globalBlock};
6661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6662 using bind = Desc<SgAsmInterpretation, SgAsmBlock* SgAsmInterpretation::*, &SgAsmInterpretation::p_globalBlock>;
6666 using field_type = bool;
6667 static constexpr size_t position{2};
6668 static constexpr char const *
const name{
"coverageComputed"};
6669 static constexpr char const *
const typestr{
"bool"};
6670 static constexpr bool traverse{
false};
6671 static constexpr auto mbr_ptr{&SgAsmInterpretation::p_coverageComputed};
6672 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6673 using bind = Desc<SgAsmInterpretation, bool SgAsmInterpretation::*, &SgAsmInterpretation::p_coverageComputed>;
6677 using field_type = double;
6678 static constexpr size_t position{3};
6679 static constexpr char const *
const name{
"percentageCoverage"};
6680 static constexpr char const *
const typestr{
"double"};
6681 static constexpr bool traverse{
false};
6682 static constexpr auto mbr_ptr{&SgAsmInterpretation::p_percentageCoverage};
6683 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6684 using bind = Desc<SgAsmInterpretation, double SgAsmInterpretation::*, &SgAsmInterpretation::p_percentageCoverage>;
6689 static constexpr char const *
const name{
"AsmInterpretation"};
6690 static constexpr unsigned long variant{211};
6691 static constexpr bool concrete{
true};
6693 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>>;
6700 using field_type = SgAsmInterpretationPtrList;
6701 static constexpr size_t position{0};
6702 static constexpr char const *
const name{
"interpretations"};
6703 static constexpr char const *
const typestr{
"SgAsmInterpretationPtrList"};
6704 static constexpr bool traverse{
true};
6705 static constexpr auto mbr_ptr{&SgAsmInterpretationList::p_interpretations};
6706 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6707 using bind = Desc<SgAsmInterpretationList, SgAsmInterpretationPtrList SgAsmInterpretationList::*, &SgAsmInterpretationList::p_interpretations>;
6712 static constexpr char const *
const name{
"AsmInterpretationList"};
6713 static constexpr unsigned long variant{212};
6714 static constexpr bool concrete{
true};
6723 using field_type = uint16_t;
6724 static constexpr size_t position{0};
6725 static constexpr char const *
const name{
"attribute_name_index"};
6726 static constexpr char const *
const typestr{
"uint16_t"};
6727 static constexpr bool traverse{
false};
6728 static constexpr auto mbr_ptr{&SgAsmJvmAttribute::p_attribute_name_index};
6729 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6730 using bind = Desc<SgAsmJvmAttribute, uint16_t SgAsmJvmAttribute::*, &SgAsmJvmAttribute::p_attribute_name_index>;
6734 using field_type = uint32_t;
6735 static constexpr size_t position{1};
6736 static constexpr char const *
const name{
"attribute_length"};
6737 static constexpr char const *
const typestr{
"uint32_t"};
6738 static constexpr bool traverse{
false};
6739 static constexpr auto mbr_ptr{&SgAsmJvmAttribute::p_attribute_length};
6740 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6741 using bind = Desc<SgAsmJvmAttribute, uint32_t SgAsmJvmAttribute::*, &SgAsmJvmAttribute::p_attribute_length>;
6746 static constexpr char const *
const name{
"AsmJvmAttribute"};
6747 static constexpr unsigned long variant{213};
6748 static constexpr bool concrete{
false};
6749 using subclasses_t =
mp::List<SgAsmJvmBootstrapMethods, SgAsmJvmCodeAttribute, SgAsmJvmConstantValue, SgAsmJvmEnclosingMethod, SgAsmJvmExceptions, SgAsmJvmInnerClasses, SgAsmJvmLineNumberTable, SgAsmJvmLocalVariableTable, SgAsmJvmLocalVariableTypeTable, SgAsmJvmMethodParameters, SgAsmJvmModuleMainClass, SgAsmJvmNestHost, SgAsmJvmNestMembers, SgAsmJvmSignature, SgAsmJvmSourceFile, SgAsmJvmStackMapTable>;
6757 using field_type = uint16_t;
6758 static constexpr size_t position{0};
6759 static constexpr char const *
const name{
"max_stack"};
6760 static constexpr char const *
const typestr{
"uint16_t"};
6761 static constexpr bool traverse{
false};
6762 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_max_stack};
6763 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6764 using bind = Desc<SgAsmJvmCodeAttribute, uint16_t SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_max_stack>;
6768 using field_type = uint16_t;
6769 static constexpr size_t position{1};
6770 static constexpr char const *
const name{
"max_locals"};
6771 static constexpr char const *
const typestr{
"uint16_t"};
6772 static constexpr bool traverse{
false};
6773 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_max_locals};
6774 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6775 using bind = Desc<SgAsmJvmCodeAttribute, uint16_t SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_max_locals>;
6779 using field_type = uint32_t;
6780 static constexpr size_t position{2};
6781 static constexpr char const *
const name{
"code_length"};
6782 static constexpr char const *
const typestr{
"uint32_t"};
6783 static constexpr bool traverse{
false};
6784 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_code_length};
6785 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6786 using bind = Desc<SgAsmJvmCodeAttribute, uint32_t SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_code_length>;
6790 using field_type =
const char*;
6791 static constexpr size_t position{3};
6792 static constexpr char const *
const name{
"code"};
6793 static constexpr char const *
const typestr{
"const char*"};
6794 static constexpr bool traverse{
false};
6795 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_code};
6796 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6797 using bind = Desc<SgAsmJvmCodeAttribute, const char* SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_code>;
6802 static constexpr size_t position{4};
6803 static constexpr char const *
const name{
"exception_table"};
6804 static constexpr char const *
const typestr{
"SgAsmJvmExceptionTable*"};
6805 static constexpr bool traverse{
false};
6806 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_exception_table};
6807 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6808 using bind = Desc<SgAsmJvmCodeAttribute, SgAsmJvmExceptionTable* SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_exception_table>;
6813 static constexpr size_t position{5};
6814 static constexpr char const *
const name{
"attribute_table"};
6815 static constexpr char const *
const typestr{
"SgAsmJvmAttributeTable*"};
6816 static constexpr bool traverse{
false};
6817 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_attribute_table};
6818 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6819 using bind = Desc<SgAsmJvmCodeAttribute, SgAsmJvmAttributeTable* SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_attribute_table>;
6823 using field_type = rose_addr_t;
6824 static constexpr size_t position{6};
6825 static constexpr char const *
const name{
"code_offset"};
6826 static constexpr char const *
const typestr{
"rose_addr_t"};
6827 static constexpr bool traverse{
false};
6828 static constexpr auto mbr_ptr{&SgAsmJvmCodeAttribute::p_code_offset};
6829 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6830 using bind = Desc<SgAsmJvmCodeAttribute, rose_addr_t SgAsmJvmCodeAttribute::*, &SgAsmJvmCodeAttribute::p_code_offset>;
6835 static constexpr char const *
const name{
"AsmJvmCodeAttribute"};
6836 static constexpr unsigned long variant{214};
6837 static constexpr bool concrete{
true};
6839 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_addr_t,&SgAsmJvmCodeAttribute::p_code_offset>>;
6846 using field_type = uint16_t;
6847 static constexpr size_t position{0};
6848 static constexpr char const *
const name{
"access_flags"};
6849 static constexpr char const *
const typestr{
"uint16_t"};
6850 static constexpr bool traverse{
false};
6851 static constexpr auto mbr_ptr{&SgAsmJvmMethod::p_access_flags};
6852 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6853 using bind = Desc<SgAsmJvmMethod, uint16_t SgAsmJvmMethod::*, &SgAsmJvmMethod::p_access_flags>;
6857 using field_type = uint16_t;
6858 static constexpr size_t position{1};
6859 static constexpr char const *
const name{
"name_index"};
6860 static constexpr char const *
const typestr{
"uint16_t"};
6861 static constexpr bool traverse{
false};
6862 static constexpr auto mbr_ptr{&SgAsmJvmMethod::p_name_index};
6863 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6864 using bind = Desc<SgAsmJvmMethod, uint16_t SgAsmJvmMethod::*, &SgAsmJvmMethod::p_name_index>;
6868 using field_type = uint16_t;
6869 static constexpr size_t position{2};
6870 static constexpr char const *
const name{
"descriptor_index"};
6871 static constexpr char const *
const typestr{
"uint16_t"};
6872 static constexpr bool traverse{
false};
6873 static constexpr auto mbr_ptr{&SgAsmJvmMethod::p_descriptor_index};
6874 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6875 using bind = Desc<SgAsmJvmMethod, uint16_t SgAsmJvmMethod::*, &SgAsmJvmMethod::p_descriptor_index>;
6880 static constexpr size_t position{3};
6881 static constexpr char const *
const name{
"attribute_table"};
6882 static constexpr char const *
const typestr{
"SgAsmJvmAttributeTable*"};
6883 static constexpr bool traverse{
true};
6884 static constexpr auto mbr_ptr{&SgAsmJvmMethod::p_attribute_table};
6885 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6886 using bind = Desc<SgAsmJvmMethod, SgAsmJvmAttributeTable* SgAsmJvmMethod::*, &SgAsmJvmMethod::p_attribute_table>;
6891 static constexpr size_t position{4};
6892 static constexpr char const *
const name{
"instruction_list"};
6893 static constexpr char const *
const typestr{
"SgAsmInstructionList*"};
6894 static constexpr bool traverse{
false};
6895 static constexpr auto mbr_ptr{&SgAsmJvmMethod::p_instruction_list};
6896 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6897 using bind = Desc<SgAsmJvmMethod, SgAsmInstructionList* SgAsmJvmMethod::*, &SgAsmJvmMethod::p_instruction_list>;
6902 static constexpr char const *
const name{
"AsmJvmMethod"};
6903 static constexpr unsigned long variant{215};
6904 static constexpr bool concrete{
true};
6906 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>>;
6913 using field_type = SgAsmJvmConstantPoolEntryPtrList;
6914 static constexpr size_t position{0};
6915 static constexpr char const *
const name{
"entries"};
6916 static constexpr char const *
const typestr{
"SgAsmJvmConstantPoolEntryPtrList"};
6917 static constexpr bool traverse{
false};
6918 static constexpr auto mbr_ptr{&SgAsmJvmConstantPool::p_entries};
6919 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6920 using bind = Desc<SgAsmJvmConstantPool, SgAsmJvmConstantPoolEntryPtrList SgAsmJvmConstantPool::*, &SgAsmJvmConstantPool::p_entries>;
6925 static constexpr char const *
const name{
"AsmJvmConstantPool"};
6926 static constexpr unsigned long variant{216};
6927 static constexpr bool concrete{
true};
6937 static constexpr size_t position{0};
6938 static constexpr char const *
const name{
"tag"};
6939 static constexpr char const *
const typestr{
"SgAsmJvmConstantPoolEntry::Kind"};
6940 static constexpr bool traverse{
false};
6941 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_tag};
6942 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6943 using bind = Desc<SgAsmJvmConstantPoolEntry, SgAsmJvmConstantPoolEntry::Kind SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_tag>;
6947 using field_type = uint32_t;
6948 static constexpr size_t position{1};
6949 static constexpr char const *
const name{
"bytes"};
6950 static constexpr char const *
const typestr{
"uint32_t"};
6951 static constexpr bool traverse{
false};
6952 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_bytes};
6953 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6954 using bind = Desc<SgAsmJvmConstantPoolEntry, uint32_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_bytes>;
6958 using field_type = uint32_t;
6959 static constexpr size_t position{2};
6960 static constexpr char const *
const name{
"hi_bytes"};
6961 static constexpr char const *
const typestr{
"uint32_t"};
6962 static constexpr bool traverse{
false};
6963 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_hi_bytes};
6964 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6965 using bind = Desc<SgAsmJvmConstantPoolEntry, uint32_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_hi_bytes>;
6969 using field_type = uint32_t;
6970 static constexpr size_t position{3};
6971 static constexpr char const *
const name{
"low_bytes"};
6972 static constexpr char const *
const typestr{
"uint32_t"};
6973 static constexpr bool traverse{
false};
6974 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_low_bytes};
6975 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6976 using bind = Desc<SgAsmJvmConstantPoolEntry, uint32_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_low_bytes>;
6980 using field_type = uint16_t;
6981 static constexpr size_t position{4};
6982 static constexpr char const *
const name{
"bootstrap_method_attr_index"};
6983 static constexpr char const *
const typestr{
"uint16_t"};
6984 static constexpr bool traverse{
false};
6985 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_bootstrap_method_attr_index};
6986 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6987 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_bootstrap_method_attr_index>;
6991 using field_type = uint16_t;
6992 static constexpr size_t position{5};
6993 static constexpr char const *
const name{
"class_index"};
6994 static constexpr char const *
const typestr{
"uint16_t"};
6995 static constexpr bool traverse{
false};
6996 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_class_index};
6997 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
6998 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_class_index>;
7002 using field_type = uint16_t;
7003 static constexpr size_t position{6};
7004 static constexpr char const *
const name{
"descriptor_index"};
7005 static constexpr char const *
const typestr{
"uint16_t"};
7006 static constexpr bool traverse{
false};
7007 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_descriptor_index};
7008 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7009 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_descriptor_index>;
7013 using field_type = uint16_t;
7014 static constexpr size_t position{7};
7015 static constexpr char const *
const name{
"name_index"};
7016 static constexpr char const *
const typestr{
"uint16_t"};
7017 static constexpr bool traverse{
false};
7018 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_name_index};
7019 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7020 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_name_index>;
7024 using field_type = uint16_t;
7025 static constexpr size_t position{8};
7026 static constexpr char const *
const name{
"name_and_type_index"};
7027 static constexpr char const *
const typestr{
"uint16_t"};
7028 static constexpr bool traverse{
false};
7029 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_name_and_type_index};
7030 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7031 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_name_and_type_index>;
7035 using field_type = uint16_t;
7036 static constexpr size_t position{9};
7037 static constexpr char const *
const name{
"reference_index"};
7038 static constexpr char const *
const typestr{
"uint16_t"};
7039 static constexpr bool traverse{
false};
7040 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_reference_index};
7041 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7042 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_reference_index>;
7046 using field_type = uint8_t;
7047 static constexpr size_t position{10};
7048 static constexpr char const *
const name{
"reference_kind"};
7049 static constexpr char const *
const typestr{
"uint8_t"};
7050 static constexpr bool traverse{
false};
7051 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_reference_kind};
7052 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7053 using bind = Desc<SgAsmJvmConstantPoolEntry, uint8_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_reference_kind>;
7057 using field_type = uint16_t;
7058 static constexpr size_t position{11};
7059 static constexpr char const *
const name{
"string_index"};
7060 static constexpr char const *
const typestr{
"uint16_t"};
7061 static constexpr bool traverse{
false};
7062 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_string_index};
7063 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7064 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_string_index>;
7068 using field_type = uint16_t;
7069 static constexpr size_t position{12};
7070 static constexpr char const *
const name{
"length"};
7071 static constexpr char const *
const typestr{
"uint16_t"};
7072 static constexpr bool traverse{
false};
7073 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_length};
7074 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7075 using bind = Desc<SgAsmJvmConstantPoolEntry, uint16_t SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_length>;
7079 using field_type =
char*;
7080 static constexpr size_t position{13};
7081 static constexpr char const *
const name{
"utf8_bytes"};
7082 static constexpr char const *
const typestr{
"char*"};
7083 static constexpr bool traverse{
false};
7084 static constexpr auto mbr_ptr{&SgAsmJvmConstantPoolEntry::p_utf8_bytes};
7085 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7086 using bind = Desc<SgAsmJvmConstantPoolEntry, char* SgAsmJvmConstantPoolEntry::*, &SgAsmJvmConstantPoolEntry::p_utf8_bytes>;
7091 static constexpr char const *
const name{
"AsmJvmConstantPoolEntry"};
7092 static constexpr unsigned long variant{217};
7093 static constexpr bool concrete{
true};
7095 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>>;
7102 using field_type = uint16_t;
7103 static constexpr size_t position{0};
7104 static constexpr char const *
const name{
"constantvalue_index"};
7105 static constexpr char const *
const typestr{
"uint16_t"};
7106 static constexpr bool traverse{
false};
7107 static constexpr auto mbr_ptr{&SgAsmJvmConstantValue::p_constantvalue_index};
7108 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7109 using bind = Desc<SgAsmJvmConstantValue, uint16_t SgAsmJvmConstantValue::*, &SgAsmJvmConstantValue::p_constantvalue_index>;
7114 static constexpr char const *
const name{
"AsmJvmConstantValue"};
7115 static constexpr unsigned long variant{218};
7116 static constexpr bool concrete{
true};
7125 using field_type = Rose::BinaryAnalysis::JvmInstructionKind;
7126 static constexpr size_t position{0};
7127 static constexpr char const *
const name{
"kind"};
7128 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::JvmInstructionKind"};
7129 static constexpr bool traverse{
false};
7130 static constexpr auto mbr_ptr{&SgAsmJvmInstruction::p_kind};
7131 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7132 using bind = Desc<SgAsmJvmInstruction, Rose::BinaryAnalysis::JvmInstructionKind SgAsmJvmInstruction::*, &SgAsmJvmInstruction::p_kind>;
7137 static constexpr char const *
const name{
"AsmJvmInstruction"};
7138 static constexpr unsigned long variant{219};
7139 static constexpr bool concrete{
true};
7148 using field_type = uint16_t;
7149 static constexpr size_t position{0};
7150 static constexpr char const *
const name{
"minor_version"};
7151 static constexpr char const *
const typestr{
"uint16_t"};
7152 static constexpr bool traverse{
false};
7153 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_minor_version};
7154 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7155 using bind = Desc<SgAsmJvmFileHeader, uint16_t SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_minor_version>;
7159 using field_type = uint16_t;
7160 static constexpr size_t position{1};
7161 static constexpr char const *
const name{
"major_version"};
7162 static constexpr char const *
const typestr{
"uint16_t"};
7163 static constexpr bool traverse{
false};
7164 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_major_version};
7165 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7166 using bind = Desc<SgAsmJvmFileHeader, uint16_t SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_major_version>;
7170 using field_type = uint16_t;
7171 static constexpr size_t position{2};
7172 static constexpr char const *
const name{
"access_flags"};
7173 static constexpr char const *
const typestr{
"uint16_t"};
7174 static constexpr bool traverse{
false};
7175 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_access_flags};
7176 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7177 using bind = Desc<SgAsmJvmFileHeader, uint16_t SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_access_flags>;
7181 using field_type = uint16_t;
7182 static constexpr size_t position{3};
7183 static constexpr char const *
const name{
"this_class"};
7184 static constexpr char const *
const typestr{
"uint16_t"};
7185 static constexpr bool traverse{
false};
7186 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_this_class};
7187 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7188 using bind = Desc<SgAsmJvmFileHeader, uint16_t SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_this_class>;
7192 using field_type = uint16_t;
7193 static constexpr size_t position{4};
7194 static constexpr char const *
const name{
"super_class"};
7195 static constexpr char const *
const typestr{
"uint16_t"};
7196 static constexpr bool traverse{
false};
7197 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_super_class};
7198 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7199 using bind = Desc<SgAsmJvmFileHeader, uint16_t SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_super_class>;
7204 static constexpr size_t position{5};
7205 static constexpr char const *
const name{
"constant_pool"};
7206 static constexpr char const *
const typestr{
"SgAsmJvmConstantPool*"};
7207 static constexpr bool traverse{
false};
7208 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_constant_pool};
7209 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7210 using bind = Desc<SgAsmJvmFileHeader, SgAsmJvmConstantPool* SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_constant_pool>;
7214 using field_type = std::list<uint16_t>;
7215 static constexpr size_t position{6};
7216 static constexpr char const *
const name{
"interfaces"};
7217 static constexpr char const *
const typestr{
"std::list<uint16_t>"};
7218 static constexpr bool traverse{
false};
7219 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_interfaces};
7220 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7221 using bind = Desc<SgAsmJvmFileHeader, std::list<uint16_t>
SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_interfaces>;
7226 static constexpr size_t position{7};
7227 static constexpr char const *
const name{
"field_table"};
7228 static constexpr char const *
const typestr{
"SgAsmJvmFieldTable*"};
7229 static constexpr bool traverse{
false};
7230 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_field_table};
7231 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7232 using bind = Desc<SgAsmJvmFileHeader, SgAsmJvmFieldTable* SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_field_table>;
7237 static constexpr size_t position{8};
7238 static constexpr char const *
const name{
"method_table"};
7239 static constexpr char const *
const typestr{
"SgAsmJvmMethodTable*"};
7240 static constexpr bool traverse{
false};
7241 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_method_table};
7242 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7243 using bind = Desc<SgAsmJvmFileHeader, SgAsmJvmMethodTable* SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_method_table>;
7248 static constexpr size_t position{9};
7249 static constexpr char const *
const name{
"attribute_table"};
7250 static constexpr char const *
const typestr{
"SgAsmJvmAttributeTable*"};
7251 static constexpr bool traverse{
false};
7252 static constexpr auto mbr_ptr{&SgAsmJvmFileHeader::p_attribute_table};
7253 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7254 using bind = Desc<SgAsmJvmFileHeader, SgAsmJvmAttributeTable* SgAsmJvmFileHeader::*, &SgAsmJvmFileHeader::p_attribute_table>;
7259 static constexpr char const *
const name{
"AsmJvmFileHeader"};
7260 static constexpr unsigned long variant{220};
7261 static constexpr bool concrete{
true};
7263 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>>;
7271 static constexpr char const *
const name{
"AsmJvmNode"};
7272 static constexpr unsigned long variant{221};
7273 static constexpr bool concrete{
false};
7274 using subclasses_t =
mp::List<SgAsmJvmAttribute, SgAsmJvmBootstrapMethod, SgAsmJvmClass, SgAsmJvmConstantPoolEntry, SgAsmJvmExceptionHandler, SgAsmJvmExceptionTable, SgAsmJvmField, SgAsmJvmInnerClassesEntry, SgAsmJvmLineNumberEntry, SgAsmJvmLocalVariableEntry, SgAsmJvmLocalVariableTypeEntry, SgAsmJvmMethod, SgAsmJvmMethodParametersEntry, SgAsmJvmStackMapFrame, SgAsmJvmStackMapVerificationType>;
7282 using field_type = uint16_t;
7283 static constexpr size_t position{0};
7284 static constexpr char const *
const name{
"signature_index"};
7285 static constexpr char const *
const typestr{
"uint16_t"};
7286 static constexpr bool traverse{
false};
7287 static constexpr auto mbr_ptr{&SgAsmJvmSignature::p_signature_index};
7288 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7289 using bind = Desc<SgAsmJvmSignature, uint16_t SgAsmJvmSignature::*, &SgAsmJvmSignature::p_signature_index>;
7294 static constexpr char const *
const name{
"AsmJvmSignature"};
7295 static constexpr unsigned long variant{222};
7296 static constexpr bool concrete{
true};
7305 using field_type = uint16_t;
7306 static constexpr size_t position{0};
7307 static constexpr char const *
const name{
"sourcefile_index"};
7308 static constexpr char const *
const typestr{
"uint16_t"};
7309 static constexpr bool traverse{
false};
7310 static constexpr auto mbr_ptr{&SgAsmJvmSourceFile::p_sourcefile_index};
7311 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7312 using bind = Desc<SgAsmJvmSourceFile, uint16_t SgAsmJvmSourceFile::*, &SgAsmJvmSourceFile::p_sourcefile_index>;
7317 static constexpr char const *
const name{
"AsmJvmSourceFile"};
7318 static constexpr unsigned long variant{223};
7319 static constexpr bool concrete{
true};
7328 using field_type = SgAsmLEEntryPointPtrList;
7329 static constexpr size_t position{0};
7330 static constexpr char const *
const name{
"entries"};
7331 static constexpr char const *
const typestr{
"SgAsmLEEntryPointPtrList"};
7332 static constexpr bool traverse{
true};
7333 static constexpr auto mbr_ptr{&SgAsmLEEntryPoint::p_entries};
7334 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7335 using bind = Desc<SgAsmLEEntryPoint, SgAsmLEEntryPointPtrList SgAsmLEEntryPoint::*, &SgAsmLEEntryPoint::p_entries>;
7339 using field_type = unsigned;
7340 static constexpr size_t position{1};
7341 static constexpr char const *
const name{
"flags"};
7342 static constexpr char const *
const typestr{
"unsigned"};
7343 static constexpr bool traverse{
false};
7344 static constexpr auto mbr_ptr{&SgAsmLEEntryPoint::p_flags};
7345 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7346 using bind = Desc<SgAsmLEEntryPoint, unsigned SgAsmLEEntryPoint::*, &SgAsmLEEntryPoint::p_flags>;
7350 using field_type = unsigned;
7351 static constexpr size_t position{2};
7352 static constexpr char const *
const name{
"objnum"};
7353 static constexpr char const *
const typestr{
"unsigned"};
7354 static constexpr bool traverse{
false};
7355 static constexpr auto mbr_ptr{&SgAsmLEEntryPoint::p_objnum};
7356 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7357 using bind = Desc<SgAsmLEEntryPoint, unsigned SgAsmLEEntryPoint::*, &SgAsmLEEntryPoint::p_objnum>;
7361 using field_type = unsigned;
7362 static constexpr size_t position{3};
7363 static constexpr char const *
const name{
"entry_type"};
7364 static constexpr char const *
const typestr{
"unsigned"};
7365 static constexpr bool traverse{
false};
7366 static constexpr auto mbr_ptr{&SgAsmLEEntryPoint::p_entry_type};
7367 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7368 using bind = Desc<SgAsmLEEntryPoint, unsigned SgAsmLEEntryPoint::*, &SgAsmLEEntryPoint::p_entry_type>;
7372 using field_type = unsigned;
7373 static constexpr size_t position{4};
7374 static constexpr char const *
const name{
"res1"};
7375 static constexpr char const *
const typestr{
"unsigned"};
7376 static constexpr bool traverse{
false};
7377 static constexpr auto mbr_ptr{&SgAsmLEEntryPoint::p_res1};
7378 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7379 using bind = Desc<SgAsmLEEntryPoint, unsigned SgAsmLEEntryPoint::*, &SgAsmLEEntryPoint::p_res1>;
7383 using field_type = rose_addr_t;
7384 static constexpr size_t position{5};
7385 static constexpr char const *
const name{
"entry_offset"};
7386 static constexpr char const *
const typestr{
"rose_addr_t"};
7387 static constexpr bool traverse{
false};
7388 static constexpr auto mbr_ptr{&SgAsmLEEntryPoint::p_entry_offset};
7389 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7390 using bind = Desc<SgAsmLEEntryPoint, rose_addr_t SgAsmLEEntryPoint::*, &SgAsmLEEntryPoint::p_entry_offset>;
7395 static constexpr char const *
const name{
"AsmLEEntryPoint"};
7396 static constexpr unsigned long variant{224};
7397 static constexpr bool concrete{
true};
7399 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_addr_t,&SgAsmLEEntryPoint::p_entry_offset>>;
7406 using field_type = SgSizeTList;
7407 static constexpr size_t position{0};
7408 static constexpr char const *
const name{
"bundle_sizes"};
7409 static constexpr char const *
const typestr{
"SgSizeTList"};
7410 static constexpr bool traverse{
false};
7411 static constexpr auto mbr_ptr{&SgAsmLEEntryTable::p_bundle_sizes};
7412 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7413 using bind = Desc<SgAsmLEEntryTable, SgSizeTList SgAsmLEEntryTable::*, &SgAsmLEEntryTable::p_bundle_sizes>;
7417 using field_type = SgAsmLEEntryPointPtrList;
7418 static constexpr size_t position{1};
7419 static constexpr char const *
const name{
"entries"};
7420 static constexpr char const *
const typestr{
"SgAsmLEEntryPointPtrList"};
7421 static constexpr bool traverse{
true};
7422 static constexpr auto mbr_ptr{&SgAsmLEEntryTable::p_entries};
7423 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7424 using bind = Desc<SgAsmLEEntryTable, SgAsmLEEntryPointPtrList SgAsmLEEntryTable::*, &SgAsmLEEntryTable::p_entries>;
7429 static constexpr char const *
const name{
"AsmLEEntryTable"};
7430 static constexpr unsigned long variant{225};
7431 static constexpr bool concrete{
true};
7440 using field_type = unsigned;
7441 static constexpr size_t position{0};
7442 static constexpr char const *
const name{
"e_byte_order"};
7443 static constexpr char const *
const typestr{
"unsigned"};
7444 static constexpr bool traverse{
false};
7445 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_byte_order};
7446 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7447 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_byte_order>;
7451 using field_type = unsigned;
7452 static constexpr size_t position{1};
7453 static constexpr char const *
const name{
"e_word_order"};
7454 static constexpr char const *
const typestr{
"unsigned"};
7455 static constexpr bool traverse{
false};
7456 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_word_order};
7457 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7458 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_word_order>;
7462 using field_type = unsigned;
7463 static constexpr size_t position{2};
7464 static constexpr char const *
const name{
"e_format_level"};
7465 static constexpr char const *
const typestr{
"unsigned"};
7466 static constexpr bool traverse{
false};
7467 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_format_level};
7468 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7469 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_format_level>;
7473 using field_type = unsigned;
7474 static constexpr size_t position{3};
7475 static constexpr char const *
const name{
"e_cpu_type"};
7476 static constexpr char const *
const typestr{
"unsigned"};
7477 static constexpr bool traverse{
false};
7478 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_cpu_type};
7479 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7480 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_cpu_type>;
7484 using field_type = unsigned;
7485 static constexpr size_t position{4};
7486 static constexpr char const *
const name{
"e_os_type"};
7487 static constexpr char const *
const typestr{
"unsigned"};
7488 static constexpr bool traverse{
false};
7489 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_os_type};
7490 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7491 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_os_type>;
7495 using field_type = unsigned;
7496 static constexpr size_t position{5};
7497 static constexpr char const *
const name{
"e_module_version"};
7498 static constexpr char const *
const typestr{
"unsigned"};
7499 static constexpr bool traverse{
false};
7500 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_module_version};
7501 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7502 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_module_version>;
7506 using field_type = unsigned;
7507 static constexpr size_t position{6};
7508 static constexpr char const *
const name{
"e_flags"};
7509 static constexpr char const *
const typestr{
"unsigned"};
7510 static constexpr bool traverse{
false};
7511 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_flags};
7512 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7513 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_flags>;
7517 using field_type = unsigned;
7518 static constexpr size_t position{7};
7519 static constexpr char const *
const name{
"e_eip_section"};
7520 static constexpr char const *
const typestr{
"unsigned"};
7521 static constexpr bool traverse{
false};
7522 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_eip_section};
7523 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7524 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_eip_section>;
7528 using field_type = unsigned;
7529 static constexpr size_t position{8};
7530 static constexpr char const *
const name{
"e_esp_section"};
7531 static constexpr char const *
const typestr{
"unsigned"};
7532 static constexpr bool traverse{
false};
7533 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_esp_section};
7534 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7535 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_esp_section>;
7539 using field_type = unsigned;
7540 static constexpr size_t position{9};
7541 static constexpr char const *
const name{
"e_last_page_size"};
7542 static constexpr char const *
const typestr{
"unsigned"};
7543 static constexpr bool traverse{
false};
7544 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_last_page_size};
7545 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7546 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_last_page_size>;
7550 using field_type = unsigned;
7551 static constexpr size_t position{10};
7552 static constexpr char const *
const name{
"e_page_offset_shift"};
7553 static constexpr char const *
const typestr{
"unsigned"};
7554 static constexpr bool traverse{
false};
7555 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_page_offset_shift};
7556 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7557 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_page_offset_shift>;
7561 using field_type = unsigned;
7562 static constexpr size_t position{11};
7563 static constexpr char const *
const name{
"e_fixup_sect_cksum"};
7564 static constexpr char const *
const typestr{
"unsigned"};
7565 static constexpr bool traverse{
false};
7566 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_fixup_sect_cksum};
7567 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7568 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_fixup_sect_cksum>;
7572 using field_type = unsigned;
7573 static constexpr size_t position{12};
7574 static constexpr char const *
const name{
"e_loader_sect_cksum"};
7575 static constexpr char const *
const typestr{
"unsigned"};
7576 static constexpr bool traverse{
false};
7577 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_loader_sect_cksum};
7578 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7579 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_loader_sect_cksum>;
7583 using field_type = unsigned;
7584 static constexpr size_t position{13};
7585 static constexpr char const *
const name{
"e_secttab_nentries"};
7586 static constexpr char const *
const typestr{
"unsigned"};
7587 static constexpr bool traverse{
false};
7588 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_secttab_nentries};
7589 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7590 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_secttab_nentries>;
7594 using field_type = unsigned;
7595 static constexpr size_t position{14};
7596 static constexpr char const *
const name{
"e_rsrctab_nentries"};
7597 static constexpr char const *
const typestr{
"unsigned"};
7598 static constexpr bool traverse{
false};
7599 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_rsrctab_nentries};
7600 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7601 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_rsrctab_nentries>;
7605 using field_type = unsigned;
7606 static constexpr size_t position{15};
7607 static constexpr char const *
const name{
"e_fmtdirtab_nentries"};
7608 static constexpr char const *
const typestr{
"unsigned"};
7609 static constexpr bool traverse{
false};
7610 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_fmtdirtab_nentries};
7611 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7612 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_fmtdirtab_nentries>;
7616 using field_type = unsigned;
7617 static constexpr size_t position{16};
7618 static constexpr char const *
const name{
"e_import_modtab_nentries"};
7619 static constexpr char const *
const typestr{
"unsigned"};
7620 static constexpr bool traverse{
false};
7621 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_import_modtab_nentries};
7622 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7623 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_import_modtab_nentries>;
7627 using field_type = unsigned;
7628 static constexpr size_t position{17};
7629 static constexpr char const *
const name{
"e_preload_npages"};
7630 static constexpr char const *
const typestr{
"unsigned"};
7631 static constexpr bool traverse{
false};
7632 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_preload_npages};
7633 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7634 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_preload_npages>;
7638 using field_type = unsigned;
7639 static constexpr size_t position{18};
7640 static constexpr char const *
const name{
"e_nonresnametab_size"};
7641 static constexpr char const *
const typestr{
"unsigned"};
7642 static constexpr bool traverse{
false};
7643 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_nonresnametab_size};
7644 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7645 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_nonresnametab_size>;
7649 using field_type = unsigned;
7650 static constexpr size_t position{19};
7651 static constexpr char const *
const name{
"e_nonresnametab_cksum"};
7652 static constexpr char const *
const typestr{
"unsigned"};
7653 static constexpr bool traverse{
false};
7654 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_nonresnametab_cksum};
7655 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7656 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_nonresnametab_cksum>;
7660 using field_type = unsigned;
7661 static constexpr size_t position{20};
7662 static constexpr char const *
const name{
"e_auto_ds_section"};
7663 static constexpr char const *
const typestr{
"unsigned"};
7664 static constexpr bool traverse{
false};
7665 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_auto_ds_section};
7666 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7667 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_auto_ds_section>;
7671 using field_type = unsigned;
7672 static constexpr size_t position{21};
7673 static constexpr char const *
const name{
"e_debug_info_size"};
7674 static constexpr char const *
const typestr{
"unsigned"};
7675 static constexpr bool traverse{
false};
7676 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_debug_info_size};
7677 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7678 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_debug_info_size>;
7682 using field_type = unsigned;
7683 static constexpr size_t position{22};
7684 static constexpr char const *
const name{
"e_num_instance_preload"};
7685 static constexpr char const *
const typestr{
"unsigned"};
7686 static constexpr bool traverse{
false};
7687 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_num_instance_preload};
7688 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7689 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_num_instance_preload>;
7693 using field_type = unsigned;
7694 static constexpr size_t position{23};
7695 static constexpr char const *
const name{
"e_num_instance_demand"};
7696 static constexpr char const *
const typestr{
"unsigned"};
7697 static constexpr bool traverse{
false};
7698 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_num_instance_demand};
7699 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7700 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_num_instance_demand>;
7704 using field_type = unsigned;
7705 static constexpr size_t position{24};
7706 static constexpr char const *
const name{
"e_heap_size"};
7707 static constexpr char const *
const typestr{
"unsigned"};
7708 static constexpr bool traverse{
false};
7709 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_heap_size};
7710 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7711 using bind = Desc<SgAsmLEFileHeader, unsigned SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_heap_size>;
7715 using field_type = rose_addr_t;
7716 static constexpr size_t position{25};
7717 static constexpr char const *
const name{
"e_npages"};
7718 static constexpr char const *
const typestr{
"rose_addr_t"};
7719 static constexpr bool traverse{
false};
7720 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_npages};
7721 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7722 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_npages>;
7726 using field_type = rose_addr_t;
7727 static constexpr size_t position{26};
7728 static constexpr char const *
const name{
"e_eip"};
7729 static constexpr char const *
const typestr{
"rose_addr_t"};
7730 static constexpr bool traverse{
false};
7731 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_eip};
7732 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7733 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_eip>;
7737 using field_type = rose_addr_t;
7738 static constexpr size_t position{27};
7739 static constexpr char const *
const name{
"e_esp"};
7740 static constexpr char const *
const typestr{
"rose_addr_t"};
7741 static constexpr bool traverse{
false};
7742 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_esp};
7743 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7744 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_esp>;
7748 using field_type = rose_addr_t;
7749 static constexpr size_t position{28};
7750 static constexpr char const *
const name{
"e_page_size"};
7751 static constexpr char const *
const typestr{
"rose_addr_t"};
7752 static constexpr bool traverse{
false};
7753 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_page_size};
7754 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7755 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_page_size>;
7759 using field_type = rose_addr_t;
7760 static constexpr size_t position{29};
7761 static constexpr char const *
const name{
"e_fixup_sect_size"};
7762 static constexpr char const *
const typestr{
"rose_addr_t"};
7763 static constexpr bool traverse{
false};
7764 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_fixup_sect_size};
7765 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7766 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_fixup_sect_size>;
7770 using field_type = rose_addr_t;
7771 static constexpr size_t position{30};
7772 static constexpr char const *
const name{
"e_loader_sect_size"};
7773 static constexpr char const *
const typestr{
"rose_addr_t"};
7774 static constexpr bool traverse{
false};
7775 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_loader_sect_size};
7776 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7777 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_loader_sect_size>;
7781 using field_type = rose_addr_t;
7782 static constexpr size_t position{31};
7783 static constexpr char const *
const name{
"e_secttab_rfo"};
7784 static constexpr char const *
const typestr{
"rose_addr_t"};
7785 static constexpr bool traverse{
false};
7786 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_secttab_rfo};
7787 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7788 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_secttab_rfo>;
7792 using field_type = rose_addr_t;
7793 static constexpr size_t position{32};
7794 static constexpr char const *
const name{
"e_pagetab_rfo"};
7795 static constexpr char const *
const typestr{
"rose_addr_t"};
7796 static constexpr bool traverse{
false};
7797 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_pagetab_rfo};
7798 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7799 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_pagetab_rfo>;
7803 using field_type = rose_addr_t;
7804 static constexpr size_t position{33};
7805 static constexpr char const *
const name{
"e_iterpages_offset"};
7806 static constexpr char const *
const typestr{
"rose_addr_t"};
7807 static constexpr bool traverse{
false};
7808 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_iterpages_offset};
7809 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7810 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_iterpages_offset>;
7814 using field_type = rose_addr_t;
7815 static constexpr size_t position{34};
7816 static constexpr char const *
const name{
"e_rsrctab_rfo"};
7817 static constexpr char const *
const typestr{
"rose_addr_t"};
7818 static constexpr bool traverse{
false};
7819 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_rsrctab_rfo};
7820 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7821 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_rsrctab_rfo>;
7825 using field_type = rose_addr_t;
7826 static constexpr size_t position{35};
7827 static constexpr char const *
const name{
"e_resnametab_rfo"};
7828 static constexpr char const *
const typestr{
"rose_addr_t"};
7829 static constexpr bool traverse{
false};
7830 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_resnametab_rfo};
7831 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7832 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_resnametab_rfo>;
7836 using field_type = rose_addr_t;
7837 static constexpr size_t position{36};
7838 static constexpr char const *
const name{
"e_entrytab_rfo"};
7839 static constexpr char const *
const typestr{
"rose_addr_t"};
7840 static constexpr bool traverse{
false};
7841 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_entrytab_rfo};
7842 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7843 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_entrytab_rfo>;
7847 using field_type = rose_addr_t;
7848 static constexpr size_t position{37};
7849 static constexpr char const *
const name{
"e_fmtdirtab_rfo"};
7850 static constexpr char const *
const typestr{
"rose_addr_t"};
7851 static constexpr bool traverse{
false};
7852 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_fmtdirtab_rfo};
7853 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7854 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_fmtdirtab_rfo>;
7858 using field_type = rose_addr_t;
7859 static constexpr size_t position{38};
7860 static constexpr char const *
const name{
"e_fixup_pagetab_rfo"};
7861 static constexpr char const *
const typestr{
"rose_addr_t"};
7862 static constexpr bool traverse{
false};
7863 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_fixup_pagetab_rfo};
7864 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7865 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_fixup_pagetab_rfo>;
7869 using field_type = rose_addr_t;
7870 static constexpr size_t position{39};
7871 static constexpr char const *
const name{
"e_fixup_rectab_rfo"};
7872 static constexpr char const *
const typestr{
"rose_addr_t"};
7873 static constexpr bool traverse{
false};
7874 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_fixup_rectab_rfo};
7875 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7876 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_fixup_rectab_rfo>;
7880 using field_type = rose_addr_t;
7881 static constexpr size_t position{40};
7882 static constexpr char const *
const name{
"e_import_modtab_rfo"};
7883 static constexpr char const *
const typestr{
"rose_addr_t"};
7884 static constexpr bool traverse{
false};
7885 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_import_modtab_rfo};
7886 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7887 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_import_modtab_rfo>;
7891 using field_type = rose_addr_t;
7892 static constexpr size_t position{41};
7893 static constexpr char const *
const name{
"e_import_proctab_rfo"};
7894 static constexpr char const *
const typestr{
"rose_addr_t"};
7895 static constexpr bool traverse{
false};
7896 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_import_proctab_rfo};
7897 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7898 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_import_proctab_rfo>;
7902 using field_type = rose_addr_t;
7903 static constexpr size_t position{42};
7904 static constexpr char const *
const name{
"e_ppcksumtab_rfo"};
7905 static constexpr char const *
const typestr{
"rose_addr_t"};
7906 static constexpr bool traverse{
false};
7907 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_ppcksumtab_rfo};
7908 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7909 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_ppcksumtab_rfo>;
7913 using field_type = rose_addr_t;
7914 static constexpr size_t position{43};
7915 static constexpr char const *
const name{
"e_data_pages_offset"};
7916 static constexpr char const *
const typestr{
"rose_addr_t"};
7917 static constexpr bool traverse{
false};
7918 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_data_pages_offset};
7919 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7920 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_data_pages_offset>;
7924 using field_type = rose_addr_t;
7925 static constexpr size_t position{44};
7926 static constexpr char const *
const name{
"e_nonresnametab_offset"};
7927 static constexpr char const *
const typestr{
"rose_addr_t"};
7928 static constexpr bool traverse{
false};
7929 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_nonresnametab_offset};
7930 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7931 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_nonresnametab_offset>;
7935 using field_type = rose_addr_t;
7936 static constexpr size_t position{45};
7937 static constexpr char const *
const name{
"e_debug_info_rfo"};
7938 static constexpr char const *
const typestr{
"rose_addr_t"};
7939 static constexpr bool traverse{
false};
7940 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_e_debug_info_rfo};
7941 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7942 using bind = Desc<SgAsmLEFileHeader, rose_addr_t SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_e_debug_info_rfo>;
7947 static constexpr size_t position{46};
7948 static constexpr char const *
const name{
"dos2Header"};
7949 static constexpr char const *
const typestr{
"SgAsmDOSExtendedHeader*"};
7950 static constexpr bool traverse{
true};
7951 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_dos2Header};
7952 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7953 using bind = Desc<SgAsmLEFileHeader, SgAsmDOSExtendedHeader* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_dos2Header>;
7958 static constexpr size_t position{47};
7959 static constexpr char const *
const name{
"sectionTable"};
7960 static constexpr char const *
const typestr{
"SgAsmLESectionTable*"};
7961 static constexpr bool traverse{
false};
7962 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_sectionTable};
7963 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7964 using bind = Desc<SgAsmLEFileHeader, SgAsmLESectionTable* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_sectionTable>;
7969 static constexpr size_t position{48};
7970 static constexpr char const *
const name{
"pageTable"};
7971 static constexpr char const *
const typestr{
"SgAsmLEPageTable*"};
7972 static constexpr bool traverse{
true};
7973 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_pageTable};
7974 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7975 using bind = Desc<SgAsmLEFileHeader, SgAsmLEPageTable* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_pageTable>;
7980 static constexpr size_t position{49};
7981 static constexpr char const *
const name{
"residentNameTable"};
7982 static constexpr char const *
const typestr{
"SgAsmLENameTable*"};
7983 static constexpr bool traverse{
true};
7984 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_residentNameTable};
7985 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7986 using bind = Desc<SgAsmLEFileHeader, SgAsmLENameTable* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_residentNameTable>;
7991 static constexpr size_t position{50};
7992 static constexpr char const *
const name{
"nonresidentNameTable"};
7993 static constexpr char const *
const typestr{
"SgAsmLENameTable*"};
7994 static constexpr bool traverse{
true};
7995 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_nonresidentNameTable};
7996 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
7997 using bind = Desc<SgAsmLEFileHeader, SgAsmLENameTable* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_nonresidentNameTable>;
8002 static constexpr size_t position{51};
8003 static constexpr char const *
const name{
"entryTable"};
8004 static constexpr char const *
const typestr{
"SgAsmLEEntryTable*"};
8005 static constexpr bool traverse{
true};
8006 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_entryTable};
8007 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8008 using bind = Desc<SgAsmLEFileHeader, SgAsmLEEntryTable* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_entryTable>;
8013 static constexpr size_t position{52};
8014 static constexpr char const *
const name{
"relocationTable"};
8015 static constexpr char const *
const typestr{
"SgAsmLERelocTable*"};
8016 static constexpr bool traverse{
true};
8017 static constexpr auto mbr_ptr{&SgAsmLEFileHeader::p_relocationTable};
8018 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8019 using bind = Desc<SgAsmLEFileHeader, SgAsmLERelocTable* SgAsmLEFileHeader::*, &SgAsmLEFileHeader::p_relocationTable>;
8024 static constexpr char const *
const name{
"AsmLEFileHeader"};
8025 static constexpr unsigned long variant{226};
8026 static constexpr bool concrete{
true};
8028 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_addr_t,&SgAsmLEFileHeader::p_e_npages>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_eip>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_esp>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_page_size>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_fixup_sect_size>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_loader_sect_size>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_secttab_rfo>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_pagetab_rfo>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_iterpages_offset>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_rsrctab_rfo>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_resnametab_rfo>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_entrytab_rfo>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_fmtdirtab_rfo>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_fixup_pagetab_rfo>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_fixup_rectab_rfo>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_import_modtab_rfo>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_import_proctab_rfo>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_ppcksumtab_rfo>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_data_pages_offset>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&SgAsmLEFileHeader::p_e_nonresnametab_offset>,
describe_field_t<SgAsmLEFileHeader,rose_addr_t,&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>>;
8035 using field_type = SgStringList;
8036 static constexpr size_t position{0};
8037 static constexpr char const *
const name{
"names"};
8038 static constexpr char const *
const typestr{
"SgStringList"};
8039 static constexpr bool traverse{
false};
8040 static constexpr auto mbr_ptr{&SgAsmLENameTable::p_names};
8041 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8042 using bind = Desc<SgAsmLENameTable, SgStringList SgAsmLENameTable::*, &SgAsmLENameTable::p_names>;
8046 using field_type = SgUnsignedList;
8047 static constexpr size_t position{1};
8048 static constexpr char const *
const name{
"ordinals"};
8049 static constexpr char const *
const typestr{
"SgUnsignedList"};
8050 static constexpr bool traverse{
false};
8051 static constexpr auto mbr_ptr{&SgAsmLENameTable::p_ordinals};
8052 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8053 using bind = Desc<SgAsmLENameTable, SgUnsignedList SgAsmLENameTable::*, &SgAsmLENameTable::p_ordinals>;
8058 static constexpr char const *
const name{
"AsmLENameTable"};
8059 static constexpr unsigned long variant{227};
8060 static constexpr bool concrete{
true};
8069 using field_type = SgAsmLEPageTableEntryPtrList;
8070 static constexpr size_t position{0};
8071 static constexpr char const *
const name{
"entries"};
8072 static constexpr char const *
const typestr{
"SgAsmLEPageTableEntryPtrList"};
8073 static constexpr bool traverse{
true};
8074 static constexpr auto mbr_ptr{&SgAsmLEPageTable::p_entries};
8075 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8076 using bind = Desc<SgAsmLEPageTable, SgAsmLEPageTableEntryPtrList SgAsmLEPageTable::*, &SgAsmLEPageTable::p_entries>;
8081 static constexpr char const *
const name{
"AsmLEPageTable"};
8082 static constexpr unsigned long variant{228};
8083 static constexpr bool concrete{
true};
8092 using field_type = unsigned;
8093 static constexpr size_t position{0};
8094 static constexpr char const *
const name{
"pageno"};
8095 static constexpr char const *
const typestr{
"unsigned"};
8096 static constexpr bool traverse{
false};
8097 static constexpr auto mbr_ptr{&SgAsmLEPageTableEntry::p_pageno};
8098 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8099 using bind = Desc<SgAsmLEPageTableEntry, unsigned SgAsmLEPageTableEntry::*, &SgAsmLEPageTableEntry::p_pageno>;
8103 using field_type = unsigned;
8104 static constexpr size_t position{1};
8105 static constexpr char const *
const name{
"flags"};
8106 static constexpr char const *
const typestr{
"unsigned"};
8107 static constexpr bool traverse{
false};
8108 static constexpr auto mbr_ptr{&SgAsmLEPageTableEntry::p_flags};
8109 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8110 using bind = Desc<SgAsmLEPageTableEntry, unsigned SgAsmLEPageTableEntry::*, &SgAsmLEPageTableEntry::p_flags>;
8115 static constexpr char const *
const name{
"AsmLEPageTableEntry"};
8116 static constexpr unsigned long variant{229};
8117 static constexpr bool concrete{
true};
8126 using field_type = SgAsmLERelocEntryPtrList;
8127 static constexpr size_t position{0};
8128 static constexpr char const *
const name{
"entries"};
8129 static constexpr char const *
const typestr{
"SgAsmLERelocEntryPtrList"};
8130 static constexpr bool traverse{
true};
8131 static constexpr auto mbr_ptr{&SgAsmLERelocTable::p_entries};
8132 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8133 using bind = Desc<SgAsmLERelocTable, SgAsmLERelocEntryPtrList SgAsmLERelocTable::*, &SgAsmLERelocTable::p_entries>;
8138 static constexpr char const *
const name{
"AsmLERelocTable"};
8139 static constexpr unsigned long variant{230};
8140 static constexpr bool concrete{
true};
8150 static constexpr size_t position{0};
8151 static constexpr char const *
const name{
"sectionTableEntry"};
8152 static constexpr char const *
const typestr{
"SgAsmLESectionTableEntry*"};
8153 static constexpr bool traverse{
true};
8154 static constexpr auto mbr_ptr{&SgAsmLESection::p_sectionTableEntry};
8155 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8156 using bind = Desc<SgAsmLESection, SgAsmLESectionTableEntry* SgAsmLESection::*, &SgAsmLESection::p_sectionTableEntry>;
8161 static constexpr char const *
const name{
"AsmLESection"};
8162 static constexpr unsigned long variant{231};
8163 static constexpr bool concrete{
true};
8173 static constexpr char const *
const name{
"AsmLESectionTable"};
8174 static constexpr unsigned long variant{232};
8175 static constexpr bool concrete{
true};
8184 using field_type = unsigned;
8185 static constexpr size_t position{0};
8186 static constexpr char const *
const name{
"flags"};
8187 static constexpr char const *
const typestr{
"unsigned"};
8188 static constexpr bool traverse{
false};
8189 static constexpr auto mbr_ptr{&SgAsmLESectionTableEntry::p_flags};
8190 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8191 using bind = Desc<SgAsmLESectionTableEntry, unsigned SgAsmLESectionTableEntry::*, &SgAsmLESectionTableEntry::p_flags>;
8195 using field_type = unsigned;
8196 static constexpr size_t position{1};
8197 static constexpr char const *
const name{
"pageMapIndex"};
8198 static constexpr char const *
const typestr{
"unsigned"};
8199 static constexpr bool traverse{
false};
8200 static constexpr auto mbr_ptr{&SgAsmLESectionTableEntry::p_pageMapIndex};
8201 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8202 using bind = Desc<SgAsmLESectionTableEntry, unsigned SgAsmLESectionTableEntry::*, &SgAsmLESectionTableEntry::p_pageMapIndex>;
8206 using field_type = unsigned;
8207 static constexpr size_t position{2};
8208 static constexpr char const *
const name{
"pageMapNEntries"};
8209 static constexpr char const *
const typestr{
"unsigned"};
8210 static constexpr bool traverse{
false};
8211 static constexpr auto mbr_ptr{&SgAsmLESectionTableEntry::p_pageMapNEntries};
8212 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8213 using bind = Desc<SgAsmLESectionTableEntry, unsigned SgAsmLESectionTableEntry::*, &SgAsmLESectionTableEntry::p_pageMapNEntries>;
8217 using field_type = unsigned;
8218 static constexpr size_t position{3};
8219 static constexpr char const *
const name{
"res1"};
8220 static constexpr char const *
const typestr{
"unsigned"};
8221 static constexpr bool traverse{
false};
8222 static constexpr auto mbr_ptr{&SgAsmLESectionTableEntry::p_res1};
8223 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8224 using bind = Desc<SgAsmLESectionTableEntry, unsigned SgAsmLESectionTableEntry::*, &SgAsmLESectionTableEntry::p_res1>;
8228 using field_type = rose_addr_t;
8229 static constexpr size_t position{4};
8230 static constexpr char const *
const name{
"mappedSize"};
8231 static constexpr char const *
const typestr{
"rose_addr_t"};
8232 static constexpr bool traverse{
false};
8233 static constexpr auto mbr_ptr{&SgAsmLESectionTableEntry::p_mappedSize};
8234 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8235 using bind = Desc<SgAsmLESectionTableEntry, rose_addr_t SgAsmLESectionTableEntry::*, &SgAsmLESectionTableEntry::p_mappedSize>;
8239 using field_type = rose_addr_t;
8240 static constexpr size_t position{5};
8241 static constexpr char const *
const name{
"baseAddr"};
8242 static constexpr char const *
const typestr{
"rose_addr_t"};
8243 static constexpr bool traverse{
false};
8244 static constexpr auto mbr_ptr{&SgAsmLESectionTableEntry::p_baseAddr};
8245 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8246 using bind = Desc<SgAsmLESectionTableEntry, rose_addr_t SgAsmLESectionTableEntry::*, &SgAsmLESectionTableEntry::p_baseAddr>;
8251 static constexpr char const *
const name{
"AsmLESectionTableEntry"};
8252 static constexpr unsigned long variant{233};
8253 static constexpr bool concrete{
true};
8255 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_addr_t,&SgAsmLESectionTableEntry::p_mappedSize>,
describe_field_t<SgAsmLESectionTableEntry,rose_addr_t,&SgAsmLESectionTableEntry::p_baseAddr>>;
8262 using field_type = Rose::BinaryAnalysis::M68kInstructionKind;
8263 static constexpr size_t position{0};
8264 static constexpr char const *
const name{
"kind"};
8265 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::M68kInstructionKind"};
8266 static constexpr bool traverse{
false};
8267 static constexpr auto mbr_ptr{&SgAsmM68kInstruction::p_kind};
8268 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8269 using bind = Desc<SgAsmM68kInstruction, Rose::BinaryAnalysis::M68kInstructionKind SgAsmM68kInstruction::*, &SgAsmM68kInstruction::p_kind>;
8273 using field_type = Rose::BinaryAnalysis::M68kDataFormat;
8274 static constexpr size_t position{1};
8275 static constexpr char const *
const name{
"dataFormat"};
8276 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::M68kDataFormat"};
8277 static constexpr bool traverse{
false};
8278 static constexpr auto mbr_ptr{&SgAsmM68kInstruction::p_dataFormat};
8279 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8280 using bind = Desc<SgAsmM68kInstruction, Rose::BinaryAnalysis::M68kDataFormat SgAsmM68kInstruction::*, &SgAsmM68kInstruction::p_dataFormat>;
8285 static constexpr char const *
const name{
"AsmM68kInstruction"};
8286 static constexpr unsigned long variant{234};
8287 static constexpr bool concrete{
true};
8297 static constexpr size_t position{0};
8298 static constexpr char const *
const name{
"address"};
8299 static constexpr char const *
const typestr{
"SgAsmExpression*"};
8300 static constexpr bool traverse{
true};
8301 static constexpr auto mbr_ptr{&SgAsmMemoryReferenceExpression::p_address};
8302 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8303 using bind = Desc<SgAsmMemoryReferenceExpression, SgAsmExpression* SgAsmMemoryReferenceExpression::*, &SgAsmMemoryReferenceExpression::p_address>;
8308 static constexpr size_t position{1};
8309 static constexpr char const *
const name{
"segment"};
8310 static constexpr char const *
const typestr{
"SgAsmExpression*"};
8311 static constexpr bool traverse{
true};
8312 static constexpr auto mbr_ptr{&SgAsmMemoryReferenceExpression::p_segment};
8313 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8314 using bind = Desc<SgAsmMemoryReferenceExpression, SgAsmExpression* SgAsmMemoryReferenceExpression::*, &SgAsmMemoryReferenceExpression::p_segment>;
8319 static constexpr char const *
const name{
"AsmMemoryReferenceExpression"};
8320 static constexpr unsigned long variant{235};
8321 static constexpr bool concrete{
true};
8330 using field_type = Rose::BinaryAnalysis::MipsInstructionKind;
8331 static constexpr size_t position{0};
8332 static constexpr char const *
const name{
"kind"};
8333 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::MipsInstructionKind"};
8334 static constexpr bool traverse{
false};
8335 static constexpr auto mbr_ptr{&SgAsmMipsInstruction::p_kind};
8336 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8337 using bind = Desc<SgAsmMipsInstruction, Rose::BinaryAnalysis::MipsInstructionKind SgAsmMipsInstruction::*, &SgAsmMipsInstruction::p_kind>;
8342 static constexpr char const *
const name{
"AsmMipsInstruction"};
8343 static constexpr unsigned long variant{236};
8344 static constexpr bool concrete{
true};
8353 using field_type = SgAsmNEEntryPoint::NEEntryFlags;
8354 static constexpr size_t position{0};
8355 static constexpr char const *
const name{
"flags"};
8356 static constexpr char const *
const typestr{
"SgAsmNEEntryPoint::NEEntryFlags"};
8357 static constexpr bool traverse{
false};
8358 static constexpr auto mbr_ptr{&SgAsmNEEntryPoint::p_flags};
8359 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8360 using bind = Desc<SgAsmNEEntryPoint, SgAsmNEEntryPoint::NEEntryFlags SgAsmNEEntryPoint::*, &SgAsmNEEntryPoint::p_flags>;
8364 using field_type = unsigned;
8365 static constexpr size_t position{1};
8366 static constexpr char const *
const name{
"int3f"};
8367 static constexpr char const *
const typestr{
"unsigned"};
8368 static constexpr bool traverse{
false};
8369 static constexpr auto mbr_ptr{&SgAsmNEEntryPoint::p_int3f};
8370 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8371 using bind = Desc<SgAsmNEEntryPoint, unsigned SgAsmNEEntryPoint::*, &SgAsmNEEntryPoint::p_int3f>;
8375 using field_type = unsigned;
8376 static constexpr size_t position{2};
8377 static constexpr char const *
const name{
"sectionIndex"};
8378 static constexpr char const *
const typestr{
"unsigned"};
8379 static constexpr bool traverse{
false};
8380 static constexpr auto mbr_ptr{&SgAsmNEEntryPoint::p_sectionIndex};
8381 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8382 using bind = Desc<SgAsmNEEntryPoint, unsigned SgAsmNEEntryPoint::*, &SgAsmNEEntryPoint::p_sectionIndex>;
8386 using field_type = unsigned;
8387 static constexpr size_t position{3};
8388 static constexpr char const *
const name{
"sectionOffset"};
8389 static constexpr char const *
const typestr{
"unsigned"};
8390 static constexpr bool traverse{
false};
8391 static constexpr auto mbr_ptr{&SgAsmNEEntryPoint::p_sectionOffset};
8392 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8393 using bind = Desc<SgAsmNEEntryPoint, unsigned SgAsmNEEntryPoint::*, &SgAsmNEEntryPoint::p_sectionOffset>;
8398 static constexpr char const *
const name{
"AsmNEEntryPoint"};
8399 static constexpr unsigned long variant{237};
8400 static constexpr bool concrete{
true};
8402 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>>;
8409 using field_type = SgSizeTList;
8410 static constexpr size_t position{0};
8411 static constexpr char const *
const name{
"bundle_sizes"};
8412 static constexpr char const *
const typestr{
"SgSizeTList"};
8413 static constexpr bool traverse{
false};
8414 static constexpr auto mbr_ptr{&SgAsmNEEntryTable::p_bundle_sizes};
8415 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8416 using bind = Desc<SgAsmNEEntryTable, SgSizeTList SgAsmNEEntryTable::*, &SgAsmNEEntryTable::p_bundle_sizes>;
8420 using field_type = SgAsmNEEntryPointPtrList;
8421 static constexpr size_t position{1};
8422 static constexpr char const *
const name{
"entries"};
8423 static constexpr char const *
const typestr{
"SgAsmNEEntryPointPtrList"};
8424 static constexpr bool traverse{
true};
8425 static constexpr auto mbr_ptr{&SgAsmNEEntryTable::p_entries};
8426 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8427 using bind = Desc<SgAsmNEEntryTable, SgAsmNEEntryPointPtrList SgAsmNEEntryTable::*, &SgAsmNEEntryTable::p_entries>;
8432 static constexpr char const *
const name{
"AsmNEEntryTable"};
8433 static constexpr unsigned long variant{238};
8434 static constexpr bool concrete{
true};
8443 using field_type = unsigned;
8444 static constexpr size_t position{0};
8445 static constexpr char const *
const name{
"e_linker_major"};
8446 static constexpr char const *
const typestr{
"unsigned"};
8447 static constexpr bool traverse{
false};
8448 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_linker_major};
8449 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8450 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_linker_major>;
8454 using field_type = unsigned;
8455 static constexpr size_t position{1};
8456 static constexpr char const *
const name{
"e_linker_minor"};
8457 static constexpr char const *
const typestr{
"unsigned"};
8458 static constexpr bool traverse{
false};
8459 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_linker_minor};
8460 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8461 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_linker_minor>;
8465 using field_type = unsigned;
8466 static constexpr size_t position{2};
8467 static constexpr char const *
const name{
"e_checksum"};
8468 static constexpr char const *
const typestr{
"unsigned"};
8469 static constexpr bool traverse{
false};
8470 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_checksum};
8471 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8472 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_checksum>;
8476 using field_type = unsigned;
8477 static constexpr size_t position{3};
8478 static constexpr char const *
const name{
"e_flags1"};
8479 static constexpr char const *
const typestr{
"unsigned"};
8480 static constexpr bool traverse{
false};
8481 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_flags1};
8482 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8483 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_flags1>;
8487 using field_type = unsigned;
8488 static constexpr size_t position{4};
8489 static constexpr char const *
const name{
"e_autodata_sn"};
8490 static constexpr char const *
const typestr{
"unsigned"};
8491 static constexpr bool traverse{
false};
8492 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_autodata_sn};
8493 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8494 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_autodata_sn>;
8498 using field_type = unsigned;
8499 static constexpr size_t position{5};
8500 static constexpr char const *
const name{
"e_bss_size"};
8501 static constexpr char const *
const typestr{
"unsigned"};
8502 static constexpr bool traverse{
false};
8503 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_bss_size};
8504 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8505 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_bss_size>;
8509 using field_type = unsigned;
8510 static constexpr size_t position{6};
8511 static constexpr char const *
const name{
"e_stack_size"};
8512 static constexpr char const *
const typestr{
"unsigned"};
8513 static constexpr bool traverse{
false};
8514 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_stack_size};
8515 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8516 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_stack_size>;
8520 using field_type = unsigned;
8521 static constexpr size_t position{7};
8522 static constexpr char const *
const name{
"e_csip"};
8523 static constexpr char const *
const typestr{
"unsigned"};
8524 static constexpr bool traverse{
false};
8525 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_csip};
8526 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8527 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_csip>;
8531 using field_type = unsigned;
8532 static constexpr size_t position{8};
8533 static constexpr char const *
const name{
"e_sssp"};
8534 static constexpr char const *
const typestr{
"unsigned"};
8535 static constexpr bool traverse{
false};
8536 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_sssp};
8537 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8538 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_sssp>;
8542 using field_type = unsigned;
8543 static constexpr size_t position{9};
8544 static constexpr char const *
const name{
"e_nsections"};
8545 static constexpr char const *
const typestr{
"unsigned"};
8546 static constexpr bool traverse{
false};
8547 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_nsections};
8548 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8549 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_nsections>;
8553 using field_type = unsigned;
8554 static constexpr size_t position{10};
8555 static constexpr char const *
const name{
"e_nmodrefs"};
8556 static constexpr char const *
const typestr{
"unsigned"};
8557 static constexpr bool traverse{
false};
8558 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_nmodrefs};
8559 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8560 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_nmodrefs>;
8564 using field_type = unsigned;
8565 static constexpr size_t position{11};
8566 static constexpr char const *
const name{
"e_nnonresnames"};
8567 static constexpr char const *
const typestr{
"unsigned"};
8568 static constexpr bool traverse{
false};
8569 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_nnonresnames};
8570 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8571 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_nnonresnames>;
8575 using field_type = unsigned;
8576 static constexpr size_t position{12};
8577 static constexpr char const *
const name{
"e_nmovable_entries"};
8578 static constexpr char const *
const typestr{
"unsigned"};
8579 static constexpr bool traverse{
false};
8580 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_nmovable_entries};
8581 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8582 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_nmovable_entries>;
8586 using field_type = unsigned;
8587 static constexpr size_t position{13};
8588 static constexpr char const *
const name{
"e_sector_align"};
8589 static constexpr char const *
const typestr{
"unsigned"};
8590 static constexpr bool traverse{
false};
8591 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_sector_align};
8592 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8593 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_sector_align>;
8597 using field_type = unsigned;
8598 static constexpr size_t position{14};
8599 static constexpr char const *
const name{
"e_nresources"};
8600 static constexpr char const *
const typestr{
"unsigned"};
8601 static constexpr bool traverse{
false};
8602 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_nresources};
8603 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8604 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_nresources>;
8608 using field_type = unsigned;
8609 static constexpr size_t position{15};
8610 static constexpr char const *
const name{
"e_exetype"};
8611 static constexpr char const *
const typestr{
"unsigned"};
8612 static constexpr bool traverse{
false};
8613 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_exetype};
8614 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8615 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_exetype>;
8619 using field_type = unsigned;
8620 static constexpr size_t position{16};
8621 static constexpr char const *
const name{
"e_flags2"};
8622 static constexpr char const *
const typestr{
"unsigned"};
8623 static constexpr bool traverse{
false};
8624 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_flags2};
8625 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8626 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_flags2>;
8630 using field_type = unsigned;
8631 static constexpr size_t position{17};
8632 static constexpr char const *
const name{
"e_res1"};
8633 static constexpr char const *
const typestr{
"unsigned"};
8634 static constexpr bool traverse{
false};
8635 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_res1};
8636 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8637 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_res1>;
8641 using field_type = unsigned;
8642 static constexpr size_t position{18};
8643 static constexpr char const *
const name{
"e_winvers"};
8644 static constexpr char const *
const typestr{
"unsigned"};
8645 static constexpr bool traverse{
false};
8646 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_winvers};
8647 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8648 using bind = Desc<SgAsmNEFileHeader, unsigned SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_winvers>;
8652 using field_type = rose_addr_t;
8653 static constexpr size_t position{19};
8654 static constexpr char const *
const name{
"e_entrytab_rfo"};
8655 static constexpr char const *
const typestr{
"rose_addr_t"};
8656 static constexpr bool traverse{
false};
8657 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_entrytab_rfo};
8658 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8659 using bind = Desc<SgAsmNEFileHeader, rose_addr_t SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_entrytab_rfo>;
8663 using field_type = rose_addr_t;
8664 static constexpr size_t position{20};
8665 static constexpr char const *
const name{
"e_entrytab_size"};
8666 static constexpr char const *
const typestr{
"rose_addr_t"};
8667 static constexpr bool traverse{
false};
8668 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_entrytab_size};
8669 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8670 using bind = Desc<SgAsmNEFileHeader, rose_addr_t SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_entrytab_size>;
8674 using field_type = rose_addr_t;
8675 static constexpr size_t position{21};
8676 static constexpr char const *
const name{
"e_sectab_rfo"};
8677 static constexpr char const *
const typestr{
"rose_addr_t"};
8678 static constexpr bool traverse{
false};
8679 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_sectab_rfo};
8680 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8681 using bind = Desc<SgAsmNEFileHeader, rose_addr_t SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_sectab_rfo>;
8685 using field_type = rose_addr_t;
8686 static constexpr size_t position{22};
8687 static constexpr char const *
const name{
"e_rsrctab_rfo"};
8688 static constexpr char const *
const typestr{
"rose_addr_t"};
8689 static constexpr bool traverse{
false};
8690 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_rsrctab_rfo};
8691 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8692 using bind = Desc<SgAsmNEFileHeader, rose_addr_t SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_rsrctab_rfo>;
8696 using field_type = rose_addr_t;
8697 static constexpr size_t position{23};
8698 static constexpr char const *
const name{
"e_resnametab_rfo"};
8699 static constexpr char const *
const typestr{
"rose_addr_t"};
8700 static constexpr bool traverse{
false};
8701 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_resnametab_rfo};
8702 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8703 using bind = Desc<SgAsmNEFileHeader, rose_addr_t SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_resnametab_rfo>;
8707 using field_type = rose_addr_t;
8708 static constexpr size_t position{24};
8709 static constexpr char const *
const name{
"e_modreftab_rfo"};
8710 static constexpr char const *
const typestr{
"rose_addr_t"};
8711 static constexpr bool traverse{
false};
8712 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_modreftab_rfo};
8713 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8714 using bind = Desc<SgAsmNEFileHeader, rose_addr_t SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_modreftab_rfo>;
8718 using field_type = rose_addr_t;
8719 static constexpr size_t position{25};
8720 static constexpr char const *
const name{
"e_importnametab_rfo"};
8721 static constexpr char const *
const typestr{
"rose_addr_t"};
8722 static constexpr bool traverse{
false};
8723 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_importnametab_rfo};
8724 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8725 using bind = Desc<SgAsmNEFileHeader, rose_addr_t SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_importnametab_rfo>;
8729 using field_type = rose_addr_t;
8730 static constexpr size_t position{26};
8731 static constexpr char const *
const name{
"e_nonresnametab_offset"};
8732 static constexpr char const *
const typestr{
"rose_addr_t"};
8733 static constexpr bool traverse{
false};
8734 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_nonresnametab_offset};
8735 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8736 using bind = Desc<SgAsmNEFileHeader, rose_addr_t SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_nonresnametab_offset>;
8740 using field_type = rose_addr_t;
8741 static constexpr size_t position{27};
8742 static constexpr char const *
const name{
"e_fastload_sector"};
8743 static constexpr char const *
const typestr{
"rose_addr_t"};
8744 static constexpr bool traverse{
false};
8745 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_fastload_sector};
8746 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8747 using bind = Desc<SgAsmNEFileHeader, rose_addr_t SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_fastload_sector>;
8751 using field_type = rose_addr_t;
8752 static constexpr size_t position{28};
8753 static constexpr char const *
const name{
"e_fastload_nsectors"};
8754 static constexpr char const *
const typestr{
"rose_addr_t"};
8755 static constexpr bool traverse{
false};
8756 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_e_fastload_nsectors};
8757 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8758 using bind = Desc<SgAsmNEFileHeader, rose_addr_t SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_e_fastload_nsectors>;
8763 static constexpr size_t position{29};
8764 static constexpr char const *
const name{
"dos2Header"};
8765 static constexpr char const *
const typestr{
"SgAsmDOSExtendedHeader*"};
8766 static constexpr bool traverse{
true};
8767 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_dos2Header};
8768 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8769 using bind = Desc<SgAsmNEFileHeader, SgAsmDOSExtendedHeader* SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_dos2Header>;
8774 static constexpr size_t position{30};
8775 static constexpr char const *
const name{
"sectionTable"};
8776 static constexpr char const *
const typestr{
"SgAsmNESectionTable*"};
8777 static constexpr bool traverse{
false};
8778 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_sectionTable};
8779 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8780 using bind = Desc<SgAsmNEFileHeader, SgAsmNESectionTable* SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_sectionTable>;
8785 static constexpr size_t position{31};
8786 static constexpr char const *
const name{
"residentNameTable"};
8787 static constexpr char const *
const typestr{
"SgAsmNENameTable*"};
8788 static constexpr bool traverse{
true};
8789 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_residentNameTable};
8790 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8791 using bind = Desc<SgAsmNEFileHeader, SgAsmNENameTable* SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_residentNameTable>;
8796 static constexpr size_t position{32};
8797 static constexpr char const *
const name{
"nonresidentNameTable"};
8798 static constexpr char const *
const typestr{
"SgAsmNENameTable*"};
8799 static constexpr bool traverse{
true};
8800 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_nonresidentNameTable};
8801 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8802 using bind = Desc<SgAsmNEFileHeader, SgAsmNENameTable* SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_nonresidentNameTable>;
8807 static constexpr size_t position{33};
8808 static constexpr char const *
const name{
"moduleTable"};
8809 static constexpr char const *
const typestr{
"SgAsmNEModuleTable*"};
8810 static constexpr bool traverse{
true};
8811 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_moduleTable};
8812 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8813 using bind = Desc<SgAsmNEFileHeader, SgAsmNEModuleTable* SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_moduleTable>;
8818 static constexpr size_t position{34};
8819 static constexpr char const *
const name{
"entryTable"};
8820 static constexpr char const *
const typestr{
"SgAsmNEEntryTable*"};
8821 static constexpr bool traverse{
true};
8822 static constexpr auto mbr_ptr{&SgAsmNEFileHeader::p_entryTable};
8823 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8824 using bind = Desc<SgAsmNEFileHeader, SgAsmNEEntryTable* SgAsmNEFileHeader::*, &SgAsmNEFileHeader::p_entryTable>;
8829 static constexpr char const *
const name{
"AsmNEFileHeader"};
8830 static constexpr unsigned long variant{239};
8831 static constexpr bool concrete{
true};
8833 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_addr_t,&SgAsmNEFileHeader::p_e_entrytab_rfo>,
describe_field_t<SgAsmNEFileHeader,rose_addr_t,&SgAsmNEFileHeader::p_e_entrytab_size>,
describe_field_t<SgAsmNEFileHeader,rose_addr_t,&SgAsmNEFileHeader::p_e_sectab_rfo>,
describe_field_t<SgAsmNEFileHeader,rose_addr_t,&SgAsmNEFileHeader::p_e_rsrctab_rfo>,
describe_field_t<SgAsmNEFileHeader,rose_addr_t,&SgAsmNEFileHeader::p_e_resnametab_rfo>,
describe_field_t<SgAsmNEFileHeader,rose_addr_t,&SgAsmNEFileHeader::p_e_modreftab_rfo>,
describe_field_t<SgAsmNEFileHeader,rose_addr_t,&SgAsmNEFileHeader::p_e_importnametab_rfo>,
describe_field_t<SgAsmNEFileHeader,rose_addr_t,&SgAsmNEFileHeader::p_e_nonresnametab_offset>,
describe_field_t<SgAsmNEFileHeader,rose_addr_t,&SgAsmNEFileHeader::p_e_fastload_sector>,
describe_field_t<SgAsmNEFileHeader,rose_addr_t,&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>>;
8841 static constexpr size_t position{0};
8842 static constexpr char const *
const name{
"strtab"};
8843 static constexpr char const *
const typestr{
"SgAsmNEStringTable*"};
8844 static constexpr bool traverse{
true};
8845 static constexpr auto mbr_ptr{&SgAsmNEModuleTable::p_strtab};
8846 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8847 using bind = Desc<SgAsmNEModuleTable, SgAsmNEStringTable* SgAsmNEModuleTable::*, &SgAsmNEModuleTable::p_strtab>;
8851 using field_type = SgAddressList;
8852 static constexpr size_t position{1};
8853 static constexpr char const *
const name{
"nameOffsets"};
8854 static constexpr char const *
const typestr{
"SgAddressList"};
8855 static constexpr bool traverse{
false};
8856 static constexpr auto mbr_ptr{&SgAsmNEModuleTable::p_nameOffsets};
8857 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8858 using bind = Desc<SgAsmNEModuleTable, SgAddressList SgAsmNEModuleTable::*, &SgAsmNEModuleTable::p_nameOffsets>;
8862 using field_type = SgStringList;
8863 static constexpr size_t position{2};
8864 static constexpr char const *
const name{
"names"};
8865 static constexpr char const *
const typestr{
"SgStringList"};
8866 static constexpr bool traverse{
false};
8867 static constexpr auto mbr_ptr{&SgAsmNEModuleTable::p_names};
8868 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8869 using bind = Desc<SgAsmNEModuleTable, SgStringList SgAsmNEModuleTable::*, &SgAsmNEModuleTable::p_names>;
8874 static constexpr char const *
const name{
"AsmNEModuleTable"};
8875 static constexpr unsigned long variant{240};
8876 static constexpr bool concrete{
true};
8885 using field_type = SgStringList;
8886 static constexpr size_t position{0};
8887 static constexpr char const *
const name{
"names"};
8888 static constexpr char const *
const typestr{
"SgStringList"};
8889 static constexpr bool traverse{
false};
8890 static constexpr auto mbr_ptr{&SgAsmNENameTable::p_names};
8891 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8892 using bind = Desc<SgAsmNENameTable, SgStringList SgAsmNENameTable::*, &SgAsmNENameTable::p_names>;
8896 using field_type = SgUnsignedList;
8897 static constexpr size_t position{1};
8898 static constexpr char const *
const name{
"ordinals"};
8899 static constexpr char const *
const typestr{
"SgUnsignedList"};
8900 static constexpr bool traverse{
false};
8901 static constexpr auto mbr_ptr{&SgAsmNENameTable::p_ordinals};
8902 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8903 using bind = Desc<SgAsmNENameTable, SgUnsignedList SgAsmNENameTable::*, &SgAsmNENameTable::p_ordinals>;
8908 static constexpr char const *
const name{
"AsmNENameTable"};
8909 static constexpr unsigned long variant{241};
8910 static constexpr bool concrete{
true};
8919 using field_type = SgAsmNERelocEntry::NERelocSrcType;
8920 static constexpr size_t position{0};
8921 static constexpr char const *
const name{
"src_type"};
8922 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::NERelocSrcType"};
8923 static constexpr bool traverse{
false};
8924 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_src_type};
8925 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8926 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::NERelocSrcType SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_src_type>;
8930 using field_type = SgAsmNERelocEntry::NERelocModifiers;
8931 static constexpr size_t position{1};
8932 static constexpr char const *
const name{
"modifier"};
8933 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::NERelocModifiers"};
8934 static constexpr bool traverse{
false};
8935 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_modifier};
8936 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8937 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::NERelocModifiers SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_modifier>;
8941 using field_type = SgAsmNERelocEntry::NERelocTgtType;
8942 static constexpr size_t position{2};
8943 static constexpr char const *
const name{
"tgt_type"};
8944 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::NERelocTgtType"};
8945 static constexpr bool traverse{
false};
8946 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_tgt_type};
8947 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8948 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::NERelocTgtType SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_tgt_type>;
8952 using field_type = SgAsmNERelocEntry::NERelocFlags;
8953 static constexpr size_t position{3};
8954 static constexpr char const *
const name{
"flags"};
8955 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::NERelocFlags"};
8956 static constexpr bool traverse{
false};
8957 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_flags};
8958 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8959 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::NERelocFlags SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_flags>;
8963 using field_type = rose_addr_t;
8964 static constexpr size_t position{4};
8965 static constexpr char const *
const name{
"src_offset"};
8966 static constexpr char const *
const typestr{
"rose_addr_t"};
8967 static constexpr bool traverse{
false};
8968 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_src_offset};
8969 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8970 using bind = Desc<SgAsmNERelocEntry, rose_addr_t SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_src_offset>;
8975 static constexpr size_t position{5};
8976 static constexpr char const *
const name{
"iref"};
8977 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::iref_type"};
8978 static constexpr bool traverse{
false};
8979 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_iref};
8980 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8981 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::iref_type SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_iref>;
8986 static constexpr size_t position{6};
8987 static constexpr char const *
const name{
"iord"};
8988 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::iord_type"};
8989 static constexpr bool traverse{
false};
8990 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_iord};
8991 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
8992 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::iord_type SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_iord>;
8997 static constexpr size_t position{7};
8998 static constexpr char const *
const name{
"iname"};
8999 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::iname_type"};
9000 static constexpr bool traverse{
false};
9001 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_iname};
9002 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9003 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::iname_type SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_iname>;
9008 static constexpr size_t position{8};
9009 static constexpr char const *
const name{
"osfixup"};
9010 static constexpr char const *
const typestr{
"SgAsmNERelocEntry::osfixup_type"};
9011 static constexpr bool traverse{
false};
9012 static constexpr auto mbr_ptr{&SgAsmNERelocEntry::p_osfixup};
9013 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9014 using bind = Desc<SgAsmNERelocEntry, SgAsmNERelocEntry::osfixup_type SgAsmNERelocEntry::*, &SgAsmNERelocEntry::p_osfixup>;
9019 static constexpr char const *
const name{
"AsmNERelocEntry"};
9020 static constexpr unsigned long variant{242};
9021 static constexpr bool concrete{
true};
9023 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_addr_t,&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>>;
9030 using field_type = SgAsmNERelocEntryPtrList;
9031 static constexpr size_t position{0};
9032 static constexpr char const *
const name{
"entries"};
9033 static constexpr char const *
const typestr{
"SgAsmNERelocEntryPtrList"};
9034 static constexpr bool traverse{
true};
9035 static constexpr auto mbr_ptr{&SgAsmNERelocTable::p_entries};
9036 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9037 using bind = Desc<SgAsmNERelocTable, SgAsmNERelocEntryPtrList SgAsmNERelocTable::*, &SgAsmNERelocTable::p_entries>;
9042 static constexpr char const *
const name{
"AsmNERelocTable"};
9043 static constexpr unsigned long variant{243};
9044 static constexpr bool concrete{
true};
9054 static constexpr size_t position{0};
9055 static constexpr char const *
const name{
"sectionTableEntry"};
9056 static constexpr char const *
const typestr{
"SgAsmNESectionTableEntry*"};
9057 static constexpr bool traverse{
true};
9058 static constexpr auto mbr_ptr{&SgAsmNESection::p_sectionTableEntry};
9059 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9060 using bind = Desc<SgAsmNESection, SgAsmNESectionTableEntry* SgAsmNESection::*, &SgAsmNESection::p_sectionTableEntry>;
9065 static constexpr size_t position{1};
9066 static constexpr char const *
const name{
"relocationTable"};
9067 static constexpr char const *
const typestr{
"SgAsmNERelocTable*"};
9068 static constexpr bool traverse{
true};
9069 static constexpr auto mbr_ptr{&SgAsmNESection::p_relocationTable};
9070 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9071 using bind = Desc<SgAsmNESection, SgAsmNERelocTable* SgAsmNESection::*, &SgAsmNESection::p_relocationTable>;
9076 static constexpr char const *
const name{
"AsmNESection"};
9077 static constexpr unsigned long variant{244};
9078 static constexpr bool concrete{
true};
9087 using field_type = unsigned;
9088 static constexpr size_t position{0};
9089 static constexpr char const *
const name{
"flags"};
9090 static constexpr char const *
const typestr{
"unsigned"};
9091 static constexpr bool traverse{
false};
9092 static constexpr auto mbr_ptr{&SgAsmNESectionTable::p_flags};
9093 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9094 using bind = Desc<SgAsmNESectionTable, unsigned SgAsmNESectionTable::*, &SgAsmNESectionTable::p_flags>;
9098 using field_type = unsigned;
9099 static constexpr size_t position{1};
9100 static constexpr char const *
const name{
"sector"};
9101 static constexpr char const *
const typestr{
"unsigned"};
9102 static constexpr bool traverse{
false};
9103 static constexpr auto mbr_ptr{&SgAsmNESectionTable::p_sector};
9104 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9105 using bind = Desc<SgAsmNESectionTable, unsigned SgAsmNESectionTable::*, &SgAsmNESectionTable::p_sector>;
9109 using field_type = rose_addr_t;
9110 static constexpr size_t position{2};
9111 static constexpr char const *
const name{
"physicalSize"};
9112 static constexpr char const *
const typestr{
"rose_addr_t"};
9113 static constexpr bool traverse{
false};
9114 static constexpr auto mbr_ptr{&SgAsmNESectionTable::p_physicalSize};
9115 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9116 using bind = Desc<SgAsmNESectionTable, rose_addr_t SgAsmNESectionTable::*, &SgAsmNESectionTable::p_physicalSize>;
9120 using field_type = rose_addr_t;
9121 static constexpr size_t position{3};
9122 static constexpr char const *
const name{
"virtualSize"};
9123 static constexpr char const *
const typestr{
"rose_addr_t"};
9124 static constexpr bool traverse{
false};
9125 static constexpr auto mbr_ptr{&SgAsmNESectionTable::p_virtualSize};
9126 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9127 using bind = Desc<SgAsmNESectionTable, rose_addr_t SgAsmNESectionTable::*, &SgAsmNESectionTable::p_virtualSize>;
9132 static constexpr char const *
const name{
"AsmNESectionTable"};
9133 static constexpr unsigned long variant{245};
9134 static constexpr bool concrete{
true};
9136 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_addr_t,&SgAsmNESectionTable::p_physicalSize>,
describe_field_t<SgAsmNESectionTable,rose_addr_t,&SgAsmNESectionTable::p_virtualSize>>;
9143 using field_type = unsigned;
9144 static constexpr size_t position{0};
9145 static constexpr char const *
const name{
"flags"};
9146 static constexpr char const *
const typestr{
"unsigned"};
9147 static constexpr bool traverse{
false};
9148 static constexpr auto mbr_ptr{&SgAsmNESectionTableEntry::p_flags};
9149 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9150 using bind = Desc<SgAsmNESectionTableEntry, unsigned SgAsmNESectionTableEntry::*, &SgAsmNESectionTableEntry::p_flags>;
9154 using field_type = unsigned;
9155 static constexpr size_t position{1};
9156 static constexpr char const *
const name{
"sector"};
9157 static constexpr char const *
const typestr{
"unsigned"};
9158 static constexpr bool traverse{
false};
9159 static constexpr auto mbr_ptr{&SgAsmNESectionTableEntry::p_sector};
9160 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9161 using bind = Desc<SgAsmNESectionTableEntry, unsigned SgAsmNESectionTableEntry::*, &SgAsmNESectionTableEntry::p_sector>;
9165 using field_type = rose_addr_t;
9166 static constexpr size_t position{2};
9167 static constexpr char const *
const name{
"physicalSize"};
9168 static constexpr char const *
const typestr{
"rose_addr_t"};
9169 static constexpr bool traverse{
false};
9170 static constexpr auto mbr_ptr{&SgAsmNESectionTableEntry::p_physicalSize};
9171 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9172 using bind = Desc<SgAsmNESectionTableEntry, rose_addr_t SgAsmNESectionTableEntry::*, &SgAsmNESectionTableEntry::p_physicalSize>;
9176 using field_type = rose_addr_t;
9177 static constexpr size_t position{3};
9178 static constexpr char const *
const name{
"virtualSize"};
9179 static constexpr char const *
const typestr{
"rose_addr_t"};
9180 static constexpr bool traverse{
false};
9181 static constexpr auto mbr_ptr{&SgAsmNESectionTableEntry::p_virtualSize};
9182 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9183 using bind = Desc<SgAsmNESectionTableEntry, rose_addr_t SgAsmNESectionTableEntry::*, &SgAsmNESectionTableEntry::p_virtualSize>;
9188 static constexpr char const *
const name{
"AsmNESectionTableEntry"};
9189 static constexpr unsigned long variant{246};
9190 static constexpr bool concrete{
true};
9192 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_addr_t,&SgAsmNESectionTableEntry::p_physicalSize>,
describe_field_t<SgAsmNESectionTableEntry,rose_addr_t,&SgAsmNESectionTableEntry::p_virtualSize>>;
9200 static constexpr char const *
const name{
"AsmNEStringTable"};
9201 static constexpr unsigned long variant{247};
9202 static constexpr bool concrete{
true};
9212 static constexpr char const *
const name{
"AsmNode"};
9213 static constexpr unsigned long variant{248};
9214 static constexpr bool concrete{
false};
9215 using subclasses_t =
mp::List<SgAsmCilNode, SgAsmExecutableFileFormat, SgAsmExpression, SgAsmGenericFileList, SgAsmInstructionList, SgAsmInterpretation, SgAsmInterpretationList, SgAsmJvmNode, SgAsmOperandList, SgAsmStatement, SgAsmType>;
9224 static constexpr size_t position{0};
9225 static constexpr char const *
const name{
"constraint"};
9226 static constexpr char const *
const typestr{
"SgAsmOp::asm_operand_constraint_enum"};
9227 static constexpr bool traverse{
false};
9228 static constexpr auto mbr_ptr{&SgAsmOp::p_constraint};
9229 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9230 using bind = Desc<SgAsmOp, SgAsmOp::asm_operand_constraint_enum SgAsmOp::*, &SgAsmOp::p_constraint>;
9235 static constexpr size_t position{1};
9236 static constexpr char const *
const name{
"modifiers"};
9237 static constexpr char const *
const typestr{
"SgAsmOp::asm_operand_modifier_enum"};
9238 static constexpr bool traverse{
false};
9239 static constexpr auto mbr_ptr{&SgAsmOp::p_modifiers};
9240 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9241 using bind = Desc<SgAsmOp, SgAsmOp::asm_operand_modifier_enum SgAsmOp::*, &SgAsmOp::p_modifiers>;
9246 static constexpr size_t position{2};
9247 static constexpr char const *
const name{
"expression"};
9248 static constexpr char const *
const typestr{
"SgExpression*"};
9249 static constexpr bool traverse{
true};
9250 static constexpr auto mbr_ptr{&SgAsmOp::p_expression};
9251 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9252 using bind = Desc<SgAsmOp, SgExpression* SgAsmOp::*, &SgAsmOp::p_expression>;
9256 using field_type = bool;
9257 static constexpr size_t position{3};
9258 static constexpr char const *
const name{
"recordRawAsmOperandDescriptions"};
9259 static constexpr char const *
const typestr{
"bool"};
9260 static constexpr bool traverse{
false};
9261 static constexpr auto mbr_ptr{&SgAsmOp::p_recordRawAsmOperandDescriptions};
9262 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9263 using bind = Desc<SgAsmOp, bool SgAsmOp::*, &SgAsmOp::p_recordRawAsmOperandDescriptions>;
9267 using field_type = bool;
9268 static constexpr size_t position{4};
9269 static constexpr char const *
const name{
"isOutputOperand"};
9270 static constexpr char const *
const typestr{
"bool"};
9271 static constexpr bool traverse{
false};
9272 static constexpr auto mbr_ptr{&SgAsmOp::p_isOutputOperand};
9273 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9274 using bind = Desc<SgAsmOp, bool SgAsmOp::*, &SgAsmOp::p_isOutputOperand>;
9278 using field_type = std::string;
9279 static constexpr size_t position{5};
9280 static constexpr char const *
const name{
"constraintString"};
9281 static constexpr char const *
const typestr{
"std::string"};
9282 static constexpr bool traverse{
false};
9283 static constexpr auto mbr_ptr{&SgAsmOp::p_constraintString};
9284 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9285 using bind = Desc<SgAsmOp, std::string SgAsmOp::*, &SgAsmOp::p_constraintString>;
9289 using field_type = std::string;
9290 static constexpr size_t position{6};
9291 static constexpr char const *
const name{
"name"};
9292 static constexpr char const *
const typestr{
"std::string"};
9293 static constexpr bool traverse{
false};
9294 static constexpr auto mbr_ptr{&SgAsmOp::p_name};
9295 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9296 using bind = Desc<SgAsmOp, std::string SgAsmOp::*, &SgAsmOp::p_name>;
9301 static constexpr char const *
const name{
"AsmOp"};
9302 static constexpr unsigned long variant{249};
9303 static constexpr bool concrete{
true};
9305 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>>;
9312 using field_type = SgAsmExpressionPtrList;
9313 static constexpr size_t position{0};
9314 static constexpr char const *
const name{
"operands"};
9315 static constexpr char const *
const typestr{
"SgAsmExpressionPtrList"};
9316 static constexpr bool traverse{
true};
9317 static constexpr auto mbr_ptr{&SgAsmOperandList::p_operands};
9318 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9319 using bind = Desc<SgAsmOperandList, SgAsmExpressionPtrList SgAsmOperandList::*, &SgAsmOperandList::p_operands>;
9324 static constexpr char const *
const name{
"AsmOperandList"};
9325 static constexpr unsigned long variant{250};
9326 static constexpr bool concrete{
true};
9335 using field_type = unsigned;
9336 static constexpr size_t position{0};
9337 static constexpr char const *
const name{
"res1"};
9338 static constexpr char const *
const typestr{
"unsigned"};
9339 static constexpr bool traverse{
false};
9340 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_res1};
9341 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9342 using bind = Desc<SgAsmPEExportDirectory, unsigned SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_res1>;
9346 using field_type = time_t;
9347 static constexpr size_t position{1};
9348 static constexpr char const *
const name{
"timestamp"};
9349 static constexpr char const *
const typestr{
"time_t"};
9350 static constexpr bool traverse{
false};
9351 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_timestamp};
9352 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9353 using bind = Desc<SgAsmPEExportDirectory, time_t SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_timestamp>;
9357 using field_type = unsigned;
9358 static constexpr size_t position{2};
9359 static constexpr char const *
const name{
"vmajor"};
9360 static constexpr char const *
const typestr{
"unsigned"};
9361 static constexpr bool traverse{
false};
9362 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_vmajor};
9363 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9364 using bind = Desc<SgAsmPEExportDirectory, unsigned SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_vmajor>;
9368 using field_type = unsigned;
9369 static constexpr size_t position{3};
9370 static constexpr char const *
const name{
"vminor"};
9371 static constexpr char const *
const typestr{
"unsigned"};
9372 static constexpr bool traverse{
false};
9373 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_vminor};
9374 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9375 using bind = Desc<SgAsmPEExportDirectory, unsigned SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_vminor>;
9380 static constexpr size_t position{4};
9381 static constexpr char const *
const name{
"name_rva"};
9382 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9383 static constexpr bool traverse{
false};
9384 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_name_rva};
9385 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9386 using bind = Desc<SgAsmPEExportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_name_rva>;
9390 using field_type = unsigned;
9391 static constexpr size_t position{5};
9392 static constexpr char const *
const name{
"ord_base"};
9393 static constexpr char const *
const typestr{
"unsigned"};
9394 static constexpr bool traverse{
false};
9395 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_ord_base};
9396 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9397 using bind = Desc<SgAsmPEExportDirectory, unsigned SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_ord_base>;
9401 using field_type = size_t;
9402 static constexpr size_t position{6};
9403 static constexpr char const *
const name{
"expaddr_n"};
9404 static constexpr char const *
const typestr{
"size_t"};
9405 static constexpr bool traverse{
false};
9406 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_expaddr_n};
9407 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9408 using bind = Desc<SgAsmPEExportDirectory, size_t SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_expaddr_n>;
9412 using field_type = size_t;
9413 static constexpr size_t position{7};
9414 static constexpr char const *
const name{
"nameptr_n"};
9415 static constexpr char const *
const typestr{
"size_t"};
9416 static constexpr bool traverse{
false};
9417 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_nameptr_n};
9418 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9419 using bind = Desc<SgAsmPEExportDirectory, size_t SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_nameptr_n>;
9424 static constexpr size_t position{8};
9425 static constexpr char const *
const name{
"expaddr_rva"};
9426 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9427 static constexpr bool traverse{
false};
9428 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_expaddr_rva};
9429 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9430 using bind = Desc<SgAsmPEExportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_expaddr_rva>;
9435 static constexpr size_t position{9};
9436 static constexpr char const *
const name{
"nameptr_rva"};
9437 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9438 static constexpr bool traverse{
false};
9439 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_nameptr_rva};
9440 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9441 using bind = Desc<SgAsmPEExportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_nameptr_rva>;
9446 static constexpr size_t position{10};
9447 static constexpr char const *
const name{
"ordinals_rva"};
9448 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9449 static constexpr bool traverse{
false};
9450 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_ordinals_rva};
9451 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9452 using bind = Desc<SgAsmPEExportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_ordinals_rva>;
9457 static constexpr size_t position{11};
9458 static constexpr char const *
const name{
"name"};
9459 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
9460 static constexpr bool traverse{
true};
9461 static constexpr auto mbr_ptr{&SgAsmPEExportDirectory::p_name};
9462 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9463 using bind = Desc<SgAsmPEExportDirectory, SgAsmGenericString* SgAsmPEExportDirectory::*, &SgAsmPEExportDirectory::p_name>;
9468 static constexpr char const *
const name{
"AsmPEExportDirectory"};
9469 static constexpr unsigned long variant{251};
9470 static constexpr bool concrete{
true};
9472 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>>;
9480 static constexpr size_t position{0};
9481 static constexpr char const *
const name{
"name"};
9482 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
9483 static constexpr bool traverse{
true};
9484 static constexpr auto mbr_ptr{&SgAsmPEExportEntry::p_name};
9485 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9486 using bind = Desc<SgAsmPEExportEntry, SgAsmGenericString* SgAsmPEExportEntry::*, &SgAsmPEExportEntry::p_name>;
9490 using field_type = unsigned;
9491 static constexpr size_t position{1};
9492 static constexpr char const *
const name{
"ordinal"};
9493 static constexpr char const *
const typestr{
"unsigned"};
9494 static constexpr bool traverse{
false};
9495 static constexpr auto mbr_ptr{&SgAsmPEExportEntry::p_ordinal};
9496 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9497 using bind = Desc<SgAsmPEExportEntry, unsigned SgAsmPEExportEntry::*, &SgAsmPEExportEntry::p_ordinal>;
9502 static constexpr size_t position{2};
9503 static constexpr char const *
const name{
"exportRva"};
9504 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9505 static constexpr bool traverse{
false};
9506 static constexpr auto mbr_ptr{&SgAsmPEExportEntry::p_exportRva};
9507 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9508 using bind = Desc<SgAsmPEExportEntry, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEExportEntry::*, &SgAsmPEExportEntry::p_exportRva>;
9513 static constexpr size_t position{3};
9514 static constexpr char const *
const name{
"forwarder"};
9515 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
9516 static constexpr bool traverse{
true};
9517 static constexpr auto mbr_ptr{&SgAsmPEExportEntry::p_forwarder};
9518 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9519 using bind = Desc<SgAsmPEExportEntry, SgAsmGenericString* SgAsmPEExportEntry::*, &SgAsmPEExportEntry::p_forwarder>;
9524 static constexpr char const *
const name{
"AsmPEExportEntry"};
9525 static constexpr unsigned long variant{252};
9526 static constexpr bool concrete{
true};
9528 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>>;
9535 using field_type = SgAsmPEExportEntryPtrList;
9536 static constexpr size_t position{0};
9537 static constexpr char const *
const name{
"exports"};
9538 static constexpr char const *
const typestr{
"SgAsmPEExportEntryPtrList"};
9539 static constexpr bool traverse{
true};
9540 static constexpr auto mbr_ptr{&SgAsmPEExportEntryList::p_exports};
9541 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9542 using bind = Desc<SgAsmPEExportEntryList, SgAsmPEExportEntryPtrList SgAsmPEExportEntryList::*, &SgAsmPEExportEntryList::p_exports>;
9547 static constexpr char const *
const name{
"AsmPEExportEntryList"};
9548 static constexpr unsigned long variant{253};
9549 static constexpr bool concrete{
true};
9559 static constexpr size_t position{0};
9560 static constexpr char const *
const name{
"exportDirectory"};
9561 static constexpr char const *
const typestr{
"SgAsmPEExportDirectory*"};
9562 static constexpr bool traverse{
true};
9563 static constexpr auto mbr_ptr{&SgAsmPEExportSection::p_exportDirectory};
9564 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9565 using bind = Desc<SgAsmPEExportSection, SgAsmPEExportDirectory* SgAsmPEExportSection::*, &SgAsmPEExportSection::p_exportDirectory>;
9570 static constexpr size_t position{1};
9571 static constexpr char const *
const name{
"exports"};
9572 static constexpr char const *
const typestr{
"SgAsmPEExportEntryList*"};
9573 static constexpr bool traverse{
true};
9574 static constexpr auto mbr_ptr{&SgAsmPEExportSection::p_exports};
9575 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9576 using bind = Desc<SgAsmPEExportSection, SgAsmPEExportEntryList* SgAsmPEExportSection::*, &SgAsmPEExportSection::p_exports>;
9581 static constexpr char const *
const name{
"AsmPEExportSection"};
9582 static constexpr unsigned long variant{254};
9583 static constexpr bool concrete{
true};
9592 using field_type = unsigned;
9593 static constexpr size_t position{0};
9594 static constexpr char const *
const name{
"e_cpu_type"};
9595 static constexpr char const *
const typestr{
"unsigned"};
9596 static constexpr bool traverse{
false};
9597 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_cpu_type};
9598 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9599 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_cpu_type>;
9603 using field_type = unsigned;
9604 static constexpr size_t position{1};
9605 static constexpr char const *
const name{
"e_nsections"};
9606 static constexpr char const *
const typestr{
"unsigned"};
9607 static constexpr bool traverse{
false};
9608 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_nsections};
9609 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9610 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_nsections>;
9614 using field_type = unsigned;
9615 static constexpr size_t position{2};
9616 static constexpr char const *
const name{
"e_time"};
9617 static constexpr char const *
const typestr{
"unsigned"};
9618 static constexpr bool traverse{
false};
9619 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_time};
9620 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9621 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_time>;
9625 using field_type = rose_addr_t;
9626 static constexpr size_t position{3};
9627 static constexpr char const *
const name{
"e_coff_symtab"};
9628 static constexpr char const *
const typestr{
"rose_addr_t"};
9629 static constexpr bool traverse{
false};
9630 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_coff_symtab};
9631 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9632 using bind = Desc<SgAsmPEFileHeader, rose_addr_t SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_coff_symtab>;
9636 using field_type = rose_addr_t;
9637 static constexpr size_t position{4};
9638 static constexpr char const *
const name{
"e_nt_hdr_size"};
9639 static constexpr char const *
const typestr{
"rose_addr_t"};
9640 static constexpr bool traverse{
false};
9641 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_nt_hdr_size};
9642 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9643 using bind = Desc<SgAsmPEFileHeader, rose_addr_t SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_nt_hdr_size>;
9647 using field_type = unsigned;
9648 static constexpr size_t position{5};
9649 static constexpr char const *
const name{
"e_coff_nsyms"};
9650 static constexpr char const *
const typestr{
"unsigned"};
9651 static constexpr bool traverse{
false};
9652 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_coff_nsyms};
9653 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9654 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_coff_nsyms>;
9658 using field_type = unsigned;
9659 static constexpr size_t position{6};
9660 static constexpr char const *
const name{
"e_flags"};
9661 static constexpr char const *
const typestr{
"unsigned"};
9662 static constexpr bool traverse{
false};
9663 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_flags};
9664 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9665 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_flags>;
9669 using field_type = unsigned;
9670 static constexpr size_t position{7};
9671 static constexpr char const *
const name{
"e_opt_magic"};
9672 static constexpr char const *
const typestr{
"unsigned"};
9673 static constexpr bool traverse{
false};
9674 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_opt_magic};
9675 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9676 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_opt_magic>;
9680 using field_type = unsigned;
9681 static constexpr size_t position{8};
9682 static constexpr char const *
const name{
"e_lmajor"};
9683 static constexpr char const *
const typestr{
"unsigned"};
9684 static constexpr bool traverse{
false};
9685 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_lmajor};
9686 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9687 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_lmajor>;
9691 using field_type = unsigned;
9692 static constexpr size_t position{9};
9693 static constexpr char const *
const name{
"e_lminor"};
9694 static constexpr char const *
const typestr{
"unsigned"};
9695 static constexpr bool traverse{
false};
9696 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_lminor};
9697 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9698 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_lminor>;
9702 using field_type = unsigned;
9703 static constexpr size_t position{10};
9704 static constexpr char const *
const name{
"e_code_size"};
9705 static constexpr char const *
const typestr{
"unsigned"};
9706 static constexpr bool traverse{
false};
9707 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_code_size};
9708 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9709 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_code_size>;
9713 using field_type = unsigned;
9714 static constexpr size_t position{11};
9715 static constexpr char const *
const name{
"e_data_size"};
9716 static constexpr char const *
const typestr{
"unsigned"};
9717 static constexpr bool traverse{
false};
9718 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_data_size};
9719 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9720 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_data_size>;
9724 using field_type = unsigned;
9725 static constexpr size_t position{12};
9726 static constexpr char const *
const name{
"e_bss_size"};
9727 static constexpr char const *
const typestr{
"unsigned"};
9728 static constexpr bool traverse{
false};
9729 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_bss_size};
9730 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9731 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_bss_size>;
9736 static constexpr size_t position{13};
9737 static constexpr char const *
const name{
"e_code_rva"};
9738 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9739 static constexpr bool traverse{
false};
9740 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_code_rva};
9741 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9742 using bind = Desc<SgAsmPEFileHeader, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_code_rva>;
9747 static constexpr size_t position{14};
9748 static constexpr char const *
const name{
"e_data_rva"};
9749 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
9750 static constexpr bool traverse{
false};
9751 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_data_rva};
9752 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9753 using bind = Desc<SgAsmPEFileHeader, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_data_rva>;
9757 using field_type = unsigned;
9758 static constexpr size_t position{15};
9759 static constexpr char const *
const name{
"e_section_align"};
9760 static constexpr char const *
const typestr{
"unsigned"};
9761 static constexpr bool traverse{
false};
9762 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_section_align};
9763 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9764 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_section_align>;
9768 using field_type = unsigned;
9769 static constexpr size_t position{16};
9770 static constexpr char const *
const name{
"e_file_align"};
9771 static constexpr char const *
const typestr{
"unsigned"};
9772 static constexpr bool traverse{
false};
9773 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_file_align};
9774 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9775 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_file_align>;
9779 using field_type = unsigned;
9780 static constexpr size_t position{17};
9781 static constexpr char const *
const name{
"e_os_major"};
9782 static constexpr char const *
const typestr{
"unsigned"};
9783 static constexpr bool traverse{
false};
9784 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_os_major};
9785 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9786 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_os_major>;
9790 using field_type = unsigned;
9791 static constexpr size_t position{18};
9792 static constexpr char const *
const name{
"e_os_minor"};
9793 static constexpr char const *
const typestr{
"unsigned"};
9794 static constexpr bool traverse{
false};
9795 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_os_minor};
9796 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9797 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_os_minor>;
9801 using field_type = unsigned;
9802 static constexpr size_t position{19};
9803 static constexpr char const *
const name{
"e_user_major"};
9804 static constexpr char const *
const typestr{
"unsigned"};
9805 static constexpr bool traverse{
false};
9806 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_user_major};
9807 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9808 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_user_major>;
9812 using field_type = unsigned;
9813 static constexpr size_t position{20};
9814 static constexpr char const *
const name{
"e_user_minor"};
9815 static constexpr char const *
const typestr{
"unsigned"};
9816 static constexpr bool traverse{
false};
9817 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_user_minor};
9818 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9819 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_user_minor>;
9823 using field_type = unsigned;
9824 static constexpr size_t position{21};
9825 static constexpr char const *
const name{
"e_subsys_major"};
9826 static constexpr char const *
const typestr{
"unsigned"};
9827 static constexpr bool traverse{
false};
9828 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_subsys_major};
9829 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9830 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_subsys_major>;
9834 using field_type = unsigned;
9835 static constexpr size_t position{22};
9836 static constexpr char const *
const name{
"e_subsys_minor"};
9837 static constexpr char const *
const typestr{
"unsigned"};
9838 static constexpr bool traverse{
false};
9839 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_subsys_minor};
9840 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9841 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_subsys_minor>;
9845 using field_type = unsigned;
9846 static constexpr size_t position{23};
9847 static constexpr char const *
const name{
"e_reserved9"};
9848 static constexpr char const *
const typestr{
"unsigned"};
9849 static constexpr bool traverse{
false};
9850 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_reserved9};
9851 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9852 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_reserved9>;
9856 using field_type = unsigned;
9857 static constexpr size_t position{24};
9858 static constexpr char const *
const name{
"e_image_size"};
9859 static constexpr char const *
const typestr{
"unsigned"};
9860 static constexpr bool traverse{
false};
9861 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_image_size};
9862 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9863 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_image_size>;
9867 using field_type = unsigned;
9868 static constexpr size_t position{25};
9869 static constexpr char const *
const name{
"e_header_size"};
9870 static constexpr char const *
const typestr{
"unsigned"};
9871 static constexpr bool traverse{
false};
9872 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_header_size};
9873 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9874 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_header_size>;
9878 using field_type = unsigned;
9879 static constexpr size_t position{26};
9880 static constexpr char const *
const name{
"e_file_checksum"};
9881 static constexpr char const *
const typestr{
"unsigned"};
9882 static constexpr bool traverse{
false};
9883 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_file_checksum};
9884 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9885 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_file_checksum>;
9889 using field_type = unsigned;
9890 static constexpr size_t position{27};
9891 static constexpr char const *
const name{
"e_subsystem"};
9892 static constexpr char const *
const typestr{
"unsigned"};
9893 static constexpr bool traverse{
false};
9894 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_subsystem};
9895 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9896 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_subsystem>;
9900 using field_type = unsigned;
9901 static constexpr size_t position{28};
9902 static constexpr char const *
const name{
"e_dll_flags"};
9903 static constexpr char const *
const typestr{
"unsigned"};
9904 static constexpr bool traverse{
false};
9905 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_dll_flags};
9906 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9907 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_dll_flags>;
9911 using field_type = unsigned;
9912 static constexpr size_t position{29};
9913 static constexpr char const *
const name{
"e_stack_reserve_size"};
9914 static constexpr char const *
const typestr{
"unsigned"};
9915 static constexpr bool traverse{
false};
9916 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_stack_reserve_size};
9917 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9918 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_stack_reserve_size>;
9922 using field_type = unsigned;
9923 static constexpr size_t position{30};
9924 static constexpr char const *
const name{
"e_stack_commit_size"};
9925 static constexpr char const *
const typestr{
"unsigned"};
9926 static constexpr bool traverse{
false};
9927 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_stack_commit_size};
9928 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9929 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_stack_commit_size>;
9933 using field_type = unsigned;
9934 static constexpr size_t position{31};
9935 static constexpr char const *
const name{
"e_heap_reserve_size"};
9936 static constexpr char const *
const typestr{
"unsigned"};
9937 static constexpr bool traverse{
false};
9938 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_heap_reserve_size};
9939 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9940 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_heap_reserve_size>;
9944 using field_type = unsigned;
9945 static constexpr size_t position{32};
9946 static constexpr char const *
const name{
"e_heap_commit_size"};
9947 static constexpr char const *
const typestr{
"unsigned"};
9948 static constexpr bool traverse{
false};
9949 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_heap_commit_size};
9950 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9951 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_heap_commit_size>;
9955 using field_type = unsigned;
9956 static constexpr size_t position{33};
9957 static constexpr char const *
const name{
"e_loader_flags"};
9958 static constexpr char const *
const typestr{
"unsigned"};
9959 static constexpr bool traverse{
false};
9960 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_loader_flags};
9961 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9962 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_loader_flags>;
9966 using field_type = unsigned;
9967 static constexpr size_t position{34};
9968 static constexpr char const *
const name{
"e_num_rvasize_pairs"};
9969 static constexpr char const *
const typestr{
"unsigned"};
9970 static constexpr bool traverse{
false};
9971 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_e_num_rvasize_pairs};
9972 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9973 using bind = Desc<SgAsmPEFileHeader, unsigned SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_e_num_rvasize_pairs>;
9978 static constexpr size_t position{35};
9979 static constexpr char const *
const name{
"rvaSizePairs"};
9980 static constexpr char const *
const typestr{
"SgAsmPERVASizePairList*"};
9981 static constexpr bool traverse{
true};
9982 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_rvaSizePairs};
9983 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9984 using bind = Desc<SgAsmPEFileHeader, SgAsmPERVASizePairList* SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_rvaSizePairs>;
9989 static constexpr size_t position{36};
9990 static constexpr char const *
const name{
"sectionTable"};
9991 static constexpr char const *
const typestr{
"SgAsmPESectionTable*"};
9992 static constexpr bool traverse{
false};
9993 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_sectionTable};
9994 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
9995 using bind = Desc<SgAsmPEFileHeader, SgAsmPESectionTable* SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_sectionTable>;
10000 static constexpr size_t position{37};
10001 static constexpr char const *
const name{
"coffSymbolTable"};
10002 static constexpr char const *
const typestr{
"SgAsmCoffSymbolTable*"};
10003 static constexpr bool traverse{
false};
10004 static constexpr auto mbr_ptr{&SgAsmPEFileHeader::p_coffSymbolTable};
10005 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10006 using bind = Desc<SgAsmPEFileHeader, SgAsmCoffSymbolTable* SgAsmPEFileHeader::*, &SgAsmPEFileHeader::p_coffSymbolTable>;
10011 static constexpr char const *
const name{
"AsmPEFileHeader"};
10012 static constexpr unsigned long variant{255};
10013 static constexpr bool concrete{
true};
10015 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_addr_t,&SgAsmPEFileHeader::p_e_coff_symtab>,
describe_field_t<SgAsmPEFileHeader,rose_addr_t,&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>>;
10023 static constexpr size_t position{0};
10024 static constexpr char const *
const name{
"dllName"};
10025 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
10026 static constexpr bool traverse{
true};
10027 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_dllName};
10028 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10029 using bind = Desc<SgAsmPEImportDirectory, SgAsmGenericString* SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_dllName>;
10034 static constexpr size_t position{1};
10035 static constexpr char const *
const name{
"dllNameRva"};
10036 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
10037 static constexpr bool traverse{
false};
10038 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_dllNameRva};
10039 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10040 using bind = Desc<SgAsmPEImportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_dllNameRva>;
10044 using field_type = size_t;
10045 static constexpr size_t position{2};
10046 static constexpr char const *
const name{
"dll_name_nalloc"};
10047 static constexpr char const *
const typestr{
"size_t"};
10048 static constexpr bool traverse{
false};
10049 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_dll_name_nalloc};
10050 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10051 using bind = Desc<SgAsmPEImportDirectory, size_t SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_dll_name_nalloc>;
10055 using field_type = time_t;
10056 static constexpr size_t position{3};
10057 static constexpr char const *
const name{
"time"};
10058 static constexpr char const *
const typestr{
"time_t"};
10059 static constexpr bool traverse{
false};
10060 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_time};
10061 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10062 using bind = Desc<SgAsmPEImportDirectory, time_t SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_time>;
10066 using field_type = unsigned;
10067 static constexpr size_t position{4};
10068 static constexpr char const *
const name{
"forwarder_chain"};
10069 static constexpr char const *
const typestr{
"unsigned"};
10070 static constexpr bool traverse{
false};
10071 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_forwarder_chain};
10072 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10073 using bind = Desc<SgAsmPEImportDirectory, unsigned SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_forwarder_chain>;
10078 static constexpr size_t position{5};
10079 static constexpr char const *
const name{
"ilt_rva"};
10080 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
10081 static constexpr bool traverse{
false};
10082 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_ilt_rva};
10083 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10084 using bind = Desc<SgAsmPEImportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_ilt_rva>;
10088 using field_type = size_t;
10089 static constexpr size_t position{6};
10090 static constexpr char const *
const name{
"ilt_nalloc"};
10091 static constexpr char const *
const typestr{
"size_t"};
10092 static constexpr bool traverse{
false};
10093 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_ilt_nalloc};
10094 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10095 using bind = Desc<SgAsmPEImportDirectory, size_t SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_ilt_nalloc>;
10100 static constexpr size_t position{7};
10101 static constexpr char const *
const name{
"iat_rva"};
10102 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
10103 static constexpr bool traverse{
false};
10104 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_iat_rva};
10105 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10106 using bind = Desc<SgAsmPEImportDirectory, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_iat_rva>;
10110 using field_type = size_t;
10111 static constexpr size_t position{8};
10112 static constexpr char const *
const name{
"iat_nalloc"};
10113 static constexpr char const *
const typestr{
"size_t"};
10114 static constexpr bool traverse{
false};
10115 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_iat_nalloc};
10116 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10117 using bind = Desc<SgAsmPEImportDirectory, size_t SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_iat_nalloc>;
10122 static constexpr size_t position{9};
10123 static constexpr char const *
const name{
"imports"};
10124 static constexpr char const *
const typestr{
"SgAsmPEImportItemList*"};
10125 static constexpr bool traverse{
true};
10126 static constexpr auto mbr_ptr{&SgAsmPEImportDirectory::p_imports};
10127 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10128 using bind = Desc<SgAsmPEImportDirectory, SgAsmPEImportItemList* SgAsmPEImportDirectory::*, &SgAsmPEImportDirectory::p_imports>;
10133 static constexpr char const *
const name{
"AsmPEImportDirectory"};
10134 static constexpr unsigned long variant{256};
10135 static constexpr bool concrete{
true};
10137 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>>;
10144 using field_type = SgAsmPEImportDirectoryPtrList;
10145 static constexpr size_t position{0};
10146 static constexpr char const *
const name{
"vector"};
10147 static constexpr char const *
const typestr{
"SgAsmPEImportDirectoryPtrList"};
10148 static constexpr bool traverse{
true};
10149 static constexpr auto mbr_ptr{&SgAsmPEImportDirectoryList::p_vector};
10150 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10151 using bind = Desc<SgAsmPEImportDirectoryList, SgAsmPEImportDirectoryPtrList SgAsmPEImportDirectoryList::*, &SgAsmPEImportDirectoryList::p_vector>;
10156 static constexpr char const *
const name{
"AsmPEImportDirectoryList"};
10157 static constexpr unsigned long variant{257};
10158 static constexpr bool concrete{
true};
10167 using field_type = bool;
10168 static constexpr size_t position{0};
10169 static constexpr char const *
const name{
"by_ordinal"};
10170 static constexpr char const *
const typestr{
"bool"};
10171 static constexpr bool traverse{
false};
10172 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_by_ordinal};
10173 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10174 using bind = Desc<SgAsmPEImportItem, bool SgAsmPEImportItem::*, &SgAsmPEImportItem::p_by_ordinal>;
10178 using field_type = unsigned;
10179 static constexpr size_t position{1};
10180 static constexpr char const *
const name{
"ordinal"};
10181 static constexpr char const *
const typestr{
"unsigned"};
10182 static constexpr bool traverse{
false};
10183 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_ordinal};
10184 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10185 using bind = Desc<SgAsmPEImportItem, unsigned SgAsmPEImportItem::*, &SgAsmPEImportItem::p_ordinal>;
10189 using field_type = unsigned;
10190 static constexpr size_t position{2};
10191 static constexpr char const *
const name{
"hint"};
10192 static constexpr char const *
const typestr{
"unsigned"};
10193 static constexpr bool traverse{
false};
10194 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_hint};
10195 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10196 using bind = Desc<SgAsmPEImportItem, unsigned SgAsmPEImportItem::*, &SgAsmPEImportItem::p_hint>;
10201 static constexpr size_t position{3};
10202 static constexpr char const *
const name{
"name"};
10203 static constexpr char const *
const typestr{
"SgAsmGenericString*"};
10204 static constexpr bool traverse{
true};
10205 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_name};
10206 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10207 using bind = Desc<SgAsmPEImportItem, SgAsmGenericString* SgAsmPEImportItem::*, &SgAsmPEImportItem::p_name>;
10212 static constexpr size_t position{4};
10213 static constexpr char const *
const name{
"hintname_rva"};
10214 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
10215 static constexpr bool traverse{
false};
10216 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_hintname_rva};
10217 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10218 using bind = Desc<SgAsmPEImportItem, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEImportItem::*, &SgAsmPEImportItem::p_hintname_rva>;
10222 using field_type = size_t;
10223 static constexpr size_t position{5};
10224 static constexpr char const *
const name{
"hintname_nalloc"};
10225 static constexpr char const *
const typestr{
"size_t"};
10226 static constexpr bool traverse{
false};
10227 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_hintname_nalloc};
10228 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10229 using bind = Desc<SgAsmPEImportItem, size_t SgAsmPEImportItem::*, &SgAsmPEImportItem::p_hintname_nalloc>;
10234 static constexpr size_t position{6};
10235 static constexpr char const *
const name{
"bound_rva"};
10236 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
10237 static constexpr bool traverse{
false};
10238 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_bound_rva};
10239 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10240 using bind = Desc<SgAsmPEImportItem, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPEImportItem::*, &SgAsmPEImportItem::p_bound_rva>;
10244 using field_type = bool;
10245 static constexpr size_t position{7};
10246 static constexpr char const *
const name{
"iat_written"};
10247 static constexpr char const *
const typestr{
"bool"};
10248 static constexpr bool traverse{
false};
10249 static constexpr auto mbr_ptr{&SgAsmPEImportItem::p_iat_written};
10250 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10251 using bind = Desc<SgAsmPEImportItem, bool SgAsmPEImportItem::*, &SgAsmPEImportItem::p_iat_written>;
10256 static constexpr char const *
const name{
"AsmPEImportItem"};
10257 static constexpr unsigned long variant{258};
10258 static constexpr bool concrete{
true};
10260 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>>;
10267 using field_type = SgAsmPEImportItemPtrList;
10268 static constexpr size_t position{0};
10269 static constexpr char const *
const name{
"vector"};
10270 static constexpr char const *
const typestr{
"SgAsmPEImportItemPtrList"};
10271 static constexpr bool traverse{
true};
10272 static constexpr auto mbr_ptr{&SgAsmPEImportItemList::p_vector};
10273 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10274 using bind = Desc<SgAsmPEImportItemList, SgAsmPEImportItemPtrList SgAsmPEImportItemList::*, &SgAsmPEImportItemList::p_vector>;
10279 static constexpr char const *
const name{
"AsmPEImportItemList"};
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{
"importDirectories"};
10293 static constexpr char const *
const typestr{
"SgAsmPEImportDirectoryList*"};
10294 static constexpr bool traverse{
true};
10295 static constexpr auto mbr_ptr{&SgAsmPEImportSection::p_importDirectories};
10296 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10297 using bind = Desc<SgAsmPEImportSection, SgAsmPEImportDirectoryList* SgAsmPEImportSection::*, &SgAsmPEImportSection::p_importDirectories>;
10302 static constexpr char const *
const name{
"AsmPEImportSection"};
10303 static constexpr unsigned long variant{260};
10304 static constexpr bool concrete{
true};
10314 static constexpr size_t position{0};
10315 static constexpr char const *
const name{
"e_rva"};
10316 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RelativeVirtualAddress"};
10317 static constexpr bool traverse{
false};
10318 static constexpr auto mbr_ptr{&SgAsmPERVASizePair::p_e_rva};
10319 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10320 using bind = Desc<SgAsmPERVASizePair, Rose::BinaryAnalysis::RelativeVirtualAddress SgAsmPERVASizePair::*, &SgAsmPERVASizePair::p_e_rva>;
10324 using field_type = rose_addr_t;
10325 static constexpr size_t position{1};
10326 static constexpr char const *
const name{
"e_size"};
10327 static constexpr char const *
const typestr{
"rose_addr_t"};
10328 static constexpr bool traverse{
false};
10329 static constexpr auto mbr_ptr{&SgAsmPERVASizePair::p_e_size};
10330 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10331 using bind = Desc<SgAsmPERVASizePair, rose_addr_t SgAsmPERVASizePair::*, &SgAsmPERVASizePair::p_e_size>;
10336 static constexpr size_t position{2};
10337 static constexpr char const *
const name{
"section"};
10338 static constexpr char const *
const typestr{
"SgAsmGenericSection*"};
10339 static constexpr bool traverse{
false};
10340 static constexpr auto mbr_ptr{&SgAsmPERVASizePair::p_section};
10341 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10342 using bind = Desc<SgAsmPERVASizePair, SgAsmGenericSection* SgAsmPERVASizePair::*, &SgAsmPERVASizePair::p_section>;
10347 static constexpr char const *
const name{
"AsmPERVASizePair"};
10348 static constexpr unsigned long variant{261};
10349 static constexpr bool concrete{
true};
10358 using field_type = SgAsmPERVASizePairPtrList;
10359 static constexpr size_t position{0};
10360 static constexpr char const *
const name{
"pairs"};
10361 static constexpr char const *
const typestr{
"SgAsmPERVASizePairPtrList"};
10362 static constexpr bool traverse{
true};
10363 static constexpr auto mbr_ptr{&SgAsmPERVASizePairList::p_pairs};
10364 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10365 using bind = Desc<SgAsmPERVASizePairList, SgAsmPERVASizePairPtrList SgAsmPERVASizePairList::*, &SgAsmPERVASizePairList::p_pairs>;
10370 static constexpr char const *
const name{
"AsmPERVASizePairList"};
10371 static constexpr unsigned long variant{262};
10372 static constexpr bool concrete{
true};
10382 static constexpr size_t position{0};
10383 static constexpr char const *
const name{
"section_entry"};
10384 static constexpr char const *
const typestr{
"SgAsmPESectionTableEntry*"};
10385 static constexpr bool traverse{
true};
10386 static constexpr auto mbr_ptr{&SgAsmPESection::p_section_entry};
10387 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10388 using bind = Desc<SgAsmPESection, SgAsmPESectionTableEntry* SgAsmPESection::*, &SgAsmPESection::p_section_entry>;
10393 static constexpr char const *
const name{
"AsmPESection"};
10394 static constexpr unsigned long variant{263};
10395 static constexpr bool concrete{
true};
10405 static constexpr char const *
const name{
"AsmPESectionTable"};
10406 static constexpr unsigned long variant{264};
10407 static constexpr bool concrete{
true};
10416 using field_type = std::string;
10417 static constexpr size_t position{0};
10418 static constexpr char const *
const name{
"name"};
10419 static constexpr char const *
const typestr{
"std::string"};
10420 static constexpr bool traverse{
false};
10421 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_name};
10422 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10423 using bind = Desc<SgAsmPESectionTableEntry, std::string SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_name>;
10427 using field_type = rose_addr_t;
10428 static constexpr size_t position{1};
10429 static constexpr char const *
const name{
"virtual_size"};
10430 static constexpr char const *
const typestr{
"rose_addr_t"};
10431 static constexpr bool traverse{
false};
10432 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_virtual_size};
10433 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10434 using bind = Desc<SgAsmPESectionTableEntry, rose_addr_t SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_virtual_size>;
10438 using field_type = rose_addr_t;
10439 static constexpr size_t position{2};
10440 static constexpr char const *
const name{
"rva"};
10441 static constexpr char const *
const typestr{
"rose_addr_t"};
10442 static constexpr bool traverse{
false};
10443 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_rva};
10444 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10445 using bind = Desc<SgAsmPESectionTableEntry, rose_addr_t SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_rva>;
10449 using field_type = rose_addr_t;
10450 static constexpr size_t position{3};
10451 static constexpr char const *
const name{
"physical_size"};
10452 static constexpr char const *
const typestr{
"rose_addr_t"};
10453 static constexpr bool traverse{
false};
10454 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_physical_size};
10455 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10456 using bind = Desc<SgAsmPESectionTableEntry, rose_addr_t SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_physical_size>;
10460 using field_type = rose_addr_t;
10461 static constexpr size_t position{4};
10462 static constexpr char const *
const name{
"physical_offset"};
10463 static constexpr char const *
const typestr{
"rose_addr_t"};
10464 static constexpr bool traverse{
false};
10465 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_physical_offset};
10466 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10467 using bind = Desc<SgAsmPESectionTableEntry, rose_addr_t SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_physical_offset>;
10471 using field_type = unsigned;
10472 static constexpr size_t position{5};
10473 static constexpr char const *
const name{
"coff_line_nums"};
10474 static constexpr char const *
const typestr{
"unsigned"};
10475 static constexpr bool traverse{
false};
10476 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_coff_line_nums};
10477 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10478 using bind = Desc<SgAsmPESectionTableEntry, unsigned SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_coff_line_nums>;
10482 using field_type = unsigned;
10483 static constexpr size_t position{6};
10484 static constexpr char const *
const name{
"n_relocs"};
10485 static constexpr char const *
const typestr{
"unsigned"};
10486 static constexpr bool traverse{
false};
10487 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_n_relocs};
10488 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10489 using bind = Desc<SgAsmPESectionTableEntry, unsigned SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_n_relocs>;
10493 using field_type = unsigned;
10494 static constexpr size_t position{7};
10495 static constexpr char const *
const name{
"n_coff_line_nums"};
10496 static constexpr char const *
const typestr{
"unsigned"};
10497 static constexpr bool traverse{
false};
10498 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_n_coff_line_nums};
10499 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10500 using bind = Desc<SgAsmPESectionTableEntry, unsigned SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_n_coff_line_nums>;
10504 using field_type = unsigned;
10505 static constexpr size_t position{8};
10506 static constexpr char const *
const name{
"flags"};
10507 static constexpr char const *
const typestr{
"unsigned"};
10508 static constexpr bool traverse{
false};
10509 static constexpr auto mbr_ptr{&SgAsmPESectionTableEntry::p_flags};
10510 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10511 using bind = Desc<SgAsmPESectionTableEntry, unsigned SgAsmPESectionTableEntry::*, &SgAsmPESectionTableEntry::p_flags>;
10516 static constexpr char const *
const name{
"AsmPESectionTableEntry"};
10517 static constexpr unsigned long variant{265};
10518 static constexpr bool concrete{
true};
10520 using fields_t =
mp::List<describe_field_t<SgAsmPESectionTableEntry,std::string,&SgAsmPESectionTableEntry::p_name>,
describe_field_t<SgAsmPESectionTableEntry,rose_addr_t,&SgAsmPESectionTableEntry::p_virtual_size>,
describe_field_t<SgAsmPESectionTableEntry,rose_addr_t,&SgAsmPESectionTableEntry::p_rva>,
describe_field_t<SgAsmPESectionTableEntry,rose_addr_t,&SgAsmPESectionTableEntry::p_physical_size>,
describe_field_t<SgAsmPESectionTableEntry,rose_addr_t,&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>>;
10528 static constexpr size_t position{0};
10529 static constexpr char const *
const name{
"strtab"};
10530 static constexpr char const *
const typestr{
"SgAsmCoffStrtab*"};
10531 static constexpr bool traverse{
false};
10532 static constexpr auto mbr_ptr{&SgAsmPEStringSection::p_strtab};
10533 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10534 using bind = Desc<SgAsmPEStringSection, SgAsmCoffStrtab* SgAsmPEStringSection::*, &SgAsmPEStringSection::p_strtab>;
10539 static constexpr char const *
const name{
"AsmPEStringSection"};
10540 static constexpr unsigned long variant{266};
10541 static constexpr bool concrete{
true};
10550 using field_type = Rose::BinaryAnalysis::PowerpcInstructionKind;
10551 static constexpr size_t position{0};
10552 static constexpr char const *
const name{
"kind"};
10553 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::PowerpcInstructionKind"};
10554 static constexpr bool traverse{
false};
10555 static constexpr auto mbr_ptr{&SgAsmPowerpcInstruction::p_kind};
10556 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10557 using bind = Desc<SgAsmPowerpcInstruction, Rose::BinaryAnalysis::PowerpcInstructionKind SgAsmPowerpcInstruction::*, &SgAsmPowerpcInstruction::p_kind>;
10562 static constexpr char const *
const name{
"AsmPowerpcInstruction"};
10563 static constexpr unsigned long variant{267};
10564 static constexpr bool concrete{
true};
10573 using field_type = SgAsmRegisterReferenceExpressionPtrList;
10574 static constexpr size_t position{0};
10575 static constexpr char const *
const name{
"registers"};
10576 static constexpr char const *
const typestr{
"SgAsmRegisterReferenceExpressionPtrList"};
10577 static constexpr bool traverse{
true};
10578 static constexpr auto mbr_ptr{&SgAsmRegisterNames::p_registers};
10579 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10580 using bind = Desc<SgAsmRegisterNames, SgAsmRegisterReferenceExpressionPtrList SgAsmRegisterNames::*, &SgAsmRegisterNames::p_registers>;
10584 using field_type = unsigned;
10585 static constexpr size_t position{1};
10586 static constexpr char const *
const name{
"mask"};
10587 static constexpr char const *
const typestr{
"unsigned"};
10588 static constexpr bool traverse{
false};
10589 static constexpr auto mbr_ptr{&SgAsmRegisterNames::p_mask};
10590 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10591 using bind = Desc<SgAsmRegisterNames, unsigned SgAsmRegisterNames::*, &SgAsmRegisterNames::p_mask>;
10596 static constexpr char const *
const name{
"AsmRegisterNames"};
10597 static constexpr unsigned long variant{268};
10598 static constexpr bool concrete{
true};
10608 static constexpr size_t position{0};
10609 static constexpr char const *
const name{
"descriptor"};
10610 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::RegisterDescriptor"};
10611 static constexpr bool traverse{
false};
10612 static constexpr auto mbr_ptr{&SgAsmRegisterReferenceExpression::p_descriptor};
10613 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10614 using bind = Desc<SgAsmRegisterReferenceExpression, Rose::BinaryAnalysis::RegisterDescriptor SgAsmRegisterReferenceExpression::*, &SgAsmRegisterReferenceExpression::p_descriptor>;
10618 using field_type = int;
10619 static constexpr size_t position{1};
10620 static constexpr char const *
const name{
"adjustment"};
10621 static constexpr char const *
const typestr{
"int"};
10622 static constexpr bool traverse{
false};
10623 static constexpr auto mbr_ptr{&SgAsmRegisterReferenceExpression::p_adjustment};
10624 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10625 using bind = Desc<SgAsmRegisterReferenceExpression, int SgAsmRegisterReferenceExpression::*, &SgAsmRegisterReferenceExpression::p_adjustment>;
10630 static constexpr char const *
const name{
"AsmRegisterReferenceExpression"};
10631 static constexpr unsigned long variant{269};
10632 static constexpr bool concrete{
false};
10642 static constexpr size_t position{0};
10643 static constexpr char const *
const name{
"riscOperator"};
10644 static constexpr char const *
const typestr{
"SgAsmRiscOperation::RiscOperator"};
10645 static constexpr bool traverse{
false};
10646 static constexpr auto mbr_ptr{&SgAsmRiscOperation::p_riscOperator};
10647 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10648 using bind = Desc<SgAsmRiscOperation, SgAsmRiscOperation::RiscOperator SgAsmRiscOperation::*, &SgAsmRiscOperation::p_riscOperator>;
10653 static constexpr size_t position{1};
10654 static constexpr char const *
const name{
"operands"};
10655 static constexpr char const *
const typestr{
"SgAsmExprListExp*"};
10656 static constexpr bool traverse{
true};
10657 static constexpr auto mbr_ptr{&SgAsmRiscOperation::p_operands};
10658 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10659 using bind = Desc<SgAsmRiscOperation, SgAsmExprListExp* SgAsmRiscOperation::*, &SgAsmRiscOperation::p_operands>;
10664 static constexpr char const *
const name{
"AsmRiscOperation"};
10665 static constexpr unsigned long variant{270};
10666 static constexpr bool concrete{
true};
10676 static constexpr size_t position{0};
10677 static constexpr char const *
const name{
"minorOrder"};
10678 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::ByteOrder::Endianness"};
10679 static constexpr bool traverse{
false};
10680 static constexpr auto mbr_ptr{&SgAsmScalarType::p_minorOrder};
10681 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10682 using bind = Desc<SgAsmScalarType, Rose::BinaryAnalysis::ByteOrder::Endianness SgAsmScalarType::*, &SgAsmScalarType::p_minorOrder>;
10687 static constexpr size_t position{1};
10688 static constexpr char const *
const name{
"majorOrder"};
10689 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::ByteOrder::Endianness"};
10690 static constexpr bool traverse{
false};
10691 static constexpr auto mbr_ptr{&SgAsmScalarType::p_majorOrder};
10692 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10693 using bind = Desc<SgAsmScalarType, Rose::BinaryAnalysis::ByteOrder::Endianness SgAsmScalarType::*, &SgAsmScalarType::p_majorOrder>;
10697 using field_type = size_t;
10698 static constexpr size_t position{2};
10699 static constexpr char const *
const name{
"majorNBytes"};
10700 static constexpr char const *
const typestr{
"size_t"};
10701 static constexpr bool traverse{
false};
10702 static constexpr auto mbr_ptr{&SgAsmScalarType::p_majorNBytes};
10703 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10704 using bind = Desc<SgAsmScalarType, size_t SgAsmScalarType::*, &SgAsmScalarType::p_majorNBytes>;
10708 using field_type = size_t;
10709 static constexpr size_t position{3};
10710 static constexpr char const *
const name{
"nBits"};
10711 static constexpr char const *
const typestr{
"size_t"};
10712 static constexpr bool traverse{
false};
10713 static constexpr auto mbr_ptr{&SgAsmScalarType::p_nBits};
10714 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10715 using bind = Desc<SgAsmScalarType, size_t SgAsmScalarType::*, &SgAsmScalarType::p_nBits>;
10720 static constexpr char const *
const name{
"AsmScalarType"};
10721 static constexpr unsigned long variant{271};
10722 static constexpr bool concrete{
false};
10724 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>>;
10731 using field_type = rose_addr_t;
10732 static constexpr size_t position{0};
10733 static constexpr char const *
const name{
"address"};
10734 static constexpr char const *
const typestr{
"rose_addr_t"};
10735 static constexpr bool traverse{
false};
10736 static constexpr auto mbr_ptr{&SgAsmStatement::p_address};
10737 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10738 using bind = Desc<SgAsmStatement, rose_addr_t SgAsmStatement::*, &SgAsmStatement::p_address>;
10742 using field_type = std::string;
10743 static constexpr size_t position{1};
10744 static constexpr char const *
const name{
"comment"};
10745 static constexpr char const *
const typestr{
"std::string"};
10746 static constexpr bool traverse{
false};
10747 static constexpr auto mbr_ptr{&SgAsmStatement::p_comment};
10748 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10749 using bind = Desc<SgAsmStatement, std::string SgAsmStatement::*, &SgAsmStatement::p_comment>;
10754 static constexpr char const *
const name{
"AsmStatement"};
10755 static constexpr unsigned long variant{272};
10756 static constexpr bool concrete{
false};
10765 using field_type = SgUnsignedCharList;
10766 static constexpr size_t position{0};
10767 static constexpr char const *
const name{
"rawBytes"};
10768 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
10769 static constexpr bool traverse{
false};
10770 static constexpr auto mbr_ptr{&SgAsmStaticData::p_rawBytes};
10771 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10772 using bind = Desc<SgAsmStaticData, SgUnsignedCharList SgAsmStaticData::*, &SgAsmStaticData::p_rawBytes>;
10777 static constexpr char const *
const name{
"AsmStaticData"};
10778 static constexpr unsigned long variant{273};
10779 static constexpr bool concrete{
true};
10788 using field_type = std::string;
10789 static constexpr size_t position{0};
10790 static constexpr char const *
const name{
"assemblyCode"};
10791 static constexpr char const *
const typestr{
"std::string"};
10792 static constexpr bool traverse{
false};
10793 static constexpr auto mbr_ptr{&SgAsmStmt::p_assemblyCode};
10794 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10795 using bind = Desc<SgAsmStmt, std::string SgAsmStmt::*, &SgAsmStmt::p_assemblyCode>;
10799 using field_type = bool;
10800 static constexpr size_t position{1};
10801 static constexpr char const *
const name{
"useGnuExtendedFormat"};
10802 static constexpr char const *
const typestr{
"bool"};
10803 static constexpr bool traverse{
false};
10804 static constexpr auto mbr_ptr{&SgAsmStmt::p_useGnuExtendedFormat};
10805 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10806 using bind = Desc<SgAsmStmt, bool SgAsmStmt::*, &SgAsmStmt::p_useGnuExtendedFormat>;
10810 using field_type = SgExpressionPtrList;
10811 static constexpr size_t position{2};
10812 static constexpr char const *
const name{
"operands"};
10813 static constexpr char const *
const typestr{
"SgExpressionPtrList"};
10814 static constexpr bool traverse{
true};
10816 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10817 using bind = Desc<SgAsmStmt, SgExpressionPtrList SgAsmStmt::*, &SgAsmStmt::p_operands>;
10821 using field_type = SgAsmStmt::AsmRegisterNameList;
10822 static constexpr size_t position{3};
10823 static constexpr char const *
const name{
"clobberRegisterList"};
10824 static constexpr char const *
const typestr{
"SgAsmStmt::AsmRegisterNameList"};
10825 static constexpr bool traverse{
false};
10827 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10828 using bind = Desc<SgAsmStmt, SgAsmStmt::AsmRegisterNameList SgAsmStmt::*, &SgAsmStmt::p_clobberRegisterList>;
10832 using field_type = bool;
10833 static constexpr size_t position{4};
10834 static constexpr char const *
const name{
"isVolatile"};
10835 static constexpr char const *
const typestr{
"bool"};
10836 static constexpr bool traverse{
false};
10837 static constexpr auto mbr_ptr{&SgAsmStmt::p_isVolatile};
10838 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10839 using bind = Desc<SgAsmStmt, bool SgAsmStmt::*, &SgAsmStmt::p_isVolatile>;
10844 static constexpr char const *
const name{
"AsmStmt"};
10845 static constexpr unsigned long variant{274};
10846 static constexpr bool concrete{
true};
10848 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>>;
10856 static constexpr size_t position{0};
10857 static constexpr char const *
const name{
"storage"};
10858 static constexpr char const *
const typestr{
"SgAsmStringStorage*"};
10859 static constexpr bool traverse{
false};
10860 static constexpr auto mbr_ptr{&SgAsmStoredString::p_storage};
10861 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10862 using bind = Desc<SgAsmStoredString, SgAsmStringStorage* SgAsmStoredString::*, &SgAsmStoredString::p_storage>;
10867 static constexpr char const *
const name{
"AsmStoredString"};
10868 static constexpr unsigned long variant{275};
10869 static constexpr bool concrete{
true};
10879 static constexpr size_t position{0};
10880 static constexpr char const *
const name{
"strtab"};
10881 static constexpr char const *
const typestr{
"SgAsmGenericStrtab*"};
10882 static constexpr bool traverse{
false};
10883 static constexpr auto mbr_ptr{&SgAsmStringStorage::p_strtab};
10884 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10885 using bind = Desc<SgAsmStringStorage, SgAsmGenericStrtab* SgAsmStringStorage::*, &SgAsmStringStorage::p_strtab>;
10889 using field_type = std::string;
10890 static constexpr size_t position{1};
10891 static constexpr char const *
const name{
"string"};
10892 static constexpr char const *
const typestr{
"std::string"};
10893 static constexpr bool traverse{
false};
10894 static constexpr auto mbr_ptr{&SgAsmStringStorage::p_string};
10895 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10896 using bind = Desc<SgAsmStringStorage, std::string SgAsmStringStorage::*, &SgAsmStringStorage::p_string>;
10900 using field_type = rose_addr_t;
10901 static constexpr size_t position{2};
10902 static constexpr char const *
const name{
"offset"};
10903 static constexpr char const *
const typestr{
"rose_addr_t"};
10904 static constexpr bool traverse{
false};
10905 static constexpr auto mbr_ptr{&SgAsmStringStorage::p_offset};
10906 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10907 using bind = Desc<SgAsmStringStorage, rose_addr_t SgAsmStringStorage::*, &SgAsmStringStorage::p_offset>;
10912 static constexpr char const *
const name{
"AsmStringStorage"};
10913 static constexpr unsigned long variant{276};
10914 static constexpr bool concrete{
true};
10924 static constexpr char const *
const name{
"AsmType"};
10925 static constexpr unsigned long variant{277};
10926 static constexpr bool concrete{
false};
10936 static constexpr size_t position{0};
10937 static constexpr char const *
const name{
"operand"};
10938 static constexpr char const *
const typestr{
"SgAsmExpression*"};
10939 static constexpr bool traverse{
true};
10940 static constexpr auto mbr_ptr{&SgAsmUnaryExpression::p_operand};
10941 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
10942 using bind = Desc<SgAsmUnaryExpression, SgAsmExpression* SgAsmUnaryExpression::*, &SgAsmUnaryExpression::p_operand>;
10947 static constexpr char const *
const name{
"AsmUnaryExpression"};
10948 static constexpr unsigned long variant{278};
10949 static constexpr bool concrete{
false};
10959 static constexpr char const *
const name{
"AsmUnaryMinus"};
10960 static constexpr unsigned long variant{279};
10961 static constexpr bool concrete{
true};
10971 static constexpr char const *
const name{
"AsmUnaryPlus"};
10972 static constexpr unsigned long variant{280};
10973 static constexpr bool concrete{
true};
10983 static constexpr char const *
const name{
"AsmUnaryRrx"};
10984 static constexpr unsigned long variant{281};
10985 static constexpr bool concrete{
true};
10995 static constexpr char const *
const name{
"AsmUnarySignedExtend"};
10996 static constexpr unsigned long variant{282};
10997 static constexpr bool concrete{
true};
11007 static constexpr char const *
const name{
"AsmUnaryUnsignedExtend"};
11008 static constexpr unsigned long variant{283};
11009 static constexpr bool concrete{
true};
11019 static constexpr char const *
const name{
"AsmUnaryTruncate"};
11020 static constexpr unsigned long variant{284};
11021 static constexpr bool concrete{
true};
11031 static constexpr size_t position{0};
11032 static constexpr char const *
const name{
"unfoldedExpression"};
11033 static constexpr char const *
const typestr{
"SgAsmValueExpression*"};
11034 static constexpr bool traverse{
true};
11035 static constexpr auto mbr_ptr{&SgAsmValueExpression::p_unfoldedExpression};
11036 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11037 using bind = Desc<SgAsmValueExpression, SgAsmValueExpression* SgAsmValueExpression::*, &SgAsmValueExpression::p_unfoldedExpression>;
11041 using field_type =
unsigned short;
11042 static constexpr size_t position{1};
11043 static constexpr char const *
const name{
"bitOffset"};
11044 static constexpr char const *
const typestr{
"unsigned short"};
11045 static constexpr bool traverse{
false};
11046 static constexpr auto mbr_ptr{&SgAsmValueExpression::p_bitOffset};
11047 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11048 using bind = Desc<SgAsmValueExpression, unsigned short SgAsmValueExpression::*, &SgAsmValueExpression::p_bitOffset>;
11052 using field_type =
unsigned short;
11053 static constexpr size_t position{2};
11054 static constexpr char const *
const name{
"bitSize"};
11055 static constexpr char const *
const typestr{
"unsigned short"};
11056 static constexpr bool traverse{
false};
11057 static constexpr auto mbr_ptr{&SgAsmValueExpression::p_bitSize};
11058 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11059 using bind = Desc<SgAsmValueExpression, unsigned short SgAsmValueExpression::*, &SgAsmValueExpression::p_bitSize>;
11064 static constexpr size_t position{3};
11065 static constexpr char const *
const name{
"symbol"};
11066 static constexpr char const *
const typestr{
"SgSymbol*"};
11067 static constexpr bool traverse{
false};
11068 static constexpr auto mbr_ptr{&SgAsmValueExpression::p_symbol};
11069 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11070 using bind = Desc<SgAsmValueExpression, SgSymbol* SgAsmValueExpression::*, &SgAsmValueExpression::p_symbol>;
11075 static constexpr char const *
const name{
"AsmValueExpression"};
11076 static constexpr unsigned long variant{285};
11077 static constexpr bool concrete{
false};
11079 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>>;
11086 using field_type = size_t;
11087 static constexpr size_t position{0};
11088 static constexpr char const *
const name{
"nElmts"};
11089 static constexpr char const *
const typestr{
"size_t"};
11090 static constexpr bool traverse{
false};
11091 static constexpr auto mbr_ptr{&SgAsmVectorType::p_nElmts};
11092 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11093 using bind = Desc<SgAsmVectorType, size_t SgAsmVectorType::*, &SgAsmVectorType::p_nElmts>;
11098 static constexpr size_t position{1};
11099 static constexpr char const *
const name{
"elmtType"};
11100 static constexpr char const *
const typestr{
"SgAsmType*"};
11101 static constexpr bool traverse{
false};
11102 static constexpr auto mbr_ptr{&SgAsmVectorType::p_elmtType};
11103 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11104 using bind = Desc<SgAsmVectorType, SgAsmType* SgAsmVectorType::*, &SgAsmVectorType::p_elmtType>;
11109 static constexpr char const *
const name{
"AsmVectorType"};
11110 static constexpr unsigned long variant{286};
11111 static constexpr bool concrete{
true};
11121 static constexpr size_t position{0};
11122 static constexpr char const *
const name{
"kind"};
11123 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86InstructionKind"};
11124 static constexpr bool traverse{
false};
11125 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_kind};
11126 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11127 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86InstructionKind SgAsmX86Instruction::*, &SgAsmX86Instruction::p_kind>;
11131 using field_type = Rose::BinaryAnalysis::X86InstructionSize;
11132 static constexpr size_t position{1};
11133 static constexpr char const *
const name{
"baseSize"};
11134 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86InstructionSize"};
11135 static constexpr bool traverse{
false};
11136 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_baseSize};
11137 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11138 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86InstructionSize SgAsmX86Instruction::*, &SgAsmX86Instruction::p_baseSize>;
11142 using field_type = Rose::BinaryAnalysis::X86InstructionSize;
11143 static constexpr size_t position{2};
11144 static constexpr char const *
const name{
"operandSize"};
11145 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86InstructionSize"};
11146 static constexpr bool traverse{
false};
11147 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_operandSize};
11148 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11149 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86InstructionSize SgAsmX86Instruction::*, &SgAsmX86Instruction::p_operandSize>;
11153 using field_type = Rose::BinaryAnalysis::X86InstructionSize;
11154 static constexpr size_t position{3};
11155 static constexpr char const *
const name{
"addressSize"};
11156 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86InstructionSize"};
11157 static constexpr bool traverse{
false};
11158 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_addressSize};
11159 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11160 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86InstructionSize SgAsmX86Instruction::*, &SgAsmX86Instruction::p_addressSize>;
11164 using field_type = bool;
11165 static constexpr size_t position{4};
11166 static constexpr char const *
const name{
"lockPrefix"};
11167 static constexpr char const *
const typestr{
"bool"};
11168 static constexpr bool traverse{
false};
11169 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_lockPrefix};
11170 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11171 using bind = Desc<SgAsmX86Instruction, bool SgAsmX86Instruction::*, &SgAsmX86Instruction::p_lockPrefix>;
11175 using field_type = Rose::BinaryAnalysis::X86RepeatPrefix;
11176 static constexpr size_t position{5};
11177 static constexpr char const *
const name{
"repeatPrefix"};
11178 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86RepeatPrefix"};
11179 static constexpr bool traverse{
false};
11180 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_repeatPrefix};
11181 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11182 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86RepeatPrefix SgAsmX86Instruction::*, &SgAsmX86Instruction::p_repeatPrefix>;
11186 using field_type = Rose::BinaryAnalysis::X86BranchPrediction;
11187 static constexpr size_t position{6};
11188 static constexpr char const *
const name{
"branchPrediction"};
11189 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86BranchPrediction"};
11190 static constexpr bool traverse{
false};
11191 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_branchPrediction};
11192 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11193 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86BranchPrediction SgAsmX86Instruction::*, &SgAsmX86Instruction::p_branchPrediction>;
11197 using field_type = Rose::BinaryAnalysis::X86SegmentRegister;
11198 static constexpr size_t position{7};
11199 static constexpr char const *
const name{
"segmentOverride"};
11200 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::X86SegmentRegister"};
11201 static constexpr bool traverse{
false};
11202 static constexpr auto mbr_ptr{&SgAsmX86Instruction::p_segmentOverride};
11203 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11204 using bind = Desc<SgAsmX86Instruction, Rose::BinaryAnalysis::X86SegmentRegister SgAsmX86Instruction::*, &SgAsmX86Instruction::p_segmentOverride>;
11209 static constexpr char const *
const name{
"AsmX86Instruction"};
11210 static constexpr unsigned long variant{287};
11211 static constexpr bool concrete{
true};
11213 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>>;
11221 static constexpr size_t position{0};
11222 static constexpr char const *
const name{
"address_name"};
11223 static constexpr char const *
const typestr{
"SgName"};
11224 static constexpr bool traverse{
false};
11225 static constexpr auto mbr_ptr{&SgAsmBinaryAddressSymbol::p_address_name};
11226 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11227 using bind = Desc<SgAsmBinaryAddressSymbol, SgName SgAsmBinaryAddressSymbol::*, &SgAsmBinaryAddressSymbol::p_address_name>;
11232 static constexpr size_t position{1};
11233 static constexpr char const *
const name{
"address"};
11234 static constexpr char const *
const typestr{
"SgAsmInstruction*"};
11235 static constexpr bool traverse{
false};
11236 static constexpr auto mbr_ptr{&SgAsmBinaryAddressSymbol::p_address};
11237 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11238 using bind = Desc<SgAsmBinaryAddressSymbol, SgAsmInstruction* SgAsmBinaryAddressSymbol::*, &SgAsmBinaryAddressSymbol::p_address>;
11243 static constexpr char const *
const name{
"AsmBinaryAddressSymbol"};
11244 static constexpr unsigned long variant{288};
11245 static constexpr bool concrete{
true};
11255 static constexpr size_t position{0};
11256 static constexpr char const *
const name{
"variable_name"};
11257 static constexpr char const *
const typestr{
"SgName"};
11258 static constexpr bool traverse{
false};
11259 static constexpr auto mbr_ptr{&SgAsmBinaryDataSymbol::p_variable_name};
11260 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11261 using bind = Desc<SgAsmBinaryDataSymbol, SgName SgAsmBinaryDataSymbol::*, &SgAsmBinaryDataSymbol::p_variable_name>;
11266 static constexpr size_t position{1};
11267 static constexpr char const *
const name{
"address"};
11268 static constexpr char const *
const typestr{
"SgAsmInstruction*"};
11269 static constexpr bool traverse{
false};
11270 static constexpr auto mbr_ptr{&SgAsmBinaryDataSymbol::p_address};
11271 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11272 using bind = Desc<SgAsmBinaryDataSymbol, SgAsmInstruction* SgAsmBinaryDataSymbol::*, &SgAsmBinaryDataSymbol::p_address>;
11277 static constexpr char const *
const name{
"AsmBinaryDataSymbol"};
11278 static constexpr unsigned long variant{289};
11279 static constexpr bool concrete{
true};
11289 static constexpr size_t position{0};
11290 static constexpr char const *
const name{
"test"};
11291 static constexpr char const *
const typestr{
"SgExpression*"};
11292 static constexpr bool traverse{
true};
11293 static constexpr auto mbr_ptr{&SgAssertStmt::p_test};
11294 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11295 using bind = Desc<SgAssertStmt, SgExpression* SgAssertStmt::*, &SgAssertStmt::p_test>;
11300 static constexpr size_t position{1};
11301 static constexpr char const *
const name{
"exception_argument"};
11302 static constexpr char const *
const typestr{
"SgExpression*"};
11303 static constexpr bool traverse{
true};
11304 static constexpr auto mbr_ptr{&SgAssertStmt::p_exception_argument};
11305 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11306 using bind = Desc<SgAssertStmt, SgExpression* SgAssertStmt::*, &SgAssertStmt::p_exception_argument>;
11311 static constexpr char const *
const name{
"AssertStmt"};
11312 static constexpr unsigned long variant{290};
11313 static constexpr bool concrete{
true};
11323 static constexpr size_t position{0};
11324 static constexpr char const *
const name{
"operand_i"};
11325 static constexpr char const *
const typestr{
"SgExpression*"};
11326 static constexpr bool traverse{
true};
11328 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11329 using bind = Desc<SgAssignInitializer, SgExpression* SgAssignInitializer::*, &SgAssignInitializer::p_operand_i>;
11334 static constexpr size_t position{1};
11335 static constexpr char const *
const name{
"expression_type"};
11336 static constexpr char const *
const typestr{
"SgType*"};
11337 static constexpr bool traverse{
false};
11339 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11340 using bind = Desc<SgAssignInitializer, SgType* SgAssignInitializer::*, &SgAssignInitializer::p_expression_type>;
11345 static constexpr char const *
const name{
"AssignInitializer"};
11346 static constexpr unsigned long variant{291};
11347 static constexpr bool concrete{
true};
11357 static constexpr char const *
const name{
"AssignOp"};
11358 static constexpr unsigned long variant{292};
11359 static constexpr bool concrete{
true};
11369 static constexpr size_t position{0};
11370 static constexpr char const *
const name{
"label"};
11371 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
11372 static constexpr bool traverse{
false};
11373 static constexpr auto mbr_ptr{&SgAssignStatement::p_label};
11374 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11375 using bind = Desc<SgAssignStatement, SgLabelRefExp* SgAssignStatement::*, &SgAssignStatement::p_label>;
11380 static constexpr size_t position{1};
11381 static constexpr char const *
const name{
"value"};
11382 static constexpr char const *
const typestr{
"SgExpression*"};
11383 static constexpr bool traverse{
true};
11384 static constexpr auto mbr_ptr{&SgAssignStatement::p_value};
11385 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11386 using bind = Desc<SgAssignStatement, SgExpression* SgAssignStatement::*, &SgAssignStatement::p_value>;
11391 static constexpr char const *
const name{
"AssignStatement"};
11392 static constexpr unsigned long variant{293};
11393 static constexpr bool concrete{
true};
11403 static constexpr size_t position{0};
11404 static constexpr char const *
const name{
"targets"};
11405 static constexpr char const *
const typestr{
"SgExprListExp*"};
11406 static constexpr bool traverse{
true};
11407 static constexpr auto mbr_ptr{&SgAssignedGotoStatement::p_targets};
11408 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11409 using bind = Desc<SgAssignedGotoStatement, SgExprListExp* SgAssignedGotoStatement::*, &SgAssignedGotoStatement::p_targets>;
11414 static constexpr char const *
const name{
"AssignedGotoStatement"};
11415 static constexpr unsigned long variant{294};
11416 static constexpr bool concrete{
true};
11425 using field_type = SgDeclarationStatementPtrList;
11426 static constexpr size_t position{0};
11427 static constexpr char const *
const name{
"associates"};
11428 static constexpr char const *
const typestr{
"SgDeclarationStatementPtrList"};
11429 static constexpr bool traverse{
false};
11430 static constexpr auto mbr_ptr{&SgAssociateStatement::p_associates};
11431 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11432 using bind = Desc<SgAssociateStatement, SgDeclarationStatementPtrList SgAssociateStatement::*, &SgAssociateStatement::p_associates>;
11437 static constexpr size_t position{1};
11438 static constexpr char const *
const name{
"body"};
11439 static constexpr char const *
const typestr{
"SgBasicBlock*"};
11440 static constexpr bool traverse{
true};
11441 static constexpr auto mbr_ptr{&SgAssociateStatement::p_body};
11442 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11443 using bind = Desc<SgAssociateStatement, SgBasicBlock* SgAssociateStatement::*, &SgAssociateStatement::p_body>;
11448 static constexpr char const *
const name{
"AssociateStatement"};
11449 static constexpr unsigned long variant{295};
11450 static constexpr bool concrete{
true};
11460 static constexpr char const *
const name{
"AsteriskShapeExp"};
11461 static constexpr unsigned long variant{296};
11462 static constexpr bool concrete{
true};
11472 static constexpr char const *
const name{
"AtOp"};
11473 static constexpr unsigned long variant{297};
11474 static constexpr bool concrete{
true};
11483 using field_type = std::string;
11484 static constexpr size_t position{0};
11485 static constexpr char const *
const name{
"name"};
11486 static constexpr char const *
const typestr{
"std::string"};
11487 static constexpr bool traverse{
false};
11488 static constexpr auto mbr_ptr{&SgAttribute::p_name};
11489 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11490 using bind = Desc<SgAttribute, std::string SgAttribute::*, &SgAttribute::p_name>;
11495 static constexpr char const *
const name{
"Attribute"};
11496 static constexpr unsigned long variant{298};
11497 static constexpr bool concrete{
false};
11506 using field_type = SgStringList;
11507 static constexpr size_t position{0};
11508 static constexpr char const *
const name{
"name_list"};
11509 static constexpr char const *
const typestr{
"SgStringList"};
11510 static constexpr bool traverse{
false};
11511 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_name_list};
11512 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11513 using bind = Desc<SgAttributeSpecificationStatement, SgStringList SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_name_list>;
11518 static constexpr size_t position{1};
11519 static constexpr char const *
const name{
"attribute_kind"};
11520 static constexpr char const *
const typestr{
"SgAttributeSpecificationStatement::attribute_spec_enum"};
11521 static constexpr bool traverse{
false};
11522 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_attribute_kind};
11523 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11524 using bind = Desc<SgAttributeSpecificationStatement, SgAttributeSpecificationStatement::attribute_spec_enum SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_attribute_kind>;
11528 using field_type = int;
11529 static constexpr size_t position{2};
11530 static constexpr char const *
const name{
"intent"};
11531 static constexpr char const *
const typestr{
"int"};
11532 static constexpr bool traverse{
false};
11533 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_intent};
11534 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11535 using bind = Desc<SgAttributeSpecificationStatement, int SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_intent>;
11540 static constexpr size_t position{3};
11541 static constexpr char const *
const name{
"parameter_list"};
11542 static constexpr char const *
const typestr{
"SgExprListExp*"};
11543 static constexpr bool traverse{
false};
11544 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_parameter_list};
11545 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11546 using bind = Desc<SgAttributeSpecificationStatement, SgExprListExp* SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_parameter_list>;
11550 using field_type = SgDataStatementGroupPtrList;
11551 static constexpr size_t position{4};
11552 static constexpr char const *
const name{
"data_statement_group_list"};
11553 static constexpr char const *
const typestr{
"SgDataStatementGroupPtrList"};
11554 static constexpr bool traverse{
false};
11555 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_data_statement_group_list};
11556 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11557 using bind = Desc<SgAttributeSpecificationStatement, SgDataStatementGroupPtrList SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_data_statement_group_list>;
11562 static constexpr size_t position{5};
11563 static constexpr char const *
const name{
"bind_list"};
11564 static constexpr char const *
const typestr{
"SgExprListExp*"};
11565 static constexpr bool traverse{
false};
11566 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_bind_list};
11567 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11568 using bind = Desc<SgAttributeSpecificationStatement, SgExprListExp* SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_bind_list>;
11572 using field_type = SgDimensionObjectPtrList;
11573 static constexpr size_t position{6};
11574 static constexpr char const *
const name{
"dimension_object_list"};
11575 static constexpr char const *
const typestr{
"SgDimensionObjectPtrList"};
11576 static constexpr bool traverse{
false};
11577 static constexpr auto mbr_ptr{&SgAttributeSpecificationStatement::p_dimension_object_list};
11578 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11579 using bind = Desc<SgAttributeSpecificationStatement, SgDimensionObjectPtrList SgAttributeSpecificationStatement::*, &SgAttributeSpecificationStatement::p_dimension_object_list>;
11584 static constexpr char const *
const name{
"AttributeSpecificationStatement"};
11585 static constexpr unsigned long variant{299};
11586 static constexpr bool concrete{
true};
11588 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>>;
11596 static constexpr char const *
const name{
"AutoType"};
11597 static constexpr unsigned long variant{300};
11598 static constexpr bool concrete{
true};
11608 static constexpr size_t position{0};
11609 static constexpr char const *
const name{
"value"};
11610 static constexpr char const *
const typestr{
"SgExpression*"};
11611 static constexpr bool traverse{
true};
11612 static constexpr auto mbr_ptr{&SgAwaitExpression::p_value};
11613 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11614 using bind = Desc<SgAwaitExpression, SgExpression* SgAwaitExpression::*, &SgAwaitExpression::p_value>;
11619 static constexpr char const *
const name{
"AwaitExpression"};
11620 static constexpr unsigned long variant{301};
11621 static constexpr bool concrete{
true};
11631 static constexpr char const *
const name{
"BackspaceStatement"};
11632 static constexpr unsigned long variant{302};
11633 static constexpr bool concrete{
true};
11643 static constexpr size_t position{0};
11644 static constexpr char const *
const name{
"base_class"};
11645 static constexpr char const *
const typestr{
"SgClassDeclaration*"};
11646 static constexpr bool traverse{
true};
11647 static constexpr auto mbr_ptr{&SgBaseClass::p_base_class};
11648 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11649 using bind = Desc<SgBaseClass, SgClassDeclaration* SgBaseClass::*, &SgBaseClass::p_base_class>;
11653 using field_type = bool;
11654 static constexpr size_t position{1};
11655 static constexpr char const *
const name{
"isDirectBaseClass"};
11656 static constexpr char const *
const typestr{
"bool"};
11657 static constexpr bool traverse{
false};
11658 static constexpr auto mbr_ptr{&SgBaseClass::p_isDirectBaseClass};
11659 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11660 using bind = Desc<SgBaseClass, bool SgBaseClass::*, &SgBaseClass::p_isDirectBaseClass>;
11665 static constexpr size_t position{2};
11666 static constexpr char const *
const name{
"baseClassModifier"};
11667 static constexpr char const *
const typestr{
"SgBaseClassModifier*"};
11668 static constexpr bool traverse{
false};
11669 static constexpr auto mbr_ptr{&SgBaseClass::p_baseClassModifier};
11670 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11671 using bind = Desc<SgBaseClass, SgBaseClassModifier* SgBaseClass::*, &SgBaseClass::p_baseClassModifier>;
11675 using field_type = int;
11676 static constexpr size_t position{3};
11677 static constexpr char const *
const name{
"name_qualification_length"};
11678 static constexpr char const *
const typestr{
"int"};
11679 static constexpr bool traverse{
false};
11680 static constexpr auto mbr_ptr{&SgBaseClass::p_name_qualification_length};
11681 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11682 using bind = Desc<SgBaseClass, int SgBaseClass::*, &SgBaseClass::p_name_qualification_length>;
11686 using field_type = bool;
11687 static constexpr size_t position{4};
11688 static constexpr char const *
const name{
"type_elaboration_required"};
11689 static constexpr char const *
const typestr{
"bool"};
11690 static constexpr bool traverse{
false};
11691 static constexpr auto mbr_ptr{&SgBaseClass::p_type_elaboration_required};
11692 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11693 using bind = Desc<SgBaseClass, bool SgBaseClass::*, &SgBaseClass::p_type_elaboration_required>;
11697 using field_type = bool;
11698 static constexpr size_t position{5};
11699 static constexpr char const *
const name{
"global_qualification_required"};
11700 static constexpr char const *
const typestr{
"bool"};
11701 static constexpr bool traverse{
false};
11702 static constexpr auto mbr_ptr{&SgBaseClass::p_global_qualification_required};
11703 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11704 using bind = Desc<SgBaseClass, bool SgBaseClass::*, &SgBaseClass::p_global_qualification_required>;
11709 static constexpr char const *
const name{
"BaseClass"};
11710 static constexpr unsigned long variant{303};
11711 static constexpr bool concrete{
false};
11713 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>>;
11721 static constexpr size_t position{0};
11722 static constexpr char const *
const name{
"base_class_exp"};
11723 static constexpr char const *
const typestr{
"SgExpression*"};
11724 static constexpr bool traverse{
true};
11725 static constexpr auto mbr_ptr{&SgExpBaseClass::p_base_class_exp};
11726 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11727 using bind = Desc<SgExpBaseClass, SgExpression* SgExpBaseClass::*, &SgExpBaseClass::p_base_class_exp>;
11732 static constexpr char const *
const name{
"ExpBaseClass"};
11733 static constexpr unsigned long variant{304};
11734 static constexpr bool concrete{
true};
11744 static constexpr size_t position{0};
11745 static constexpr char const *
const name{
"modifier"};
11746 static constexpr char const *
const typestr{
"SgBaseClassModifier::baseclass_modifier_enum"};
11747 static constexpr bool traverse{
false};
11748 static constexpr auto mbr_ptr{&SgBaseClassModifier::p_modifier};
11749 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11750 using bind = Desc<SgBaseClassModifier, SgBaseClassModifier::baseclass_modifier_enum SgBaseClassModifier::*, &SgBaseClassModifier::p_modifier>;
11755 static constexpr size_t position{1};
11756 static constexpr char const *
const name{
"accessModifier"};
11757 static constexpr char const *
const typestr{
"SgAccessModifier"};
11758 static constexpr bool traverse{
false};
11759 static constexpr auto mbr_ptr{&SgBaseClassModifier::p_accessModifier};
11760 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11761 using bind = Desc<SgBaseClassModifier, SgAccessModifier SgBaseClassModifier::*, &SgBaseClassModifier::p_accessModifier>;
11766 static constexpr char const *
const name{
"BaseClassModifier"};
11767 static constexpr unsigned long variant{305};
11768 static constexpr bool concrete{
true};
11777 using field_type = SgStatementPtrList;
11778 static constexpr size_t position{0};
11779 static constexpr char const *
const name{
"statements"};
11780 static constexpr char const *
const typestr{
"SgStatementPtrList"};
11781 static constexpr bool traverse{
true};
11783 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11784 using bind = Desc<SgBasicBlock, SgStatementPtrList SgBasicBlock::*, &SgBasicBlock::p_statements>;
11788 using field_type = std::string;
11789 static constexpr size_t position{1};
11790 static constexpr char const *
const name{
"asm_function_body"};
11791 static constexpr char const *
const typestr{
"std::string"};
11792 static constexpr bool traverse{
false};
11793 static constexpr auto mbr_ptr{&SgBasicBlock::p_asm_function_body};
11794 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11795 using bind = Desc<SgBasicBlock, std::string SgBasicBlock::*, &SgBasicBlock::p_asm_function_body>;
11799 using field_type = std::string;
11800 static constexpr size_t position{2};
11801 static constexpr char const *
const name{
"string_label"};
11802 static constexpr char const *
const typestr{
"std::string"};
11803 static constexpr bool traverse{
false};
11804 static constexpr auto mbr_ptr{&SgBasicBlock::p_string_label};
11805 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11806 using bind = Desc<SgBasicBlock, std::string SgBasicBlock::*, &SgBasicBlock::p_string_label>;
11811 static constexpr char const *
const name{
"BasicBlock"};
11812 static constexpr unsigned long variant{306};
11813 static constexpr bool concrete{
true};
11823 static constexpr char const *
const name{
"BidirectionalGraph"};
11824 static constexpr unsigned long variant{307};
11825 static constexpr bool concrete{
false};
11835 static constexpr size_t position{0};
11836 static constexpr char const *
const name{
"genericFileList"};
11837 static constexpr char const *
const typestr{
"SgAsmGenericFileList*"};
11838 static constexpr bool traverse{
true};
11839 static constexpr auto mbr_ptr{&SgBinaryComposite::p_genericFileList};
11840 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11841 using bind = Desc<SgBinaryComposite, SgAsmGenericFileList* SgBinaryComposite::*, &SgBinaryComposite::p_genericFileList>;
11846 static constexpr size_t position{1};
11847 static constexpr char const *
const name{
"interpretations"};
11848 static constexpr char const *
const typestr{
"SgAsmInterpretationList*"};
11849 static constexpr bool traverse{
true};
11850 static constexpr auto mbr_ptr{&SgBinaryComposite::p_interpretations};
11851 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11852 using bind = Desc<SgBinaryComposite, SgAsmInterpretationList* SgBinaryComposite::*, &SgBinaryComposite::p_interpretations>;
11857 static constexpr char const *
const name{
"BinaryComposite"};
11858 static constexpr unsigned long variant{308};
11859 static constexpr bool concrete{
true};
11869 static constexpr size_t position{0};
11870 static constexpr char const *
const name{
"lhs_operand_i"};
11871 static constexpr char const *
const typestr{
"SgExpression*"};
11872 static constexpr bool traverse{
true};
11874 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11875 using bind = Desc<SgBinaryOp, SgExpression* SgBinaryOp::*, &SgBinaryOp::p_lhs_operand_i>;
11880 static constexpr size_t position{1};
11881 static constexpr char const *
const name{
"rhs_operand_i"};
11882 static constexpr char const *
const typestr{
"SgExpression*"};
11883 static constexpr bool traverse{
true};
11885 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11886 using bind = Desc<SgBinaryOp, SgExpression* SgBinaryOp::*, &SgBinaryOp::p_rhs_operand_i>;
11891 static constexpr size_t position{2};
11892 static constexpr char const *
const name{
"expression_type"};
11893 static constexpr char const *
const typestr{
"SgType*"};
11894 static constexpr bool traverse{
false};
11896 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11897 using bind = Desc<SgBinaryOp, SgType* SgBinaryOp::*, &SgBinaryOp::p_expression_type>;
11902 static constexpr size_t position{3};
11903 static constexpr char const *
const name{
"originalExpressionTree"};
11904 static constexpr char const *
const typestr{
"SgExpression*"};
11905 static constexpr bool traverse{
false};
11906 static constexpr auto mbr_ptr{&SgBinaryOp::p_originalExpressionTree};
11907 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11908 using bind = Desc<SgBinaryOp, SgExpression* SgBinaryOp::*, &SgBinaryOp::p_originalExpressionTree>;
11913 static constexpr char const *
const name{
"BinaryOp"};
11914 static constexpr unsigned long variant{309};
11915 static constexpr bool concrete{
false};
11916 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>;
11917 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>>;
11925 static constexpr char const *
const name{
"BitAndOp"};
11926 static constexpr unsigned long variant{310};
11927 static constexpr bool concrete{
true};
11936 using field_type =
unsigned long int;
11937 static constexpr size_t position{0};
11938 static constexpr char const *
const name{
"bitflag"};
11939 static constexpr char const *
const typestr{
"unsigned long int"};
11940 static constexpr bool traverse{
false};
11941 static constexpr auto mbr_ptr{&SgBitAttribute::p_bitflag};
11942 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
11943 using bind = Desc<SgBitAttribute, unsigned long int SgBitAttribute::*, &SgBitAttribute::p_bitflag>;
11948 static constexpr char const *
const name{
"BitAttribute"};
11949 static constexpr unsigned long variant{311};
11950 static constexpr bool concrete{
false};
11960 static constexpr char const *
const name{
"BitComplementOp"};
11961 static constexpr unsigned long variant{312};
11962 static constexpr bool concrete{
true};
11972 static constexpr char const *
const name{
"BitEqvOp"};
11973 static constexpr unsigned long variant{313};
11974 static constexpr bool concrete{
true};
11984 static constexpr char const *
const name{
"BitOrOp"};
11985 static constexpr unsigned long variant{314};
11986 static constexpr bool concrete{
true};
11996 static constexpr char const *
const name{
"BitXorOp"};
11997 static constexpr unsigned long variant{315};
11998 static constexpr bool concrete{
true};
12008 static constexpr size_t position{0};
12009 static constexpr char const *
const name{
"body"};
12010 static constexpr char const *
const typestr{
"SgBasicBlock*"};
12011 static constexpr bool traverse{
false};
12012 static constexpr auto mbr_ptr{&SgBlockDataStatement::p_body};
12013 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12014 using bind = Desc<SgBlockDataStatement, SgBasicBlock* SgBlockDataStatement::*, &SgBlockDataStatement::p_body>;
12019 static constexpr char const *
const name{
"BlockDataStatement"};
12020 static constexpr unsigned long variant{316};
12021 static constexpr bool concrete{
true};
12030 using field_type = int;
12031 static constexpr size_t position{0};
12032 static constexpr char const *
const name{
"value"};
12033 static constexpr char const *
const typestr{
"int"};
12034 static constexpr bool traverse{
false};
12036 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12037 using bind = Desc<SgBoolValExp, int SgBoolValExp::*, &SgBoolValExp::p_value>;
12042 static constexpr char const *
const name{
"BoolValExp"};
12043 static constexpr unsigned long variant{317};
12044 static constexpr bool concrete{
true};
12053 using field_type = std::string;
12054 static constexpr size_t position{0};
12055 static constexpr char const *
const name{
"do_string_label"};
12056 static constexpr char const *
const typestr{
"std::string"};
12057 static constexpr bool traverse{
false};
12058 static constexpr auto mbr_ptr{&SgBreakStmt::p_do_string_label};
12059 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12060 using bind = Desc<SgBreakStmt, std::string SgBreakStmt::*, &SgBreakStmt::p_do_string_label>;
12065 static constexpr char const *
const name{
"BreakStmt"};
12066 static constexpr unsigned long variant{318};
12067 static constexpr bool concrete{
true};
12077 static constexpr size_t position{0};
12078 static constexpr char const *
const name{
"initializers"};
12079 static constexpr char const *
const typestr{
"SgExprListExp*"};
12080 static constexpr bool traverse{
true};
12081 static constexpr auto mbr_ptr{&SgBracedInitializer::p_initializers};
12082 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12083 using bind = Desc<SgBracedInitializer, SgExprListExp* SgBracedInitializer::*, &SgBracedInitializer::p_initializers>;
12088 static constexpr size_t position{1};
12089 static constexpr char const *
const name{
"expression_type"};
12090 static constexpr char const *
const typestr{
"SgType*"};
12091 static constexpr bool traverse{
false};
12092 static constexpr auto mbr_ptr{&SgBracedInitializer::p_expression_type};
12093 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12094 using bind = Desc<SgBracedInitializer, SgType* SgBracedInitializer::*, &SgBracedInitializer::p_expression_type>;
12099 static constexpr char const *
const name{
"BracedInitializer"};
12100 static constexpr unsigned long variant{319};
12101 static constexpr bool concrete{
true};
12110 using field_type = std::string;
12111 static constexpr size_t position{0};
12112 static constexpr char const *
const name{
"directiveString"};
12113 static constexpr char const *
const typestr{
"std::string"};
12114 static constexpr bool traverse{
false};
12115 static constexpr auto mbr_ptr{&SgC_PreprocessorDirectiveStatement::p_directiveString};
12116 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12117 using bind = Desc<SgC_PreprocessorDirectiveStatement, std::string SgC_PreprocessorDirectiveStatement::*, &SgC_PreprocessorDirectiveStatement::p_directiveString>;
12122 static constexpr char const *
const name{
"C_PreprocessorDirectiveStatement"};
12123 static constexpr unsigned long variant{320};
12124 static constexpr bool concrete{
false};
12125 using subclasses_t =
mp::List<SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement>;
12134 static constexpr size_t position{0};
12135 static constexpr char const *
const name{
"key"};
12136 static constexpr char const *
const typestr{
"SgExpression*"};
12137 static constexpr bool traverse{
true};
12138 static constexpr auto mbr_ptr{&SgCaseOptionStmt::p_key};
12139 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12140 using bind = Desc<SgCaseOptionStmt, SgExpression* SgCaseOptionStmt::*, &SgCaseOptionStmt::p_key>;
12145 static constexpr size_t position{1};
12146 static constexpr char const *
const name{
"body"};
12147 static constexpr char const *
const typestr{
"SgStatement*"};
12148 static constexpr bool traverse{
true};
12150 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12151 using bind = Desc<SgCaseOptionStmt, SgStatement* SgCaseOptionStmt::*, &SgCaseOptionStmt::p_body>;
12156 static constexpr size_t position{2};
12157 static constexpr char const *
const name{
"key_range_end"};
12158 static constexpr char const *
const typestr{
"SgExpression*"};
12159 static constexpr bool traverse{
true};
12161 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12162 using bind = Desc<SgCaseOptionStmt, SgExpression* SgCaseOptionStmt::*, &SgCaseOptionStmt::p_key_range_end>;
12166 using field_type = std::string;
12167 static constexpr size_t position{3};
12168 static constexpr char const *
const name{
"case_construct_name"};
12169 static constexpr char const *
const typestr{
"std::string"};
12170 static constexpr bool traverse{
false};
12171 static constexpr auto mbr_ptr{&SgCaseOptionStmt::p_case_construct_name};
12172 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12173 using bind = Desc<SgCaseOptionStmt, std::string SgCaseOptionStmt::*, &SgCaseOptionStmt::p_case_construct_name>;
12177 using field_type = bool;
12178 static constexpr size_t position{4};
12179 static constexpr char const *
const name{
"has_fall_through"};
12180 static constexpr char const *
const typestr{
"bool"};
12181 static constexpr bool traverse{
false};
12182 static constexpr auto mbr_ptr{&SgCaseOptionStmt::p_has_fall_through};
12183 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12184 using bind = Desc<SgCaseOptionStmt, bool SgCaseOptionStmt::*, &SgCaseOptionStmt::p_has_fall_through>;
12189 static constexpr char const *
const name{
"CaseOptionStmt"};
12190 static constexpr unsigned long variant{321};
12191 static constexpr bool concrete{
true};
12193 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>>;
12201 static constexpr size_t position{0};
12202 static constexpr char const *
const name{
"cast_type"};
12203 static constexpr char const *
const typestr{
"SgCastExp::cast_type_enum"};
12204 static constexpr bool traverse{
false};
12205 static constexpr auto mbr_ptr{&SgCastExp::p_cast_type};
12206 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12207 using bind = Desc<SgCastExp, SgCastExp::cast_type_enum SgCastExp::*, &SgCastExp::p_cast_type>;
12212 static constexpr size_t position{1};
12213 static constexpr char const *
const name{
"originalExpressionTree"};
12214 static constexpr char const *
const typestr{
"SgExpression*"};
12215 static constexpr bool traverse{
false};
12216 static constexpr auto mbr_ptr{&SgCastExp::p_originalExpressionTree};
12217 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12218 using bind = Desc<SgCastExp, SgExpression* SgCastExp::*, &SgCastExp::p_originalExpressionTree>;
12222 using field_type = int;
12223 static constexpr size_t position{2};
12224 static constexpr char const *
const name{
"name_qualification_length"};
12225 static constexpr char const *
const typestr{
"int"};
12226 static constexpr bool traverse{
false};
12227 static constexpr auto mbr_ptr{&SgCastExp::p_name_qualification_length};
12228 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12229 using bind = Desc<SgCastExp, int SgCastExp::*, &SgCastExp::p_name_qualification_length>;
12233 using field_type = bool;
12234 static constexpr size_t position{3};
12235 static constexpr char const *
const name{
"type_elaboration_required"};
12236 static constexpr char const *
const typestr{
"bool"};
12237 static constexpr bool traverse{
false};
12238 static constexpr auto mbr_ptr{&SgCastExp::p_type_elaboration_required};
12239 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12240 using bind = Desc<SgCastExp, bool SgCastExp::*, &SgCastExp::p_type_elaboration_required>;
12244 using field_type = bool;
12245 static constexpr size_t position{4};
12246 static constexpr char const *
const name{
"global_qualification_required"};
12247 static constexpr char const *
const typestr{
"bool"};
12248 static constexpr bool traverse{
false};
12249 static constexpr auto mbr_ptr{&SgCastExp::p_global_qualification_required};
12250 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12251 using bind = Desc<SgCastExp, bool SgCastExp::*, &SgCastExp::p_global_qualification_required>;
12255 using field_type = bool;
12256 static constexpr size_t position{5};
12257 static constexpr char const *
const name{
"castContainsBaseTypeDefiningDeclaration"};
12258 static constexpr char const *
const typestr{
"bool"};
12259 static constexpr bool traverse{
false};
12260 static constexpr auto mbr_ptr{&SgCastExp::p_castContainsBaseTypeDefiningDeclaration};
12261 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12262 using bind = Desc<SgCastExp, bool SgCastExp::*, &SgCastExp::p_castContainsBaseTypeDefiningDeclaration>;
12266 using field_type = int;
12267 static constexpr size_t position{6};
12268 static constexpr char const *
const name{
"name_qualification_for_pointer_to_member_class_length"};
12269 static constexpr char const *
const typestr{
"int"};
12270 static constexpr bool traverse{
false};
12271 static constexpr auto mbr_ptr{&SgCastExp::p_name_qualification_for_pointer_to_member_class_length};
12272 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12273 using bind = Desc<SgCastExp, int SgCastExp::*, &SgCastExp::p_name_qualification_for_pointer_to_member_class_length>;
12277 using field_type = bool;
12278 static constexpr size_t position{7};
12279 static constexpr char const *
const name{
"type_elaboration_for_pointer_to_member_class_required"};
12280 static constexpr char const *
const typestr{
"bool"};
12281 static constexpr bool traverse{
false};
12282 static constexpr auto mbr_ptr{&SgCastExp::p_type_elaboration_for_pointer_to_member_class_required};
12283 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12284 using bind = Desc<SgCastExp, bool SgCastExp::*, &SgCastExp::p_type_elaboration_for_pointer_to_member_class_required>;
12288 using field_type = bool;
12289 static constexpr size_t position{8};
12290 static constexpr char const *
const name{
"global_qualification_for_pointer_to_member_class_required"};
12291 static constexpr char const *
const typestr{
"bool"};
12292 static constexpr bool traverse{
false};
12293 static constexpr auto mbr_ptr{&SgCastExp::p_global_qualification_for_pointer_to_member_class_required};
12294 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12295 using bind = Desc<SgCastExp, bool SgCastExp::*, &SgCastExp::p_global_qualification_for_pointer_to_member_class_required>;
12300 static constexpr char const *
const name{
"CastExp"};
12301 static constexpr unsigned long variant{322};
12302 static constexpr bool concrete{
true};
12304 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>>;
12312 static constexpr size_t position{0};
12313 static constexpr char const *
const name{
"condition"};
12314 static constexpr char const *
const typestr{
"SgVariableDeclaration*"};
12315 static constexpr bool traverse{
true};
12317 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12318 using bind = Desc<SgCatchOptionStmt, SgVariableDeclaration* SgCatchOptionStmt::*, &SgCatchOptionStmt::p_condition>;
12323 static constexpr size_t position{1};
12324 static constexpr char const *
const name{
"body"};
12325 static constexpr char const *
const typestr{
"SgStatement*"};
12326 static constexpr bool traverse{
true};
12328 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12329 using bind = Desc<SgCatchOptionStmt, SgStatement* SgCatchOptionStmt::*, &SgCatchOptionStmt::p_body>;
12334 static constexpr size_t position{2};
12335 static constexpr char const *
const name{
"trystmt"};
12336 static constexpr char const *
const typestr{
"SgTryStmt*"};
12337 static constexpr bool traverse{
false};
12339 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12340 using bind = Desc<SgCatchOptionStmt, SgTryStmt* SgCatchOptionStmt::*, &SgCatchOptionStmt::p_trystmt>;
12345 static constexpr char const *
const name{
"CatchOptionStmt"};
12346 static constexpr unsigned long variant{323};
12347 static constexpr bool concrete{
true};
12356 using field_type = SgStatementPtrList;
12357 static constexpr size_t position{0};
12358 static constexpr char const *
const name{
"catch_statement_seq"};
12359 static constexpr char const *
const typestr{
"SgStatementPtrList"};
12360 static constexpr bool traverse{
true};
12362 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12363 using bind = Desc<SgCatchStatementSeq, SgStatementPtrList SgCatchStatementSeq::*, &SgCatchStatementSeq::p_catch_statement_seq>;
12368 static constexpr char const *
const name{
"CatchStatementSeq"};
12369 static constexpr unsigned long variant{324};
12370 static constexpr bool concrete{
true};
12379 using field_type = char;
12380 static constexpr size_t position{0};
12381 static constexpr char const *
const name{
"value"};
12382 static constexpr char const *
const typestr{
"char"};
12383 static constexpr bool traverse{
false};
12384 static constexpr auto mbr_ptr{&SgCharVal::p_value};
12385 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12386 using bind = Desc<SgCharVal, char SgCharVal::*, &SgCharVal::p_value>;
12390 using field_type = std::string;
12391 static constexpr size_t position{1};
12392 static constexpr char const *
const name{
"valueString"};
12393 static constexpr char const *
const typestr{
"std::string"};
12394 static constexpr bool traverse{
false};
12395 static constexpr auto mbr_ptr{&SgCharVal::p_valueString};
12396 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12397 using bind = Desc<SgCharVal, std::string SgCharVal::*, &SgCharVal::p_valueString>;
12402 static constexpr char const *
const name{
"CharVal"};
12403 static constexpr unsigned long variant{325};
12404 static constexpr bool concrete{
true};
12413 using field_type =
unsigned short;
12414 static constexpr size_t position{0};
12415 static constexpr char const *
const name{
"valueUL"};
12416 static constexpr char const *
const typestr{
"unsigned short"};
12417 static constexpr bool traverse{
false};
12418 static constexpr auto mbr_ptr{&SgChar16Val::p_valueUL};
12419 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12420 using bind = Desc<SgChar16Val, unsigned short SgChar16Val::*, &SgChar16Val::p_valueUL>;
12424 using field_type = std::string;
12425 static constexpr size_t position{1};
12426 static constexpr char const *
const name{
"valueString"};
12427 static constexpr char const *
const typestr{
"std::string"};
12428 static constexpr bool traverse{
false};
12429 static constexpr auto mbr_ptr{&SgChar16Val::p_valueString};
12430 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12431 using bind = Desc<SgChar16Val, std::string SgChar16Val::*, &SgChar16Val::p_valueString>;
12436 static constexpr char const *
const name{
"Char16Val"};
12437 static constexpr unsigned long variant{326};
12438 static constexpr bool concrete{
true};
12447 using field_type =
unsigned int;
12448 static constexpr size_t position{0};
12449 static constexpr char const *
const name{
"valueUL"};
12450 static constexpr char const *
const typestr{
"unsigned int"};
12451 static constexpr bool traverse{
false};
12452 static constexpr auto mbr_ptr{&SgChar32Val::p_valueUL};
12453 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12454 using bind = Desc<SgChar32Val, unsigned int SgChar32Val::*, &SgChar32Val::p_valueUL>;
12458 using field_type = std::string;
12459 static constexpr size_t position{1};
12460 static constexpr char const *
const name{
"valueString"};
12461 static constexpr char const *
const typestr{
"std::string"};
12462 static constexpr bool traverse{
false};
12463 static constexpr auto mbr_ptr{&SgChar32Val::p_valueString};
12464 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12465 using bind = Desc<SgChar32Val, std::string SgChar32Val::*, &SgChar32Val::p_valueString>;
12470 static constexpr char const *
const name{
"Char32Val"};
12471 static constexpr unsigned long variant{327};
12472 static constexpr bool concrete{
true};
12482 static constexpr size_t position{0};
12483 static constexpr char const *
const name{
"value"};
12484 static constexpr char const *
const typestr{
"SgExpression*"};
12485 static constexpr bool traverse{
true};
12486 static constexpr auto mbr_ptr{&SgChooseExpression::p_value};
12487 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12488 using bind = Desc<SgChooseExpression, SgExpression* SgChooseExpression::*, &SgChooseExpression::p_value>;
12493 static constexpr char const *
const name{
"ChooseExpression"};
12494 static constexpr unsigned long variant{328};
12495 static constexpr bool concrete{
true};
12505 static constexpr char const *
const name{
"ClassDecl_attr"};
12506 static constexpr unsigned long variant{329};
12507 static constexpr bool concrete{
true};
12517 static constexpr size_t position{0};
12518 static constexpr char const *
const name{
"name"};
12519 static constexpr char const *
const typestr{
"SgName"};
12520 static constexpr bool traverse{
false};
12522 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12523 using bind = Desc<SgClassDeclaration, SgName SgClassDeclaration::*, &SgClassDeclaration::p_name>;
12528 static constexpr size_t position{1};
12529 static constexpr char const *
const name{
"class_type"};
12530 static constexpr char const *
const typestr{
"SgClassDeclaration::class_types"};
12531 static constexpr bool traverse{
false};
12533 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12534 using bind = Desc<SgClassDeclaration, SgClassDeclaration::class_types SgClassDeclaration::*, &SgClassDeclaration::p_class_type>;
12539 static constexpr size_t position{2};
12540 static constexpr char const *
const name{
"type"};
12541 static constexpr char const *
const typestr{
"SgClassType*"};
12542 static constexpr bool traverse{
false};
12544 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12545 using bind = Desc<SgClassDeclaration, SgClassType* SgClassDeclaration::*, &SgClassDeclaration::p_type>;
12550 static constexpr size_t position{3};
12551 static constexpr char const *
const name{
"definition"};
12552 static constexpr char const *
const typestr{
"SgClassDefinition*"};
12553 static constexpr bool traverse{
true};
12555 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12556 using bind = Desc<SgClassDeclaration, SgClassDefinition* SgClassDeclaration::*, &SgClassDeclaration::p_definition>;
12561 static constexpr size_t position{4};
12562 static constexpr char const *
const name{
"scope"};
12563 static constexpr char const *
const typestr{
"SgScopeStatement*"};
12564 static constexpr bool traverse{
false};
12565 static constexpr auto mbr_ptr{&SgClassDeclaration::p_scope};
12566 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12567 using bind = Desc<SgClassDeclaration, SgScopeStatement* SgClassDeclaration::*, &SgClassDeclaration::p_scope>;
12572 static constexpr size_t position{5};
12573 static constexpr char const *
const name{
"specialization"};
12574 static constexpr char const *
const typestr{
"SgDeclarationStatement::template_specialization_enum"};
12575 static constexpr bool traverse{
false};
12576 static constexpr auto mbr_ptr{&SgClassDeclaration::p_specialization};
12577 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12578 using bind = Desc<SgClassDeclaration, SgDeclarationStatement::template_specialization_enum SgClassDeclaration::*, &SgClassDeclaration::p_specialization>;
12582 using field_type = bool;
12583 static constexpr size_t position{6};
12584 static constexpr char const *
const name{
"from_template"};
12585 static constexpr char const *
const typestr{
"bool"};
12586 static constexpr bool traverse{
false};
12588 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12589 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_from_template>;
12593 using field_type = bool;
12594 static constexpr size_t position{7};
12595 static constexpr char const *
const name{
"fixupScope"};
12596 static constexpr char const *
const typestr{
"bool"};
12597 static constexpr bool traverse{
false};
12598 static constexpr auto mbr_ptr{&SgClassDeclaration::p_fixupScope};
12599 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12600 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_fixupScope>;
12604 using field_type = bool;
12605 static constexpr size_t position{8};
12606 static constexpr char const *
const name{
"isUnNamed"};
12607 static constexpr char const *
const typestr{
"bool"};
12608 static constexpr bool traverse{
false};
12609 static constexpr auto mbr_ptr{&SgClassDeclaration::p_isUnNamed};
12610 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12611 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_isUnNamed>;
12615 using field_type = bool;
12616 static constexpr size_t position{9};
12617 static constexpr char const *
const name{
"explicit_annotation_interface"};
12618 static constexpr char const *
const typestr{
"bool"};
12619 static constexpr bool traverse{
false};
12620 static constexpr auto mbr_ptr{&SgClassDeclaration::p_explicit_annotation_interface};
12621 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12622 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_explicit_annotation_interface>;
12626 using field_type = bool;
12627 static constexpr size_t position{10};
12628 static constexpr char const *
const name{
"explicit_interface"};
12629 static constexpr char const *
const typestr{
"bool"};
12630 static constexpr bool traverse{
false};
12631 static constexpr auto mbr_ptr{&SgClassDeclaration::p_explicit_interface};
12632 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12633 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_explicit_interface>;
12637 using field_type = bool;
12638 static constexpr size_t position{11};
12639 static constexpr char const *
const name{
"explicit_enum"};
12640 static constexpr char const *
const typestr{
"bool"};
12641 static constexpr bool traverse{
false};
12642 static constexpr auto mbr_ptr{&SgClassDeclaration::p_explicit_enum};
12643 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12644 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_explicit_enum>;
12648 using field_type = bool;
12649 static constexpr size_t position{12};
12650 static constexpr char const *
const name{
"explicit_anonymous"};
12651 static constexpr char const *
const typestr{
"bool"};
12652 static constexpr bool traverse{
false};
12653 static constexpr auto mbr_ptr{&SgClassDeclaration::p_explicit_anonymous};
12654 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12655 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_explicit_anonymous>;
12660 static constexpr size_t position{13};
12661 static constexpr char const *
const name{
"decoratorList"};
12662 static constexpr char const *
const typestr{
"SgExprListExp*"};
12663 static constexpr bool traverse{
true};
12664 static constexpr auto mbr_ptr{&SgClassDeclaration::p_decoratorList};
12665 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12666 using bind = Desc<SgClassDeclaration, SgExprListExp* SgClassDeclaration::*, &SgClassDeclaration::p_decoratorList>;
12670 using field_type = int;
12671 static constexpr size_t position{14};
12672 static constexpr char const *
const name{
"name_qualification_length"};
12673 static constexpr char const *
const typestr{
"int"};
12674 static constexpr bool traverse{
false};
12675 static constexpr auto mbr_ptr{&SgClassDeclaration::p_name_qualification_length};
12676 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12677 using bind = Desc<SgClassDeclaration, int SgClassDeclaration::*, &SgClassDeclaration::p_name_qualification_length>;
12681 using field_type = bool;
12682 static constexpr size_t position{15};
12683 static constexpr char const *
const name{
"type_elaboration_required"};
12684 static constexpr char const *
const typestr{
"bool"};
12685 static constexpr bool traverse{
false};
12686 static constexpr auto mbr_ptr{&SgClassDeclaration::p_type_elaboration_required};
12687 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12688 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_type_elaboration_required>;
12692 using field_type = bool;
12693 static constexpr size_t position{16};
12694 static constexpr char const *
const name{
"global_qualification_required"};
12695 static constexpr char const *
const typestr{
"bool"};
12696 static constexpr bool traverse{
false};
12697 static constexpr auto mbr_ptr{&SgClassDeclaration::p_global_qualification_required};
12698 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12699 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_global_qualification_required>;
12703 using field_type = bool;
12704 static constexpr size_t position{17};
12705 static constexpr char const *
const name{
"isAutonomousDeclaration"};
12706 static constexpr char const *
const typestr{
"bool"};
12707 static constexpr bool traverse{
false};
12708 static constexpr auto mbr_ptr{&SgClassDeclaration::p_isAutonomousDeclaration};
12709 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12710 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_isAutonomousDeclaration>;
12714 using field_type = bool;
12715 static constexpr size_t position{18};
12716 static constexpr char const *
const name{
"isRepresentingTemplateParameterInTemplateDeclaration"};
12717 static constexpr char const *
const typestr{
"bool"};
12718 static constexpr bool traverse{
false};
12719 static constexpr auto mbr_ptr{&SgClassDeclaration::p_isRepresentingTemplateParameterInTemplateDeclaration};
12720 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12721 using bind = Desc<SgClassDeclaration, bool SgClassDeclaration::*, &SgClassDeclaration::p_isRepresentingTemplateParameterInTemplateDeclaration>;
12726 static constexpr size_t position{19};
12727 static constexpr char const *
const name{
"adaParentType"};
12728 static constexpr char const *
const typestr{
"SgBaseClass*"};
12729 static constexpr bool traverse{
false};
12730 static constexpr auto mbr_ptr{&SgClassDeclaration::p_adaParentType};
12731 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12732 using bind = Desc<SgClassDeclaration, SgBaseClass* SgClassDeclaration::*, &SgClassDeclaration::p_adaParentType>;
12737 static constexpr char const *
const name{
"ClassDeclaration"};
12738 static constexpr unsigned long variant{330};
12739 static constexpr bool concrete{
true};
12741 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>>;
12748 using field_type = SgDeclarationStatementPtrList;
12749 static constexpr size_t position{0};
12750 static constexpr char const *
const name{
"members"};
12751 static constexpr char const *
const typestr{
"SgDeclarationStatementPtrList"};
12752 static constexpr bool traverse{
true};
12754 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12755 using bind = Desc<SgClassDefinition, SgDeclarationStatementPtrList SgClassDefinition::*, &SgClassDefinition::p_members>;
12759 using field_type = SgBaseClassPtrList;
12760 static constexpr size_t position{1};
12761 static constexpr char const *
const name{
"inheritances"};
12762 static constexpr char const *
const typestr{
"SgBaseClassPtrList"};
12763 static constexpr bool traverse{
false};
12765 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12766 using bind = Desc<SgClassDefinition, SgBaseClassPtrList SgClassDefinition::*, &SgClassDefinition::p_inheritances>;
12770 using field_type =
unsigned int;
12771 static constexpr size_t position{2};
12772 static constexpr char const *
const name{
"packingAlignment"};
12773 static constexpr char const *
const typestr{
"unsigned int"};
12774 static constexpr bool traverse{
false};
12775 static constexpr auto mbr_ptr{&SgClassDefinition::p_packingAlignment};
12776 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12777 using bind = Desc<SgClassDefinition, unsigned int SgClassDefinition::*, &SgClassDefinition::p_packingAlignment>;
12781 using field_type = bool;
12782 static constexpr size_t position{3};
12783 static constexpr char const *
const name{
"isSequence"};
12784 static constexpr char const *
const typestr{
"bool"};
12785 static constexpr bool traverse{
false};
12786 static constexpr auto mbr_ptr{&SgClassDefinition::p_isSequence};
12787 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12788 using bind = Desc<SgClassDefinition, bool SgClassDefinition::*, &SgClassDefinition::p_isSequence>;
12792 using field_type = bool;
12793 static constexpr size_t position{4};
12794 static constexpr char const *
const name{
"isPrivate"};
12795 static constexpr char const *
const typestr{
"bool"};
12796 static constexpr bool traverse{
false};
12797 static constexpr auto mbr_ptr{&SgClassDefinition::p_isPrivate};
12798 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12799 using bind = Desc<SgClassDefinition, bool SgClassDefinition::*, &SgClassDefinition::p_isPrivate>;
12803 using field_type = bool;
12804 static constexpr size_t position{5};
12805 static constexpr char const *
const name{
"isAbstract"};
12806 static constexpr char const *
const typestr{
"bool"};
12807 static constexpr bool traverse{
false};
12808 static constexpr auto mbr_ptr{&SgClassDefinition::p_isAbstract};
12809 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12810 using bind = Desc<SgClassDefinition, bool SgClassDefinition::*, &SgClassDefinition::p_isAbstract>;
12815 static constexpr char const *
const name{
"ClassDefinition"};
12816 static constexpr unsigned long variant{331};
12817 static constexpr bool concrete{
true};
12819 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>>;
12827 static constexpr size_t position{0};
12828 static constexpr char const *
const name{
"symbol"};
12829 static constexpr char const *
const typestr{
"SgClassSymbol*"};
12830 static constexpr bool traverse{
false};
12832 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12833 using bind = Desc<SgClassNameRefExp, SgClassSymbol* SgClassNameRefExp::*, &SgClassNameRefExp::p_symbol>;
12838 static constexpr char const *
const name{
"ClassNameRefExp"};
12839 static constexpr unsigned long variant{332};
12840 static constexpr bool concrete{
true};
12850 static constexpr size_t position{0};
12851 static constexpr char const *
const name{
"declaration"};
12852 static constexpr char const *
const typestr{
"SgClassDeclaration*"};
12853 static constexpr bool traverse{
true};
12854 static constexpr auto mbr_ptr{&SgClassSymbol::p_declaration};
12855 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12856 using bind = Desc<SgClassSymbol, SgClassDeclaration* SgClassSymbol::*, &SgClassSymbol::p_declaration>;
12861 static constexpr char const *
const name{
"ClassSymbol"};
12862 static constexpr unsigned long variant{333};
12863 static constexpr bool concrete{
true};
12872 using field_type = bool;
12873 static constexpr size_t position{0};
12874 static constexpr char const *
const name{
"packed"};
12875 static constexpr char const *
const typestr{
"bool"};
12876 static constexpr bool traverse{
false};
12877 static constexpr auto mbr_ptr{&SgClassType::p_packed};
12878 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12879 using bind = Desc<SgClassType, bool SgClassType::*, &SgClassType::p_packed>;
12884 static constexpr char const *
const name{
"ClassType"};
12885 static constexpr unsigned long variant{334};
12886 static constexpr bool concrete{
true};
12895 using field_type = std::string;
12896 static constexpr size_t position{0};
12897 static constexpr char const *
const name{
"languageSpecifier"};
12898 static constexpr char const *
const typestr{
"std::string"};
12899 static constexpr bool traverse{
false};
12900 static constexpr auto mbr_ptr{&SgClinkageDeclarationStatement::p_languageSpecifier};
12901 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12902 using bind = Desc<SgClinkageDeclarationStatement, std::string SgClinkageDeclarationStatement::*, &SgClinkageDeclarationStatement::p_languageSpecifier>;
12907 static constexpr char const *
const name{
"ClinkageDeclarationStatement"};
12908 static constexpr unsigned long variant{335};
12909 static constexpr bool concrete{
false};
12919 static constexpr char const *
const name{
"ClinkageEndStatement"};
12920 static constexpr unsigned long variant{336};
12921 static constexpr bool concrete{
true};
12931 static constexpr char const *
const name{
"ClinkageStartStatement"};
12932 static constexpr unsigned long variant{337};
12933 static constexpr bool concrete{
true};
12943 static constexpr size_t position{0};
12944 static constexpr char const *
const name{
"status"};
12945 static constexpr char const *
const typestr{
"SgExpression*"};
12946 static constexpr bool traverse{
true};
12947 static constexpr auto mbr_ptr{&SgCloseStatement::p_status};
12948 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12949 using bind = Desc<SgCloseStatement, SgExpression* SgCloseStatement::*, &SgCloseStatement::p_status>;
12954 static constexpr char const *
const name{
"CloseStatement"};
12955 static constexpr unsigned long variant{338};
12956 static constexpr bool concrete{
true};
12966 static constexpr char const *
const name{
"ColonShapeExp"};
12967 static constexpr unsigned long variant{339};
12968 static constexpr bool concrete{
true};
12978 static constexpr char const *
const name{
"CommaOpExp"};
12979 static constexpr unsigned long variant{340};
12980 static constexpr bool concrete{
true};
12989 using field_type = SgCommonBlockObjectPtrList;
12990 static constexpr size_t position{0};
12991 static constexpr char const *
const name{
"block_list"};
12992 static constexpr char const *
const typestr{
"SgCommonBlockObjectPtrList"};
12993 static constexpr bool traverse{
true};
12994 static constexpr auto mbr_ptr{&SgCommonBlock::p_block_list};
12995 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
12996 using bind = Desc<SgCommonBlock, SgCommonBlockObjectPtrList SgCommonBlock::*, &SgCommonBlock::p_block_list>;
13001 static constexpr char const *
const name{
"CommonBlock"};
13002 static constexpr unsigned long variant{341};
13003 static constexpr bool concrete{
true};
13012 using field_type = std::string;
13013 static constexpr size_t position{0};
13014 static constexpr char const *
const name{
"block_name"};
13015 static constexpr char const *
const typestr{
"std::string"};
13016 static constexpr bool traverse{
false};
13017 static constexpr auto mbr_ptr{&SgCommonBlockObject::p_block_name};
13018 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13019 using bind = Desc<SgCommonBlockObject, std::string SgCommonBlockObject::*, &SgCommonBlockObject::p_block_name>;
13024 static constexpr size_t position{1};
13025 static constexpr char const *
const name{
"variable_reference_list"};
13026 static constexpr char const *
const typestr{
"SgExprListExp*"};
13027 static constexpr bool traverse{
true};
13028 static constexpr auto mbr_ptr{&SgCommonBlockObject::p_variable_reference_list};
13029 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13030 using bind = Desc<SgCommonBlockObject, SgExprListExp* SgCommonBlockObject::*, &SgCommonBlockObject::p_variable_reference_list>;
13035 static constexpr char const *
const name{
"CommonBlockObject"};
13036 static constexpr unsigned long variant{342};
13037 static constexpr bool concrete{
true};
13047 static constexpr size_t position{0};
13048 static constexpr char const *
const name{
"declaration"};
13049 static constexpr char const *
const typestr{
"SgInitializedName*"};
13050 static constexpr bool traverse{
false};
13051 static constexpr auto mbr_ptr{&SgCommonSymbol::p_declaration};
13052 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13053 using bind = Desc<SgCommonSymbol, SgInitializedName* SgCommonSymbol::*, &SgCommonSymbol::p_declaration>;
13058 static constexpr char const *
const name{
"CommonSymbol"};
13059 static constexpr unsigned long variant{343};
13060 static constexpr bool concrete{
true};
13070 static constexpr size_t position{0};
13071 static constexpr char const *
const name{
"real_value"};
13072 static constexpr char const *
const typestr{
"SgValueExp*"};
13073 static constexpr bool traverse{
true};
13074 static constexpr auto mbr_ptr{&SgComplexVal::p_real_value};
13075 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13076 using bind = Desc<SgComplexVal, SgValueExp* SgComplexVal::*, &SgComplexVal::p_real_value>;
13081 static constexpr size_t position{1};
13082 static constexpr char const *
const name{
"imaginary_value"};
13083 static constexpr char const *
const typestr{
"SgValueExp*"};
13084 static constexpr bool traverse{
true};
13085 static constexpr auto mbr_ptr{&SgComplexVal::p_imaginary_value};
13086 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13087 using bind = Desc<SgComplexVal, SgValueExp* SgComplexVal::*, &SgComplexVal::p_imaginary_value>;
13092 static constexpr size_t position{2};
13093 static constexpr char const *
const name{
"precisionType"};
13094 static constexpr char const *
const typestr{
"SgType*"};
13095 static constexpr bool traverse{
false};
13096 static constexpr auto mbr_ptr{&SgComplexVal::p_precisionType};
13097 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13098 using bind = Desc<SgComplexVal, SgType* SgComplexVal::*, &SgComplexVal::p_precisionType>;
13102 using field_type = std::string;
13103 static constexpr size_t position{3};
13104 static constexpr char const *
const name{
"valueString"};
13105 static constexpr char const *
const typestr{
"std::string"};
13106 static constexpr bool traverse{
false};
13107 static constexpr auto mbr_ptr{&SgComplexVal::p_valueString};
13108 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13109 using bind = Desc<SgComplexVal, std::string SgComplexVal::*, &SgComplexVal::p_valueString>;
13114 static constexpr char const *
const name{
"ComplexVal"};
13115 static constexpr unsigned long variant{344};
13116 static constexpr bool concrete{
true};
13118 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>>;
13126 static constexpr size_t position{0};
13127 static constexpr char const *
const name{
"target"};
13128 static constexpr char const *
const typestr{
"SgExpression*"};
13129 static constexpr bool traverse{
true};
13130 static constexpr auto mbr_ptr{&SgComprehension::p_target};
13131 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13132 using bind = Desc<SgComprehension, SgExpression* SgComprehension::*, &SgComprehension::p_target>;
13137 static constexpr size_t position{1};
13138 static constexpr char const *
const name{
"iter"};
13139 static constexpr char const *
const typestr{
"SgExpression*"};
13140 static constexpr bool traverse{
true};
13141 static constexpr auto mbr_ptr{&SgComprehension::p_iter};
13142 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13143 using bind = Desc<SgComprehension, SgExpression* SgComprehension::*, &SgComprehension::p_iter>;
13148 static constexpr size_t position{2};
13149 static constexpr char const *
const name{
"filters"};
13150 static constexpr char const *
const typestr{
"SgExprListExp*"};
13151 static constexpr bool traverse{
true};
13152 static constexpr auto mbr_ptr{&SgComprehension::p_filters};
13153 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13154 using bind = Desc<SgComprehension, SgExprListExp* SgComprehension::*, &SgComprehension::p_filters>;
13159 static constexpr char const *
const name{
"Comprehension"};
13160 static constexpr unsigned long variant{345};
13161 static constexpr bool concrete{
true};
13171 static constexpr char const *
const name{
"CompoundAssignOp"};
13172 static constexpr unsigned long variant{347};
13173 static constexpr bool concrete{
false};
13174 using subclasses_t =
mp::List<SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp>;
13183 static constexpr size_t position{0};
13184 static constexpr char const *
const name{
"initializers"};
13185 static constexpr char const *
const typestr{
"SgExprListExp*"};
13186 static constexpr bool traverse{
true};
13187 static constexpr auto mbr_ptr{&SgCompoundInitializer::p_initializers};
13188 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13189 using bind = Desc<SgCompoundInitializer, SgExprListExp* SgCompoundInitializer::*, &SgCompoundInitializer::p_initializers>;
13194 static constexpr size_t position{1};
13195 static constexpr char const *
const name{
"expression_type"};
13196 static constexpr char const *
const typestr{
"SgType*"};
13197 static constexpr bool traverse{
false};
13198 static constexpr auto mbr_ptr{&SgCompoundInitializer::p_expression_type};
13199 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13200 using bind = Desc<SgCompoundInitializer, SgType* SgCompoundInitializer::*, &SgCompoundInitializer::p_expression_type>;
13205 static constexpr char const *
const name{
"CompoundInitializer"};
13206 static constexpr unsigned long variant{348};
13207 static constexpr bool concrete{
true};
13217 static constexpr size_t position{0};
13218 static constexpr char const *
const name{
"symbol"};
13219 static constexpr char const *
const typestr{
"SgVariableSymbol*"};
13220 static constexpr bool traverse{
false};
13221 static constexpr auto mbr_ptr{&SgCompoundLiteralExp::p_symbol};
13222 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13223 using bind = Desc<SgCompoundLiteralExp, SgVariableSymbol* SgCompoundLiteralExp::*, &SgCompoundLiteralExp::p_symbol>;
13228 static constexpr char const *
const name{
"CompoundLiteralExp"};
13229 static constexpr unsigned long variant{349};
13230 static constexpr bool concrete{
true};
13240 static constexpr size_t position{0};
13241 static constexpr char const *
const name{
"labelList"};
13242 static constexpr char const *
const typestr{
"SgExprListExp*"};
13243 static constexpr bool traverse{
true};
13244 static constexpr auto mbr_ptr{&SgComputedGotoStatement::p_labelList};
13245 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13246 using bind = Desc<SgComputedGotoStatement, SgExprListExp* SgComputedGotoStatement::*, &SgComputedGotoStatement::p_labelList>;
13251 static constexpr size_t position{1};
13252 static constexpr char const *
const name{
"label_index"};
13253 static constexpr char const *
const typestr{
"SgExpression*"};
13254 static constexpr bool traverse{
true};
13255 static constexpr auto mbr_ptr{&SgComputedGotoStatement::p_label_index};
13256 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13257 using bind = Desc<SgComputedGotoStatement, SgExpression* SgComputedGotoStatement::*, &SgComputedGotoStatement::p_label_index>;
13262 static constexpr char const *
const name{
"ComputedGotoStatement"};
13263 static constexpr unsigned long variant{350};
13264 static constexpr bool concrete{
true};
13274 static constexpr char const *
const name{
"ConcatenationOp"};
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{
"conditional_exp"};
13288 static constexpr char const *
const typestr{
"SgExpression*"};
13289 static constexpr bool traverse{
true};
13291 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13292 using bind = Desc<SgConditionalExp, SgExpression* SgConditionalExp::*, &SgConditionalExp::p_conditional_exp>;
13297 static constexpr size_t position{1};
13298 static constexpr char const *
const name{
"true_exp"};
13299 static constexpr char const *
const typestr{
"SgExpression*"};
13300 static constexpr bool traverse{
true};
13302 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13303 using bind = Desc<SgConditionalExp, SgExpression* SgConditionalExp::*, &SgConditionalExp::p_true_exp>;
13308 static constexpr size_t position{2};
13309 static constexpr char const *
const name{
"false_exp"};
13310 static constexpr char const *
const typestr{
"SgExpression*"};
13311 static constexpr bool traverse{
true};
13313 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13314 using bind = Desc<SgConditionalExp, SgExpression* SgConditionalExp::*, &SgConditionalExp::p_false_exp>;
13319 static constexpr size_t position{3};
13320 static constexpr char const *
const name{
"expression_type"};
13321 static constexpr char const *
const typestr{
"SgType*"};
13322 static constexpr bool traverse{
false};
13324 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13325 using bind = Desc<SgConditionalExp, SgType* SgConditionalExp::*, &SgConditionalExp::p_expression_type>;
13330 static constexpr char const *
const name{
"ConditionalExp"};
13331 static constexpr unsigned long variant{352};
13332 static constexpr bool concrete{
true};
13334 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>>;
13342 static constexpr char const *
const name{
"ConjugateOp"};
13343 static constexpr unsigned long variant{353};
13344 static constexpr bool concrete{
true};
13354 static constexpr size_t position{0};
13355 static constexpr char const *
const name{
"modifier"};
13356 static constexpr char const *
const typestr{
"SgConstVolatileModifier::cv_modifier_enum"};
13357 static constexpr bool traverse{
false};
13358 static constexpr auto mbr_ptr{&SgConstVolatileModifier::p_modifier};
13359 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13360 using bind = Desc<SgConstVolatileModifier, SgConstVolatileModifier::cv_modifier_enum SgConstVolatileModifier::*, &SgConstVolatileModifier::p_modifier>;
13365 static constexpr char const *
const name{
"ConstVolatileModifier"};
13366 static constexpr unsigned long variant{354};
13367 static constexpr bool concrete{
true};
13377 static constexpr size_t position{0};
13378 static constexpr char const *
const name{
"declaration"};
13379 static constexpr char const *
const typestr{
"SgMemberFunctionDeclaration*"};
13380 static constexpr bool traverse{
false};
13382 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13383 using bind = Desc<SgConstructorInitializer, SgMemberFunctionDeclaration* SgConstructorInitializer::*, &SgConstructorInitializer::p_declaration>;
13388 static constexpr size_t position{1};
13389 static constexpr char const *
const name{
"args"};
13390 static constexpr char const *
const typestr{
"SgExprListExp*"};
13391 static constexpr bool traverse{
true};
13393 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13394 using bind = Desc<SgConstructorInitializer, SgExprListExp* SgConstructorInitializer::*, &SgConstructorInitializer::p_args>;
13399 static constexpr size_t position{2};
13400 static constexpr char const *
const name{
"expression_type"};
13401 static constexpr char const *
const typestr{
"SgType*"};
13402 static constexpr bool traverse{
false};
13404 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13405 using bind = Desc<SgConstructorInitializer, SgType* SgConstructorInitializer::*, &SgConstructorInitializer::p_expression_type>;
13409 using field_type = bool;
13410 static constexpr size_t position{3};
13411 static constexpr char const *
const name{
"need_name"};
13412 static constexpr char const *
const typestr{
"bool"};
13413 static constexpr bool traverse{
false};
13415 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13416 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_need_name>;
13420 using field_type = bool;
13421 static constexpr size_t position{4};
13422 static constexpr char const *
const name{
"need_qualifier"};
13423 static constexpr char const *
const typestr{
"bool"};
13424 static constexpr bool traverse{
false};
13426 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13427 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_need_qualifier>;
13431 using field_type = bool;
13432 static constexpr size_t position{5};
13433 static constexpr char const *
const name{
"need_parenthesis_after_name"};
13434 static constexpr char const *
const typestr{
"bool"};
13435 static constexpr bool traverse{
false};
13437 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13438 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_need_parenthesis_after_name>;
13442 using field_type = bool;
13443 static constexpr size_t position{6};
13444 static constexpr char const *
const name{
"associated_class_unknown"};
13445 static constexpr char const *
const typestr{
"bool"};
13446 static constexpr bool traverse{
false};
13448 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13449 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_associated_class_unknown>;
13453 using field_type = int;
13454 static constexpr size_t position{7};
13455 static constexpr char const *
const name{
"name_qualification_length"};
13456 static constexpr char const *
const typestr{
"int"};
13457 static constexpr bool traverse{
false};
13458 static constexpr auto mbr_ptr{&SgConstructorInitializer::p_name_qualification_length};
13459 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13460 using bind = Desc<SgConstructorInitializer, int SgConstructorInitializer::*, &SgConstructorInitializer::p_name_qualification_length>;
13464 using field_type = bool;
13465 static constexpr size_t position{8};
13466 static constexpr char const *
const name{
"type_elaboration_required"};
13467 static constexpr char const *
const typestr{
"bool"};
13468 static constexpr bool traverse{
false};
13469 static constexpr auto mbr_ptr{&SgConstructorInitializer::p_type_elaboration_required};
13470 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13471 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_type_elaboration_required>;
13475 using field_type = bool;
13476 static constexpr size_t position{9};
13477 static constexpr char const *
const name{
"global_qualification_required"};
13478 static constexpr char const *
const typestr{
"bool"};
13479 static constexpr bool traverse{
false};
13480 static constexpr auto mbr_ptr{&SgConstructorInitializer::p_global_qualification_required};
13481 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13482 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_global_qualification_required>;
13486 using field_type = bool;
13487 static constexpr size_t position{10};
13488 static constexpr char const *
const name{
"is_used_in_conditional"};
13489 static constexpr char const *
const typestr{
"bool"};
13490 static constexpr bool traverse{
false};
13491 static constexpr auto mbr_ptr{&SgConstructorInitializer::p_is_used_in_conditional};
13492 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13493 using bind = Desc<SgConstructorInitializer, bool SgConstructorInitializer::*, &SgConstructorInitializer::p_is_used_in_conditional>;
13498 static constexpr char const *
const name{
"ConstructorInitializer"};
13499 static constexpr unsigned long variant{355};
13500 static constexpr bool concrete{
true};
13502 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>>;
13510 static constexpr char const *
const name{
"ContainsStatement"};
13511 static constexpr unsigned long variant{356};
13512 static constexpr bool concrete{
true};
13521 using field_type = std::string;
13522 static constexpr size_t position{0};
13523 static constexpr char const *
const name{
"do_string_label"};
13524 static constexpr char const *
const typestr{
"std::string"};
13525 static constexpr bool traverse{
false};
13526 static constexpr auto mbr_ptr{&SgContinueStmt::p_do_string_label};
13527 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13528 using bind = Desc<SgContinueStmt, std::string SgContinueStmt::*, &SgContinueStmt::p_do_string_label>;
13533 static constexpr char const *
const name{
"ContinueStmt"};
13534 static constexpr unsigned long variant{357};
13535 static constexpr bool concrete{
true};
13544 using field_type = SgInitializedNamePtrList;
13545 static constexpr size_t position{0};
13546 static constexpr char const *
const name{
"ctors"};
13547 static constexpr char const *
const typestr{
"SgInitializedNamePtrList"};
13548 static constexpr bool traverse{
true};
13550 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13551 using bind = Desc<SgCtorInitializerList, SgInitializedNamePtrList SgCtorInitializerList::*, &SgCtorInitializerList::p_ctors>;
13556 static constexpr char const *
const name{
"CtorInitializerList"};
13557 static constexpr unsigned long variant{358};
13558 static constexpr bool concrete{
true};
13567 using field_type = SgDataStatementObjectPtrList;
13568 static constexpr size_t position{0};
13569 static constexpr char const *
const name{
"object_list"};
13570 static constexpr char const *
const typestr{
"SgDataStatementObjectPtrList"};
13571 static constexpr bool traverse{
false};
13572 static constexpr auto mbr_ptr{&SgDataStatementGroup::p_object_list};
13573 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13574 using bind = Desc<SgDataStatementGroup, SgDataStatementObjectPtrList SgDataStatementGroup::*, &SgDataStatementGroup::p_object_list>;
13578 using field_type = SgDataStatementValuePtrList;
13579 static constexpr size_t position{1};
13580 static constexpr char const *
const name{
"value_list"};
13581 static constexpr char const *
const typestr{
"SgDataStatementValuePtrList"};
13582 static constexpr bool traverse{
false};
13583 static constexpr auto mbr_ptr{&SgDataStatementGroup::p_value_list};
13584 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13585 using bind = Desc<SgDataStatementGroup, SgDataStatementValuePtrList SgDataStatementGroup::*, &SgDataStatementGroup::p_value_list>;
13590 static constexpr char const *
const name{
"DataStatementGroup"};
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{
"variableReference_list"};
13604 static constexpr char const *
const typestr{
"SgExprListExp*"};
13605 static constexpr bool traverse{
false};
13606 static constexpr auto mbr_ptr{&SgDataStatementObject::p_variableReference_list};
13607 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13608 using bind = Desc<SgDataStatementObject, SgExprListExp* SgDataStatementObject::*, &SgDataStatementObject::p_variableReference_list>;
13613 static constexpr char const *
const name{
"DataStatementObject"};
13614 static constexpr unsigned long variant{360};
13615 static constexpr bool concrete{
true};
13625 static constexpr size_t position{0};
13626 static constexpr char const *
const name{
"data_initialization_format"};
13627 static constexpr char const *
const typestr{
"SgDataStatementValue::data_statement_value_enum"};
13628 static constexpr bool traverse{
false};
13629 static constexpr auto mbr_ptr{&SgDataStatementValue::p_data_initialization_format};
13630 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13631 using bind = Desc<SgDataStatementValue, SgDataStatementValue::data_statement_value_enum SgDataStatementValue::*, &SgDataStatementValue::p_data_initialization_format>;
13636 static constexpr size_t position{1};
13637 static constexpr char const *
const name{
"initializer_list"};
13638 static constexpr char const *
const typestr{
"SgExprListExp*"};
13639 static constexpr bool traverse{
false};
13640 static constexpr auto mbr_ptr{&SgDataStatementValue::p_initializer_list};
13641 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13642 using bind = Desc<SgDataStatementValue, SgExprListExp* SgDataStatementValue::*, &SgDataStatementValue::p_initializer_list>;
13647 static constexpr size_t position{2};
13648 static constexpr char const *
const name{
"repeat_expression"};
13649 static constexpr char const *
const typestr{
"SgExpression*"};
13650 static constexpr bool traverse{
false};
13651 static constexpr auto mbr_ptr{&SgDataStatementValue::p_repeat_expression};
13652 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13653 using bind = Desc<SgDataStatementValue, SgExpression* SgDataStatementValue::*, &SgDataStatementValue::p_repeat_expression>;
13658 static constexpr size_t position{3};
13659 static constexpr char const *
const name{
"constant_expression"};
13660 static constexpr char const *
const typestr{
"SgExpression*"};
13661 static constexpr bool traverse{
false};
13662 static constexpr auto mbr_ptr{&SgDataStatementValue::p_constant_expression};
13663 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13664 using bind = Desc<SgDataStatementValue, SgExpression* SgDataStatementValue::*, &SgDataStatementValue::p_constant_expression>;
13669 static constexpr char const *
const name{
"DataStatementValue"};
13670 static constexpr unsigned long variant{361};
13671 static constexpr bool concrete{
true};
13673 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>>;
13681 static constexpr char const *
const name{
"DeadIfDirectiveStatement"};
13682 static constexpr unsigned long variant{362};
13683 static constexpr bool concrete{
true};
13693 static constexpr size_t position{0};
13694 static constexpr char const *
const name{
"expr_list"};
13695 static constexpr char const *
const typestr{
"SgExprListExp*"};
13696 static constexpr bool traverse{
true};
13697 static constexpr auto mbr_ptr{&SgDeallocateStatement::p_expr_list};
13698 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13699 using bind = Desc<SgDeallocateStatement, SgExprListExp* SgDeallocateStatement::*, &SgDeallocateStatement::p_expr_list>;
13704 static constexpr size_t position{1};
13705 static constexpr char const *
const name{
"stat_expression"};
13706 static constexpr char const *
const typestr{
"SgExpression*"};
13707 static constexpr bool traverse{
true};
13708 static constexpr auto mbr_ptr{&SgDeallocateStatement::p_stat_expression};
13709 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13710 using bind = Desc<SgDeallocateStatement, SgExpression* SgDeallocateStatement::*, &SgDeallocateStatement::p_stat_expression>;
13715 static constexpr size_t position{2};
13716 static constexpr char const *
const name{
"errmsg_expression"};
13717 static constexpr char const *
const typestr{
"SgExpression*"};
13718 static constexpr bool traverse{
true};
13719 static constexpr auto mbr_ptr{&SgDeallocateStatement::p_errmsg_expression};
13720 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13721 using bind = Desc<SgDeallocateStatement, SgExpression* SgDeallocateStatement::*, &SgDeallocateStatement::p_errmsg_expression>;
13726 static constexpr char const *
const name{
"DeallocateStatement"};
13727 static constexpr unsigned long variant{363};
13728 static constexpr bool concrete{
true};
13737 using field_type = SgBitVector;
13738 static constexpr size_t position{0};
13739 static constexpr char const *
const name{
"modifierVector"};
13740 static constexpr char const *
const typestr{
"SgBitVector"};
13741 static constexpr bool traverse{
false};
13743 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13744 using bind = Desc<SgDeclarationModifier, SgBitVector SgDeclarationModifier::*, &SgDeclarationModifier::p_modifierVector>;
13749 static constexpr size_t position{1};
13750 static constexpr char const *
const name{
"typeModifier"};
13751 static constexpr char const *
const typestr{
"SgTypeModifier"};
13752 static constexpr bool traverse{
false};
13754 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13755 using bind = Desc<SgDeclarationModifier, SgTypeModifier SgDeclarationModifier::*, &SgDeclarationModifier::p_typeModifier>;
13760 static constexpr size_t position{2};
13761 static constexpr char const *
const name{
"accessModifier"};
13762 static constexpr char const *
const typestr{
"SgAccessModifier"};
13763 static constexpr bool traverse{
false};
13765 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13766 using bind = Desc<SgDeclarationModifier, SgAccessModifier SgDeclarationModifier::*, &SgDeclarationModifier::p_accessModifier>;
13771 static constexpr size_t position{3};
13772 static constexpr char const *
const name{
"storageModifier"};
13773 static constexpr char const *
const typestr{
"SgStorageModifier"};
13774 static constexpr bool traverse{
false};
13776 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13777 using bind = Desc<SgDeclarationModifier, SgStorageModifier SgDeclarationModifier::*, &SgDeclarationModifier::p_storageModifier>;
13781 using field_type = std::string;
13782 static constexpr size_t position{4};
13783 static constexpr char const *
const name{
"gnu_attribute_section_name"};
13784 static constexpr char const *
const typestr{
"std::string"};
13785 static constexpr bool traverse{
false};
13786 static constexpr auto mbr_ptr{&SgDeclarationModifier::p_gnu_attribute_section_name};
13787 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13788 using bind = Desc<SgDeclarationModifier, std::string SgDeclarationModifier::*, &SgDeclarationModifier::p_gnu_attribute_section_name>;
13793 static constexpr size_t position{5};
13794 static constexpr char const *
const name{
"gnu_attribute_visability"};
13795 static constexpr char const *
const typestr{
"SgDeclarationModifier::gnu_declaration_visability_enum"};
13796 static constexpr bool traverse{
false};
13797 static constexpr auto mbr_ptr{&SgDeclarationModifier::p_gnu_attribute_visability};
13798 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13799 using bind = Desc<SgDeclarationModifier, SgDeclarationModifier::gnu_declaration_visability_enum SgDeclarationModifier::*, &SgDeclarationModifier::p_gnu_attribute_visability>;
13803 using field_type = std::string;
13804 static constexpr size_t position{6};
13805 static constexpr char const *
const name{
"microsoft_uuid_string"};
13806 static constexpr char const *
const typestr{
"std::string"};
13807 static constexpr bool traverse{
false};
13808 static constexpr auto mbr_ptr{&SgDeclarationModifier::p_microsoft_uuid_string};
13809 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13810 using bind = Desc<SgDeclarationModifier, std::string SgDeclarationModifier::*, &SgDeclarationModifier::p_microsoft_uuid_string>;
13814 using field_type = std::string;
13815 static constexpr size_t position{7};
13816 static constexpr char const *
const name{
"microsoft_property_get_function_name"};
13817 static constexpr char const *
const typestr{
"std::string"};
13818 static constexpr bool traverse{
false};
13819 static constexpr auto mbr_ptr{&SgDeclarationModifier::p_microsoft_property_get_function_name};
13820 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13821 using bind = Desc<SgDeclarationModifier, std::string SgDeclarationModifier::*, &SgDeclarationModifier::p_microsoft_property_get_function_name>;
13825 using field_type = std::string;
13826 static constexpr size_t position{8};
13827 static constexpr char const *
const name{
"microsoft_property_put_function_name"};
13828 static constexpr char const *
const typestr{
"std::string"};
13829 static constexpr bool traverse{
false};
13830 static constexpr auto mbr_ptr{&SgDeclarationModifier::p_microsoft_property_put_function_name};
13831 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13832 using bind = Desc<SgDeclarationModifier, std::string SgDeclarationModifier::*, &SgDeclarationModifier::p_microsoft_property_put_function_name>;
13837 static constexpr char const *
const name{
"DeclarationModifier"};
13838 static constexpr unsigned long variant{364};
13839 static constexpr bool concrete{
true};
13841 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>>;
13849 static constexpr char const *
const name{
"DeclarationScope"};
13850 static constexpr unsigned long variant{365};
13851 static constexpr bool concrete{
true};
13860 using field_type =
unsigned int;
13861 static constexpr size_t position{0};
13862 static constexpr char const *
const name{
"decl_attributes"};
13863 static constexpr char const *
const typestr{
"unsigned int"};
13864 static constexpr bool traverse{
false};
13866 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13867 using bind = Desc<SgDeclarationStatement, unsigned int SgDeclarationStatement::*, &SgDeclarationStatement::p_decl_attributes>;
13871 using field_type = std::string;
13872 static constexpr size_t position{1};
13873 static constexpr char const *
const name{
"linkage"};
13874 static constexpr char const *
const typestr{
"std::string"};
13875 static constexpr bool traverse{
false};
13877 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13878 using bind = Desc<SgDeclarationStatement, std::string SgDeclarationStatement::*, &SgDeclarationStatement::p_linkage>;
13883 static constexpr size_t position{2};
13884 static constexpr char const *
const name{
"declarationModifier"};
13885 static constexpr char const *
const typestr{
"SgDeclarationModifier"};
13886 static constexpr bool traverse{
false};
13888 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13889 using bind = Desc<SgDeclarationStatement, SgDeclarationModifier SgDeclarationStatement::*, &SgDeclarationStatement::p_declarationModifier>;
13893 using field_type = bool;
13894 static constexpr size_t position{3};
13895 static constexpr char const *
const name{
"nameOnly"};
13896 static constexpr char const *
const typestr{
"bool"};
13897 static constexpr bool traverse{
false};
13899 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13900 using bind = Desc<SgDeclarationStatement, bool SgDeclarationStatement::*, &SgDeclarationStatement::p_nameOnly>;
13904 using field_type = bool;
13905 static constexpr size_t position{4};
13906 static constexpr char const *
const name{
"forward"};
13907 static constexpr char const *
const typestr{
"bool"};
13908 static constexpr bool traverse{
false};
13910 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13911 using bind = Desc<SgDeclarationStatement, bool SgDeclarationStatement::*, &SgDeclarationStatement::p_forward>;
13915 using field_type = bool;
13916 static constexpr size_t position{5};
13917 static constexpr char const *
const name{
"externBrace"};
13918 static constexpr char const *
const typestr{
"bool"};
13919 static constexpr bool traverse{
false};
13921 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13922 using bind = Desc<SgDeclarationStatement, bool SgDeclarationStatement::*, &SgDeclarationStatement::p_externBrace>;
13926 using field_type = bool;
13927 static constexpr size_t position{6};
13928 static constexpr char const *
const name{
"skipElaborateType"};
13929 static constexpr char const *
const typestr{
"bool"};
13930 static constexpr bool traverse{
false};
13932 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13933 using bind = Desc<SgDeclarationStatement, bool SgDeclarationStatement::*, &SgDeclarationStatement::p_skipElaborateType>;
13938 static constexpr size_t position{7};
13939 static constexpr char const *
const name{
"definingDeclaration"};
13940 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
13941 static constexpr bool traverse{
false};
13943 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13944 using bind = Desc<SgDeclarationStatement, SgDeclarationStatement* SgDeclarationStatement::*, &SgDeclarationStatement::p_definingDeclaration>;
13949 static constexpr size_t position{8};
13950 static constexpr char const *
const name{
"firstNondefiningDeclaration"};
13951 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
13952 static constexpr bool traverse{
false};
13954 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13955 using bind = Desc<SgDeclarationStatement, SgDeclarationStatement* SgDeclarationStatement::*, &SgDeclarationStatement::p_firstNondefiningDeclaration>;
13959 using field_type = SgQualifiedNamePtrList;
13960 static constexpr size_t position{9};
13961 static constexpr char const *
const name{
"qualifiedNameList"};
13962 static constexpr char const *
const typestr{
"SgQualifiedNamePtrList"};
13963 static constexpr bool traverse{
false};
13964 static constexpr auto mbr_ptr{&SgDeclarationStatement::p_qualifiedNameList};
13965 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13966 using bind = Desc<SgDeclarationStatement, SgQualifiedNamePtrList SgDeclarationStatement::*, &SgDeclarationStatement::p_qualifiedNameList>;
13970 using field_type = std::string;
13971 static constexpr size_t position{10};
13972 static constexpr char const *
const name{
"binding_label"};
13973 static constexpr char const *
const typestr{
"std::string"};
13974 static constexpr bool traverse{
false};
13975 static constexpr auto mbr_ptr{&SgDeclarationStatement::p_binding_label};
13976 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13977 using bind = Desc<SgDeclarationStatement, std::string SgDeclarationStatement::*, &SgDeclarationStatement::p_binding_label>;
13982 static constexpr size_t position{11};
13983 static constexpr char const *
const name{
"declarationScope"};
13984 static constexpr char const *
const typestr{
"SgDeclarationScope*"};
13985 static constexpr bool traverse{
false};
13986 static constexpr auto mbr_ptr{&SgDeclarationStatement::p_declarationScope};
13987 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13988 using bind = Desc<SgDeclarationStatement, SgDeclarationScope* SgDeclarationStatement::*, &SgDeclarationStatement::p_declarationScope>;
13992 using field_type = bool;
13993 static constexpr size_t position{12};
13994 static constexpr char const *
const name{
"unparse_template_ast"};
13995 static constexpr char const *
const typestr{
"bool"};
13996 static constexpr bool traverse{
false};
13997 static constexpr auto mbr_ptr{&SgDeclarationStatement::p_unparse_template_ast};
13998 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
13999 using bind = Desc<SgDeclarationStatement, bool SgDeclarationStatement::*, &SgDeclarationStatement::p_unparse_template_ast>;
14004 static constexpr size_t position{13};
14005 static constexpr char const *
const name{
"adaAspects"};
14006 static constexpr char const *
const typestr{
"SgExprListExp*"};
14007 static constexpr bool traverse{
false};
14008 static constexpr auto mbr_ptr{&SgDeclarationStatement::p_adaAspects};
14009 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14010 using bind = Desc<SgDeclarationStatement, SgExprListExp* SgDeclarationStatement::*, &SgDeclarationStatement::p_adaAspects>;
14015 static constexpr char const *
const name{
"DeclarationStatement"};
14016 static constexpr unsigned long variant{366};
14017 static constexpr bool concrete{
false};
14018 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>;
14019 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>>;
14027 static constexpr size_t position{0};
14028 static constexpr char const *
const name{
"base_expression"};
14029 static constexpr char const *
const typestr{
"SgExpression*"};
14030 static constexpr bool traverse{
false};
14031 static constexpr auto mbr_ptr{&SgDeclType::p_base_expression};
14032 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14033 using bind = Desc<SgDeclType, SgExpression* SgDeclType::*, &SgDeclType::p_base_expression>;
14038 static constexpr size_t position{1};
14039 static constexpr char const *
const name{
"base_type"};
14040 static constexpr char const *
const typestr{
"SgType*"};
14041 static constexpr bool traverse{
false};
14042 static constexpr auto mbr_ptr{&SgDeclType::p_base_type};
14043 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14044 using bind = Desc<SgDeclType, SgType* SgDeclType::*, &SgDeclType::p_base_type>;
14049 static constexpr char const *
const name{
"DeclType"};
14050 static constexpr unsigned long variant{367};
14051 static constexpr bool concrete{
true};
14061 static constexpr size_t position{0};
14062 static constexpr char const *
const name{
"body"};
14063 static constexpr char const *
const typestr{
"SgStatement*"};
14064 static constexpr bool traverse{
true};
14066 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14067 using bind = Desc<SgDefaultOptionStmt, SgStatement* SgDefaultOptionStmt::*, &SgDefaultOptionStmt::p_body>;
14071 using field_type = std::string;
14072 static constexpr size_t position{1};
14073 static constexpr char const *
const name{
"default_construct_name"};
14074 static constexpr char const *
const typestr{
"std::string"};
14075 static constexpr bool traverse{
false};
14076 static constexpr auto mbr_ptr{&SgDefaultOptionStmt::p_default_construct_name};
14077 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14078 using bind = Desc<SgDefaultOptionStmt, std::string SgDefaultOptionStmt::*, &SgDefaultOptionStmt::p_default_construct_name>;
14082 using field_type = bool;
14083 static constexpr size_t position{2};
14084 static constexpr char const *
const name{
"has_fall_through"};
14085 static constexpr char const *
const typestr{
"bool"};
14086 static constexpr bool traverse{
false};
14087 static constexpr auto mbr_ptr{&SgDefaultOptionStmt::p_has_fall_through};
14088 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14089 using bind = Desc<SgDefaultOptionStmt, bool SgDefaultOptionStmt::*, &SgDefaultOptionStmt::p_has_fall_through>;
14094 static constexpr char const *
const name{
"DefaultOptionStmt"};
14095 static constexpr unsigned long variant{368};
14096 static constexpr bool concrete{
true};
14106 static constexpr size_t position{0};
14107 static constexpr char const *
const name{
"type"};
14108 static constexpr char const *
const typestr{
"SgType*"};
14109 static constexpr bool traverse{
false};
14110 static constexpr auto mbr_ptr{&SgDefaultSymbol::p_type};
14111 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14112 using bind = Desc<SgDefaultSymbol, SgType* SgDefaultSymbol::*, &SgDefaultSymbol::p_type>;
14117 static constexpr char const *
const name{
"DefaultSymbol"};
14118 static constexpr unsigned long variant{369};
14119 static constexpr bool concrete{
true};
14129 static constexpr char const *
const name{
"DefineDirectiveStatement"};
14130 static constexpr unsigned long variant{370};
14131 static constexpr bool concrete{
true};
14141 static constexpr size_t position{0};
14142 static constexpr char const *
const name{
"variable"};
14143 static constexpr char const *
const typestr{
"SgExpression*"};
14144 static constexpr bool traverse{
true};
14146 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14147 using bind = Desc<SgDeleteExp, SgExpression* SgDeleteExp::*, &SgDeleteExp::p_variable>;
14151 using field_type = short;
14152 static constexpr size_t position{1};
14153 static constexpr char const *
const name{
"is_array"};
14154 static constexpr char const *
const typestr{
"short"};
14155 static constexpr bool traverse{
false};
14157 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14158 using bind = Desc<SgDeleteExp, short SgDeleteExp::*, &SgDeleteExp::p_is_array>;
14162 using field_type = short;
14163 static constexpr size_t position{2};
14164 static constexpr char const *
const name{
"need_global_specifier"};
14165 static constexpr char const *
const typestr{
"short"};
14166 static constexpr bool traverse{
false};
14168 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14169 using bind = Desc<SgDeleteExp, short SgDeleteExp::*, &SgDeleteExp::p_need_global_specifier>;
14174 static constexpr size_t position{3};
14175 static constexpr char const *
const name{
"deleteOperatorDeclaration"};
14176 static constexpr char const *
const typestr{
"SgFunctionDeclaration*"};
14177 static constexpr bool traverse{
false};
14178 static constexpr auto mbr_ptr{&SgDeleteExp::p_deleteOperatorDeclaration};
14179 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14180 using bind = Desc<SgDeleteExp, SgFunctionDeclaration* SgDeleteExp::*, &SgDeleteExp::p_deleteOperatorDeclaration>;
14185 static constexpr char const *
const name{
"DeleteExp"};
14186 static constexpr unsigned long variant{371};
14187 static constexpr bool concrete{
true};
14189 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>>;
14197 static constexpr size_t position{0};
14198 static constexpr char const *
const name{
"end_numeric_label"};
14199 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
14200 static constexpr bool traverse{
false};
14201 static constexpr auto mbr_ptr{&SgDerivedTypeStatement::p_end_numeric_label};
14202 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14203 using bind = Desc<SgDerivedTypeStatement, SgLabelRefExp* SgDerivedTypeStatement::*, &SgDerivedTypeStatement::p_end_numeric_label>;
14208 static constexpr char const *
const name{
"DerivedTypeStatement"};
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{
"designatorList"};
14222 static constexpr char const *
const typestr{
"SgExprListExp*"};
14223 static constexpr bool traverse{
true};
14224 static constexpr auto mbr_ptr{&SgDesignatedInitializer::p_designatorList};
14225 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14226 using bind = Desc<SgDesignatedInitializer, SgExprListExp* SgDesignatedInitializer::*, &SgDesignatedInitializer::p_designatorList>;
14231 static constexpr size_t position{1};
14232 static constexpr char const *
const name{
"memberInit"};
14233 static constexpr char const *
const typestr{
"SgInitializer*"};
14234 static constexpr bool traverse{
true};
14235 static constexpr auto mbr_ptr{&SgDesignatedInitializer::p_memberInit};
14236 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14237 using bind = Desc<SgDesignatedInitializer, SgInitializer* SgDesignatedInitializer::*, &SgDesignatedInitializer::p_memberInit>;
14242 static constexpr char const *
const name{
"DesignatedInitializer"};
14243 static constexpr unsigned long variant{373};
14244 static constexpr bool concrete{
true};
14254 static constexpr size_t position{0};
14255 static constexpr char const *
const name{
"element"};
14256 static constexpr char const *
const typestr{
"SgKeyDatumPair*"};
14257 static constexpr bool traverse{
true};
14258 static constexpr auto mbr_ptr{&SgDictionaryComprehension::p_element};
14259 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14260 using bind = Desc<SgDictionaryComprehension, SgKeyDatumPair* SgDictionaryComprehension::*, &SgDictionaryComprehension::p_element>;
14265 static constexpr size_t position{1};
14266 static constexpr char const *
const name{
"generators"};
14267 static constexpr char const *
const typestr{
"SgExprListExp*"};
14268 static constexpr bool traverse{
true};
14269 static constexpr auto mbr_ptr{&SgDictionaryComprehension::p_generators};
14270 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14271 using bind = Desc<SgDictionaryComprehension, SgExprListExp* SgDictionaryComprehension::*, &SgDictionaryComprehension::p_generators>;
14276 static constexpr char const *
const name{
"DictionaryComprehension"};
14277 static constexpr unsigned long variant{374};
14278 static constexpr bool concrete{
true};
14287 using field_type = SgKeyDatumPairPtrList;
14288 static constexpr size_t position{0};
14289 static constexpr char const *
const name{
"key_datum_pairs"};
14290 static constexpr char const *
const typestr{
"SgKeyDatumPairPtrList"};
14291 static constexpr bool traverse{
true};
14292 static constexpr auto mbr_ptr{&SgDictionaryExp::p_key_datum_pairs};
14293 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14294 using bind = Desc<SgDictionaryExp, SgKeyDatumPairPtrList SgDictionaryExp::*, &SgDictionaryExp::p_key_datum_pairs>;
14299 static constexpr char const *
const name{
"DictionaryExp"};
14300 static constexpr unsigned long variant{375};
14301 static constexpr bool concrete{
true};
14311 static constexpr size_t position{0};
14312 static constexpr char const *
const name{
"array"};
14313 static constexpr char const *
const typestr{
"SgInitializedName*"};
14314 static constexpr bool traverse{
false};
14315 static constexpr auto mbr_ptr{&SgDimensionObject::p_array};
14316 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14317 using bind = Desc<SgDimensionObject, SgInitializedName* SgDimensionObject::*, &SgDimensionObject::p_array>;
14322 static constexpr size_t position{1};
14323 static constexpr char const *
const name{
"shape"};
14324 static constexpr char const *
const typestr{
"SgExprListExp*"};
14325 static constexpr bool traverse{
false};
14326 static constexpr auto mbr_ptr{&SgDimensionObject::p_shape};
14327 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14328 using bind = Desc<SgDimensionObject, SgExprListExp* SgDimensionObject::*, &SgDimensionObject::p_shape>;
14333 static constexpr char const *
const name{
"DimensionObject"};
14334 static constexpr unsigned long variant{376};
14335 static constexpr bool concrete{
true};
14345 static constexpr char const *
const name{
"DirectedGraphEdge"};
14346 static constexpr unsigned long variant{378};
14347 static constexpr bool concrete{
true};
14356 using field_type = std::string;
14357 static constexpr size_t position{0};
14358 static constexpr char const *
const name{
"name"};
14359 static constexpr char const *
const typestr{
"std::string"};
14360 static constexpr bool traverse{
false};
14361 static constexpr auto mbr_ptr{&SgDirectory::p_name};
14362 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14363 using bind = Desc<SgDirectory, std::string SgDirectory::*, &SgDirectory::p_name>;
14368 static constexpr size_t position{1};
14369 static constexpr char const *
const name{
"fileList"};
14370 static constexpr char const *
const typestr{
"SgFileList*"};
14371 static constexpr bool traverse{
true};
14372 static constexpr auto mbr_ptr{&SgDirectory::p_fileList};
14373 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14374 using bind = Desc<SgDirectory, SgFileList* SgDirectory::*, &SgDirectory::p_fileList>;
14379 static constexpr size_t position{2};
14380 static constexpr char const *
const name{
"directoryList"};
14381 static constexpr char const *
const typestr{
"SgDirectoryList*"};
14382 static constexpr bool traverse{
true};
14383 static constexpr auto mbr_ptr{&SgDirectory::p_directoryList};
14384 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14385 using bind = Desc<SgDirectory, SgDirectoryList* SgDirectory::*, &SgDirectory::p_directoryList>;
14390 static constexpr size_t position{3};
14391 static constexpr char const *
const name{
"attributeMechanism"};
14392 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
14393 static constexpr bool traverse{
false};
14394 static constexpr auto mbr_ptr{&SgDirectory::p_attributeMechanism};
14395 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14396 using bind = Desc<SgDirectory, AstAttributeMechanism* SgDirectory::*, &SgDirectory::p_attributeMechanism>;
14401 static constexpr char const *
const name{
"Directory"};
14402 static constexpr unsigned long variant{380};
14403 static constexpr bool concrete{
true};
14405 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>>;
14412 using field_type = SgDirectoryPtrList;
14413 static constexpr size_t position{0};
14414 static constexpr char const *
const name{
"listOfDirectories"};
14415 static constexpr char const *
const typestr{
"SgDirectoryPtrList"};
14416 static constexpr bool traverse{
true};
14417 static constexpr auto mbr_ptr{&SgDirectoryList::p_listOfDirectories};
14418 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14419 using bind = Desc<SgDirectoryList, SgDirectoryPtrList SgDirectoryList::*, &SgDirectoryList::p_listOfDirectories>;
14424 static constexpr char const *
const name{
"DirectoryList"};
14425 static constexpr unsigned long variant{381};
14426 static constexpr bool concrete{
true};
14436 static constexpr char const *
const name{
"DivAssignOp"};
14437 static constexpr unsigned long variant{382};
14438 static constexpr bool concrete{
true};
14448 static constexpr char const *
const name{
"DivideOp"};
14449 static constexpr unsigned long variant{383};
14450 static constexpr bool concrete{
true};
14460 static constexpr size_t position{0};
14461 static constexpr char const *
const name{
"body"};
14462 static constexpr char const *
const typestr{
"SgStatement*"};
14463 static constexpr bool traverse{
true};
14465 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14466 using bind = Desc<SgDoWhileStmt, SgStatement* SgDoWhileStmt::*, &SgDoWhileStmt::p_body>;
14471 static constexpr size_t position{1};
14472 static constexpr char const *
const name{
"condition"};
14473 static constexpr char const *
const typestr{
"SgStatement*"};
14474 static constexpr bool traverse{
true};
14476 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14477 using bind = Desc<SgDoWhileStmt, SgStatement* SgDoWhileStmt::*, &SgDoWhileStmt::p_condition>;
14482 static constexpr char const *
const name{
"DoWhileStmt"};
14483 static constexpr unsigned long variant{384};
14484 static constexpr bool concrete{
true};
14494 static constexpr char const *
const name{
"DotExp"};
14495 static constexpr unsigned long variant{385};
14496 static constexpr bool concrete{
true};
14506 static constexpr char const *
const name{
"DotStarOp"};
14507 static constexpr unsigned long variant{386};
14508 static constexpr bool concrete{
true};
14517 using field_type = double;
14518 static constexpr size_t position{0};
14519 static constexpr char const *
const name{
"value"};
14520 static constexpr char const *
const typestr{
"double"};
14521 static constexpr bool traverse{
false};
14523 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14524 using bind = Desc<SgDoubleVal, double SgDoubleVal::*, &SgDoubleVal::p_value>;
14528 using field_type = std::string;
14529 static constexpr size_t position{1};
14530 static constexpr char const *
const name{
"valueString"};
14531 static constexpr char const *
const typestr{
"std::string"};
14532 static constexpr bool traverse{
false};
14533 static constexpr auto mbr_ptr{&SgDoubleVal::p_valueString};
14534 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14535 using bind = Desc<SgDoubleVal, std::string SgDoubleVal::*, &SgDoubleVal::p_valueString>;
14540 static constexpr char const *
const name{
"DoubleVal"};
14541 static constexpr unsigned long variant{387};
14542 static constexpr bool concrete{
true};
14552 static constexpr size_t position{0};
14553 static constexpr char const *
const name{
"modifier"};
14554 static constexpr char const *
const typestr{
"SgElaboratedTypeModifier::elaborated_type_modifier_enum"};
14555 static constexpr bool traverse{
false};
14556 static constexpr auto mbr_ptr{&SgElaboratedTypeModifier::p_modifier};
14557 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14558 using bind = Desc<SgElaboratedTypeModifier, SgElaboratedTypeModifier::elaborated_type_modifier_enum SgElaboratedTypeModifier::*, &SgElaboratedTypeModifier::p_modifier>;
14563 static constexpr char const *
const name{
"ElaboratedTypeModifier"};
14564 static constexpr unsigned long variant{388};
14565 static constexpr bool concrete{
true};
14575 static constexpr char const *
const name{
"ElementwiseOp"};
14576 static constexpr unsigned long variant{389};
14577 static constexpr bool concrete{
false};
14587 static constexpr char const *
const name{
"ElementwiseAddOp"};
14588 static constexpr unsigned long variant{390};
14589 static constexpr bool concrete{
true};
14599 static constexpr char const *
const name{
"ElementwiseDivideOp"};
14600 static constexpr unsigned long variant{391};
14601 static constexpr bool concrete{
true};
14611 static constexpr char const *
const name{
"ElementwiseLeftDivideOp"};
14612 static constexpr unsigned long variant{392};
14613 static constexpr bool concrete{
true};
14623 static constexpr char const *
const name{
"ElementwiseMultiplyOp"};
14624 static constexpr unsigned long variant{393};
14625 static constexpr bool concrete{
true};
14635 static constexpr char const *
const name{
"ElementwisePowerOp"};
14636 static constexpr unsigned long variant{394};
14637 static constexpr bool concrete{
true};
14647 static constexpr char const *
const name{
"ElementwiseSubtractOp"};
14648 static constexpr unsigned long variant{395};
14649 static constexpr bool concrete{
true};
14659 static constexpr char const *
const name{
"ElseDirectiveStatement"};
14660 static constexpr unsigned long variant{396};
14661 static constexpr bool concrete{
true};
14671 static constexpr size_t position{0};
14672 static constexpr char const *
const name{
"condition"};
14673 static constexpr char const *
const typestr{
"SgExpression*"};
14674 static constexpr bool traverse{
true};
14675 static constexpr auto mbr_ptr{&SgElseWhereStatement::p_condition};
14676 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14677 using bind = Desc<SgElseWhereStatement, SgExpression* SgElseWhereStatement::*, &SgElseWhereStatement::p_condition>;
14682 static constexpr size_t position{1};
14683 static constexpr char const *
const name{
"body"};
14684 static constexpr char const *
const typestr{
"SgBasicBlock*"};
14685 static constexpr bool traverse{
true};
14686 static constexpr auto mbr_ptr{&SgElseWhereStatement::p_body};
14687 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14688 using bind = Desc<SgElseWhereStatement, SgBasicBlock* SgElseWhereStatement::*, &SgElseWhereStatement::p_body>;
14693 static constexpr size_t position{2};
14694 static constexpr char const *
const name{
"elsewhere"};
14695 static constexpr char const *
const typestr{
"SgElseWhereStatement*"};
14696 static constexpr bool traverse{
true};
14697 static constexpr auto mbr_ptr{&SgElseWhereStatement::p_elsewhere};
14698 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14699 using bind = Desc<SgElseWhereStatement, SgElseWhereStatement* SgElseWhereStatement::*, &SgElseWhereStatement::p_elsewhere>;
14704 static constexpr char const *
const name{
"ElseWhereStatement"};
14705 static constexpr unsigned long variant{397};
14706 static constexpr bool concrete{
true};
14716 static constexpr char const *
const name{
"ElseifDirectiveStatement"};
14717 static constexpr unsigned long variant{398};
14718 static constexpr bool concrete{
true};
14728 static constexpr char const *
const name{
"EmptyDeclaration"};
14729 static constexpr unsigned long variant{399};
14730 static constexpr bool concrete{
true};
14740 static constexpr char const *
const name{
"EmptyDirectiveStatement"};
14741 static constexpr unsigned long variant{400};
14742 static constexpr bool concrete{
true};
14752 static constexpr char const *
const name{
"EndfileStatement"};
14753 static constexpr unsigned long variant{401};
14754 static constexpr bool concrete{
true};
14764 static constexpr char const *
const name{
"EndifDirectiveStatement"};
14765 static constexpr unsigned long variant{402};
14766 static constexpr bool concrete{
true};
14776 static constexpr size_t position{0};
14777 static constexpr char const *
const name{
"result_name"};
14778 static constexpr char const *
const typestr{
"SgInitializedName*"};
14779 static constexpr bool traverse{
true};
14780 static constexpr auto mbr_ptr{&SgEntryStatement::p_result_name};
14781 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14782 using bind = Desc<SgEntryStatement, SgInitializedName* SgEntryStatement::*, &SgEntryStatement::p_result_name>;
14787 static constexpr char const *
const name{
"EntryStatement"};
14788 static constexpr unsigned long variant{403};
14789 static constexpr bool concrete{
true};
14799 static constexpr size_t position{0};
14800 static constexpr char const *
const name{
"name"};
14801 static constexpr char const *
const typestr{
"SgName"};
14802 static constexpr bool traverse{
false};
14804 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14805 using bind = Desc<SgEnumDeclaration, SgName SgEnumDeclaration::*, &SgEnumDeclaration::p_name>;
14809 using field_type = bool;
14810 static constexpr size_t position{1};
14811 static constexpr char const *
const name{
"embedded"};
14812 static constexpr char const *
const typestr{
"bool"};
14813 static constexpr bool traverse{
false};
14815 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14816 using bind = Desc<SgEnumDeclaration, bool SgEnumDeclaration::*, &SgEnumDeclaration::p_embedded>;
14821 static constexpr size_t position{2};
14822 static constexpr char const *
const name{
"type"};
14823 static constexpr char const *
const typestr{
"SgEnumType*"};
14824 static constexpr bool traverse{
false};
14826 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14827 using bind = Desc<SgEnumDeclaration, SgEnumType* SgEnumDeclaration::*, &SgEnumDeclaration::p_type>;
14832 static constexpr size_t position{3};
14833 static constexpr char const *
const name{
"adaParentType"};
14834 static constexpr char const *
const typestr{
"SgType*"};
14835 static constexpr bool traverse{
false};
14836 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_adaParentType};
14837 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14838 using bind = Desc<SgEnumDeclaration, SgType* SgEnumDeclaration::*, &SgEnumDeclaration::p_adaParentType>;
14842 using field_type = SgInitializedNamePtrList;
14843 static constexpr size_t position{4};
14844 static constexpr char const *
const name{
"enumerators"};
14845 static constexpr char const *
const typestr{
"SgInitializedNamePtrList"};
14846 static constexpr bool traverse{
true};
14848 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14849 using bind = Desc<SgEnumDeclaration, SgInitializedNamePtrList SgEnumDeclaration::*, &SgEnumDeclaration::p_enumerators>;
14854 static constexpr size_t position{5};
14855 static constexpr char const *
const name{
"scope"};
14856 static constexpr char const *
const typestr{
"SgScopeStatement*"};
14857 static constexpr bool traverse{
false};
14859 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14860 using bind = Desc<SgEnumDeclaration, SgScopeStatement* SgEnumDeclaration::*, &SgEnumDeclaration::p_scope>;
14864 using field_type = bool;
14865 static constexpr size_t position{6};
14866 static constexpr char const *
const name{
"isUnNamed"};
14867 static constexpr char const *
const typestr{
"bool"};
14868 static constexpr bool traverse{
false};
14869 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_isUnNamed};
14870 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14871 using bind = Desc<SgEnumDeclaration, bool SgEnumDeclaration::*, &SgEnumDeclaration::p_isUnNamed>;
14875 using field_type = bool;
14876 static constexpr size_t position{7};
14877 static constexpr char const *
const name{
"isAutonomousDeclaration"};
14878 static constexpr char const *
const typestr{
"bool"};
14879 static constexpr bool traverse{
false};
14880 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_isAutonomousDeclaration};
14881 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14882 using bind = Desc<SgEnumDeclaration, bool SgEnumDeclaration::*, &SgEnumDeclaration::p_isAutonomousDeclaration>;
14887 static constexpr size_t position{8};
14888 static constexpr char const *
const name{
"field_type"};
14889 static constexpr char const *
const typestr{
"SgType*"};
14890 static constexpr bool traverse{
false};
14891 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_field_type};
14892 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14893 using bind = Desc<SgEnumDeclaration, SgType* SgEnumDeclaration::*, &SgEnumDeclaration::p_field_type>;
14897 using field_type = bool;
14898 static constexpr size_t position{9};
14899 static constexpr char const *
const name{
"isScopedEnum"};
14900 static constexpr char const *
const typestr{
"bool"};
14901 static constexpr bool traverse{
false};
14902 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_isScopedEnum};
14903 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14904 using bind = Desc<SgEnumDeclaration, bool SgEnumDeclaration::*, &SgEnumDeclaration::p_isScopedEnum>;
14908 using field_type = int;
14909 static constexpr size_t position{10};
14910 static constexpr char const *
const name{
"name_qualification_length"};
14911 static constexpr char const *
const typestr{
"int"};
14912 static constexpr bool traverse{
false};
14913 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_name_qualification_length};
14914 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14915 using bind = Desc<SgEnumDeclaration, int SgEnumDeclaration::*, &SgEnumDeclaration::p_name_qualification_length>;
14919 using field_type = bool;
14920 static constexpr size_t position{11};
14921 static constexpr char const *
const name{
"type_elaboration_required"};
14922 static constexpr char const *
const typestr{
"bool"};
14923 static constexpr bool traverse{
false};
14924 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_type_elaboration_required};
14925 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14926 using bind = Desc<SgEnumDeclaration, bool SgEnumDeclaration::*, &SgEnumDeclaration::p_type_elaboration_required>;
14930 using field_type = bool;
14931 static constexpr size_t position{12};
14932 static constexpr char const *
const name{
"global_qualification_required"};
14933 static constexpr char const *
const typestr{
"bool"};
14934 static constexpr bool traverse{
false};
14935 static constexpr auto mbr_ptr{&SgEnumDeclaration::p_global_qualification_required};
14936 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14937 using bind = Desc<SgEnumDeclaration, bool SgEnumDeclaration::*, &SgEnumDeclaration::p_global_qualification_required>;
14942 static constexpr char const *
const name{
"EnumDeclaration"};
14943 static constexpr unsigned long variant{404};
14944 static constexpr bool concrete{
true};
14946 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>>;
14954 static constexpr size_t position{0};
14955 static constexpr char const *
const name{
"declaration"};
14956 static constexpr char const *
const typestr{
"SgInitializedName*"};
14957 static constexpr bool traverse{
false};
14958 static constexpr auto mbr_ptr{&SgEnumFieldSymbol::p_declaration};
14959 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14960 using bind = Desc<SgEnumFieldSymbol, SgInitializedName* SgEnumFieldSymbol::*, &SgEnumFieldSymbol::p_declaration>;
14965 static constexpr char const *
const name{
"EnumFieldSymbol"};
14966 static constexpr unsigned long variant{405};
14967 static constexpr bool concrete{
true};
14977 static constexpr size_t position{0};
14978 static constexpr char const *
const name{
"declaration"};
14979 static constexpr char const *
const typestr{
"SgEnumDeclaration*"};
14980 static constexpr bool traverse{
true};
14981 static constexpr auto mbr_ptr{&SgEnumSymbol::p_declaration};
14982 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
14983 using bind = Desc<SgEnumSymbol, SgEnumDeclaration* SgEnumSymbol::*, &SgEnumSymbol::p_declaration>;
14988 static constexpr char const *
const name{
"EnumSymbol"};
14989 static constexpr unsigned long variant{406};
14990 static constexpr bool concrete{
true};
15000 static constexpr char const *
const name{
"EnumType"};
15001 static constexpr unsigned long variant{407};
15002 static constexpr bool concrete{
true};
15011 using field_type =
long long int;
15012 static constexpr size_t position{0};
15013 static constexpr char const *
const name{
"value"};
15014 static constexpr char const *
const typestr{
"long long int"};
15015 static constexpr bool traverse{
false};
15016 static constexpr auto mbr_ptr{&SgEnumVal::p_value};
15017 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15018 using bind = Desc<SgEnumVal, long long int SgEnumVal::*, &SgEnumVal::p_value>;
15023 static constexpr size_t position{1};
15024 static constexpr char const *
const name{
"declaration"};
15025 static constexpr char const *
const typestr{
"SgEnumDeclaration*"};
15026 static constexpr bool traverse{
false};
15027 static constexpr auto mbr_ptr{&SgEnumVal::p_declaration};
15028 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15029 using bind = Desc<SgEnumVal, SgEnumDeclaration* SgEnumVal::*, &SgEnumVal::p_declaration>;
15034 static constexpr size_t position{2};
15035 static constexpr char const *
const name{
"name"};
15036 static constexpr char const *
const typestr{
"SgName"};
15037 static constexpr bool traverse{
false};
15038 static constexpr auto mbr_ptr{&SgEnumVal::p_name};
15039 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15040 using bind = Desc<SgEnumVal, SgName SgEnumVal::*, &SgEnumVal::p_name>;
15044 using field_type = bool;
15045 static constexpr size_t position{3};
15046 static constexpr char const *
const name{
"requiresNameQualification"};
15047 static constexpr char const *
const typestr{
"bool"};
15048 static constexpr bool traverse{
false};
15049 static constexpr auto mbr_ptr{&SgEnumVal::p_requiresNameQualification};
15050 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15051 using bind = Desc<SgEnumVal, bool SgEnumVal::*, &SgEnumVal::p_requiresNameQualification>;
15055 using field_type = int;
15056 static constexpr size_t position{4};
15057 static constexpr char const *
const name{
"name_qualification_length"};
15058 static constexpr char const *
const typestr{
"int"};
15059 static constexpr bool traverse{
false};
15060 static constexpr auto mbr_ptr{&SgEnumVal::p_name_qualification_length};
15061 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15062 using bind = Desc<SgEnumVal, int SgEnumVal::*, &SgEnumVal::p_name_qualification_length>;
15066 using field_type = bool;
15067 static constexpr size_t position{5};
15068 static constexpr char const *
const name{
"type_elaboration_required"};
15069 static constexpr char const *
const typestr{
"bool"};
15070 static constexpr bool traverse{
false};
15071 static constexpr auto mbr_ptr{&SgEnumVal::p_type_elaboration_required};
15072 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15073 using bind = Desc<SgEnumVal, bool SgEnumVal::*, &SgEnumVal::p_type_elaboration_required>;
15077 using field_type = bool;
15078 static constexpr size_t position{6};
15079 static constexpr char const *
const name{
"global_qualification_required"};
15080 static constexpr char const *
const typestr{
"bool"};
15081 static constexpr bool traverse{
false};
15082 static constexpr auto mbr_ptr{&SgEnumVal::p_global_qualification_required};
15083 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15084 using bind = Desc<SgEnumVal, bool SgEnumVal::*, &SgEnumVal::p_global_qualification_required>;
15089 static constexpr char const *
const name{
"EnumVal"};
15090 static constexpr unsigned long variant{408};
15091 static constexpr bool concrete{
true};
15093 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>>;
15101 static constexpr char const *
const name{
"EqualityOp"};
15102 static constexpr unsigned long variant{409};
15103 static constexpr bool concrete{
true};
15113 static constexpr size_t position{0};
15114 static constexpr char const *
const name{
"equivalence_set_list"};
15115 static constexpr char const *
const typestr{
"SgExprListExp*"};
15116 static constexpr bool traverse{
false};
15117 static constexpr auto mbr_ptr{&SgEquivalenceStatement::p_equivalence_set_list};
15118 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15119 using bind = Desc<SgEquivalenceStatement, SgExprListExp* SgEquivalenceStatement::*, &SgEquivalenceStatement::p_equivalence_set_list>;
15124 static constexpr char const *
const name{
"EquivalenceStatement"};
15125 static constexpr unsigned long variant{410};
15126 static constexpr bool concrete{
true};
15136 static constexpr char const *
const name{
"ErrorDirectiveStatement"};
15137 static constexpr unsigned long variant{411};
15138 static constexpr bool concrete{
true};
15148 static constexpr size_t position{0};
15149 static constexpr char const *
const name{
"executable"};
15150 static constexpr char const *
const typestr{
"SgExpression*"};
15151 static constexpr bool traverse{
true};
15153 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15154 using bind = Desc<SgExecStatement, SgExpression* SgExecStatement::*, &SgExecStatement::p_executable>;
15159 static constexpr size_t position{1};
15160 static constexpr char const *
const name{
"globals"};
15161 static constexpr char const *
const typestr{
"SgExpression*"};
15162 static constexpr bool traverse{
true};
15164 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15165 using bind = Desc<SgExecStatement, SgExpression* SgExecStatement::*, &SgExecStatement::p_globals>;
15170 static constexpr size_t position{2};
15171 static constexpr char const *
const name{
"locals"};
15172 static constexpr char const *
const typestr{
"SgExpression*"};
15173 static constexpr bool traverse{
true};
15175 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15176 using bind = Desc<SgExecStatement, SgExpression* SgExecStatement::*, &SgExecStatement::p_locals>;
15181 static constexpr char const *
const name{
"ExecStatement"};
15182 static constexpr unsigned long variant{412};
15183 static constexpr bool concrete{
true};
15193 static constexpr char const *
const name{
"ExponentiationOp"};
15194 static constexpr unsigned long variant{413};
15195 static constexpr bool concrete{
true};
15205 static constexpr char const *
const name{
"ExponentiationAssignOp"};
15206 static constexpr unsigned long variant{414};
15207 static constexpr bool concrete{
true};
15216 using field_type = SgExpressionPtrList;
15217 static constexpr size_t position{0};
15218 static constexpr char const *
const name{
"expressions"};
15219 static constexpr char const *
const typestr{
"SgExpressionPtrList"};
15220 static constexpr bool traverse{
true};
15221 static constexpr auto mbr_ptr{&SgExprListExp::p_expressions};
15222 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15223 using bind = Desc<SgExprListExp, SgExpressionPtrList SgExprListExp::*, &SgExprListExp::p_expressions>;
15228 static constexpr char const *
const name{
"ExprListExp"};
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{
"expression"};
15242 static constexpr char const *
const typestr{
"SgExpression*"};
15243 static constexpr bool traverse{
true};
15244 static constexpr auto mbr_ptr{&SgExprStatement::p_expression};
15245 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15246 using bind = Desc<SgExprStatement, SgExpression* SgExprStatement::*, &SgExprStatement::p_expression>;
15251 static constexpr char const *
const name{
"ExprStatement"};
15252 static constexpr unsigned long variant{416};
15253 static constexpr bool concrete{
true};
15262 using field_type = bool;
15263 static constexpr size_t position{0};
15264 static constexpr char const *
const name{
"need_paren"};
15265 static constexpr char const *
const typestr{
"bool"};
15266 static constexpr bool traverse{
false};
15268 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15269 using bind = Desc<SgExpression, bool SgExpression::*, &SgExpression::p_need_paren>;
15273 using field_type = bool;
15274 static constexpr size_t position{1};
15275 static constexpr char const *
const name{
"lvalue"};
15276 static constexpr char const *
const typestr{
"bool"};
15277 static constexpr bool traverse{
false};
15279 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15280 using bind = Desc<SgExpression, bool SgExpression::*, &SgExpression::p_lvalue>;
15284 using field_type = bool;
15285 static constexpr size_t position{2};
15286 static constexpr char const *
const name{
"global_qualified_name"};
15287 static constexpr char const *
const typestr{
"bool"};
15288 static constexpr bool traverse{
false};
15289 static constexpr auto mbr_ptr{&SgExpression::p_global_qualified_name};
15290 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15291 using bind = Desc<SgExpression, bool SgExpression::*, &SgExpression::p_global_qualified_name>;
15296 static constexpr size_t position{3};
15297 static constexpr char const *
const name{
"operatorPosition"};
15298 static constexpr char const *
const typestr{
"Sg_File_Info*"};
15299 static constexpr bool traverse{
false};
15300 static constexpr auto mbr_ptr{&SgExpression::p_operatorPosition};
15301 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15302 using bind = Desc<SgExpression, Sg_File_Info* SgExpression::*, &SgExpression::p_operatorPosition>;
15307 static constexpr char const *
const name{
"Expression"};
15308 static constexpr unsigned long variant{417};
15309 static constexpr bool concrete{
false};
15310 using subclasses_t =
mp::List<SgUnaryOp, SgBinaryOp, SgExprListExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgCallExpression, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgSuperExp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgStringConversion, SgYieldExpression, SgTemplateFunctionRefExp, SgTemplateMemberFunctionRefExp, SgAlignOfOp, SgRangeExp, SgMagicColonExp, SgTypeTraitBuiltinOperator, SgCompoundLiteralExp, SgJavaAnnotation, SgJavaTypeExpression, SgTypeExpression, SgClassExp, SgFunctionParameterRefExp, SgLambdaExp, SgHereExp, SgAtExp, SgFinishExp, SgNoexceptOp, SgNonrealRefExp, SgAdaTaskRefExp, SgAdaProtectedRefExp, SgFoldExpression, SgAwaitExpression, SgChooseExpression, SgAdaAttributeExp, SgJovialTablePresetExp, SgJovialPresetPositionExp, SgAdaOthersExp, SgAdaRenamingRefExp, SgAdaUnitRefExp>;
15311 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>>;
15319 static constexpr char const *
const name{
"ExpressionRoot"};
15320 static constexpr unsigned long variant{418};
15321 static constexpr bool concrete{
true};
15331 static constexpr size_t position{0};
15332 static constexpr char const *
const name{
"startOfConstruct"};
15333 static constexpr char const *
const typestr{
"Sg_File_Info*"};
15334 static constexpr bool traverse{
false};
15335 static constexpr auto mbr_ptr{&SgFile::p_startOfConstruct};
15336 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15337 using bind = Desc<SgFile, Sg_File_Info* SgFile::*, &SgFile::p_startOfConstruct>;
15341 using field_type = SgStringList;
15342 static constexpr size_t position{1};
15343 static constexpr char const *
const name{
"originalCommandLineArgumentList"};
15344 static constexpr char const *
const typestr{
"SgStringList"};
15345 static constexpr bool traverse{
false};
15347 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15348 using bind = Desc<SgFile, SgStringList SgFile::*, &SgFile::p_originalCommandLineArgumentList>;
15352 using field_type = int;
15353 static constexpr size_t position{2};
15354 static constexpr char const *
const name{
"verbose"};
15355 static constexpr char const *
const typestr{
"int"};
15356 static constexpr bool traverse{
false};
15357 static constexpr auto mbr_ptr{&SgFile::p_verbose};
15358 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15359 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_verbose>;
15363 using field_type = bool;
15364 static constexpr size_t position{3};
15365 static constexpr char const *
const name{
"output_warnings"};
15366 static constexpr char const *
const typestr{
"bool"};
15367 static constexpr bool traverse{
false};
15368 static constexpr auto mbr_ptr{&SgFile::p_output_warnings};
15369 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15370 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_output_warnings>;
15374 using field_type = bool;
15375 static constexpr size_t position{4};
15376 static constexpr char const *
const name{
"C_only"};
15377 static constexpr char const *
const typestr{
"bool"};
15378 static constexpr bool traverse{
false};
15379 static constexpr auto mbr_ptr{&SgFile::p_C_only};
15380 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15381 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_C_only>;
15385 using field_type = bool;
15386 static constexpr size_t position{5};
15387 static constexpr char const *
const name{
"Cxx_only"};
15388 static constexpr char const *
const typestr{
"bool"};
15389 static constexpr bool traverse{
false};
15390 static constexpr auto mbr_ptr{&SgFile::p_Cxx_only};
15391 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15392 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Cxx_only>;
15396 using field_type = bool;
15397 static constexpr size_t position{6};
15398 static constexpr char const *
const name{
"Fortran_only"};
15399 static constexpr char const *
const typestr{
"bool"};
15400 static constexpr bool traverse{
false};
15401 static constexpr auto mbr_ptr{&SgFile::p_Fortran_only};
15402 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15403 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Fortran_only>;
15407 using field_type = bool;
15408 static constexpr size_t position{7};
15409 static constexpr char const *
const name{
"CoArrayFortran_only"};
15410 static constexpr char const *
const typestr{
"bool"};
15411 static constexpr bool traverse{
false};
15412 static constexpr auto mbr_ptr{&SgFile::p_CoArrayFortran_only};
15413 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15414 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_CoArrayFortran_only>;
15418 using field_type = int;
15419 static constexpr size_t position{8};
15420 static constexpr char const *
const name{
"upc_threads"};
15421 static constexpr char const *
const typestr{
"int"};
15422 static constexpr bool traverse{
false};
15423 static constexpr auto mbr_ptr{&SgFile::p_upc_threads};
15424 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15425 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_upc_threads>;
15429 using field_type = bool;
15430 static constexpr size_t position{9};
15431 static constexpr char const *
const name{
"Java_only"};
15432 static constexpr char const *
const typestr{
"bool"};
15433 static constexpr bool traverse{
false};
15434 static constexpr auto mbr_ptr{&SgFile::p_Java_only};
15435 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15436 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Java_only>;
15440 using field_type = bool;
15441 static constexpr size_t position{10};
15442 static constexpr char const *
const name{
"Jvm_only"};
15443 static constexpr char const *
const typestr{
"bool"};
15444 static constexpr bool traverse{
false};
15445 static constexpr auto mbr_ptr{&SgFile::p_Jvm_only};
15446 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15447 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Jvm_only>;
15451 using field_type = bool;
15452 static constexpr size_t position{11};
15453 static constexpr char const *
const name{
"Jovial_only"};
15454 static constexpr char const *
const typestr{
"bool"};
15455 static constexpr bool traverse{
false};
15456 static constexpr auto mbr_ptr{&SgFile::p_Jovial_only};
15457 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15458 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Jovial_only>;
15462 using field_type = bool;
15463 static constexpr size_t position{12};
15464 static constexpr char const *
const name{
"PHP_only"};
15465 static constexpr char const *
const typestr{
"bool"};
15466 static constexpr bool traverse{
false};
15467 static constexpr auto mbr_ptr{&SgFile::p_PHP_only};
15468 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15469 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_PHP_only>;
15473 using field_type = bool;
15474 static constexpr size_t position{13};
15475 static constexpr char const *
const name{
"Python_only"};
15476 static constexpr char const *
const typestr{
"bool"};
15477 static constexpr bool traverse{
false};
15478 static constexpr auto mbr_ptr{&SgFile::p_Python_only};
15479 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15480 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Python_only>;
15484 using field_type = bool;
15485 static constexpr size_t position{14};
15486 static constexpr char const *
const name{
"Cuda_only"};
15487 static constexpr char const *
const typestr{
"bool"};
15488 static constexpr bool traverse{
false};
15489 static constexpr auto mbr_ptr{&SgFile::p_Cuda_only};
15490 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15491 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Cuda_only>;
15495 using field_type = bool;
15496 static constexpr size_t position{15};
15497 static constexpr char const *
const name{
"OpenCL_only"};
15498 static constexpr char const *
const typestr{
"bool"};
15499 static constexpr bool traverse{
false};
15500 static constexpr auto mbr_ptr{&SgFile::p_OpenCL_only};
15501 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15502 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_OpenCL_only>;
15506 using field_type = bool;
15507 static constexpr size_t position{16};
15508 static constexpr char const *
const name{
"Csharp_only"};
15509 static constexpr char const *
const typestr{
"bool"};
15510 static constexpr bool traverse{
false};
15511 static constexpr auto mbr_ptr{&SgFile::p_Csharp_only};
15512 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15513 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Csharp_only>;
15517 using field_type = bool;
15518 static constexpr size_t position{17};
15519 static constexpr char const *
const name{
"Ada_only"};
15520 static constexpr char const *
const typestr{
"bool"};
15521 static constexpr bool traverse{
false};
15522 static constexpr auto mbr_ptr{&SgFile::p_Ada_only};
15523 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15524 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_Ada_only>;
15528 using field_type = bool;
15529 static constexpr size_t position{18};
15530 static constexpr char const *
const name{
"requires_C_preprocessor"};
15531 static constexpr char const *
const typestr{
"bool"};
15532 static constexpr bool traverse{
false};
15533 static constexpr auto mbr_ptr{&SgFile::p_requires_C_preprocessor};
15534 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15535 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_requires_C_preprocessor>;
15539 using field_type = bool;
15540 static constexpr size_t position{19};
15541 static constexpr char const *
const name{
"binary_only"};
15542 static constexpr char const *
const typestr{
"bool"};
15543 static constexpr bool traverse{
false};
15544 static constexpr auto mbr_ptr{&SgFile::p_binary_only};
15545 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15546 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_binary_only>;
15551 static constexpr size_t position{20};
15552 static constexpr char const *
const name{
"inputFormat"};
15553 static constexpr char const *
const typestr{
"SgFile::outputFormatOption_enum"};
15554 static constexpr bool traverse{
false};
15555 static constexpr auto mbr_ptr{&SgFile::p_inputFormat};
15556 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15557 using bind = Desc<SgFile, SgFile::outputFormatOption_enum SgFile::*, &SgFile::p_inputFormat>;
15562 static constexpr size_t position{21};
15563 static constexpr char const *
const name{
"outputFormat"};
15564 static constexpr char const *
const typestr{
"SgFile::outputFormatOption_enum"};
15565 static constexpr bool traverse{
false};
15566 static constexpr auto mbr_ptr{&SgFile::p_outputFormat};
15567 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15568 using bind = Desc<SgFile, SgFile::outputFormatOption_enum SgFile::*, &SgFile::p_outputFormat>;
15573 static constexpr size_t position{22};
15574 static constexpr char const *
const name{
"backendCompileFormat"};
15575 static constexpr char const *
const typestr{
"SgFile::outputFormatOption_enum"};
15576 static constexpr bool traverse{
false};
15577 static constexpr auto mbr_ptr{&SgFile::p_backendCompileFormat};
15578 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15579 using bind = Desc<SgFile, SgFile::outputFormatOption_enum SgFile::*, &SgFile::p_backendCompileFormat>;
15583 using field_type = bool;
15584 static constexpr size_t position{23};
15585 static constexpr char const *
const name{
"fortran_implicit_none"};
15586 static constexpr char const *
const typestr{
"bool"};
15587 static constexpr bool traverse{
false};
15588 static constexpr auto mbr_ptr{&SgFile::p_fortran_implicit_none};
15589 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15590 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_fortran_implicit_none>;
15594 using field_type = bool;
15595 static constexpr size_t position{24};
15596 static constexpr char const *
const name{
"openmp"};
15597 static constexpr char const *
const typestr{
"bool"};
15598 static constexpr bool traverse{
false};
15599 static constexpr auto mbr_ptr{&SgFile::p_openmp};
15600 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15601 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openmp>;
15605 using field_type = bool;
15606 static constexpr size_t position{25};
15607 static constexpr char const *
const name{
"openmp_parse_only"};
15608 static constexpr char const *
const typestr{
"bool"};
15609 static constexpr bool traverse{
false};
15610 static constexpr auto mbr_ptr{&SgFile::p_openmp_parse_only};
15611 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15612 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openmp_parse_only>;
15616 using field_type = bool;
15617 static constexpr size_t position{26};
15618 static constexpr char const *
const name{
"openmp_ast_only"};
15619 static constexpr char const *
const typestr{
"bool"};
15620 static constexpr bool traverse{
false};
15621 static constexpr auto mbr_ptr{&SgFile::p_openmp_ast_only};
15622 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15623 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openmp_ast_only>;
15627 using field_type = bool;
15628 static constexpr size_t position{27};
15629 static constexpr char const *
const name{
"openmp_lowering"};
15630 static constexpr char const *
const typestr{
"bool"};
15631 static constexpr bool traverse{
false};
15632 static constexpr auto mbr_ptr{&SgFile::p_openmp_lowering};
15633 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15634 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openmp_lowering>;
15638 using field_type = bool;
15639 static constexpr size_t position{28};
15640 static constexpr char const *
const name{
"openacc"};
15641 static constexpr char const *
const typestr{
"bool"};
15642 static constexpr bool traverse{
false};
15643 static constexpr auto mbr_ptr{&SgFile::p_openacc};
15644 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15645 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openacc>;
15649 using field_type = bool;
15650 static constexpr size_t position{29};
15651 static constexpr char const *
const name{
"openacc_parse_only"};
15652 static constexpr char const *
const typestr{
"bool"};
15653 static constexpr bool traverse{
false};
15654 static constexpr auto mbr_ptr{&SgFile::p_openacc_parse_only};
15655 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15656 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openacc_parse_only>;
15660 using field_type = bool;
15661 static constexpr size_t position{30};
15662 static constexpr char const *
const name{
"openacc_ast_only"};
15663 static constexpr char const *
const typestr{
"bool"};
15664 static constexpr bool traverse{
false};
15665 static constexpr auto mbr_ptr{&SgFile::p_openacc_ast_only};
15666 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15667 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_openacc_ast_only>;
15671 using field_type = bool;
15672 static constexpr size_t position{31};
15673 static constexpr char const *
const name{
"cray_pointer_support"};
15674 static constexpr char const *
const typestr{
"bool"};
15675 static constexpr bool traverse{
false};
15676 static constexpr auto mbr_ptr{&SgFile::p_cray_pointer_support};
15677 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15678 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_cray_pointer_support>;
15682 using field_type = bool;
15683 static constexpr size_t position{32};
15684 static constexpr char const *
const name{
"failsafe"};
15685 static constexpr char const *
const typestr{
"bool"};
15686 static constexpr bool traverse{
false};
15687 static constexpr auto mbr_ptr{&SgFile::p_failsafe};
15688 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15689 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_failsafe>;
15693 using field_type = bool;
15694 static constexpr size_t position{33};
15695 static constexpr char const *
const name{
"output_parser_actions"};
15696 static constexpr char const *
const typestr{
"bool"};
15697 static constexpr bool traverse{
false};
15698 static constexpr auto mbr_ptr{&SgFile::p_output_parser_actions};
15699 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15700 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_output_parser_actions>;
15704 using field_type = bool;
15705 static constexpr size_t position{34};
15706 static constexpr char const *
const name{
"exit_after_parser"};
15707 static constexpr char const *
const typestr{
"bool"};
15708 static constexpr bool traverse{
false};
15709 static constexpr auto mbr_ptr{&SgFile::p_exit_after_parser};
15710 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15711 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_exit_after_parser>;
15715 using field_type = bool;
15716 static constexpr size_t position{35};
15717 static constexpr char const *
const name{
"skip_syntax_check"};
15718 static constexpr char const *
const typestr{
"bool"};
15719 static constexpr bool traverse{
false};
15720 static constexpr auto mbr_ptr{&SgFile::p_skip_syntax_check};
15721 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15722 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skip_syntax_check>;
15726 using field_type = bool;
15727 static constexpr size_t position{36};
15728 static constexpr char const *
const name{
"skip_parser"};
15729 static constexpr char const *
const typestr{
"bool"};
15730 static constexpr bool traverse{
false};
15731 static constexpr auto mbr_ptr{&SgFile::p_skip_parser};
15732 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15733 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skip_parser>;
15737 using field_type = bool;
15738 static constexpr size_t position{37};
15739 static constexpr char const *
const name{
"relax_syntax_check"};
15740 static constexpr char const *
const typestr{
"bool"};
15741 static constexpr bool traverse{
false};
15742 static constexpr auto mbr_ptr{&SgFile::p_relax_syntax_check};
15743 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15744 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_relax_syntax_check>;
15748 using field_type = bool;
15749 static constexpr size_t position{38};
15750 static constexpr char const *
const name{
"skip_translation_from_edg_ast_to_rose_ast"};
15751 static constexpr char const *
const typestr{
"bool"};
15752 static constexpr bool traverse{
false};
15753 static constexpr auto mbr_ptr{&SgFile::p_skip_translation_from_edg_ast_to_rose_ast};
15754 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15755 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skip_translation_from_edg_ast_to_rose_ast>;
15759 using field_type = bool;
15760 static constexpr size_t position{39};
15761 static constexpr char const *
const name{
"skip_transformation"};
15762 static constexpr char const *
const typestr{
"bool"};
15763 static constexpr bool traverse{
false};
15764 static constexpr auto mbr_ptr{&SgFile::p_skip_transformation};
15765 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15766 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skip_transformation>;
15770 using field_type = bool;
15771 static constexpr size_t position{40};
15772 static constexpr char const *
const name{
"skip_unparse"};
15773 static constexpr char const *
const typestr{
"bool"};
15774 static constexpr bool traverse{
false};
15775 static constexpr auto mbr_ptr{&SgFile::p_skip_unparse};
15776 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15777 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skip_unparse>;
15781 using field_type = bool;
15782 static constexpr size_t position{41};
15783 static constexpr char const *
const name{
"skipfinalCompileStep"};
15784 static constexpr char const *
const typestr{
"bool"};
15785 static constexpr bool traverse{
false};
15786 static constexpr auto mbr_ptr{&SgFile::p_skipfinalCompileStep};
15787 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15788 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skipfinalCompileStep>;
15792 using field_type = bool;
15793 static constexpr size_t position{42};
15794 static constexpr char const *
const name{
"unparse_includes"};
15795 static constexpr char const *
const typestr{
"bool"};
15796 static constexpr bool traverse{
false};
15797 static constexpr auto mbr_ptr{&SgFile::p_unparse_includes};
15798 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15799 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_includes>;
15803 using field_type = bool;
15804 static constexpr size_t position{43};
15805 static constexpr char const *
const name{
"unparse_line_directives"};
15806 static constexpr char const *
const typestr{
"bool"};
15807 static constexpr bool traverse{
false};
15808 static constexpr auto mbr_ptr{&SgFile::p_unparse_line_directives};
15809 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15810 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_line_directives>;
15814 using field_type = bool;
15815 static constexpr size_t position{44};
15816 static constexpr char const *
const name{
"unparse_function_calls_using_operator_syntax"};
15817 static constexpr char const *
const typestr{
"bool"};
15818 static constexpr bool traverse{
false};
15819 static constexpr auto mbr_ptr{&SgFile::p_unparse_function_calls_using_operator_syntax};
15820 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15821 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_function_calls_using_operator_syntax>;
15825 using field_type = bool;
15826 static constexpr size_t position{45};
15827 static constexpr char const *
const name{
"unparse_function_calls_using_operator_names"};
15828 static constexpr char const *
const typestr{
"bool"};
15829 static constexpr bool traverse{
false};
15830 static constexpr auto mbr_ptr{&SgFile::p_unparse_function_calls_using_operator_names};
15831 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15832 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_function_calls_using_operator_names>;
15836 using field_type = bool;
15837 static constexpr size_t position{46};
15838 static constexpr char const *
const name{
"unparse_instruction_addresses"};
15839 static constexpr char const *
const typestr{
"bool"};
15840 static constexpr bool traverse{
false};
15841 static constexpr auto mbr_ptr{&SgFile::p_unparse_instruction_addresses};
15842 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15843 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_instruction_addresses>;
15847 using field_type = bool;
15848 static constexpr size_t position{47};
15849 static constexpr char const *
const name{
"unparse_raw_memory_contents"};
15850 static constexpr char const *
const typestr{
"bool"};
15851 static constexpr bool traverse{
false};
15852 static constexpr auto mbr_ptr{&SgFile::p_unparse_raw_memory_contents};
15853 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15854 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_raw_memory_contents>;
15858 using field_type = bool;
15859 static constexpr size_t position{48};
15860 static constexpr char const *
const name{
"unparse_binary_file_format"};
15861 static constexpr char const *
const typestr{
"bool"};
15862 static constexpr bool traverse{
false};
15863 static constexpr auto mbr_ptr{&SgFile::p_unparse_binary_file_format};
15864 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15865 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_binary_file_format>;
15870 static constexpr size_t position{49};
15871 static constexpr char const *
const name{
"outputLanguage"};
15872 static constexpr char const *
const typestr{
"SgFile::languageOption_enum"};
15873 static constexpr bool traverse{
false};
15874 static constexpr auto mbr_ptr{&SgFile::p_outputLanguage};
15875 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15876 using bind = Desc<SgFile, SgFile::languageOption_enum SgFile::*, &SgFile::p_outputLanguage>;
15881 static constexpr size_t position{50};
15882 static constexpr char const *
const name{
"inputLanguage"};
15883 static constexpr char const *
const typestr{
"SgFile::languageOption_enum"};
15884 static constexpr bool traverse{
false};
15885 static constexpr auto mbr_ptr{&SgFile::p_inputLanguage};
15886 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15887 using bind = Desc<SgFile, SgFile::languageOption_enum SgFile::*, &SgFile::p_inputLanguage>;
15891 using field_type = std::string;
15892 static constexpr size_t position{51};
15893 static constexpr char const *
const name{
"sourceFileNameWithPath"};
15894 static constexpr char const *
const typestr{
"std::string"};
15895 static constexpr bool traverse{
false};
15896 static constexpr auto mbr_ptr{&SgFile::p_sourceFileNameWithPath};
15897 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15898 using bind = Desc<SgFile, std::string SgFile::*, &SgFile::p_sourceFileNameWithPath>;
15902 using field_type = std::string;
15903 static constexpr size_t position{52};
15904 static constexpr char const *
const name{
"sourceFileNameWithoutPath"};
15905 static constexpr char const *
const typestr{
"std::string"};
15906 static constexpr bool traverse{
false};
15907 static constexpr auto mbr_ptr{&SgFile::p_sourceFileNameWithoutPath};
15908 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15909 using bind = Desc<SgFile, std::string SgFile::*, &SgFile::p_sourceFileNameWithoutPath>;
15913 using field_type = std::string;
15914 static constexpr size_t position{53};
15915 static constexpr char const *
const name{
"unparse_output_filename"};
15916 static constexpr char const *
const typestr{
"std::string"};
15917 static constexpr bool traverse{
false};
15918 static constexpr auto mbr_ptr{&SgFile::p_unparse_output_filename};
15919 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15920 using bind = Desc<SgFile, std::string SgFile::*, &SgFile::p_unparse_output_filename>;
15924 using field_type = std::string;
15925 static constexpr size_t position{54};
15926 static constexpr char const *
const name{
"objectFileNameWithPath"};
15927 static constexpr char const *
const typestr{
"std::string"};
15928 static constexpr bool traverse{
false};
15929 static constexpr auto mbr_ptr{&SgFile::p_objectFileNameWithPath};
15930 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15931 using bind = Desc<SgFile, std::string SgFile::*, &SgFile::p_objectFileNameWithPath>;
15935 using field_type = std::string;
15936 static constexpr size_t position{55};
15937 static constexpr char const *
const name{
"objectFileNameWithoutPath"};
15938 static constexpr char const *
const typestr{
"std::string"};
15939 static constexpr bool traverse{
false};
15940 static constexpr auto mbr_ptr{&SgFile::p_objectFileNameWithoutPath};
15941 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15942 using bind = Desc<SgFile, std::string SgFile::*, &SgFile::p_objectFileNameWithoutPath>;
15946 using field_type = bool;
15947 static constexpr size_t position{56};
15948 static constexpr char const *
const name{
"useBackendOnly"};
15949 static constexpr char const *
const typestr{
"bool"};
15950 static constexpr bool traverse{
false};
15951 static constexpr auto mbr_ptr{&SgFile::p_useBackendOnly};
15952 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15953 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_useBackendOnly>;
15957 using field_type = bool;
15958 static constexpr size_t position{57};
15959 static constexpr char const *
const name{
"compileOnly"};
15960 static constexpr char const *
const typestr{
"bool"};
15961 static constexpr bool traverse{
false};
15962 static constexpr auto mbr_ptr{&SgFile::p_compileOnly};
15963 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15964 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_compileOnly>;
15968 using field_type = std::string;
15969 static constexpr size_t position{58};
15970 static constexpr char const *
const name{
"savedFrontendCommandLine"};
15971 static constexpr char const *
const typestr{
"std::string"};
15972 static constexpr bool traverse{
false};
15973 static constexpr auto mbr_ptr{&SgFile::p_savedFrontendCommandLine};
15974 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15975 using bind = Desc<SgFile, std::string SgFile::*, &SgFile::p_savedFrontendCommandLine>;
15979 using field_type = bool;
15980 static constexpr size_t position{59};
15981 static constexpr char const *
const name{
"no_implicit_templates"};
15982 static constexpr char const *
const typestr{
"bool"};
15983 static constexpr bool traverse{
false};
15985 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15986 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_no_implicit_templates>;
15990 using field_type = bool;
15991 static constexpr size_t position{60};
15992 static constexpr char const *
const name{
"no_implicit_inline_templates"};
15993 static constexpr char const *
const typestr{
"bool"};
15994 static constexpr bool traverse{
false};
15996 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
15997 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_no_implicit_inline_templates>;
16001 using field_type = bool;
16002 static constexpr size_t position{61};
16003 static constexpr char const *
const name{
"skip_commentsAndDirectives"};
16004 static constexpr char const *
const typestr{
"bool"};
16005 static constexpr bool traverse{
false};
16006 static constexpr auto mbr_ptr{&SgFile::p_skip_commentsAndDirectives};
16007 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16008 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skip_commentsAndDirectives>;
16012 using field_type = bool;
16013 static constexpr size_t position{62};
16014 static constexpr char const *
const name{
"collectAllCommentsAndDirectives"};
16015 static constexpr char const *
const typestr{
"bool"};
16016 static constexpr bool traverse{
false};
16017 static constexpr auto mbr_ptr{&SgFile::p_collectAllCommentsAndDirectives};
16018 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16019 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_collectAllCommentsAndDirectives>;
16023 using field_type = bool;
16024 static constexpr size_t position{63};
16025 static constexpr char const *
const name{
"translateCommentsAndDirectivesIntoAST"};
16026 static constexpr char const *
const typestr{
"bool"};
16027 static constexpr bool traverse{
false};
16028 static constexpr auto mbr_ptr{&SgFile::p_translateCommentsAndDirectivesIntoAST};
16029 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16030 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_translateCommentsAndDirectivesIntoAST>;
16034 using field_type = bool;
16035 static constexpr size_t position{64};
16036 static constexpr char const *
const name{
"unparseHeaderFiles"};
16037 static constexpr char const *
const typestr{
"bool"};
16038 static constexpr bool traverse{
false};
16039 static constexpr auto mbr_ptr{&SgFile::p_unparseHeaderFiles};
16040 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16041 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparseHeaderFiles>;
16046 static constexpr size_t position{65};
16047 static constexpr char const *
const name{
"preprocessorDirectivesAndCommentsList"};
16048 static constexpr char const *
const typestr{
"ROSEAttributesListContainerPtr"};
16049 static constexpr bool traverse{
false};
16051 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16052 using bind = Desc<SgFile, ROSEAttributesListContainerPtr SgFile::*, &SgFile::p_preprocessorDirectivesAndCommentsList>;
16057 static constexpr size_t position{66};
16058 static constexpr char const *
const name{
"attributeMechanism"};
16059 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
16060 static constexpr bool traverse{
false};
16061 static constexpr auto mbr_ptr{&SgFile::p_attributeMechanism};
16062 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16063 using bind = Desc<SgFile, AstAttributeMechanism* SgFile::*, &SgFile::p_attributeMechanism>;
16067 using field_type = bool;
16068 static constexpr size_t position{67};
16069 static constexpr char const *
const name{
"KCC_frontend"};
16070 static constexpr char const *
const typestr{
"bool"};
16071 static constexpr bool traverse{
false};
16072 static constexpr auto mbr_ptr{&SgFile::p_KCC_frontend};
16073 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16074 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_KCC_frontend>;
16078 using field_type = bool;
16079 static constexpr size_t position{68};
16080 static constexpr char const *
const name{
"new_frontend"};
16081 static constexpr char const *
const typestr{
"bool"};
16082 static constexpr bool traverse{
false};
16083 static constexpr auto mbr_ptr{&SgFile::p_new_frontend};
16084 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16085 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_new_frontend>;
16089 using field_type = bool;
16090 static constexpr size_t position{69};
16091 static constexpr char const *
const name{
"disable_edg_backend"};
16092 static constexpr char const *
const typestr{
"bool"};
16093 static constexpr bool traverse{
false};
16094 static constexpr auto mbr_ptr{&SgFile::p_disable_edg_backend};
16095 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16096 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_disable_edg_backend>;
16100 using field_type = bool;
16101 static constexpr size_t position{70};
16102 static constexpr char const *
const name{
"disable_sage_backend"};
16103 static constexpr char const *
const typestr{
"bool"};
16104 static constexpr bool traverse{
false};
16105 static constexpr auto mbr_ptr{&SgFile::p_disable_sage_backend};
16106 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16107 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_disable_sage_backend>;
16111 using field_type = int;
16112 static constexpr size_t position{71};
16113 static constexpr char const *
const name{
"testingLevel"};
16114 static constexpr char const *
const typestr{
"int"};
16115 static constexpr bool traverse{
false};
16116 static constexpr auto mbr_ptr{&SgFile::p_testingLevel};
16117 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16118 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_testingLevel>;
16122 using field_type = bool;
16123 static constexpr size_t position{72};
16124 static constexpr char const *
const name{
"preinit_il"};
16125 static constexpr char const *
const typestr{
"bool"};
16126 static constexpr bool traverse{
false};
16127 static constexpr auto mbr_ptr{&SgFile::p_preinit_il};
16128 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16129 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_preinit_il>;
16133 using field_type = bool;
16134 static constexpr size_t position{73};
16135 static constexpr char const *
const name{
"enable_cp_backend"};
16136 static constexpr char const *
const typestr{
"bool"};
16137 static constexpr bool traverse{
false};
16138 static constexpr auto mbr_ptr{&SgFile::p_enable_cp_backend};
16139 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16140 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_enable_cp_backend>;
16144 using field_type = bool;
16145 static constexpr size_t position{74};
16146 static constexpr char const *
const name{
"markGeneratedFiles"};
16147 static constexpr char const *
const typestr{
"bool"};
16148 static constexpr bool traverse{
false};
16149 static constexpr auto mbr_ptr{&SgFile::p_markGeneratedFiles};
16150 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16151 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_markGeneratedFiles>;
16155 using field_type = bool;
16156 static constexpr size_t position{75};
16157 static constexpr char const *
const name{
"negative_test"};
16158 static constexpr char const *
const typestr{
"bool"};
16159 static constexpr bool traverse{
false};
16160 static constexpr auto mbr_ptr{&SgFile::p_negative_test};
16161 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16162 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_negative_test>;
16166 using field_type = bool;
16167 static constexpr size_t position{76};
16168 static constexpr char const *
const name{
"strict_language_handling"};
16169 static constexpr char const *
const typestr{
"bool"};
16170 static constexpr bool traverse{
false};
16171 static constexpr auto mbr_ptr{&SgFile::p_strict_language_handling};
16172 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16173 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_strict_language_handling>;
16177 using field_type = bool;
16178 static constexpr size_t position{77};
16179 static constexpr char const *
const name{
"wave"};
16180 static constexpr char const *
const typestr{
"bool"};
16181 static constexpr bool traverse{
false};
16182 static constexpr auto mbr_ptr{&SgFile::p_wave};
16183 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16184 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_wave>;
16188 using field_type = int;
16189 static constexpr size_t position{78};
16190 static constexpr char const *
const name{
"embedColorCodesInGeneratedCode"};
16191 static constexpr char const *
const typestr{
"int"};
16192 static constexpr bool traverse{
false};
16193 static constexpr auto mbr_ptr{&SgFile::p_embedColorCodesInGeneratedCode};
16194 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16195 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_embedColorCodesInGeneratedCode>;
16199 using field_type = int;
16200 static constexpr size_t position{79};
16201 static constexpr char const *
const name{
"generateSourcePositionCodes"};
16202 static constexpr char const *
const typestr{
"int"};
16203 static constexpr bool traverse{
false};
16204 static constexpr auto mbr_ptr{&SgFile::p_generateSourcePositionCodes};
16205 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16206 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_generateSourcePositionCodes>;
16210 using field_type = bool;
16211 static constexpr size_t position{80};
16212 static constexpr char const *
const name{
"sourceFileUsesCppFileExtension"};
16213 static constexpr char const *
const typestr{
"bool"};
16214 static constexpr bool traverse{
false};
16215 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesCppFileExtension};
16216 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16217 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesCppFileExtension>;
16221 using field_type = bool;
16222 static constexpr size_t position{81};
16223 static constexpr char const *
const name{
"sourceFileUsesFortranFileExtension"};
16224 static constexpr char const *
const typestr{
"bool"};
16225 static constexpr bool traverse{
false};
16226 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesFortranFileExtension};
16227 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16228 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesFortranFileExtension>;
16232 using field_type = bool;
16233 static constexpr size_t position{82};
16234 static constexpr char const *
const name{
"sourceFileUsesFortran77FileExtension"};
16235 static constexpr char const *
const typestr{
"bool"};
16236 static constexpr bool traverse{
false};
16237 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesFortran77FileExtension};
16238 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16239 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesFortran77FileExtension>;
16243 using field_type = bool;
16244 static constexpr size_t position{83};
16245 static constexpr char const *
const name{
"sourceFileUsesFortran90FileExtension"};
16246 static constexpr char const *
const typestr{
"bool"};
16247 static constexpr bool traverse{
false};
16248 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesFortran90FileExtension};
16249 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16250 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesFortran90FileExtension>;
16254 using field_type = bool;
16255 static constexpr size_t position{84};
16256 static constexpr char const *
const name{
"sourceFileUsesFortran95FileExtension"};
16257 static constexpr char const *
const typestr{
"bool"};
16258 static constexpr bool traverse{
false};
16259 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesFortran95FileExtension};
16260 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16261 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesFortran95FileExtension>;
16265 using field_type = bool;
16266 static constexpr size_t position{85};
16267 static constexpr char const *
const name{
"sourceFileUsesFortran2003FileExtension"};
16268 static constexpr char const *
const typestr{
"bool"};
16269 static constexpr bool traverse{
false};
16270 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesFortran2003FileExtension};
16271 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16272 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesFortran2003FileExtension>;
16276 using field_type = bool;
16277 static constexpr size_t position{86};
16278 static constexpr char const *
const name{
"sourceFileUsesFortran2008FileExtension"};
16279 static constexpr char const *
const typestr{
"bool"};
16280 static constexpr bool traverse{
false};
16281 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesFortran2008FileExtension};
16282 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16283 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesFortran2008FileExtension>;
16287 using field_type = bool;
16288 static constexpr size_t position{87};
16289 static constexpr char const *
const name{
"sourceFileUsesCoArrayFortranFileExtension"};
16290 static constexpr char const *
const typestr{
"bool"};
16291 static constexpr bool traverse{
false};
16292 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesCoArrayFortranFileExtension};
16293 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16294 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesCoArrayFortranFileExtension>;
16298 using field_type = bool;
16299 static constexpr size_t position{88};
16300 static constexpr char const *
const name{
"sourceFileUsesPHPFileExtension"};
16301 static constexpr char const *
const typestr{
"bool"};
16302 static constexpr bool traverse{
false};
16303 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesPHPFileExtension};
16304 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16305 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesPHPFileExtension>;
16309 using field_type = bool;
16310 static constexpr size_t position{89};
16311 static constexpr char const *
const name{
"sourceFileUsesPythonFileExtension"};
16312 static constexpr char const *
const typestr{
"bool"};
16313 static constexpr bool traverse{
false};
16314 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesPythonFileExtension};
16315 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16316 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesPythonFileExtension>;
16320 using field_type = bool;
16321 static constexpr size_t position{90};
16322 static constexpr char const *
const name{
"sourceFileUsesJavaFileExtension"};
16323 static constexpr char const *
const typestr{
"bool"};
16324 static constexpr bool traverse{
false};
16325 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesJavaFileExtension};
16326 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16327 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesJavaFileExtension>;
16331 using field_type = bool;
16332 static constexpr size_t position{91};
16333 static constexpr char const *
const name{
"sourceFileUsesJvmFileExtension"};
16334 static constexpr char const *
const typestr{
"bool"};
16335 static constexpr bool traverse{
false};
16336 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesJvmFileExtension};
16337 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16338 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesJvmFileExtension>;
16342 using field_type = bool;
16343 static constexpr size_t position{92};
16344 static constexpr char const *
const name{
"sourceFileUsesBinaryFileExtension"};
16345 static constexpr char const *
const typestr{
"bool"};
16346 static constexpr bool traverse{
false};
16347 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesBinaryFileExtension};
16348 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16349 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesBinaryFileExtension>;
16353 using field_type = bool;
16354 static constexpr size_t position{93};
16355 static constexpr char const *
const name{
"sourceFileTypeIsUnknown"};
16356 static constexpr char const *
const typestr{
"bool"};
16357 static constexpr bool traverse{
false};
16358 static constexpr auto mbr_ptr{&SgFile::p_sourceFileTypeIsUnknown};
16359 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16360 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileTypeIsUnknown>;
16364 using field_type = bool;
16365 static constexpr size_t position{94};
16366 static constexpr char const *
const name{
"sourceFileUsesCsharpFileExtension"};
16367 static constexpr char const *
const typestr{
"bool"};
16368 static constexpr bool traverse{
false};
16369 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesCsharpFileExtension};
16370 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16371 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesCsharpFileExtension>;
16375 using field_type = bool;
16376 static constexpr size_t position{95};
16377 static constexpr char const *
const name{
"sourceFileUsesAdaFileExtension"};
16378 static constexpr char const *
const typestr{
"bool"};
16379 static constexpr bool traverse{
false};
16380 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesAdaFileExtension};
16381 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16382 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesAdaFileExtension>;
16386 using field_type = bool;
16387 static constexpr size_t position{96};
16388 static constexpr char const *
const name{
"sourceFileUsesJovialFileExtension"};
16389 static constexpr char const *
const typestr{
"bool"};
16390 static constexpr bool traverse{
false};
16391 static constexpr auto mbr_ptr{&SgFile::p_sourceFileUsesJovialFileExtension};
16392 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16393 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_sourceFileUsesJovialFileExtension>;
16397 using field_type = int;
16398 static constexpr size_t position{97};
16399 static constexpr char const *
const name{
"detect_dangling_pointers"};
16400 static constexpr char const *
const typestr{
"int"};
16401 static constexpr bool traverse{
false};
16402 static constexpr auto mbr_ptr{&SgFile::p_detect_dangling_pointers};
16403 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16404 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_detect_dangling_pointers>;
16408 using field_type = bool;
16409 static constexpr size_t position{98};
16410 static constexpr char const *
const name{
"experimental_flang_frontend"};
16411 static constexpr char const *
const typestr{
"bool"};
16412 static constexpr bool traverse{
false};
16413 static constexpr auto mbr_ptr{&SgFile::p_experimental_flang_frontend};
16414 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16415 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_experimental_flang_frontend>;
16419 using field_type = bool;
16420 static constexpr size_t position{99};
16421 static constexpr char const *
const name{
"read_executable_file_format_only"};
16422 static constexpr char const *
const typestr{
"bool"};
16423 static constexpr bool traverse{
false};
16424 static constexpr auto mbr_ptr{&SgFile::p_read_executable_file_format_only};
16425 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16426 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_read_executable_file_format_only>;
16430 using field_type = bool;
16431 static constexpr size_t position{100};
16432 static constexpr char const *
const name{
"visualize_executable_file_format_skip_symbols"};
16433 static constexpr char const *
const typestr{
"bool"};
16434 static constexpr bool traverse{
false};
16435 static constexpr auto mbr_ptr{&SgFile::p_visualize_executable_file_format_skip_symbols};
16436 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16437 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_visualize_executable_file_format_skip_symbols>;
16441 using field_type = bool;
16442 static constexpr size_t position{101};
16443 static constexpr char const *
const name{
"visualize_dwarf_only"};
16444 static constexpr char const *
const typestr{
"bool"};
16445 static constexpr bool traverse{
false};
16446 static constexpr auto mbr_ptr{&SgFile::p_visualize_dwarf_only};
16447 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16448 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_visualize_dwarf_only>;
16452 using field_type = bool;
16453 static constexpr size_t position{102};
16454 static constexpr char const *
const name{
"read_instructions_only"};
16455 static constexpr char const *
const typestr{
"bool"};
16456 static constexpr bool traverse{
false};
16457 static constexpr auto mbr_ptr{&SgFile::p_read_instructions_only};
16458 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16459 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_read_instructions_only>;
16463 using field_type = SgStringList;
16464 static constexpr size_t position{103};
16465 static constexpr char const *
const name{
"libraryArchiveObjectFileNameList"};
16466 static constexpr char const *
const typestr{
"SgStringList"};
16467 static constexpr bool traverse{
false};
16468 static constexpr auto mbr_ptr{&SgFile::p_libraryArchiveObjectFileNameList};
16469 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16470 using bind = Desc<SgFile, SgStringList SgFile::*, &SgFile::p_libraryArchiveObjectFileNameList>;
16474 using field_type = bool;
16475 static constexpr size_t position{104};
16476 static constexpr char const *
const name{
"isLibraryArchive"};
16477 static constexpr char const *
const typestr{
"bool"};
16478 static constexpr bool traverse{
false};
16479 static constexpr auto mbr_ptr{&SgFile::p_isLibraryArchive};
16480 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16481 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_isLibraryArchive>;
16485 using field_type = bool;
16486 static constexpr size_t position{105};
16487 static constexpr char const *
const name{
"isObjectFile"};
16488 static constexpr char const *
const typestr{
"bool"};
16489 static constexpr bool traverse{
false};
16490 static constexpr auto mbr_ptr{&SgFile::p_isObjectFile};
16491 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16492 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_isObjectFile>;
16496 using field_type = bool;
16497 static constexpr size_t position{106};
16498 static constexpr char const *
const name{
"unparse_tokens"};
16499 static constexpr char const *
const typestr{
"bool"};
16500 static constexpr bool traverse{
false};
16501 static constexpr auto mbr_ptr{&SgFile::p_unparse_tokens};
16502 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16503 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_tokens>;
16507 using field_type = int;
16508 static constexpr size_t position{107};
16509 static constexpr char const *
const name{
"unparse_tokens_testing"};
16510 static constexpr char const *
const typestr{
"int"};
16511 static constexpr bool traverse{
false};
16512 static constexpr auto mbr_ptr{&SgFile::p_unparse_tokens_testing};
16513 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16514 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_unparse_tokens_testing>;
16518 using field_type = bool;
16519 static constexpr size_t position{108};
16520 static constexpr char const *
const name{
"unparse_using_leading_and_trailing_token_mappings"};
16521 static constexpr char const *
const typestr{
"bool"};
16522 static constexpr bool traverse{
false};
16523 static constexpr auto mbr_ptr{&SgFile::p_unparse_using_leading_and_trailing_token_mappings};
16524 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16525 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_using_leading_and_trailing_token_mappings>;
16529 using field_type = bool;
16530 static constexpr size_t position{109};
16531 static constexpr char const *
const name{
"unparse_template_ast"};
16532 static constexpr char const *
const typestr{
"bool"};
16533 static constexpr bool traverse{
false};
16534 static constexpr auto mbr_ptr{&SgFile::p_unparse_template_ast};
16535 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16536 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_template_ast>;
16540 using field_type = bool;
16541 static constexpr size_t position{110};
16542 static constexpr char const *
const name{
"skipAstConsistancyTests"};
16543 static constexpr char const *
const typestr{
"bool"};
16544 static constexpr bool traverse{
false};
16545 static constexpr auto mbr_ptr{&SgFile::p_skipAstConsistancyTests};
16546 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16547 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_skipAstConsistancyTests>;
16551 using field_type = bool;
16552 static constexpr size_t position{111};
16553 static constexpr char const *
const name{
"multifile_support"};
16554 static constexpr char const *
const typestr{
"bool"};
16555 static constexpr bool traverse{
false};
16556 static constexpr auto mbr_ptr{&SgFile::p_multifile_support};
16557 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16558 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_multifile_support>;
16562 using field_type = bool;
16563 static constexpr size_t position{112};
16564 static constexpr char const *
const name{
"optimization"};
16565 static constexpr char const *
const typestr{
"bool"};
16566 static constexpr bool traverse{
false};
16567 static constexpr auto mbr_ptr{&SgFile::p_optimization};
16568 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16569 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_optimization>;
16573 using field_type = bool;
16574 static constexpr size_t position{113};
16575 static constexpr char const *
const name{
"use_token_stream_to_improve_source_position_info"};
16576 static constexpr char const *
const typestr{
"bool"};
16577 static constexpr bool traverse{
false};
16578 static constexpr auto mbr_ptr{&SgFile::p_use_token_stream_to_improve_source_position_info};
16579 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16580 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_use_token_stream_to_improve_source_position_info>;
16584 using field_type = bool;
16585 static constexpr size_t position{114};
16586 static constexpr char const *
const name{
"suppress_variable_declaration_normalization"};
16587 static constexpr char const *
const typestr{
"bool"};
16588 static constexpr bool traverse{
false};
16589 static constexpr auto mbr_ptr{&SgFile::p_suppress_variable_declaration_normalization};
16590 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16591 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_suppress_variable_declaration_normalization>;
16595 using field_type = bool;
16596 static constexpr size_t position{115};
16597 static constexpr char const *
const name{
"edg_il_to_graphviz"};
16598 static constexpr char const *
const typestr{
"bool"};
16599 static constexpr bool traverse{
false};
16600 static constexpr auto mbr_ptr{&SgFile::p_edg_il_to_graphviz};
16601 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16602 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_edg_il_to_graphviz>;
16606 using field_type = bool;
16607 static constexpr size_t position{116};
16608 static constexpr char const *
const name{
"clang_il_to_graphviz"};
16609 static constexpr char const *
const typestr{
"bool"};
16610 static constexpr bool traverse{
false};
16611 static constexpr auto mbr_ptr{&SgFile::p_clang_il_to_graphviz};
16612 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16613 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_clang_il_to_graphviz>;
16617 using field_type = bool;
16618 static constexpr size_t position{117};
16619 static constexpr char const *
const name{
"no_optimize_flag_for_frontend"};
16620 static constexpr char const *
const typestr{
"bool"};
16621 static constexpr bool traverse{
false};
16622 static constexpr auto mbr_ptr{&SgFile::p_no_optimize_flag_for_frontend};
16623 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16624 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_no_optimize_flag_for_frontend>;
16628 using field_type = bool;
16629 static constexpr size_t position{118};
16630 static constexpr char const *
const name{
"unparse_edg_normalized_method_ROSE_1392"};
16631 static constexpr char const *
const typestr{
"bool"};
16632 static constexpr bool traverse{
false};
16633 static constexpr auto mbr_ptr{&SgFile::p_unparse_edg_normalized_method_ROSE_1392};
16634 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16635 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparse_edg_normalized_method_ROSE_1392>;
16639 using field_type = SgFile::standard_enum;
16640 static constexpr size_t position{119};
16641 static constexpr char const *
const name{
"standard"};
16642 static constexpr char const *
const typestr{
"SgFile::standard_enum"};
16643 static constexpr bool traverse{
false};
16644 static constexpr auto mbr_ptr{&SgFile::p_standard};
16645 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16646 using bind = Desc<SgFile, SgFile::standard_enum SgFile::*, &SgFile::p_standard>;
16650 using field_type = bool;
16651 static constexpr size_t position{120};
16652 static constexpr char const *
const name{
"gnu_standard"};
16653 static constexpr char const *
const typestr{
"bool"};
16654 static constexpr bool traverse{
false};
16655 static constexpr auto mbr_ptr{&SgFile::p_gnu_standard};
16656 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16657 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_gnu_standard>;
16661 using field_type = int;
16662 static constexpr size_t position{121};
16663 static constexpr char const *
const name{
"frontendErrorCode"};
16664 static constexpr char const *
const typestr{
"int"};
16665 static constexpr bool traverse{
false};
16666 static constexpr auto mbr_ptr{&SgFile::p_frontendErrorCode};
16667 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16668 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_frontendErrorCode>;
16672 using field_type = int;
16673 static constexpr size_t position{122};
16674 static constexpr char const *
const name{
"javacErrorCode"};
16675 static constexpr char const *
const typestr{
"int"};
16676 static constexpr bool traverse{
false};
16677 static constexpr auto mbr_ptr{&SgFile::p_javacErrorCode};
16678 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16679 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_javacErrorCode>;
16683 using field_type = int;
16684 static constexpr size_t position{123};
16685 static constexpr char const *
const name{
"ecjErrorCode"};
16686 static constexpr char const *
const typestr{
"int"};
16687 static constexpr bool traverse{
false};
16688 static constexpr auto mbr_ptr{&SgFile::p_ecjErrorCode};
16689 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16690 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_ecjErrorCode>;
16694 using field_type = int;
16695 static constexpr size_t position{124};
16696 static constexpr char const *
const name{
"midendErrorCode"};
16697 static constexpr char const *
const typestr{
"int"};
16698 static constexpr bool traverse{
false};
16699 static constexpr auto mbr_ptr{&SgFile::p_midendErrorCode};
16700 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16701 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_midendErrorCode>;
16705 using field_type = int;
16706 static constexpr size_t position{125};
16707 static constexpr char const *
const name{
"unparserErrorCode"};
16708 static constexpr char const *
const typestr{
"int"};
16709 static constexpr bool traverse{
false};
16710 static constexpr auto mbr_ptr{&SgFile::p_unparserErrorCode};
16711 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16712 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_unparserErrorCode>;
16716 using field_type = int;
16717 static constexpr size_t position{126};
16718 static constexpr char const *
const name{
"backendCompilerErrorCode"};
16719 static constexpr char const *
const typestr{
"int"};
16720 static constexpr bool traverse{
false};
16721 static constexpr auto mbr_ptr{&SgFile::p_backendCompilerErrorCode};
16722 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16723 using bind = Desc<SgFile, int SgFile::*, &SgFile::p_backendCompilerErrorCode>;
16727 using field_type = bool;
16728 static constexpr size_t position{127};
16729 static constexpr char const *
const name{
"unparsedFileFailedCompilation"};
16730 static constexpr char const *
const typestr{
"bool"};
16731 static constexpr bool traverse{
false};
16732 static constexpr auto mbr_ptr{&SgFile::p_unparsedFileFailedCompilation};
16733 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16734 using bind = Desc<SgFile, bool SgFile::*, &SgFile::p_unparsedFileFailedCompilation>;
16739 static constexpr char const *
const name{
"File"};
16740 static constexpr unsigned long variant{419};
16741 static constexpr bool concrete{
false};
16743 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>>;
16750 using field_type = SgFilePtrList;
16751 static constexpr size_t position{0};
16752 static constexpr char const *
const name{
"listOfFiles"};
16753 static constexpr char const *
const typestr{
"SgFilePtrList"};
16754 static constexpr bool traverse{
true};
16755 static constexpr auto mbr_ptr{&SgFileList::p_listOfFiles};
16756 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16757 using bind = Desc<SgFileList, SgFilePtrList SgFileList::*, &SgFileList::p_listOfFiles>;
16762 static constexpr size_t position{1};
16763 static constexpr char const *
const name{
"attributeMechanism"};
16764 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
16765 static constexpr bool traverse{
false};
16766 static constexpr auto mbr_ptr{&SgFileList::p_attributeMechanism};
16767 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16768 using bind = Desc<SgFileList, AstAttributeMechanism* SgFileList::*, &SgFileList::p_attributeMechanism>;
16773 static constexpr char const *
const name{
"FileList"};
16774 static constexpr unsigned long variant{420};
16775 static constexpr bool concrete{
true};
16784 using field_type = float;
16785 static constexpr size_t position{0};
16786 static constexpr char const *
const name{
"value"};
16787 static constexpr char const *
const typestr{
"float"};
16788 static constexpr bool traverse{
false};
16790 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16791 using bind = Desc<SgFloatVal, float SgFloatVal::*, &SgFloatVal::p_value>;
16795 using field_type = std::string;
16796 static constexpr size_t position{1};
16797 static constexpr char const *
const name{
"valueString"};
16798 static constexpr char const *
const typestr{
"std::string"};
16799 static constexpr bool traverse{
false};
16800 static constexpr auto mbr_ptr{&SgFloatVal::p_valueString};
16801 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16802 using bind = Desc<SgFloatVal, std::string SgFloatVal::*, &SgFloatVal::p_valueString>;
16807 static constexpr char const *
const name{
"FloatVal"};
16808 static constexpr unsigned long variant{421};
16809 static constexpr bool concrete{
true};
16818 using field_type =
long double;
16819 static constexpr size_t position{0};
16820 static constexpr char const *
const name{
"value"};
16821 static constexpr char const *
const typestr{
"long double"};
16822 static constexpr bool traverse{
false};
16823 static constexpr auto mbr_ptr{&SgFloat128Val::p_value};
16824 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16825 using bind = Desc<SgFloat128Val, long double SgFloat128Val::*, &SgFloat128Val::p_value>;
16829 using field_type = std::string;
16830 static constexpr size_t position{1};
16831 static constexpr char const *
const name{
"valueString"};
16832 static constexpr char const *
const typestr{
"std::string"};
16833 static constexpr bool traverse{
false};
16834 static constexpr auto mbr_ptr{&SgFloat128Val::p_valueString};
16835 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16836 using bind = Desc<SgFloat128Val, std::string SgFloat128Val::*, &SgFloat128Val::p_valueString>;
16841 static constexpr char const *
const name{
"Float128Val"};
16842 static constexpr unsigned long variant{422};
16843 static constexpr bool concrete{
true};
16852 using field_type =
long double;
16853 static constexpr size_t position{0};
16854 static constexpr char const *
const name{
"value"};
16855 static constexpr char const *
const typestr{
"long double"};
16856 static constexpr bool traverse{
false};
16857 static constexpr auto mbr_ptr{&SgFloat80Val::p_value};
16858 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16859 using bind = Desc<SgFloat80Val, long double SgFloat80Val::*, &SgFloat80Val::p_value>;
16863 using field_type = std::string;
16864 static constexpr size_t position{1};
16865 static constexpr char const *
const name{
"valueString"};
16866 static constexpr char const *
const typestr{
"std::string"};
16867 static constexpr bool traverse{
false};
16868 static constexpr auto mbr_ptr{&SgFloat80Val::p_valueString};
16869 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16870 using bind = Desc<SgFloat80Val, std::string SgFloat80Val::*, &SgFloat80Val::p_valueString>;
16875 static constexpr char const *
const name{
"Float80Val"};
16876 static constexpr unsigned long variant{423};
16877 static constexpr bool concrete{
true};
16887 static constexpr size_t position{0};
16888 static constexpr char const *
const name{
"operands"};
16889 static constexpr char const *
const typestr{
"SgExpression*"};
16890 static constexpr bool traverse{
true};
16891 static constexpr auto mbr_ptr{&SgFoldExpression::p_operands};
16892 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16893 using bind = Desc<SgFoldExpression, SgExpression* SgFoldExpression::*, &SgFoldExpression::p_operands>;
16897 using field_type = std::string;
16898 static constexpr size_t position{1};
16899 static constexpr char const *
const name{
"operator_token"};
16900 static constexpr char const *
const typestr{
"std::string"};
16901 static constexpr bool traverse{
false};
16902 static constexpr auto mbr_ptr{&SgFoldExpression::p_operator_token};
16903 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16904 using bind = Desc<SgFoldExpression, std::string SgFoldExpression::*, &SgFoldExpression::p_operator_token>;
16908 using field_type = bool;
16909 static constexpr size_t position{2};
16910 static constexpr char const *
const name{
"is_left_associative"};
16911 static constexpr char const *
const typestr{
"bool"};
16912 static constexpr bool traverse{
false};
16913 static constexpr auto mbr_ptr{&SgFoldExpression::p_is_left_associative};
16914 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16915 using bind = Desc<SgFoldExpression, bool SgFoldExpression::*, &SgFoldExpression::p_is_left_associative>;
16920 static constexpr char const *
const name{
"FoldExpression"};
16921 static constexpr unsigned long variant{424};
16922 static constexpr bool concrete{
true};
16932 static constexpr char const *
const name{
"FlushStatement"};
16933 static constexpr unsigned long variant{425};
16934 static constexpr bool concrete{
true};
16944 static constexpr size_t position{0};
16945 static constexpr char const *
const name{
"forall_header"};
16946 static constexpr char const *
const typestr{
"SgExprListExp*"};
16947 static constexpr bool traverse{
true};
16948 static constexpr auto mbr_ptr{&SgForAllStatement::p_forall_header};
16949 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16950 using bind = Desc<SgForAllStatement, SgExprListExp* SgForAllStatement::*, &SgForAllStatement::p_forall_header>;
16955 static constexpr size_t position{1};
16956 static constexpr char const *
const name{
"body"};
16957 static constexpr char const *
const typestr{
"SgBasicBlock*"};
16958 static constexpr bool traverse{
true};
16959 static constexpr auto mbr_ptr{&SgForAllStatement::p_body};
16960 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16961 using bind = Desc<SgForAllStatement, SgBasicBlock* SgForAllStatement::*, &SgForAllStatement::p_body>;
16965 using field_type = bool;
16966 static constexpr size_t position{2};
16967 static constexpr char const *
const name{
"has_end_statement"};
16968 static constexpr char const *
const typestr{
"bool"};
16969 static constexpr bool traverse{
false};
16970 static constexpr auto mbr_ptr{&SgForAllStatement::p_has_end_statement};
16971 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16972 using bind = Desc<SgForAllStatement, bool SgForAllStatement::*, &SgForAllStatement::p_has_end_statement>;
16976 using field_type = std::string;
16977 static constexpr size_t position{3};
16978 static constexpr char const *
const name{
"string_label"};
16979 static constexpr char const *
const typestr{
"std::string"};
16980 static constexpr bool traverse{
false};
16981 static constexpr auto mbr_ptr{&SgForAllStatement::p_string_label};
16982 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16983 using bind = Desc<SgForAllStatement, std::string SgForAllStatement::*, &SgForAllStatement::p_string_label>;
16988 static constexpr size_t position{4};
16989 static constexpr char const *
const name{
"end_numeric_label"};
16990 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
16991 static constexpr bool traverse{
false};
16992 static constexpr auto mbr_ptr{&SgForAllStatement::p_end_numeric_label};
16993 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
16994 using bind = Desc<SgForAllStatement, SgLabelRefExp* SgForAllStatement::*, &SgForAllStatement::p_end_numeric_label>;
16999 static constexpr size_t position{5};
17000 static constexpr char const *
const name{
"forall_statement_kind"};
17001 static constexpr char const *
const typestr{
"SgForAllStatement::forall_statement_kind_enum"};
17002 static constexpr bool traverse{
false};
17003 static constexpr auto mbr_ptr{&SgForAllStatement::p_forall_statement_kind};
17004 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17005 using bind = Desc<SgForAllStatement, SgForAllStatement::forall_statement_kind_enum SgForAllStatement::*, &SgForAllStatement::p_forall_statement_kind>;
17010 static constexpr char const *
const name{
"ForAllStatement"};
17011 static constexpr unsigned long variant{426};
17012 static constexpr bool concrete{
true};
17014 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>>;
17021 using field_type = SgStatementPtrList;
17022 static constexpr size_t position{0};
17023 static constexpr char const *
const name{
"init_stmt"};
17024 static constexpr char const *
const typestr{
"SgStatementPtrList"};
17025 static constexpr bool traverse{
true};
17027 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17028 using bind = Desc<SgForInitStatement, SgStatementPtrList SgForInitStatement::*, &SgForInitStatement::p_init_stmt>;
17033 static constexpr char const *
const name{
"ForInitStatement"};
17034 static constexpr unsigned long variant{427};
17035 static constexpr bool concrete{
true};
17045 static constexpr size_t position{0};
17046 static constexpr char const *
const name{
"for_init_stmt"};
17047 static constexpr char const *
const typestr{
"SgForInitStatement*"};
17048 static constexpr bool traverse{
true};
17050 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17051 using bind = Desc<SgForStatement, SgForInitStatement* SgForStatement::*, &SgForStatement::p_for_init_stmt>;
17056 static constexpr size_t position{1};
17057 static constexpr char const *
const name{
"test"};
17058 static constexpr char const *
const typestr{
"SgStatement*"};
17059 static constexpr bool traverse{
true};
17060 static constexpr auto mbr_ptr{&SgForStatement::p_test};
17061 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17062 using bind = Desc<SgForStatement, SgStatement* SgForStatement::*, &SgForStatement::p_test>;
17067 static constexpr size_t position{2};
17068 static constexpr char const *
const name{
"increment"};
17069 static constexpr char const *
const typestr{
"SgExpression*"};
17070 static constexpr bool traverse{
true};
17071 static constexpr auto mbr_ptr{&SgForStatement::p_increment};
17072 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17073 using bind = Desc<SgForStatement, SgExpression* SgForStatement::*, &SgForStatement::p_increment>;
17078 static constexpr size_t position{3};
17079 static constexpr char const *
const name{
"loop_body"};
17080 static constexpr char const *
const typestr{
"SgStatement*"};
17081 static constexpr bool traverse{
true};
17083 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17084 using bind = Desc<SgForStatement, SgStatement* SgForStatement::*, &SgForStatement::p_loop_body>;
17089 static constexpr size_t position{4};
17090 static constexpr char const *
const name{
"else_body"};
17091 static constexpr char const *
const typestr{
"SgStatement*"};
17092 static constexpr bool traverse{
true};
17094 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17095 using bind = Desc<SgForStatement, SgStatement* SgForStatement::*, &SgForStatement::p_else_body>;
17099 using field_type = std::string;
17100 static constexpr size_t position{5};
17101 static constexpr char const *
const name{
"string_label"};
17102 static constexpr char const *
const typestr{
"std::string"};
17103 static constexpr bool traverse{
false};
17104 static constexpr auto mbr_ptr{&SgForStatement::p_string_label};
17105 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17106 using bind = Desc<SgForStatement, std::string SgForStatement::*, &SgForStatement::p_string_label>;
17111 static constexpr char const *
const name{
"ForStatement"};
17112 static constexpr unsigned long variant{428};
17113 static constexpr bool concrete{
true};
17115 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>>;
17122 using field_type = int;
17123 static constexpr size_t position{0};
17124 static constexpr char const *
const name{
"repeat_specification"};
17125 static constexpr char const *
const typestr{
"int"};
17126 static constexpr bool traverse{
false};
17127 static constexpr auto mbr_ptr{&SgFormatItem::p_repeat_specification};
17128 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17129 using bind = Desc<SgFormatItem, int SgFormatItem::*, &SgFormatItem::p_repeat_specification>;
17134 static constexpr size_t position{1};
17135 static constexpr char const *
const name{
"data"};
17136 static constexpr char const *
const typestr{
"SgExpression*"};
17137 static constexpr bool traverse{
false};
17138 static constexpr auto mbr_ptr{&SgFormatItem::p_data};
17139 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17140 using bind = Desc<SgFormatItem, SgExpression* SgFormatItem::*, &SgFormatItem::p_data>;
17145 static constexpr size_t position{2};
17146 static constexpr char const *
const name{
"format_item_list"};
17147 static constexpr char const *
const typestr{
"SgFormatItemList*"};
17148 static constexpr bool traverse{
false};
17149 static constexpr auto mbr_ptr{&SgFormatItem::p_format_item_list};
17150 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17151 using bind = Desc<SgFormatItem, SgFormatItemList* SgFormatItem::*, &SgFormatItem::p_format_item_list>;
17156 static constexpr char const *
const name{
"FormatItem"};
17157 static constexpr unsigned long variant{429};
17158 static constexpr bool concrete{
true};
17167 using field_type = SgFormatItemPtrList;
17168 static constexpr size_t position{0};
17169 static constexpr char const *
const name{
"format_item_list"};
17170 static constexpr char const *
const typestr{
"SgFormatItemPtrList"};
17171 static constexpr bool traverse{
false};
17172 static constexpr auto mbr_ptr{&SgFormatItemList::p_format_item_list};
17173 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17174 using bind = Desc<SgFormatItemList, SgFormatItemPtrList SgFormatItemList::*, &SgFormatItemList::p_format_item_list>;
17179 static constexpr char const *
const name{
"FormatItemList"};
17180 static constexpr unsigned long variant{430};
17181 static constexpr bool concrete{
true};
17191 static constexpr size_t position{0};
17192 static constexpr char const *
const name{
"format_item_list"};
17193 static constexpr char const *
const typestr{
"SgFormatItemList*"};
17194 static constexpr bool traverse{
false};
17195 static constexpr auto mbr_ptr{&SgFormatStatement::p_format_item_list};
17196 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17197 using bind = Desc<SgFormatStatement, SgFormatItemList* SgFormatStatement::*, &SgFormatStatement::p_format_item_list>;
17202 static constexpr char const *
const name{
"FormatStatement"};
17203 static constexpr unsigned long variant{431};
17204 static constexpr bool concrete{
true};
17214 static constexpr size_t position{0};
17215 static constexpr char const *
const name{
"initialization"};
17216 static constexpr char const *
const typestr{
"SgExpression*"};
17217 static constexpr bool traverse{
true};
17218 static constexpr auto mbr_ptr{&SgFortranDo::p_initialization};
17219 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17220 using bind = Desc<SgFortranDo, SgExpression* SgFortranDo::*, &SgFortranDo::p_initialization>;
17225 static constexpr size_t position{1};
17226 static constexpr char const *
const name{
"bound"};
17227 static constexpr char const *
const typestr{
"SgExpression*"};
17228 static constexpr bool traverse{
true};
17229 static constexpr auto mbr_ptr{&SgFortranDo::p_bound};
17230 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17231 using bind = Desc<SgFortranDo, SgExpression* SgFortranDo::*, &SgFortranDo::p_bound>;
17236 static constexpr size_t position{2};
17237 static constexpr char const *
const name{
"increment"};
17238 static constexpr char const *
const typestr{
"SgExpression*"};
17239 static constexpr bool traverse{
true};
17240 static constexpr auto mbr_ptr{&SgFortranDo::p_increment};
17241 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17242 using bind = Desc<SgFortranDo, SgExpression* SgFortranDo::*, &SgFortranDo::p_increment>;
17247 static constexpr size_t position{3};
17248 static constexpr char const *
const name{
"body"};
17249 static constexpr char const *
const typestr{
"SgBasicBlock*"};
17250 static constexpr bool traverse{
true};
17251 static constexpr auto mbr_ptr{&SgFortranDo::p_body};
17252 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17253 using bind = Desc<SgFortranDo, SgBasicBlock* SgFortranDo::*, &SgFortranDo::p_body>;
17258 static constexpr size_t position{4};
17259 static constexpr char const *
const name{
"end_numeric_label"};
17260 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
17261 static constexpr bool traverse{
false};
17262 static constexpr auto mbr_ptr{&SgFortranDo::p_end_numeric_label};
17263 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17264 using bind = Desc<SgFortranDo, SgLabelRefExp* SgFortranDo::*, &SgFortranDo::p_end_numeric_label>;
17268 using field_type = std::string;
17269 static constexpr size_t position{5};
17270 static constexpr char const *
const name{
"string_label"};
17271 static constexpr char const *
const typestr{
"std::string"};
17272 static constexpr bool traverse{
false};
17273 static constexpr auto mbr_ptr{&SgFortranDo::p_string_label};
17274 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17275 using bind = Desc<SgFortranDo, std::string SgFortranDo::*, &SgFortranDo::p_string_label>;
17279 using field_type = bool;
17280 static constexpr size_t position{6};
17281 static constexpr char const *
const name{
"old_style"};
17282 static constexpr char const *
const typestr{
"bool"};
17283 static constexpr bool traverse{
false};
17284 static constexpr auto mbr_ptr{&SgFortranDo::p_old_style};
17285 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17286 using bind = Desc<SgFortranDo, bool SgFortranDo::*, &SgFortranDo::p_old_style>;
17290 using field_type = bool;
17291 static constexpr size_t position{7};
17292 static constexpr char const *
const name{
"has_end_statement"};
17293 static constexpr char const *
const typestr{
"bool"};
17294 static constexpr bool traverse{
false};
17295 static constexpr auto mbr_ptr{&SgFortranDo::p_has_end_statement};
17296 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17297 using bind = Desc<SgFortranDo, bool SgFortranDo::*, &SgFortranDo::p_has_end_statement>;
17302 static constexpr char const *
const name{
"FortranDo"};
17303 static constexpr unsigned long variant{432};
17304 static constexpr bool concrete{
true};
17306 using fields_t =
mp::List<describe_field_t<SgFortranDo,SgExpression*,&SgFortranDo::p_initialization>,
describe_field_t<SgFortranDo,SgExpression*,&SgFortranDo::p_bound>,
describe_field_t<SgFortranDo,SgExpression*,&SgFortranDo::p_increment>,
describe_field_t<SgFortranDo,SgBasicBlock*,&SgFortranDo::p_body>,
describe_field_t<SgFortranDo,SgLabelRefExp*,&SgFortranDo::p_end_numeric_label>,
describe_field_t<SgFortranDo,std::string,&SgFortranDo::p_string_label>,
describe_field_t<SgFortranDo,bool,&SgFortranDo::p_old_style>,
describe_field_t<SgFortranDo,bool,&SgFortranDo::p_has_end_statement>>;
17313 using field_type = std::string;
17314 static constexpr size_t position{0};
17315 static constexpr char const *
const name{
"filename"};
17316 static constexpr char const *
const typestr{
"std::string"};
17317 static constexpr bool traverse{
false};
17318 static constexpr auto mbr_ptr{&SgFortranIncludeLine::p_filename};
17319 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17320 using bind = Desc<SgFortranIncludeLine, std::string SgFortranIncludeLine::*, &SgFortranIncludeLine::p_filename>;
17325 static constexpr char const *
const name{
"FortranIncludeLine"};
17326 static constexpr unsigned long variant{433};
17327 static constexpr bool concrete{
true};
17337 static constexpr size_t position{0};
17338 static constexpr char const *
const name{
"end_statement"};
17339 static constexpr char const *
const typestr{
"SgStatement*"};
17340 static constexpr bool traverse{
false};
17341 static constexpr auto mbr_ptr{&SgFortranNonblockedDo::p_end_statement};
17342 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17343 using bind = Desc<SgFortranNonblockedDo, SgStatement* SgFortranNonblockedDo::*, &SgFortranNonblockedDo::p_end_statement>;
17348 static constexpr char const *
const name{
"FortranNonblockedDo"};
17349 static constexpr unsigned long variant{434};
17350 static constexpr bool concrete{
true};
17360 static constexpr char const *
const name{
"FuncDecl_attr"};
17361 static constexpr unsigned long variant{435};
17362 static constexpr bool concrete{
true};
17371 using field_type = bool;
17372 static constexpr size_t position{0};
17373 static constexpr char const *
const name{
"uses_operator_syntax"};
17374 static constexpr char const *
const typestr{
"bool"};
17375 static constexpr bool traverse{
false};
17376 static constexpr auto mbr_ptr{&SgFunctionCallExp::p_uses_operator_syntax};
17377 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17378 using bind = Desc<SgFunctionCallExp, bool SgFunctionCallExp::*, &SgFunctionCallExp::p_uses_operator_syntax>;
17382 using field_type = bool;
17383 static constexpr size_t position{1};
17384 static constexpr char const *
const name{
"usesObjectCallSyntax"};
17385 static constexpr char const *
const typestr{
"bool"};
17386 static constexpr bool traverse{
false};
17387 static constexpr auto mbr_ptr{&SgFunctionCallExp::p_usesObjectCallSyntax};
17388 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17389 using bind = Desc<SgFunctionCallExp, bool SgFunctionCallExp::*, &SgFunctionCallExp::p_usesObjectCallSyntax>;
17394 static constexpr char const *
const name{
"FunctionCallExp"};
17395 static constexpr unsigned long variant{436};
17396 static constexpr bool concrete{
true};
17406 static constexpr size_t position{0};
17407 static constexpr char const *
const name{
"name"};
17408 static constexpr char const *
const typestr{
"SgName"};
17409 static constexpr bool traverse{
false};
17411 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17412 using bind = Desc<SgFunctionDeclaration, SgName SgFunctionDeclaration::*, &SgFunctionDeclaration::p_name>;
17417 static constexpr size_t position{1};
17418 static constexpr char const *
const name{
"parameterList"};
17419 static constexpr char const *
const typestr{
"SgFunctionParameterList*"};
17420 static constexpr bool traverse{
true};
17421 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_parameterList};
17422 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17423 using bind = Desc<SgFunctionDeclaration, SgFunctionParameterList* SgFunctionDeclaration::*, &SgFunctionDeclaration::p_parameterList>;
17428 static constexpr size_t position{2};
17429 static constexpr char const *
const name{
"functionModifier"};
17430 static constexpr char const *
const typestr{
"SgFunctionModifier"};
17431 static constexpr bool traverse{
false};
17433 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17434 using bind = Desc<SgFunctionDeclaration, SgFunctionModifier SgFunctionDeclaration::*, &SgFunctionDeclaration::p_functionModifier>;
17439 static constexpr size_t position{3};
17440 static constexpr char const *
const name{
"specialFunctionModifier"};
17441 static constexpr char const *
const typestr{
"SgSpecialFunctionModifier"};
17442 static constexpr bool traverse{
false};
17444 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17445 using bind = Desc<SgFunctionDeclaration, SgSpecialFunctionModifier SgFunctionDeclaration::*, &SgFunctionDeclaration::p_specialFunctionModifier>;
17449 using field_type = SgTypePtrList;
17450 static constexpr size_t position{4};
17451 static constexpr char const *
const name{
"exceptionSpecification"};
17452 static constexpr char const *
const typestr{
"SgTypePtrList"};
17453 static constexpr bool traverse{
false};
17454 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_exceptionSpecification};
17455 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17456 using bind = Desc<SgFunctionDeclaration, SgTypePtrList SgFunctionDeclaration::*, &SgFunctionDeclaration::p_exceptionSpecification>;
17460 using field_type = bool;
17461 static constexpr size_t position{5};
17462 static constexpr char const *
const name{
"named_in_end_statement"};
17463 static constexpr char const *
const typestr{
"bool"};
17464 static constexpr bool traverse{
false};
17465 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_named_in_end_statement};
17466 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17467 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_named_in_end_statement>;
17471 using field_type = std::string;
17472 static constexpr size_t position{6};
17473 static constexpr char const *
const name{
"asm_name"};
17474 static constexpr char const *
const typestr{
"std::string"};
17475 static constexpr bool traverse{
false};
17476 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_asm_name};
17477 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17478 using bind = Desc<SgFunctionDeclaration, std::string SgFunctionDeclaration::*, &SgFunctionDeclaration::p_asm_name>;
17483 static constexpr size_t position{7};
17484 static constexpr char const *
const name{
"decoratorList"};
17485 static constexpr char const *
const typestr{
"SgExprListExp*"};
17486 static constexpr bool traverse{
true};
17488 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17489 using bind = Desc<SgFunctionDeclaration, SgExprListExp* SgFunctionDeclaration::*, &SgFunctionDeclaration::p_decoratorList>;
17493 using field_type = bool;
17494 static constexpr size_t position{8};
17495 static constexpr char const *
const name{
"ada_formal_subprogram_decl"};
17496 static constexpr char const *
const typestr{
"bool"};
17497 static constexpr bool traverse{
false};
17498 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_ada_formal_subprogram_decl};
17499 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17500 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_ada_formal_subprogram_decl>;
17504 using field_type = bool;
17505 static constexpr size_t position{9};
17506 static constexpr char const *
const name{
"ada_formal_decl_with_box"};
17507 static constexpr char const *
const typestr{
"bool"};
17508 static constexpr bool traverse{
false};
17509 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_ada_formal_decl_with_box};
17510 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17511 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_ada_formal_decl_with_box>;
17516 static constexpr size_t position{10};
17517 static constexpr char const *
const name{
"type"};
17518 static constexpr char const *
const typestr{
"SgFunctionType*"};
17519 static constexpr bool traverse{
false};
17521 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17522 using bind = Desc<SgFunctionDeclaration, SgFunctionType* SgFunctionDeclaration::*, &SgFunctionDeclaration::p_type>;
17527 static constexpr size_t position{11};
17528 static constexpr char const *
const name{
"definition"};
17529 static constexpr char const *
const typestr{
"SgFunctionDefinition*"};
17530 static constexpr bool traverse{
true};
17532 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17533 using bind = Desc<SgFunctionDeclaration, SgFunctionDefinition* SgFunctionDeclaration::*, &SgFunctionDeclaration::p_definition>;
17537 using field_type = bool;
17538 static constexpr size_t position{12};
17539 static constexpr char const *
const name{
"oldStyleDefinition"};
17540 static constexpr char const *
const typestr{
"bool"};
17541 static constexpr bool traverse{
false};
17543 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17544 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_oldStyleDefinition>;
17549 static constexpr size_t position{13};
17550 static constexpr char const *
const name{
"scope"};
17551 static constexpr char const *
const typestr{
"SgScopeStatement*"};
17552 static constexpr bool traverse{
false};
17553 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_scope};
17554 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17555 using bind = Desc<SgFunctionDeclaration, SgScopeStatement* SgFunctionDeclaration::*, &SgFunctionDeclaration::p_scope>;
17560 static constexpr size_t position{14};
17561 static constexpr char const *
const name{
"specialization"};
17562 static constexpr char const *
const typestr{
"SgDeclarationStatement::template_specialization_enum"};
17563 static constexpr bool traverse{
false};
17564 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_specialization};
17565 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17566 using bind = Desc<SgFunctionDeclaration, SgDeclarationStatement::template_specialization_enum SgFunctionDeclaration::*, &SgFunctionDeclaration::p_specialization>;
17570 using field_type = bool;
17571 static constexpr size_t position{15};
17572 static constexpr char const *
const name{
"requiresNameQualificationOnReturnType"};
17573 static constexpr char const *
const typestr{
"bool"};
17574 static constexpr bool traverse{
false};
17575 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_requiresNameQualificationOnReturnType};
17576 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17577 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_requiresNameQualificationOnReturnType>;
17581 using field_type = std::string;
17582 static constexpr size_t position{16};
17583 static constexpr char const *
const name{
"gnu_extension_section"};
17584 static constexpr char const *
const typestr{
"std::string"};
17585 static constexpr bool traverse{
false};
17586 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_gnu_extension_section};
17587 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17588 using bind = Desc<SgFunctionDeclaration, std::string SgFunctionDeclaration::*, &SgFunctionDeclaration::p_gnu_extension_section>;
17592 using field_type = std::string;
17593 static constexpr size_t position{17};
17594 static constexpr char const *
const name{
"gnu_extension_alias"};
17595 static constexpr char const *
const typestr{
"std::string"};
17596 static constexpr bool traverse{
false};
17597 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_gnu_extension_alias};
17598 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17599 using bind = Desc<SgFunctionDeclaration, std::string SgFunctionDeclaration::*, &SgFunctionDeclaration::p_gnu_extension_alias>;
17604 static constexpr size_t position{18};
17605 static constexpr char const *
const name{
"gnu_extension_visability"};
17606 static constexpr char const *
const typestr{
"SgDeclarationStatement::gnu_extension_visability_attribute_enum"};
17607 static constexpr bool traverse{
false};
17608 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_gnu_extension_visability};
17609 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17610 using bind = Desc<SgFunctionDeclaration, SgDeclarationStatement::gnu_extension_visability_attribute_enum SgFunctionDeclaration::*, &SgFunctionDeclaration::p_gnu_extension_visability>;
17614 using field_type = int;
17615 static constexpr size_t position{19};
17616 static constexpr char const *
const name{
"name_qualification_length"};
17617 static constexpr char const *
const typestr{
"int"};
17618 static constexpr bool traverse{
false};
17619 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_name_qualification_length};
17620 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17621 using bind = Desc<SgFunctionDeclaration, int SgFunctionDeclaration::*, &SgFunctionDeclaration::p_name_qualification_length>;
17625 using field_type = bool;
17626 static constexpr size_t position{20};
17627 static constexpr char const *
const name{
"type_elaboration_required"};
17628 static constexpr char const *
const typestr{
"bool"};
17629 static constexpr bool traverse{
false};
17630 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_type_elaboration_required};
17631 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17632 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_type_elaboration_required>;
17636 using field_type = bool;
17637 static constexpr size_t position{21};
17638 static constexpr char const *
const name{
"global_qualification_required"};
17639 static constexpr char const *
const typestr{
"bool"};
17640 static constexpr bool traverse{
false};
17641 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_global_qualification_required};
17642 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17643 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_global_qualification_required>;
17647 using field_type = int;
17648 static constexpr size_t position{22};
17649 static constexpr char const *
const name{
"name_qualification_length_for_return_type"};
17650 static constexpr char const *
const typestr{
"int"};
17651 static constexpr bool traverse{
false};
17652 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_name_qualification_length_for_return_type};
17653 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17654 using bind = Desc<SgFunctionDeclaration, int SgFunctionDeclaration::*, &SgFunctionDeclaration::p_name_qualification_length_for_return_type>;
17658 using field_type = bool;
17659 static constexpr size_t position{23};
17660 static constexpr char const *
const name{
"type_elaboration_required_for_return_type"};
17661 static constexpr char const *
const typestr{
"bool"};
17662 static constexpr bool traverse{
false};
17663 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_type_elaboration_required_for_return_type};
17664 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17665 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_type_elaboration_required_for_return_type>;
17669 using field_type = bool;
17670 static constexpr size_t position{24};
17671 static constexpr char const *
const name{
"global_qualification_required_for_return_type"};
17672 static constexpr char const *
const typestr{
"bool"};
17673 static constexpr bool traverse{
false};
17674 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_global_qualification_required_for_return_type};
17675 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17676 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_global_qualification_required_for_return_type>;
17680 using field_type = bool;
17681 static constexpr size_t position{25};
17682 static constexpr char const *
const name{
"prototypeIsWithoutParameters"};
17683 static constexpr char const *
const typestr{
"bool"};
17684 static constexpr bool traverse{
false};
17685 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_prototypeIsWithoutParameters};
17686 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17687 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_prototypeIsWithoutParameters>;
17691 using field_type = int;
17692 static constexpr size_t position{26};
17693 static constexpr char const *
const name{
"gnu_regparm_attribute"};
17694 static constexpr char const *
const typestr{
"int"};
17695 static constexpr bool traverse{
false};
17696 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_gnu_regparm_attribute};
17697 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17698 using bind = Desc<SgFunctionDeclaration, int SgFunctionDeclaration::*, &SgFunctionDeclaration::p_gnu_regparm_attribute>;
17703 static constexpr size_t position{27};
17704 static constexpr char const *
const name{
"type_syntax"};
17705 static constexpr char const *
const typestr{
"SgFunctionType*"};
17706 static constexpr bool traverse{
false};
17707 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_type_syntax};
17708 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17709 using bind = Desc<SgFunctionDeclaration, SgFunctionType* SgFunctionDeclaration::*, &SgFunctionDeclaration::p_type_syntax>;
17713 using field_type = bool;
17714 static constexpr size_t position{28};
17715 static constexpr char const *
const name{
"type_syntax_is_available"};
17716 static constexpr char const *
const typestr{
"bool"};
17717 static constexpr bool traverse{
false};
17718 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_type_syntax_is_available};
17719 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17720 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_type_syntax_is_available>;
17725 static constexpr size_t position{29};
17726 static constexpr char const *
const name{
"parameterList_syntax"};
17727 static constexpr char const *
const typestr{
"SgFunctionParameterList*"};
17728 static constexpr bool traverse{
false};
17729 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_parameterList_syntax};
17730 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17731 using bind = Desc<SgFunctionDeclaration, SgFunctionParameterList* SgFunctionDeclaration::*, &SgFunctionDeclaration::p_parameterList_syntax>;
17735 using field_type = bool;
17736 static constexpr size_t position{30};
17737 static constexpr char const *
const name{
"using_C11_Noreturn_keyword"};
17738 static constexpr char const *
const typestr{
"bool"};
17739 static constexpr bool traverse{
false};
17740 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_using_C11_Noreturn_keyword};
17741 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17742 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_using_C11_Noreturn_keyword>;
17746 using field_type = bool;
17747 static constexpr size_t position{31};
17748 static constexpr char const *
const name{
"is_constexpr"};
17749 static constexpr char const *
const typestr{
"bool"};
17750 static constexpr bool traverse{
false};
17751 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_is_constexpr};
17752 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17753 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_is_constexpr>;
17757 using field_type = bool;
17758 static constexpr size_t position{32};
17759 static constexpr char const *
const name{
"using_new_function_return_type_syntax"};
17760 static constexpr char const *
const typestr{
"bool"};
17761 static constexpr bool traverse{
false};
17762 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_using_new_function_return_type_syntax};
17763 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17764 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_using_new_function_return_type_syntax>;
17769 static constexpr size_t position{33};
17770 static constexpr char const *
const name{
"functionParameterScope"};
17771 static constexpr char const *
const typestr{
"SgFunctionParameterScope*"};
17772 static constexpr bool traverse{
false};
17773 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_functionParameterScope};
17774 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17775 using bind = Desc<SgFunctionDeclaration, SgFunctionParameterScope* SgFunctionDeclaration::*, &SgFunctionDeclaration::p_functionParameterScope>;
17779 using field_type = bool;
17780 static constexpr size_t position{34};
17781 static constexpr char const *
const name{
"marked_as_edg_normalization"};
17782 static constexpr char const *
const typestr{
"bool"};
17783 static constexpr bool traverse{
false};
17784 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_marked_as_edg_normalization};
17785 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17786 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_marked_as_edg_normalization>;
17790 using field_type = bool;
17791 static constexpr size_t position{35};
17792 static constexpr char const *
const name{
"is_implicit_function"};
17793 static constexpr char const *
const typestr{
"bool"};
17794 static constexpr bool traverse{
false};
17795 static constexpr auto mbr_ptr{&SgFunctionDeclaration::p_is_implicit_function};
17796 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17797 using bind = Desc<SgFunctionDeclaration, bool SgFunctionDeclaration::*, &SgFunctionDeclaration::p_is_implicit_function>;
17802 static constexpr char const *
const name{
"FunctionDeclaration"};
17803 static constexpr unsigned long variant{437};
17804 static constexpr bool concrete{
true};
17806 using fields_t =
mp::List<describe_field_t<SgFunctionDeclaration,SgName,&SgFunctionDeclaration::p_name>,
describe_field_t<SgFunctionDeclaration,SgFunctionParameterList*,&SgFunctionDeclaration::p_parameterList>,
describe_field_t<SgFunctionDeclaration,SgFunctionModifier,&SgFunctionDeclaration::p_functionModifier>,
describe_field_t<SgFunctionDeclaration,SgSpecialFunctionModifier,&SgFunctionDeclaration::p_specialFunctionModifier>,
describe_field_t<SgFunctionDeclaration,SgTypePtrList,&SgFunctionDeclaration::p_exceptionSpecification>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_named_in_end_statement>,
describe_field_t<SgFunctionDeclaration,std::string,&SgFunctionDeclaration::p_asm_name>,
describe_field_t<SgFunctionDeclaration,SgExprListExp*,&SgFunctionDeclaration::p_decoratorList>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_ada_formal_subprogram_decl>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_ada_formal_decl_with_box>,
describe_field_t<SgFunctionDeclaration,SgFunctionType*,&SgFunctionDeclaration::p_type>,
describe_field_t<SgFunctionDeclaration,SgFunctionDefinition*,&SgFunctionDeclaration::p_definition>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_oldStyleDefinition>,
describe_field_t<SgFunctionDeclaration,SgScopeStatement*,&SgFunctionDeclaration::p_scope>,
describe_field_t<SgFunctionDeclaration,SgDeclarationStatement::template_specialization_enum,&SgFunctionDeclaration::p_specialization>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_requiresNameQualificationOnReturnType>,
describe_field_t<SgFunctionDeclaration,std::string,&SgFunctionDeclaration::p_gnu_extension_section>,
describe_field_t<SgFunctionDeclaration,std::string,&SgFunctionDeclaration::p_gnu_extension_alias>,
describe_field_t<SgFunctionDeclaration,SgDeclarationStatement::gnu_extension_visability_attribute_enum,&SgFunctionDeclaration::p_gnu_extension_visability>,
describe_field_t<SgFunctionDeclaration,int,&SgFunctionDeclaration::p_name_qualification_length>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_type_elaboration_required>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_global_qualification_required>,
describe_field_t<SgFunctionDeclaration,int,&SgFunctionDeclaration::p_name_qualification_length_for_return_type>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_type_elaboration_required_for_return_type>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_global_qualification_required_for_return_type>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_prototypeIsWithoutParameters>,
describe_field_t<SgFunctionDeclaration,int,&SgFunctionDeclaration::p_gnu_regparm_attribute>,
describe_field_t<SgFunctionDeclaration,SgFunctionType*,&SgFunctionDeclaration::p_type_syntax>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_type_syntax_is_available>,
describe_field_t<SgFunctionDeclaration,SgFunctionParameterList*,&SgFunctionDeclaration::p_parameterList_syntax>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_using_C11_Noreturn_keyword>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_is_constexpr>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_using_new_function_return_type_syntax>,
describe_field_t<SgFunctionDeclaration,SgFunctionParameterScope*,&SgFunctionDeclaration::p_functionParameterScope>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_marked_as_edg_normalization>,
describe_field_t<SgFunctionDeclaration,bool,&SgFunctionDeclaration::p_is_implicit_function>>;
17814 static constexpr size_t position{0};
17815 static constexpr char const *
const name{
"body"};
17816 static constexpr char const *
const typestr{
"SgBasicBlock*"};
17817 static constexpr bool traverse{
true};
17819 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17820 using bind = Desc<SgFunctionDefinition, SgBasicBlock* SgFunctionDefinition::*, &SgFunctionDefinition::p_body>;
17824 using field_type = std::map<SgNode*,int>;
17825 static constexpr size_t position{1};
17826 static constexpr char const *
const name{
"scope_number_list"};
17827 static constexpr char const *
const typestr{
"std::map<SgNode*,int>"};
17828 static constexpr bool traverse{
false};
17829 static constexpr auto mbr_ptr{&SgFunctionDefinition::p_scope_number_list};
17830 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17831 using bind = Desc<SgFunctionDefinition, std::map<SgNode*,int>
SgFunctionDefinition::*, &SgFunctionDefinition::p_scope_number_list>;
17836 static constexpr char const *
const name{
"FunctionDefinition"};
17837 static constexpr unsigned long variant{438};
17838 static constexpr bool concrete{
true};
17847 using field_type = SgDeclarationStatementPtrList;
17848 static constexpr size_t position{0};
17849 static constexpr char const *
const name{
"declarations"};
17850 static constexpr char const *
const typestr{
"SgDeclarationStatementPtrList"};
17851 static constexpr bool traverse{
true};
17852 static constexpr auto mbr_ptr{&SgFunctionParameterScope::p_declarations};
17853 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17854 using bind = Desc<SgFunctionParameterScope, SgDeclarationStatementPtrList SgFunctionParameterScope::*, &SgFunctionParameterScope::p_declarations>;
17859 static constexpr char const *
const name{
"FunctionParameterScope"};
17860 static constexpr unsigned long variant{439};
17861 static constexpr bool concrete{
true};
17870 using field_type = SgBitVector;
17871 static constexpr size_t position{0};
17872 static constexpr char const *
const name{
"modifierVector"};
17873 static constexpr char const *
const typestr{
"SgBitVector"};
17874 static constexpr bool traverse{
false};
17875 static constexpr auto mbr_ptr{&SgFunctionModifier::p_modifierVector};
17876 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17877 using bind = Desc<SgFunctionModifier, SgBitVector SgFunctionModifier::*, &SgFunctionModifier::p_modifierVector>;
17881 using field_type =
unsigned long int;
17882 static constexpr size_t position{1};
17883 static constexpr char const *
const name{
"gnu_attribute_constructor_destructor_priority"};
17884 static constexpr char const *
const typestr{
"unsigned long int"};
17885 static constexpr bool traverse{
false};
17886 static constexpr auto mbr_ptr{&SgFunctionModifier::p_gnu_attribute_constructor_destructor_priority};
17887 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17888 using bind = Desc<SgFunctionModifier, unsigned long int SgFunctionModifier::*, &SgFunctionModifier::p_gnu_attribute_constructor_destructor_priority>;
17892 using field_type = std::string;
17893 static constexpr size_t position{2};
17894 static constexpr char const *
const name{
"gnu_attribute_named_weak_reference"};
17895 static constexpr char const *
const typestr{
"std::string"};
17896 static constexpr bool traverse{
false};
17897 static constexpr auto mbr_ptr{&SgFunctionModifier::p_gnu_attribute_named_weak_reference};
17898 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17899 using bind = Desc<SgFunctionModifier, std::string SgFunctionModifier::*, &SgFunctionModifier::p_gnu_attribute_named_weak_reference>;
17903 using field_type = std::string;
17904 static constexpr size_t position{3};
17905 static constexpr char const *
const name{
"gnu_attribute_named_alias"};
17906 static constexpr char const *
const typestr{
"std::string"};
17907 static constexpr bool traverse{
false};
17908 static constexpr auto mbr_ptr{&SgFunctionModifier::p_gnu_attribute_named_alias};
17909 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17910 using bind = Desc<SgFunctionModifier, std::string SgFunctionModifier::*, &SgFunctionModifier::p_gnu_attribute_named_alias>;
17915 static constexpr size_t position{4};
17916 static constexpr char const *
const name{
"opencl_vec_type"};
17917 static constexpr char const *
const typestr{
"SgType *"};
17918 static constexpr bool traverse{
false};
17919 static constexpr auto mbr_ptr{&SgFunctionModifier::p_opencl_vec_type};
17920 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17921 using bind = Desc<SgFunctionModifier, SgType * SgFunctionModifier::*, &SgFunctionModifier::p_opencl_vec_type>;
17926 static constexpr size_t position{5};
17927 static constexpr char const *
const name{
"opencl_work_group_size"};
17928 static constexpr char const *
const typestr{
"SgFunctionModifier::opencl_work_group_size_t"};
17929 static constexpr bool traverse{
false};
17930 static constexpr auto mbr_ptr{&SgFunctionModifier::p_opencl_work_group_size};
17931 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17932 using bind = Desc<SgFunctionModifier, SgFunctionModifier::opencl_work_group_size_t SgFunctionModifier::*, &SgFunctionModifier::p_opencl_work_group_size>;
17937 static constexpr char const *
const name{
"FunctionModifier"};
17938 static constexpr unsigned long variant{440};
17939 static constexpr bool concrete{
true};
17941 using fields_t =
mp::List<describe_field_t<SgFunctionModifier,SgBitVector,&SgFunctionModifier::p_modifierVector>,
describe_field_t<SgFunctionModifier,unsigned long int,&SgFunctionModifier::p_gnu_attribute_constructor_destructor_priority>,
describe_field_t<SgFunctionModifier,std::string,&SgFunctionModifier::p_gnu_attribute_named_weak_reference>,
describe_field_t<SgFunctionModifier,std::string,&SgFunctionModifier::p_gnu_attribute_named_alias>,
describe_field_t<SgFunctionModifier,SgType *,&SgFunctionModifier::p_opencl_vec_type>,
describe_field_t<SgFunctionModifier,SgFunctionModifier::opencl_work_group_size_t,&SgFunctionModifier::p_opencl_work_group_size>>;
17948 using field_type = SgInitializedNamePtrList;
17949 static constexpr size_t position{0};
17950 static constexpr char const *
const name{
"args"};
17951 static constexpr char const *
const typestr{
"SgInitializedNamePtrList"};
17952 static constexpr bool traverse{
true};
17954 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17955 using bind = Desc<SgFunctionParameterList, SgInitializedNamePtrList SgFunctionParameterList::*, &SgFunctionParameterList::p_args>;
17960 static constexpr char const *
const name{
"FunctionParameterList"};
17961 static constexpr unsigned long variant{441};
17962 static constexpr bool concrete{
true};
17971 using field_type = int;
17972 static constexpr size_t position{0};
17973 static constexpr char const *
const name{
"parameter_number"};
17974 static constexpr char const *
const typestr{
"int"};
17975 static constexpr bool traverse{
false};
17976 static constexpr auto mbr_ptr{&SgFunctionParameterRefExp::p_parameter_number};
17977 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17978 using bind = Desc<SgFunctionParameterRefExp, int SgFunctionParameterRefExp::*, &SgFunctionParameterRefExp::p_parameter_number>;
17982 using field_type = int;
17983 static constexpr size_t position{1};
17984 static constexpr char const *
const name{
"parameter_levels_up"};
17985 static constexpr char const *
const typestr{
"int"};
17986 static constexpr bool traverse{
false};
17987 static constexpr auto mbr_ptr{&SgFunctionParameterRefExp::p_parameter_levels_up};
17988 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
17989 using bind = Desc<SgFunctionParameterRefExp, int SgFunctionParameterRefExp::*, &SgFunctionParameterRefExp::p_parameter_levels_up>;
17994 static constexpr size_t position{2};
17995 static constexpr char const *
const name{
"parameter_expression"};
17996 static constexpr char const *
const typestr{
"SgExpression*"};
17997 static constexpr bool traverse{
true};
17998 static constexpr auto mbr_ptr{&SgFunctionParameterRefExp::p_parameter_expression};
17999 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18000 using bind = Desc<SgFunctionParameterRefExp, SgExpression* SgFunctionParameterRefExp::*, &SgFunctionParameterRefExp::p_parameter_expression>;
18005 static constexpr size_t position{3};
18006 static constexpr char const *
const name{
"parameter_type"};
18007 static constexpr char const *
const typestr{
"SgType*"};
18008 static constexpr bool traverse{
false};
18009 static constexpr auto mbr_ptr{&SgFunctionParameterRefExp::p_parameter_type};
18010 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18011 using bind = Desc<SgFunctionParameterRefExp, SgType* SgFunctionParameterRefExp::*, &SgFunctionParameterRefExp::p_parameter_type>;
18016 static constexpr char const *
const name{
"FunctionParameterRefExp"};
18017 static constexpr unsigned long variant{442};
18018 static constexpr bool concrete{
true};
18020 using fields_t =
mp::List<describe_field_t<SgFunctionParameterRefExp,int,&SgFunctionParameterRefExp::p_parameter_number>,
describe_field_t<SgFunctionParameterRefExp,int,&SgFunctionParameterRefExp::p_parameter_levels_up>,
describe_field_t<SgFunctionParameterRefExp,SgExpression*,&SgFunctionParameterRefExp::p_parameter_expression>,
describe_field_t<SgFunctionParameterRefExp,SgType*,&SgFunctionParameterRefExp::p_parameter_type>>;
18027 using field_type = SgTypePtrList;
18028 static constexpr size_t position{0};
18029 static constexpr char const *
const name{
"arguments"};
18030 static constexpr char const *
const typestr{
"SgTypePtrList"};
18031 static constexpr bool traverse{
false};
18032 static constexpr auto mbr_ptr{&SgFunctionParameterTypeList::p_arguments};
18033 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18034 using bind = Desc<SgFunctionParameterTypeList, SgTypePtrList SgFunctionParameterTypeList::*, &SgFunctionParameterTypeList::p_arguments>;
18039 static constexpr char const *
const name{
"FunctionParameterTypeList"};
18040 static constexpr unsigned long variant{443};
18041 static constexpr bool concrete{
true};
18051 static constexpr size_t position{0};
18052 static constexpr char const *
const name{
"symbol_i"};
18053 static constexpr char const *
const typestr{
"SgFunctionSymbol*"};
18054 static constexpr bool traverse{
false};
18055 static constexpr auto mbr_ptr{&SgFunctionRefExp::p_symbol_i};
18056 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18057 using bind = Desc<SgFunctionRefExp, SgFunctionSymbol* SgFunctionRefExp::*, &SgFunctionRefExp::p_symbol_i>;
18062 static constexpr size_t position{1};
18063 static constexpr char const *
const name{
"function_type"};
18064 static constexpr char const *
const typestr{
"SgFunctionType*"};
18065 static constexpr bool traverse{
false};
18066 static constexpr auto mbr_ptr{&SgFunctionRefExp::p_function_type};
18067 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18068 using bind = Desc<SgFunctionRefExp, SgFunctionType* SgFunctionRefExp::*, &SgFunctionRefExp::p_function_type>;
18073 static constexpr size_t position{2};
18074 static constexpr char const *
const name{
"originalExpressionTree"};
18075 static constexpr char const *
const typestr{
"SgExpression*"};
18076 static constexpr bool traverse{
false};
18077 static constexpr auto mbr_ptr{&SgFunctionRefExp::p_originalExpressionTree};
18078 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18079 using bind = Desc<SgFunctionRefExp, SgExpression* SgFunctionRefExp::*, &SgFunctionRefExp::p_originalExpressionTree>;
18083 using field_type = int;
18084 static constexpr size_t position{3};
18085 static constexpr char const *
const name{
"name_qualification_length"};
18086 static constexpr char const *
const typestr{
"int"};
18087 static constexpr bool traverse{
false};
18088 static constexpr auto mbr_ptr{&SgFunctionRefExp::p_name_qualification_length};
18089 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18090 using bind = Desc<SgFunctionRefExp, int SgFunctionRefExp::*, &SgFunctionRefExp::p_name_qualification_length>;
18094 using field_type = bool;
18095 static constexpr size_t position{4};
18096 static constexpr char const *
const name{
"type_elaboration_required"};
18097 static constexpr char const *
const typestr{
"bool"};
18098 static constexpr bool traverse{
false};
18099 static constexpr auto mbr_ptr{&SgFunctionRefExp::p_type_elaboration_required};
18100 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18101 using bind = Desc<SgFunctionRefExp, bool SgFunctionRefExp::*, &SgFunctionRefExp::p_type_elaboration_required>;
18105 using field_type = bool;
18106 static constexpr size_t position{5};
18107 static constexpr char const *
const name{
"global_qualification_required"};
18108 static constexpr char const *
const typestr{
"bool"};
18109 static constexpr bool traverse{
false};
18110 static constexpr auto mbr_ptr{&SgFunctionRefExp::p_global_qualification_required};
18111 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18112 using bind = Desc<SgFunctionRefExp, bool SgFunctionRefExp::*, &SgFunctionRefExp::p_global_qualification_required>;
18117 static constexpr char const *
const name{
"FunctionRefExp"};
18118 static constexpr unsigned long variant{444};
18119 static constexpr bool concrete{
true};
18121 using fields_t =
mp::List<describe_field_t<SgFunctionRefExp,SgFunctionSymbol*,&SgFunctionRefExp::p_symbol_i>,
describe_field_t<SgFunctionRefExp,SgFunctionType*,&SgFunctionRefExp::p_function_type>,
describe_field_t<SgFunctionRefExp,SgExpression*,&SgFunctionRefExp::p_originalExpressionTree>,
describe_field_t<SgFunctionRefExp,int,&SgFunctionRefExp::p_name_qualification_length>,
describe_field_t<SgFunctionRefExp,bool,&SgFunctionRefExp::p_type_elaboration_required>,
describe_field_t<SgFunctionRefExp,bool,&SgFunctionRefExp::p_global_qualification_required>>;
18129 static constexpr size_t position{0};
18130 static constexpr char const *
const name{
"declaration"};
18131 static constexpr char const *
const typestr{
"SgFunctionDeclaration*"};
18132 static constexpr bool traverse{
true};
18133 static constexpr auto mbr_ptr{&SgFunctionSymbol::p_declaration};
18134 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18135 using bind = Desc<SgFunctionSymbol, SgFunctionDeclaration* SgFunctionSymbol::*, &SgFunctionSymbol::p_declaration>;
18140 static constexpr char const *
const name{
"FunctionSymbol"};
18141 static constexpr unsigned long variant{445};
18142 static constexpr bool concrete{
true};
18152 static constexpr size_t position{0};
18153 static constexpr char const *
const name{
"return_type"};
18154 static constexpr char const *
const typestr{
"SgType*"};
18155 static constexpr bool traverse{
true};
18156 static constexpr auto mbr_ptr{&SgFunctionType::p_return_type};
18157 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18158 using bind = Desc<SgFunctionType, SgType* SgFunctionType::*, &SgFunctionType::p_return_type>;
18162 using field_type = bool;
18163 static constexpr size_t position{1};
18164 static constexpr char const *
const name{
"has_ellipses"};
18165 static constexpr char const *
const typestr{
"bool"};
18166 static constexpr bool traverse{
false};
18167 static constexpr auto mbr_ptr{&SgFunctionType::p_has_ellipses};
18168 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18169 using bind = Desc<SgFunctionType, bool SgFunctionType::*, &SgFunctionType::p_has_ellipses>;
18174 static constexpr size_t position{2};
18175 static constexpr char const *
const name{
"orig_return_type"};
18176 static constexpr char const *
const typestr{
"SgType*"};
18177 static constexpr bool traverse{
true};
18178 static constexpr auto mbr_ptr{&SgFunctionType::p_orig_return_type};
18179 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18180 using bind = Desc<SgFunctionType, SgType* SgFunctionType::*, &SgFunctionType::p_orig_return_type>;
18185 static constexpr size_t position{3};
18186 static constexpr char const *
const name{
"argument_list"};
18187 static constexpr char const *
const typestr{
"SgFunctionParameterTypeList*"};
18188 static constexpr bool traverse{
false};
18189 static constexpr auto mbr_ptr{&SgFunctionType::p_argument_list};
18190 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18191 using bind = Desc<SgFunctionType, SgFunctionParameterTypeList* SgFunctionType::*, &SgFunctionType::p_argument_list>;
18196 static constexpr char const *
const name{
"FunctionType"};
18197 static constexpr unsigned long variant{446};
18198 static constexpr bool concrete{
true};
18200 using fields_t =
mp::List<describe_field_t<SgFunctionType,SgType*,&SgFunctionType::p_return_type>,
describe_field_t<SgFunctionType,bool,&SgFunctionType::p_has_ellipses>,
describe_field_t<SgFunctionType,SgType*,&SgFunctionType::p_orig_return_type>,
describe_field_t<SgFunctionType,SgFunctionParameterTypeList*,&SgFunctionType::p_argument_list>>;
18208 static constexpr size_t position{0};
18209 static constexpr char const *
const name{
"name"};
18210 static constexpr char const *
const typestr{
"SgName"};
18211 static constexpr bool traverse{
false};
18212 static constexpr auto mbr_ptr{&SgFunctionTypeSymbol::p_name};
18213 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18214 using bind = Desc<SgFunctionTypeSymbol, SgName SgFunctionTypeSymbol::*, &SgFunctionTypeSymbol::p_name>;
18219 static constexpr size_t position{1};
18220 static constexpr char const *
const name{
"type"};
18221 static constexpr char const *
const typestr{
"SgType*"};
18222 static constexpr bool traverse{
false};
18223 static constexpr auto mbr_ptr{&SgFunctionTypeSymbol::p_type};
18224 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18225 using bind = Desc<SgFunctionTypeSymbol, SgType* SgFunctionTypeSymbol::*, &SgFunctionTypeSymbol::p_type>;
18230 static constexpr char const *
const name{
"FunctionTypeSymbol"};
18231 static constexpr unsigned long variant{447};
18232 static constexpr bool concrete{
true};
18242 static constexpr size_t position{0};
18243 static constexpr char const *
const name{
"function_type_table"};
18244 static constexpr char const *
const typestr{
"SgSymbolTable*"};
18245 static constexpr bool traverse{
false};
18247 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18248 using bind = Desc<SgFunctionTypeTable, SgSymbolTable* SgFunctionTypeTable::*, &SgFunctionTypeTable::p_function_type_table>;
18253 static constexpr char const *
const name{
"FunctionTypeTable"};
18254 static constexpr unsigned long variant{448};
18255 static constexpr bool concrete{
true};
18265 static constexpr size_t position{0};
18266 static constexpr char const *
const name{
"type_table"};
18267 static constexpr char const *
const typestr{
"SgSymbolTable*"};
18268 static constexpr bool traverse{
false};
18269 static constexpr auto mbr_ptr{&SgTypeTable::p_type_table};
18270 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18271 using bind = Desc<SgTypeTable, SgSymbolTable* SgTypeTable::*, &SgTypeTable::p_type_table>;
18276 static constexpr char const *
const name{
"TypeTable"};
18277 static constexpr unsigned long variant{449};
18278 static constexpr bool concrete{
true};
18287 using field_type = SgDeclarationStatementPtrList;
18288 static constexpr size_t position{0};
18289 static constexpr char const *
const name{
"declarations"};
18290 static constexpr char const *
const typestr{
"SgDeclarationStatementPtrList"};
18291 static constexpr bool traverse{
true};
18293 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18294 using bind = Desc<SgGlobal, SgDeclarationStatementPtrList SgGlobal::*, &SgGlobal::p_declarations>;
18299 static constexpr char const *
const name{
"Global"};
18300 static constexpr unsigned long variant{450};
18301 static constexpr bool concrete{
true};
18311 static constexpr size_t position{0};
18312 static constexpr char const *
const name{
"label"};
18313 static constexpr char const *
const typestr{
"SgLabelStatement*"};
18314 static constexpr bool traverse{
false};
18316 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18317 using bind = Desc<SgGotoStatement, SgLabelStatement* SgGotoStatement::*, &SgGotoStatement::p_label>;
18322 static constexpr size_t position{1};
18323 static constexpr char const *
const name{
"label_expression"};
18324 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
18325 static constexpr bool traverse{
false};
18326 static constexpr auto mbr_ptr{&SgGotoStatement::p_label_expression};
18327 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18328 using bind = Desc<SgGotoStatement, SgLabelRefExp* SgGotoStatement::*, &SgGotoStatement::p_label_expression>;
18333 static constexpr size_t position{2};
18334 static constexpr char const *
const name{
"selector_expression"};
18335 static constexpr char const *
const typestr{
"SgExpression*"};
18336 static constexpr bool traverse{
false};
18337 static constexpr auto mbr_ptr{&SgGotoStatement::p_selector_expression};
18338 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18339 using bind = Desc<SgGotoStatement, SgExpression* SgGotoStatement::*, &SgGotoStatement::p_selector_expression>;
18344 static constexpr char const *
const name{
"GotoStatement"};
18345 static constexpr unsigned long variant{451};
18346 static constexpr bool concrete{
true};
18355 using field_type = std::string;
18356 static constexpr size_t position{0};
18357 static constexpr char const *
const name{
"name"};
18358 static constexpr char const *
const typestr{
"std::string"};
18359 static constexpr bool traverse{
false};
18360 static constexpr auto mbr_ptr{&SgGraph::p_name};
18361 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18362 using bind = Desc<SgGraph, std::string SgGraph::*, &SgGraph::p_name>;
18367 static constexpr size_t position{1};
18368 static constexpr char const *
const name{
"node_index_to_node_map"};
18369 static constexpr char const *
const typestr{
"rose_graph_integer_node_hash_map"};
18370 static constexpr bool traverse{
false};
18371 static constexpr auto mbr_ptr{&SgGraph::p_node_index_to_node_map};
18372 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18373 using bind = Desc<SgGraph, rose_graph_integer_node_hash_map SgGraph::*, &SgGraph::p_node_index_to_node_map>;
18378 static constexpr size_t position{2};
18379 static constexpr char const *
const name{
"edge_index_to_edge_map"};
18380 static constexpr char const *
const typestr{
"rose_graph_integer_edge_hash_map"};
18381 static constexpr bool traverse{
false};
18382 static constexpr auto mbr_ptr{&SgGraph::p_edge_index_to_edge_map};
18383 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18384 using bind = Desc<SgGraph, rose_graph_integer_edge_hash_map SgGraph::*, &SgGraph::p_edge_index_to_edge_map>;
18389 static constexpr size_t position{3};
18390 static constexpr char const *
const name{
"node_index_pair_to_edge_multimap"};
18391 static constexpr char const *
const typestr{
"rose_graph_integerpair_edge_hash_multimap"};
18392 static constexpr bool traverse{
false};
18393 static constexpr auto mbr_ptr{&SgGraph::p_node_index_pair_to_edge_multimap};
18394 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18395 using bind = Desc<SgGraph, rose_graph_integerpair_edge_hash_multimap SgGraph::*, &SgGraph::p_node_index_pair_to_edge_multimap>;
18400 static constexpr size_t position{4};
18401 static constexpr char const *
const name{
"string_to_node_index_multimap"};
18402 static constexpr char const *
const typestr{
"rose_graph_string_integer_hash_multimap"};
18403 static constexpr bool traverse{
false};
18404 static constexpr auto mbr_ptr{&SgGraph::p_string_to_node_index_multimap};
18405 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18406 using bind = Desc<SgGraph, rose_graph_string_integer_hash_multimap SgGraph::*, &SgGraph::p_string_to_node_index_multimap>;
18411 static constexpr size_t position{5};
18412 static constexpr char const *
const name{
"string_to_edge_index_multimap"};
18413 static constexpr char const *
const typestr{
"rose_graph_string_integer_hash_multimap"};
18414 static constexpr bool traverse{
false};
18415 static constexpr auto mbr_ptr{&SgGraph::p_string_to_edge_index_multimap};
18416 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18417 using bind = Desc<SgGraph, rose_graph_string_integer_hash_multimap SgGraph::*, &SgGraph::p_string_to_edge_index_multimap>;
18422 static constexpr size_t position{6};
18423 static constexpr char const *
const name{
"node_index_to_edge_multimap"};
18424 static constexpr char const *
const typestr{
"rose_graph_integer_edge_hash_multimap"};
18425 static constexpr bool traverse{
false};
18426 static constexpr auto mbr_ptr{&SgGraph::p_node_index_to_edge_multimap};
18427 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18428 using bind = Desc<SgGraph, rose_graph_integer_edge_hash_multimap SgGraph::*, &SgGraph::p_node_index_to_edge_multimap>;
18432 using field_type = int;
18433 static constexpr size_t position{7};
18434 static constexpr char const *
const name{
"index"};
18435 static constexpr char const *
const typestr{
"int"};
18436 static constexpr bool traverse{
false};
18437 static constexpr auto mbr_ptr{&SgGraph::p_index};
18438 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18439 using bind = Desc<SgGraph, int SgGraph::*, &SgGraph::p_index>;
18443 using field_type = SgBoostEdgeList;
18444 static constexpr size_t position{8};
18445 static constexpr char const *
const name{
"boost_edges"};
18446 static constexpr char const *
const typestr{
"SgBoostEdgeList"};
18447 static constexpr bool traverse{
false};
18448 static constexpr auto mbr_ptr{&SgGraph::p_boost_edges};
18449 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18450 using bind = Desc<SgGraph, SgBoostEdgeList SgGraph::*, &SgGraph::p_boost_edges>;
18454 using field_type = SgBoostEdgeWeightList;
18455 static constexpr size_t position{9};
18456 static constexpr char const *
const name{
"boost_edge_weights"};
18457 static constexpr char const *
const typestr{
"SgBoostEdgeWeightList"};
18458 static constexpr bool traverse{
false};
18459 static constexpr auto mbr_ptr{&SgGraph::p_boost_edge_weights};
18460 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18461 using bind = Desc<SgGraph, SgBoostEdgeWeightList SgGraph::*, &SgGraph::p_boost_edge_weights>;
18466 static constexpr size_t position{10};
18467 static constexpr char const *
const name{
"attributeMechanism"};
18468 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
18469 static constexpr bool traverse{
false};
18470 static constexpr auto mbr_ptr{&SgGraph::p_attributeMechanism};
18471 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18472 using bind = Desc<SgGraph, AstAttributeMechanism* SgGraph::*, &SgGraph::p_attributeMechanism>;
18476 using field_type = std::map<int, std::string>;
18477 static constexpr size_t position{11};
18478 static constexpr char const *
const name{
"properties"};
18479 static constexpr char const *
const typestr{
"std::map<int, std::string>"};
18480 static constexpr bool traverse{
false};
18481 static constexpr auto mbr_ptr{&SgGraph::p_properties};
18482 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18483 using bind = Desc<SgGraph, std::map<int, std::string>
SgGraph::*, &SgGraph::p_properties>;
18488 static constexpr char const *
const name{
"Graph"};
18489 static constexpr unsigned long variant{452};
18490 static constexpr bool concrete{
false};
18492 using fields_t =
mp::List<describe_field_t<SgGraph,std::string,&SgGraph::p_name>,
describe_field_t<SgGraph,rose_graph_integer_node_hash_map,&SgGraph::p_node_index_to_node_map>,
describe_field_t<SgGraph,rose_graph_integer_edge_hash_map,&SgGraph::p_edge_index_to_edge_map>,
describe_field_t<SgGraph,rose_graph_integerpair_edge_hash_multimap,&SgGraph::p_node_index_pair_to_edge_multimap>,
describe_field_t<SgGraph,rose_graph_string_integer_hash_multimap,&SgGraph::p_string_to_node_index_multimap>,
describe_field_t<SgGraph,rose_graph_string_integer_hash_multimap,&SgGraph::p_string_to_edge_index_multimap>,
describe_field_t<SgGraph,rose_graph_integer_edge_hash_multimap,&SgGraph::p_node_index_to_edge_multimap>,
describe_field_t<SgGraph,int,&SgGraph::p_index>,
describe_field_t<SgGraph,SgBoostEdgeList,&SgGraph::p_boost_edges>,
describe_field_t<SgGraph,SgBoostEdgeWeightList,&SgGraph::p_boost_edge_weights>,
describe_field_t<SgGraph,AstAttributeMechanism*,&SgGraph::p_attributeMechanism>,
describe_field_t<SgGraph,std::map<int, std::string>,&SgGraph::p_properties>>;
18500 static constexpr size_t position{0};
18501 static constexpr char const *
const name{
"node_A"};
18502 static constexpr char const *
const typestr{
"SgGraphNode*"};
18503 static constexpr bool traverse{
false};
18504 static constexpr auto mbr_ptr{&SgGraphEdge::p_node_A};
18505 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18506 using bind = Desc<SgGraphEdge, SgGraphNode* SgGraphEdge::*, &SgGraphEdge::p_node_A>;
18511 static constexpr size_t position{1};
18512 static constexpr char const *
const name{
"node_B"};
18513 static constexpr char const *
const typestr{
"SgGraphNode*"};
18514 static constexpr bool traverse{
false};
18515 static constexpr auto mbr_ptr{&SgGraphEdge::p_node_B};
18516 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18517 using bind = Desc<SgGraphEdge, SgGraphNode* SgGraphEdge::*, &SgGraphEdge::p_node_B>;
18521 using field_type = std::string;
18522 static constexpr size_t position{2};
18523 static constexpr char const *
const name{
"name"};
18524 static constexpr char const *
const typestr{
"std::string"};
18525 static constexpr bool traverse{
false};
18526 static constexpr auto mbr_ptr{&SgGraphEdge::p_name};
18527 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18528 using bind = Desc<SgGraphEdge, std::string SgGraphEdge::*, &SgGraphEdge::p_name>;
18532 using field_type = int;
18533 static constexpr size_t position{3};
18534 static constexpr char const *
const name{
"index"};
18535 static constexpr char const *
const typestr{
"int"};
18536 static constexpr bool traverse{
false};
18537 static constexpr auto mbr_ptr{&SgGraphEdge::p_index};
18538 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18539 using bind = Desc<SgGraphEdge, int SgGraphEdge::*, &SgGraphEdge::p_index>;
18544 static constexpr size_t position{4};
18545 static constexpr char const *
const name{
"attributeMechanism"};
18546 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
18547 static constexpr bool traverse{
false};
18548 static constexpr auto mbr_ptr{&SgGraphEdge::p_attributeMechanism};
18549 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18550 using bind = Desc<SgGraphEdge, AstAttributeMechanism* SgGraphEdge::*, &SgGraphEdge::p_attributeMechanism>;
18554 using field_type = std::map<int, std::string>;
18555 static constexpr size_t position{5};
18556 static constexpr char const *
const name{
"properties"};
18557 static constexpr char const *
const typestr{
"std::map<int, std::string>"};
18558 static constexpr bool traverse{
false};
18559 static constexpr auto mbr_ptr{&SgGraphEdge::p_properties};
18560 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18561 using bind = Desc<SgGraphEdge, std::map<int, std::string>
SgGraphEdge::*, &SgGraphEdge::p_properties>;
18566 static constexpr char const *
const name{
"GraphEdge"};
18567 static constexpr unsigned long variant{453};
18568 static constexpr bool concrete{
false};
18570 using fields_t =
mp::List<describe_field_t<SgGraphEdge,SgGraphNode*,&SgGraphEdge::p_node_A>,
describe_field_t<SgGraphEdge,SgGraphNode*,&SgGraphEdge::p_node_B>,
describe_field_t<SgGraphEdge,std::string,&SgGraphEdge::p_name>,
describe_field_t<SgGraphEdge,int,&SgGraphEdge::p_index>,
describe_field_t<SgGraphEdge,AstAttributeMechanism*,&SgGraphEdge::p_attributeMechanism>,
describe_field_t<SgGraphEdge,std::map<int, std::string>,&SgGraphEdge::p_properties>>;
18578 static constexpr char const *
const name{
"GraphEdgeList"};
18579 static constexpr unsigned long variant{454};
18580 static constexpr bool concrete{
true};
18589 using field_type = std::string;
18590 static constexpr size_t position{0};
18591 static constexpr char const *
const name{
"name"};
18592 static constexpr char const *
const typestr{
"std::string"};
18593 static constexpr bool traverse{
false};
18594 static constexpr auto mbr_ptr{&SgGraphNode::p_name};
18595 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18596 using bind = Desc<SgGraphNode, std::string SgGraphNode::*, &SgGraphNode::p_name>;
18601 static constexpr size_t position{1};
18602 static constexpr char const *
const name{
"SgNode"};
18603 static constexpr char const *
const typestr{
"SgNode*"};
18604 static constexpr bool traverse{
false};
18605 static constexpr auto mbr_ptr{&SgGraphNode::p_SgNode};
18606 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18607 using bind = Desc<SgGraphNode, SgNode* SgGraphNode::*, &SgGraphNode::p_SgNode>;
18611 using field_type = int;
18612 static constexpr size_t position{2};
18613 static constexpr char const *
const name{
"index"};
18614 static constexpr char const *
const typestr{
"int"};
18615 static constexpr bool traverse{
false};
18616 static constexpr auto mbr_ptr{&SgGraphNode::p_index};
18617 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18618 using bind = Desc<SgGraphNode, int SgGraphNode::*, &SgGraphNode::p_index>;
18623 static constexpr size_t position{3};
18624 static constexpr char const *
const name{
"attributeMechanism"};
18625 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
18626 static constexpr bool traverse{
false};
18627 static constexpr auto mbr_ptr{&SgGraphNode::p_attributeMechanism};
18628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18629 using bind = Desc<SgGraphNode, AstAttributeMechanism* SgGraphNode::*, &SgGraphNode::p_attributeMechanism>;
18633 using field_type = std::map<int, std::string>;
18634 static constexpr size_t position{4};
18635 static constexpr char const *
const name{
"properties"};
18636 static constexpr char const *
const typestr{
"std::map<int, std::string>"};
18637 static constexpr bool traverse{
false};
18638 static constexpr auto mbr_ptr{&SgGraphNode::p_properties};
18639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18640 using bind = Desc<SgGraphNode, std::map<int, std::string>
SgGraphNode::*, &SgGraphNode::p_properties>;
18645 static constexpr char const *
const name{
"GraphNode"};
18646 static constexpr unsigned long variant{455};
18647 static constexpr bool concrete{
true};
18649 using fields_t =
mp::List<describe_field_t<SgGraphNode,std::string,&SgGraphNode::p_name>,
describe_field_t<SgGraphNode,SgNode*,&SgGraphNode::p_SgNode>,
describe_field_t<SgGraphNode,int,&SgGraphNode::p_index>,
describe_field_t<SgGraphNode,AstAttributeMechanism*,&SgGraphNode::p_attributeMechanism>,
describe_field_t<SgGraphNode,std::map<int, std::string>,&SgGraphNode::p_properties>>;
18657 static constexpr char const *
const name{
"GraphNodeList"};
18658 static constexpr unsigned long variant{456};
18659 static constexpr bool concrete{
true};
18669 static constexpr char const *
const name{
"GreaterOrEqualOp"};
18670 static constexpr unsigned long variant{457};
18671 static constexpr bool concrete{
true};
18681 static constexpr char const *
const name{
"GreaterThanOp"};
18682 static constexpr unsigned long variant{458};
18683 static constexpr bool concrete{
true};
18693 static constexpr size_t position{0};
18694 static constexpr char const *
const name{
"name"};
18695 static constexpr char const *
const typestr{
"SgName"};
18696 static constexpr bool traverse{
false};
18697 static constexpr auto mbr_ptr{&SgIOItemExpression::p_name};
18698 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18699 using bind = Desc<SgIOItemExpression, SgName SgIOItemExpression::*, &SgIOItemExpression::p_name>;
18704 static constexpr size_t position{1};
18705 static constexpr char const *
const name{
"io_item"};
18706 static constexpr char const *
const typestr{
"SgExpression*"};
18707 static constexpr bool traverse{
true};
18708 static constexpr auto mbr_ptr{&SgIOItemExpression::p_io_item};
18709 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18710 using bind = Desc<SgIOItemExpression, SgExpression* SgIOItemExpression::*, &SgIOItemExpression::p_io_item>;
18715 static constexpr char const *
const name{
"IOItemExpression"};
18716 static constexpr unsigned long variant{459};
18717 static constexpr bool concrete{
true};
18727 static constexpr size_t position{0};
18728 static constexpr char const *
const name{
"io_statement"};
18729 static constexpr char const *
const typestr{
"SgIOStatement::io_statement_enum"};
18730 static constexpr bool traverse{
false};
18731 static constexpr auto mbr_ptr{&SgIOStatement::p_io_statement};
18732 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18733 using bind = Desc<SgIOStatement, SgIOStatement::io_statement_enum SgIOStatement::*, &SgIOStatement::p_io_statement>;
18738 static constexpr size_t position{1};
18739 static constexpr char const *
const name{
"io_stmt_list"};
18740 static constexpr char const *
const typestr{
"SgExprListExp*"};
18741 static constexpr bool traverse{
true};
18742 static constexpr auto mbr_ptr{&SgIOStatement::p_io_stmt_list};
18743 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18744 using bind = Desc<SgIOStatement, SgExprListExp* SgIOStatement::*, &SgIOStatement::p_io_stmt_list>;
18749 static constexpr size_t position{2};
18750 static constexpr char const *
const name{
"unit"};
18751 static constexpr char const *
const typestr{
"SgExpression*"};
18752 static constexpr bool traverse{
true};
18753 static constexpr auto mbr_ptr{&SgIOStatement::p_unit};
18754 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18755 using bind = Desc<SgIOStatement, SgExpression* SgIOStatement::*, &SgIOStatement::p_unit>;
18760 static constexpr size_t position{3};
18761 static constexpr char const *
const name{
"iostat"};
18762 static constexpr char const *
const typestr{
"SgExpression*"};
18763 static constexpr bool traverse{
true};
18764 static constexpr auto mbr_ptr{&SgIOStatement::p_iostat};
18765 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18766 using bind = Desc<SgIOStatement, SgExpression* SgIOStatement::*, &SgIOStatement::p_iostat>;
18771 static constexpr size_t position{4};
18772 static constexpr char const *
const name{
"err"};
18773 static constexpr char const *
const typestr{
"SgExpression*"};
18774 static constexpr bool traverse{
true};
18775 static constexpr auto mbr_ptr{&SgIOStatement::p_err};
18776 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18777 using bind = Desc<SgIOStatement, SgExpression* SgIOStatement::*, &SgIOStatement::p_err>;
18782 static constexpr size_t position{5};
18783 static constexpr char const *
const name{
"iomsg"};
18784 static constexpr char const *
const typestr{
"SgExpression*"};
18785 static constexpr bool traverse{
true};
18786 static constexpr auto mbr_ptr{&SgIOStatement::p_iomsg};
18787 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18788 using bind = Desc<SgIOStatement, SgExpression* SgIOStatement::*, &SgIOStatement::p_iomsg>;
18793 static constexpr char const *
const name{
"IOStatement"};
18794 static constexpr unsigned long variant{460};
18795 static constexpr bool concrete{
false};
18796 using subclasses_t =
mp::List<SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement>;
18797 using fields_t =
mp::List<describe_field_t<SgIOStatement,SgIOStatement::io_statement_enum,&SgIOStatement::p_io_statement>,
describe_field_t<SgIOStatement,SgExprListExp*,&SgIOStatement::p_io_stmt_list>,
describe_field_t<SgIOStatement,SgExpression*,&SgIOStatement::p_unit>,
describe_field_t<SgIOStatement,SgExpression*,&SgIOStatement::p_iostat>,
describe_field_t<SgIOStatement,SgExpression*,&SgIOStatement::p_err>,
describe_field_t<SgIOStatement,SgExpression*,&SgIOStatement::p_iomsg>>;
18805 static constexpr char const *
const name{
"IdentDirectiveStatement"};
18806 static constexpr unsigned long variant{461};
18807 static constexpr bool concrete{
true};
18817 static constexpr char const *
const name{
"IfDirectiveStatement"};
18818 static constexpr unsigned long variant{462};
18819 static constexpr bool concrete{
true};
18829 static constexpr size_t position{0};
18830 static constexpr char const *
const name{
"conditional"};
18831 static constexpr char const *
const typestr{
"SgStatement*"};
18832 static constexpr bool traverse{
true};
18834 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18835 using bind = Desc<SgIfStmt, SgStatement* SgIfStmt::*, &SgIfStmt::p_conditional>;
18840 static constexpr size_t position{1};
18841 static constexpr char const *
const name{
"true_body"};
18842 static constexpr char const *
const typestr{
"SgStatement*"};
18843 static constexpr bool traverse{
true};
18845 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18846 using bind = Desc<SgIfStmt, SgStatement* SgIfStmt::*, &SgIfStmt::p_true_body>;
18851 static constexpr size_t position{2};
18852 static constexpr char const *
const name{
"false_body"};
18853 static constexpr char const *
const typestr{
"SgStatement*"};
18854 static constexpr bool traverse{
true};
18856 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18857 using bind = Desc<SgIfStmt, SgStatement* SgIfStmt::*, &SgIfStmt::p_false_body>;
18861 using field_type = bool;
18862 static constexpr size_t position{3};
18863 static constexpr char const *
const name{
"is_if_constexpr_statement"};
18864 static constexpr char const *
const typestr{
"bool"};
18865 static constexpr bool traverse{
false};
18866 static constexpr auto mbr_ptr{&SgIfStmt::p_is_if_constexpr_statement};
18867 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18868 using bind = Desc<SgIfStmt, bool SgIfStmt::*, &SgIfStmt::p_is_if_constexpr_statement>;
18872 using field_type = bool;
18873 static constexpr size_t position{4};
18874 static constexpr char const *
const name{
"if_constexpr_value_known"};
18875 static constexpr char const *
const typestr{
"bool"};
18876 static constexpr bool traverse{
false};
18877 static constexpr auto mbr_ptr{&SgIfStmt::p_if_constexpr_value_known};
18878 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18879 using bind = Desc<SgIfStmt, bool SgIfStmt::*, &SgIfStmt::p_if_constexpr_value_known>;
18883 using field_type = bool;
18884 static constexpr size_t position{5};
18885 static constexpr char const *
const name{
"if_constexpr_value"};
18886 static constexpr char const *
const typestr{
"bool"};
18887 static constexpr bool traverse{
false};
18888 static constexpr auto mbr_ptr{&SgIfStmt::p_if_constexpr_value};
18889 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18890 using bind = Desc<SgIfStmt, bool SgIfStmt::*, &SgIfStmt::p_if_constexpr_value>;
18895 static constexpr size_t position{6};
18896 static constexpr char const *
const name{
"else_numeric_label"};
18897 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
18898 static constexpr bool traverse{
false};
18899 static constexpr auto mbr_ptr{&SgIfStmt::p_else_numeric_label};
18900 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18901 using bind = Desc<SgIfStmt, SgLabelRefExp* SgIfStmt::*, &SgIfStmt::p_else_numeric_label>;
18905 using field_type = std::string;
18906 static constexpr size_t position{7};
18907 static constexpr char const *
const name{
"string_label"};
18908 static constexpr char const *
const typestr{
"std::string"};
18909 static constexpr bool traverse{
false};
18910 static constexpr auto mbr_ptr{&SgIfStmt::p_string_label};
18911 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18912 using bind = Desc<SgIfStmt, std::string SgIfStmt::*, &SgIfStmt::p_string_label>;
18917 static constexpr size_t position{8};
18918 static constexpr char const *
const name{
"end_numeric_label"};
18919 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
18920 static constexpr bool traverse{
false};
18921 static constexpr auto mbr_ptr{&SgIfStmt::p_end_numeric_label};
18922 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18923 using bind = Desc<SgIfStmt, SgLabelRefExp* SgIfStmt::*, &SgIfStmt::p_end_numeric_label>;
18927 using field_type = bool;
18928 static constexpr size_t position{9};
18929 static constexpr char const *
const name{
"has_end_statement"};
18930 static constexpr char const *
const typestr{
"bool"};
18931 static constexpr bool traverse{
false};
18932 static constexpr auto mbr_ptr{&SgIfStmt::p_has_end_statement};
18933 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18934 using bind = Desc<SgIfStmt, bool SgIfStmt::*, &SgIfStmt::p_has_end_statement>;
18938 using field_type = bool;
18939 static constexpr size_t position{10};
18940 static constexpr char const *
const name{
"use_then_keyword"};
18941 static constexpr char const *
const typestr{
"bool"};
18942 static constexpr bool traverse{
false};
18943 static constexpr auto mbr_ptr{&SgIfStmt::p_use_then_keyword};
18944 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18945 using bind = Desc<SgIfStmt, bool SgIfStmt::*, &SgIfStmt::p_use_then_keyword>;
18949 using field_type = bool;
18950 static constexpr size_t position{11};
18951 static constexpr char const *
const name{
"is_else_if_statement"};
18952 static constexpr char const *
const typestr{
"bool"};
18953 static constexpr bool traverse{
false};
18954 static constexpr auto mbr_ptr{&SgIfStmt::p_is_else_if_statement};
18955 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
18956 using bind = Desc<SgIfStmt, bool SgIfStmt::*, &SgIfStmt::p_is_else_if_statement>;
18961 static constexpr char const *
const name{
"IfStmt"};
18962 static constexpr unsigned long variant{463};
18963 static constexpr bool concrete{
true};
18965 using fields_t =
mp::List<describe_field_t<SgIfStmt,SgStatement*,&SgIfStmt::p_conditional>,
describe_field_t<SgIfStmt,SgStatement*,&SgIfStmt::p_true_body>,
describe_field_t<SgIfStmt,SgStatement*,&SgIfStmt::p_false_body>,
describe_field_t<SgIfStmt,bool,&SgIfStmt::p_is_if_constexpr_statement>,
describe_field_t<SgIfStmt,bool,&SgIfStmt::p_if_constexpr_value_known>,
describe_field_t<SgIfStmt,bool,&SgIfStmt::p_if_constexpr_value>,
describe_field_t<SgIfStmt,SgLabelRefExp*,&SgIfStmt::p_else_numeric_label>,
describe_field_t<SgIfStmt,std::string,&SgIfStmt::p_string_label>,
describe_field_t<SgIfStmt,SgLabelRefExp*,&SgIfStmt::p_end_numeric_label>,
describe_field_t<SgIfStmt,bool,&SgIfStmt::p_has_end_statement>,
describe_field_t<SgIfStmt,bool,&SgIfStmt::p_use_then_keyword>,
describe_field_t<SgIfStmt,bool,&SgIfStmt::p_is_else_if_statement>>;
18973 static constexpr char const *
const name{
"IfdefDirectiveStatement"};
18974 static constexpr unsigned long variant{464};
18975 static constexpr bool concrete{
true};
18985 static constexpr char const *
const name{
"IfndefDirectiveStatement"};
18986 static constexpr unsigned long variant{465};
18987 static constexpr bool concrete{
true};
18997 static constexpr size_t position{0};
18998 static constexpr char const *
const name{
"image_control_statement"};
18999 static constexpr char const *
const typestr{
"SgImageControlStatement::image_control_statement_enum"};
19000 static constexpr bool traverse{
false};
19001 static constexpr auto mbr_ptr{&SgImageControlStatement::p_image_control_statement};
19002 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19003 using bind = Desc<SgImageControlStatement, SgImageControlStatement::image_control_statement_enum SgImageControlStatement::*, &SgImageControlStatement::p_image_control_statement>;
19008 static constexpr size_t position{1};
19009 static constexpr char const *
const name{
"stat"};
19010 static constexpr char const *
const typestr{
"SgExpression*"};
19011 static constexpr bool traverse{
true};
19012 static constexpr auto mbr_ptr{&SgImageControlStatement::p_stat};
19013 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19014 using bind = Desc<SgImageControlStatement, SgExpression* SgImageControlStatement::*, &SgImageControlStatement::p_stat>;
19019 static constexpr size_t position{2};
19020 static constexpr char const *
const name{
"err_msg"};
19021 static constexpr char const *
const typestr{
"SgExpression*"};
19022 static constexpr bool traverse{
true};
19023 static constexpr auto mbr_ptr{&SgImageControlStatement::p_err_msg};
19024 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19025 using bind = Desc<SgImageControlStatement, SgExpression* SgImageControlStatement::*, &SgImageControlStatement::p_err_msg>;
19030 static constexpr size_t position{3};
19031 static constexpr char const *
const name{
"acquired_lock"};
19032 static constexpr char const *
const typestr{
"SgExpression*"};
19033 static constexpr bool traverse{
true};
19034 static constexpr auto mbr_ptr{&SgImageControlStatement::p_acquired_lock};
19035 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19036 using bind = Desc<SgImageControlStatement, SgExpression* SgImageControlStatement::*, &SgImageControlStatement::p_acquired_lock>;
19041 static constexpr char const *
const name{
"ImageControlStatement"};
19042 static constexpr unsigned long variant{466};
19043 static constexpr bool concrete{
false};
19045 using fields_t =
mp::List<describe_field_t<SgImageControlStatement,SgImageControlStatement::image_control_statement_enum,&SgImageControlStatement::p_image_control_statement>,
describe_field_t<SgImageControlStatement,SgExpression*,&SgImageControlStatement::p_stat>,
describe_field_t<SgImageControlStatement,SgExpression*,&SgImageControlStatement::p_err_msg>,
describe_field_t<SgImageControlStatement,SgExpression*,&SgImageControlStatement::p_acquired_lock>>;
19053 static constexpr char const *
const name{
"ImagPartOp"};
19054 static constexpr unsigned long variant{467};
19055 static constexpr bool concrete{
true};
19064 using field_type = bool;
19065 static constexpr size_t position{0};
19066 static constexpr char const *
const name{
"implicit_none"};
19067 static constexpr char const *
const typestr{
"bool"};
19068 static constexpr bool traverse{
false};
19069 static constexpr auto mbr_ptr{&SgImplicitStatement::p_implicit_none};
19070 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19071 using bind = Desc<SgImplicitStatement, bool SgImplicitStatement::*, &SgImplicitStatement::p_implicit_none>;
19076 static constexpr size_t position{1};
19077 static constexpr char const *
const name{
"implicit_spec"};
19078 static constexpr char const *
const typestr{
"SgImplicitStatement::implicit_spec_enum"};
19079 static constexpr bool traverse{
false};
19080 static constexpr auto mbr_ptr{&SgImplicitStatement::p_implicit_spec};
19081 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19082 using bind = Desc<SgImplicitStatement, SgImplicitStatement::implicit_spec_enum SgImplicitStatement::*, &SgImplicitStatement::p_implicit_spec>;
19086 using field_type = SgInitializedNamePtrList;
19087 static constexpr size_t position{2};
19088 static constexpr char const *
const name{
"variables"};
19089 static constexpr char const *
const typestr{
"SgInitializedNamePtrList"};
19090 static constexpr bool traverse{
true};
19091 static constexpr auto mbr_ptr{&SgImplicitStatement::p_variables};
19092 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19093 using bind = Desc<SgImplicitStatement, SgInitializedNamePtrList SgImplicitStatement::*, &SgImplicitStatement::p_variables>;
19098 static constexpr char const *
const name{
"ImplicitStatement"};
19099 static constexpr unsigned long variant{468};
19100 static constexpr bool concrete{
true};
19110 static constexpr size_t position{0};
19111 static constexpr char const *
const name{
"do_var_initialization"};
19112 static constexpr char const *
const typestr{
"SgExpression*"};
19113 static constexpr bool traverse{
true};
19114 static constexpr auto mbr_ptr{&SgImpliedDo::p_do_var_initialization};
19115 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19116 using bind = Desc<SgImpliedDo, SgExpression* SgImpliedDo::*, &SgImpliedDo::p_do_var_initialization>;
19121 static constexpr size_t position{1};
19122 static constexpr char const *
const name{
"last_val"};
19123 static constexpr char const *
const typestr{
"SgExpression*"};
19124 static constexpr bool traverse{
true};
19125 static constexpr auto mbr_ptr{&SgImpliedDo::p_last_val};
19126 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19127 using bind = Desc<SgImpliedDo, SgExpression* SgImpliedDo::*, &SgImpliedDo::p_last_val>;
19132 static constexpr size_t position{2};
19133 static constexpr char const *
const name{
"increment"};
19134 static constexpr char const *
const typestr{
"SgExpression*"};
19135 static constexpr bool traverse{
true};
19136 static constexpr auto mbr_ptr{&SgImpliedDo::p_increment};
19137 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19138 using bind = Desc<SgImpliedDo, SgExpression* SgImpliedDo::*, &SgImpliedDo::p_increment>;
19143 static constexpr size_t position{3};
19144 static constexpr char const *
const name{
"object_list"};
19145 static constexpr char const *
const typestr{
"SgExprListExp*"};
19146 static constexpr bool traverse{
true};
19147 static constexpr auto mbr_ptr{&SgImpliedDo::p_object_list};
19148 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19149 using bind = Desc<SgImpliedDo, SgExprListExp* SgImpliedDo::*, &SgImpliedDo::p_object_list>;
19154 static constexpr size_t position{4};
19155 static constexpr char const *
const name{
"implied_do_scope"};
19156 static constexpr char const *
const typestr{
"SgScopeStatement*"};
19157 static constexpr bool traverse{
false};
19158 static constexpr auto mbr_ptr{&SgImpliedDo::p_implied_do_scope};
19159 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19160 using bind = Desc<SgImpliedDo, SgScopeStatement* SgImpliedDo::*, &SgImpliedDo::p_implied_do_scope>;
19165 static constexpr char const *
const name{
"ImpliedDo"};
19166 static constexpr unsigned long variant{469};
19167 static constexpr bool concrete{
true};
19169 using fields_t =
mp::List<describe_field_t<SgImpliedDo,SgExpression*,&SgImpliedDo::p_do_var_initialization>,
describe_field_t<SgImpliedDo,SgExpression*,&SgImpliedDo::p_last_val>,
describe_field_t<SgImpliedDo,SgExpression*,&SgImpliedDo::p_increment>,
describe_field_t<SgImpliedDo,SgExprListExp*,&SgImpliedDo::p_object_list>,
describe_field_t<SgImpliedDo,SgScopeStatement*,&SgImpliedDo::p_implied_do_scope>>;
19176 using field_type = SgExpressionPtrList;
19177 static constexpr size_t position{0};
19178 static constexpr char const *
const name{
"import_list"};
19179 static constexpr char const *
const typestr{
"SgExpressionPtrList"};
19180 static constexpr bool traverse{
false};
19181 static constexpr auto mbr_ptr{&SgImportStatement::p_import_list};
19182 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19183 using bind = Desc<SgImportStatement, SgExpressionPtrList SgImportStatement::*, &SgImportStatement::p_import_list>;
19188 static constexpr char const *
const name{
"ImportStatement"};
19189 static constexpr unsigned long variant{470};
19190 static constexpr bool concrete{
true};
19200 static constexpr size_t position{0};
19201 static constexpr char const *
const name{
"node_index_to_edge_multimap_edgesOut"};
19202 static constexpr char const *
const typestr{
"rose_graph_integer_edge_hash_multimap"};
19203 static constexpr bool traverse{
false};
19204 static constexpr auto mbr_ptr{&SgIncidenceDirectedGraph::p_node_index_to_edge_multimap_edgesOut};
19205 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19206 using bind = Desc<SgIncidenceDirectedGraph, rose_graph_integer_edge_hash_multimap SgIncidenceDirectedGraph::*, &SgIncidenceDirectedGraph::p_node_index_to_edge_multimap_edgesOut>;
19211 static constexpr size_t position{1};
19212 static constexpr char const *
const name{
"node_index_to_edge_multimap_edgesIn"};
19213 static constexpr char const *
const typestr{
"rose_graph_integer_edge_hash_multimap"};
19214 static constexpr bool traverse{
false};
19215 static constexpr auto mbr_ptr{&SgIncidenceDirectedGraph::p_node_index_to_edge_multimap_edgesIn};
19216 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19217 using bind = Desc<SgIncidenceDirectedGraph, rose_graph_integer_edge_hash_multimap SgIncidenceDirectedGraph::*, &SgIncidenceDirectedGraph::p_node_index_to_edge_multimap_edgesIn>;
19222 static constexpr char const *
const name{
"IncidenceDirectedGraph"};
19223 static constexpr unsigned long variant{471};
19224 static constexpr bool concrete{
false};
19234 static constexpr char const *
const name{
"IncidenceUndirectedGraph"};
19235 static constexpr unsigned long variant{472};
19236 static constexpr bool concrete{
true};
19246 static constexpr size_t position{0};
19247 static constexpr char const *
const name{
"headerFileBody"};
19248 static constexpr char const *
const typestr{
"SgHeaderFileBody*"};
19249 static constexpr bool traverse{
true};
19250 static constexpr auto mbr_ptr{&SgIncludeDirectiveStatement::p_headerFileBody};
19251 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19252 using bind = Desc<SgIncludeDirectiveStatement, SgHeaderFileBody* SgIncludeDirectiveStatement::*, &SgIncludeDirectiveStatement::p_headerFileBody>;
19257 static constexpr size_t position{1};
19258 static constexpr char const *
const name{
"include_file_heirarchy"};
19259 static constexpr char const *
const typestr{
"SgIncludeFile*"};
19260 static constexpr bool traverse{
false};
19261 static constexpr auto mbr_ptr{&SgIncludeDirectiveStatement::p_include_file_heirarchy};
19262 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19263 using bind = Desc<SgIncludeDirectiveStatement, SgIncludeFile* SgIncludeDirectiveStatement::*, &SgIncludeDirectiveStatement::p_include_file_heirarchy>;
19267 using field_type = std::string;
19268 static constexpr size_t position{2};
19269 static constexpr char const *
const name{
"name_used_in_include_directive"};
19270 static constexpr char const *
const typestr{
"std::string"};
19271 static constexpr bool traverse{
false};
19272 static constexpr auto mbr_ptr{&SgIncludeDirectiveStatement::p_name_used_in_include_directive};
19273 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19274 using bind = Desc<SgIncludeDirectiveStatement, std::string SgIncludeDirectiveStatement::*, &SgIncludeDirectiveStatement::p_name_used_in_include_directive>;
19279 static constexpr char const *
const name{
"IncludeDirectiveStatement"};
19280 static constexpr unsigned long variant{473};
19281 static constexpr bool concrete{
true};
19291 static constexpr size_t position{0};
19292 static constexpr char const *
const name{
"filename"};
19293 static constexpr char const *
const typestr{
"SgName"};
19294 static constexpr bool traverse{
false};
19295 static constexpr auto mbr_ptr{&SgIncludeFile::p_filename};
19296 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19297 using bind = Desc<SgIncludeFile, SgName SgIncludeFile::*, &SgIncludeFile::p_filename>;
19302 static constexpr size_t position{1};
19303 static constexpr char const *
const name{
"source_file"};
19304 static constexpr char const *
const typestr{
"SgSourceFile*"};
19305 static constexpr bool traverse{
false};
19306 static constexpr auto mbr_ptr{&SgIncludeFile::p_source_file};
19307 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19308 using bind = Desc<SgIncludeFile, SgSourceFile* SgIncludeFile::*, &SgIncludeFile::p_source_file>;
19312 using field_type = SgIncludeFilePtrList;
19313 static constexpr size_t position{2};
19314 static constexpr char const *
const name{
"include_file_list"};
19315 static constexpr char const *
const typestr{
"SgIncludeFilePtrList"};
19316 static constexpr bool traverse{
true};
19317 static constexpr auto mbr_ptr{&SgIncludeFile::p_include_file_list};
19318 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19319 using bind = Desc<SgIncludeFile, SgIncludeFilePtrList SgIncludeFile::*, &SgIncludeFile::p_include_file_list>;
19323 using field_type =
unsigned int;
19324 static constexpr size_t position{3};
19325 static constexpr char const *
const name{
"first_source_sequence_number"};
19326 static constexpr char const *
const typestr{
"unsigned int"};
19327 static constexpr bool traverse{
false};
19328 static constexpr auto mbr_ptr{&SgIncludeFile::p_first_source_sequence_number};
19329 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19330 using bind = Desc<SgIncludeFile, unsigned int SgIncludeFile::*, &SgIncludeFile::p_first_source_sequence_number>;
19334 using field_type =
unsigned int;
19335 static constexpr size_t position{4};
19336 static constexpr char const *
const name{
"last_source_sequence_number"};
19337 static constexpr char const *
const typestr{
"unsigned int"};
19338 static constexpr bool traverse{
false};
19339 static constexpr auto mbr_ptr{&SgIncludeFile::p_last_source_sequence_number};
19340 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19341 using bind = Desc<SgIncludeFile, unsigned int SgIncludeFile::*, &SgIncludeFile::p_last_source_sequence_number>;
19345 using field_type = bool;
19346 static constexpr size_t position{5};
19347 static constexpr char const *
const name{
"isIncludedMoreThanOnce"};
19348 static constexpr char const *
const typestr{
"bool"};
19349 static constexpr bool traverse{
false};
19350 static constexpr auto mbr_ptr{&SgIncludeFile::p_isIncludedMoreThanOnce};
19351 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19352 using bind = Desc<SgIncludeFile, bool SgIncludeFile::*, &SgIncludeFile::p_isIncludedMoreThanOnce>;
19356 using field_type = bool;
19357 static constexpr size_t position{6};
19358 static constexpr char const *
const name{
"isPrimaryUse"};
19359 static constexpr char const *
const typestr{
"bool"};
19360 static constexpr bool traverse{
false};
19361 static constexpr auto mbr_ptr{&SgIncludeFile::p_isPrimaryUse};
19362 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19363 using bind = Desc<SgIncludeFile, bool SgIncludeFile::*, &SgIncludeFile::p_isPrimaryUse>;
19367 using field_type = std::string;
19368 static constexpr size_t position{7};
19369 static constexpr char const *
const name{
"file_hash"};
19370 static constexpr char const *
const typestr{
"std::string"};
19371 static constexpr bool traverse{
false};
19372 static constexpr auto mbr_ptr{&SgIncludeFile::p_file_hash};
19373 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19374 using bind = Desc<SgIncludeFile, std::string SgIncludeFile::*, &SgIncludeFile::p_file_hash>;
19379 static constexpr size_t position{8};
19380 static constexpr char const *
const name{
"name_used_in_include_directive"};
19381 static constexpr char const *
const typestr{
"SgName"};
19382 static constexpr bool traverse{
false};
19383 static constexpr auto mbr_ptr{&SgIncludeFile::p_name_used_in_include_directive};
19384 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19385 using bind = Desc<SgIncludeFile, SgName SgIncludeFile::*, &SgIncludeFile::p_name_used_in_include_directive>;
19390 static constexpr size_t position{9};
19391 static constexpr char const *
const name{
"source_file_of_translation_unit"};
19392 static constexpr char const *
const typestr{
"SgSourceFile*"};
19393 static constexpr bool traverse{
false};
19394 static constexpr auto mbr_ptr{&SgIncludeFile::p_source_file_of_translation_unit};
19395 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19396 using bind = Desc<SgIncludeFile, SgSourceFile* SgIncludeFile::*, &SgIncludeFile::p_source_file_of_translation_unit>;
19401 static constexpr size_t position{10};
19402 static constexpr char const *
const name{
"including_source_file"};
19403 static constexpr char const *
const typestr{
"SgSourceFile*"};
19404 static constexpr bool traverse{
false};
19405 static constexpr auto mbr_ptr{&SgIncludeFile::p_including_source_file};
19406 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19407 using bind = Desc<SgIncludeFile, SgSourceFile* SgIncludeFile::*, &SgIncludeFile::p_including_source_file>;
19412 static constexpr size_t position{11};
19413 static constexpr char const *
const name{
"parent_include_file"};
19414 static constexpr char const *
const typestr{
"SgIncludeFile*"};
19415 static constexpr bool traverse{
false};
19416 static constexpr auto mbr_ptr{&SgIncludeFile::p_parent_include_file};
19417 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19418 using bind = Desc<SgIncludeFile, SgIncludeFile* SgIncludeFile::*, &SgIncludeFile::p_parent_include_file>;
19422 using field_type = bool;
19423 static constexpr size_t position{12};
19424 static constexpr char const *
const name{
"isSystemInclude"};
19425 static constexpr char const *
const typestr{
"bool"};
19426 static constexpr bool traverse{
false};
19427 static constexpr auto mbr_ptr{&SgIncludeFile::p_isSystemInclude};
19428 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19429 using bind = Desc<SgIncludeFile, bool SgIncludeFile::*, &SgIncludeFile::p_isSystemInclude>;
19433 using field_type = bool;
19434 static constexpr size_t position{13};
19435 static constexpr char const *
const name{
"isPreinclude"};
19436 static constexpr char const *
const typestr{
"bool"};
19437 static constexpr bool traverse{
false};
19438 static constexpr auto mbr_ptr{&SgIncludeFile::p_isPreinclude};
19439 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19440 using bind = Desc<SgIncludeFile, bool SgIncludeFile::*, &SgIncludeFile::p_isPreinclude>;
19444 using field_type = bool;
19445 static constexpr size_t position{14};
19446 static constexpr char const *
const name{
"requires_explict_path_for_unparsed_headers"};
19447 static constexpr char const *
const typestr{
"bool"};
19448 static constexpr bool traverse{
false};
19449 static constexpr auto mbr_ptr{&SgIncludeFile::p_requires_explict_path_for_unparsed_headers};
19450 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19451 using bind = Desc<SgIncludeFile, bool SgIncludeFile::*, &SgIncludeFile::p_requires_explict_path_for_unparsed_headers>;
19455 using field_type = bool;
19456 static constexpr size_t position{15};
19457 static constexpr char const *
const name{
"can_be_supported_using_token_based_unparsing"};
19458 static constexpr char const *
const typestr{
"bool"};
19459 static constexpr bool traverse{
false};
19460 static constexpr auto mbr_ptr{&SgIncludeFile::p_can_be_supported_using_token_based_unparsing};
19461 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19462 using bind = Desc<SgIncludeFile, bool SgIncludeFile::*, &SgIncludeFile::p_can_be_supported_using_token_based_unparsing>;
19467 static constexpr size_t position{16};
19468 static constexpr char const *
const name{
"directory_prefix"};
19469 static constexpr char const *
const typestr{
"SgName"};
19470 static constexpr bool traverse{
false};
19471 static constexpr auto mbr_ptr{&SgIncludeFile::p_directory_prefix};
19472 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19473 using bind = Desc<SgIncludeFile, SgName SgIncludeFile::*, &SgIncludeFile::p_directory_prefix>;
19478 static constexpr size_t position{17};
19479 static constexpr char const *
const name{
"name_without_path"};
19480 static constexpr char const *
const typestr{
"SgName"};
19481 static constexpr bool traverse{
false};
19482 static constexpr auto mbr_ptr{&SgIncludeFile::p_name_without_path};
19483 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19484 using bind = Desc<SgIncludeFile, SgName SgIncludeFile::*, &SgIncludeFile::p_name_without_path>;
19489 static constexpr size_t position{18};
19490 static constexpr char const *
const name{
"applicationRootDirectory"};
19491 static constexpr char const *
const typestr{
"SgName"};
19492 static constexpr bool traverse{
false};
19493 static constexpr auto mbr_ptr{&SgIncludeFile::p_applicationRootDirectory};
19494 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19495 using bind = Desc<SgIncludeFile, SgName SgIncludeFile::*, &SgIncludeFile::p_applicationRootDirectory>;
19499 using field_type = bool;
19500 static constexpr size_t position{19};
19501 static constexpr char const *
const name{
"will_be_unparsed"};
19502 static constexpr char const *
const typestr{
"bool"};
19503 static constexpr bool traverse{
false};
19504 static constexpr auto mbr_ptr{&SgIncludeFile::p_will_be_unparsed};
19505 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19506 using bind = Desc<SgIncludeFile, bool SgIncludeFile::*, &SgIncludeFile::p_will_be_unparsed>;
19510 using field_type = bool;
19511 static constexpr size_t position{20};
19512 static constexpr char const *
const name{
"isRoseSystemInclude"};
19513 static constexpr char const *
const typestr{
"bool"};
19514 static constexpr bool traverse{
false};
19515 static constexpr auto mbr_ptr{&SgIncludeFile::p_isRoseSystemInclude};
19516 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19517 using bind = Desc<SgIncludeFile, bool SgIncludeFile::*, &SgIncludeFile::p_isRoseSystemInclude>;
19521 using field_type = bool;
19522 static constexpr size_t position{21};
19523 static constexpr char const *
const name{
"from_system_include_dir"};
19524 static constexpr char const *
const typestr{
"bool"};
19525 static constexpr bool traverse{
false};
19526 static constexpr auto mbr_ptr{&SgIncludeFile::p_from_system_include_dir};
19527 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19528 using bind = Desc<SgIncludeFile, bool SgIncludeFile::*, &SgIncludeFile::p_from_system_include_dir>;
19532 using field_type = bool;
19533 static constexpr size_t position{22};
19534 static constexpr char const *
const name{
"preinclude_macros_only"};
19535 static constexpr char const *
const typestr{
"bool"};
19536 static constexpr bool traverse{
false};
19537 static constexpr auto mbr_ptr{&SgIncludeFile::p_preinclude_macros_only};
19538 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19539 using bind = Desc<SgIncludeFile, bool SgIncludeFile::*, &SgIncludeFile::p_preinclude_macros_only>;
19543 using field_type = bool;
19544 static constexpr size_t position{23};
19545 static constexpr char const *
const name{
"isApplicationFile"};
19546 static constexpr char const *
const typestr{
"bool"};
19547 static constexpr bool traverse{
false};
19548 static constexpr auto mbr_ptr{&SgIncludeFile::p_isApplicationFile};
19549 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19550 using bind = Desc<SgIncludeFile, bool SgIncludeFile::*, &SgIncludeFile::p_isApplicationFile>;
19554 using field_type = bool;
19555 static constexpr size_t position{24};
19556 static constexpr char const *
const name{
"isRootSourceFile"};
19557 static constexpr char const *
const typestr{
"bool"};
19558 static constexpr bool traverse{
false};
19559 static constexpr auto mbr_ptr{&SgIncludeFile::p_isRootSourceFile};
19560 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19561 using bind = Desc<SgIncludeFile, bool SgIncludeFile::*, &SgIncludeFile::p_isRootSourceFile>;
19566 static constexpr size_t position{25};
19567 static constexpr char const *
const name{
"firstStatement"};
19568 static constexpr char const *
const typestr{
"SgStatement*"};
19569 static constexpr bool traverse{
false};
19570 static constexpr auto mbr_ptr{&SgIncludeFile::p_firstStatement};
19571 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19572 using bind = Desc<SgIncludeFile, SgStatement* SgIncludeFile::*, &SgIncludeFile::p_firstStatement>;
19577 static constexpr size_t position{26};
19578 static constexpr char const *
const name{
"lastStatement"};
19579 static constexpr char const *
const typestr{
"SgStatement*"};
19580 static constexpr bool traverse{
false};
19581 static constexpr auto mbr_ptr{&SgIncludeFile::p_lastStatement};
19582 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19583 using bind = Desc<SgIncludeFile, SgStatement* SgIncludeFile::*, &SgIncludeFile::p_lastStatement>;
19588 static constexpr char const *
const name{
"IncludeFile"};
19589 static constexpr unsigned long variant{474};
19590 static constexpr bool concrete{
true};
19592 using fields_t =
mp::List<describe_field_t<SgIncludeFile,SgName,&SgIncludeFile::p_filename>,
describe_field_t<SgIncludeFile,SgSourceFile*,&SgIncludeFile::p_source_file>,
describe_field_t<SgIncludeFile,SgIncludeFilePtrList,&SgIncludeFile::p_include_file_list>,
describe_field_t<SgIncludeFile,unsigned int,&SgIncludeFile::p_first_source_sequence_number>,
describe_field_t<SgIncludeFile,unsigned int,&SgIncludeFile::p_last_source_sequence_number>,
describe_field_t<SgIncludeFile,bool,&SgIncludeFile::p_isIncludedMoreThanOnce>,
describe_field_t<SgIncludeFile,bool,&SgIncludeFile::p_isPrimaryUse>,
describe_field_t<SgIncludeFile,std::string,&SgIncludeFile::p_file_hash>,
describe_field_t<SgIncludeFile,SgName,&SgIncludeFile::p_name_used_in_include_directive>,
describe_field_t<SgIncludeFile,SgSourceFile*,&SgIncludeFile::p_source_file_of_translation_unit>,
describe_field_t<SgIncludeFile,SgSourceFile*,&SgIncludeFile::p_including_source_file>,
describe_field_t<SgIncludeFile,SgIncludeFile*,&SgIncludeFile::p_parent_include_file>,
describe_field_t<SgIncludeFile,bool,&SgIncludeFile::p_isSystemInclude>,
describe_field_t<SgIncludeFile,bool,&SgIncludeFile::p_isPreinclude>,
describe_field_t<SgIncludeFile,bool,&SgIncludeFile::p_requires_explict_path_for_unparsed_headers>,
describe_field_t<SgIncludeFile,bool,&SgIncludeFile::p_can_be_supported_using_token_based_unparsing>,
describe_field_t<SgIncludeFile,SgName,&SgIncludeFile::p_directory_prefix>,
describe_field_t<SgIncludeFile,SgName,&SgIncludeFile::p_name_without_path>,
describe_field_t<SgIncludeFile,SgName,&SgIncludeFile::p_applicationRootDirectory>,
describe_field_t<SgIncludeFile,bool,&SgIncludeFile::p_will_be_unparsed>,
describe_field_t<SgIncludeFile,bool,&SgIncludeFile::p_isRoseSystemInclude>,
describe_field_t<SgIncludeFile,bool,&SgIncludeFile::p_from_system_include_dir>,
describe_field_t<SgIncludeFile,bool,&SgIncludeFile::p_preinclude_macros_only>,
describe_field_t<SgIncludeFile,bool,&SgIncludeFile::p_isApplicationFile>,
describe_field_t<SgIncludeFile,bool,&SgIncludeFile::p_isRootSourceFile>,
describe_field_t<SgIncludeFile,SgStatement*,&SgIncludeFile::p_firstStatement>,
describe_field_t<SgIncludeFile,SgStatement*,&SgIncludeFile::p_lastStatement>>;
19600 static constexpr char const *
const name{
"IncludeNextDirectiveStatement"};
19601 static constexpr unsigned long variant{475};
19602 static constexpr bool concrete{
true};
19612 static constexpr size_t position{0};
19613 static constexpr char const *
const name{
"name"};
19614 static constexpr char const *
const typestr{
"SgName"};
19615 static constexpr bool traverse{
false};
19617 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19618 using bind = Desc<SgInitializedName, SgName SgInitializedName::*, &SgInitializedName::p_name>;
19622 using field_type = std::string;
19623 static constexpr size_t position{1};
19624 static constexpr char const *
const name{
"microsoft_uuid_string"};
19625 static constexpr char const *
const typestr{
"std::string"};
19626 static constexpr bool traverse{
false};
19627 static constexpr auto mbr_ptr{&SgInitializedName::p_microsoft_uuid_string};
19628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19629 using bind = Desc<SgInitializedName, std::string SgInitializedName::*, &SgInitializedName::p_microsoft_uuid_string>;
19634 static constexpr size_t position{2};
19635 static constexpr char const *
const name{
"typeptr"};
19636 static constexpr char const *
const typestr{
"SgType*"};
19637 static constexpr bool traverse{
false};
19639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19640 using bind = Desc<SgInitializedName, SgType* SgInitializedName::*, &SgInitializedName::p_typeptr>;
19645 static constexpr size_t position{3};
19646 static constexpr char const *
const name{
"initptr"};
19647 static constexpr char const *
const typestr{
"SgInitializer*"};
19648 static constexpr bool traverse{
true};
19650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19651 using bind = Desc<SgInitializedName, SgInitializer* SgInitializedName::*, &SgInitializedName::p_initptr>;
19656 static constexpr size_t position{4};
19657 static constexpr char const *
const name{
"prev_decl_item"};
19658 static constexpr char const *
const typestr{
"SgInitializedName*"};
19659 static constexpr bool traverse{
false};
19661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19662 using bind = Desc<SgInitializedName, SgInitializedName* SgInitializedName::*, &SgInitializedName::p_prev_decl_item>;
19666 using field_type = bool;
19667 static constexpr size_t position{5};
19668 static constexpr char const *
const name{
"is_initializer"};
19669 static constexpr char const *
const typestr{
"bool"};
19670 static constexpr bool traverse{
false};
19672 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19673 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_is_initializer>;
19678 static constexpr size_t position{6};
19679 static constexpr char const *
const name{
"declptr"};
19680 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
19681 static constexpr bool traverse{
false};
19683 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19684 using bind = Desc<SgInitializedName, SgDeclarationStatement* SgInitializedName::*, &SgInitializedName::p_declptr>;
19689 static constexpr size_t position{7};
19690 static constexpr char const *
const name{
"storageModifier"};
19691 static constexpr char const *
const typestr{
"SgStorageModifier*"};
19692 static constexpr bool traverse{
false};
19694 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19695 using bind = Desc<SgInitializedName, SgStorageModifier* SgInitializedName::*, &SgInitializedName::p_storageModifier>;
19700 static constexpr size_t position{8};
19701 static constexpr char const *
const name{
"scope"};
19702 static constexpr char const *
const typestr{
"SgScopeStatement*"};
19703 static constexpr bool traverse{
false};
19705 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19706 using bind = Desc<SgInitializedName, SgScopeStatement* SgInitializedName::*, &SgInitializedName::p_scope>;
19711 static constexpr size_t position{9};
19712 static constexpr char const *
const name{
"preinitialization"};
19713 static constexpr char const *
const typestr{
"SgInitializedName::preinitialization_enum"};
19714 static constexpr bool traverse{
false};
19716 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19717 using bind = Desc<SgInitializedName, SgInitializedName::preinitialization_enum SgInitializedName::*, &SgInitializedName::p_preinitialization>;
19721 using field_type = bool;
19722 static constexpr size_t position{10};
19723 static constexpr char const *
const name{
"isCoArray"};
19724 static constexpr char const *
const typestr{
"bool"};
19725 static constexpr bool traverse{
false};
19726 static constexpr auto mbr_ptr{&SgInitializedName::p_isCoArray};
19727 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19728 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_isCoArray>;
19733 static constexpr size_t position{11};
19734 static constexpr char const *
const name{
"register_name_code"};
19735 static constexpr char const *
const typestr{
"SgInitializedName::asm_register_name_enum"};
19736 static constexpr bool traverse{
false};
19738 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19739 using bind = Desc<SgInitializedName, SgInitializedName::asm_register_name_enum SgInitializedName::*, &SgInitializedName::p_register_name_code>;
19743 using field_type = SgInitializedName::excess_specifier_enum;
19744 static constexpr size_t position{12};
19745 static constexpr char const *
const name{
"excess_specifier"};
19746 static constexpr char const *
const typestr{
"SgInitializedName::excess_specifier_enum"};
19747 static constexpr bool traverse{
false};
19748 static constexpr auto mbr_ptr{&SgInitializedName::p_excess_specifier};
19749 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19750 using bind = Desc<SgInitializedName, SgInitializedName::excess_specifier_enum SgInitializedName::*, &SgInitializedName::p_excess_specifier>;
19754 using field_type = std::string;
19755 static constexpr size_t position{13};
19756 static constexpr char const *
const name{
"register_name_string"};
19757 static constexpr char const *
const typestr{
"std::string"};
19758 static constexpr bool traverse{
false};
19759 static constexpr auto mbr_ptr{&SgInitializedName::p_register_name_string};
19760 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19761 using bind = Desc<SgInitializedName, std::string SgInitializedName::*, &SgInitializedName::p_register_name_string>;
19765 using field_type = bool;
19766 static constexpr size_t position{14};
19767 static constexpr char const *
const name{
"requiresGlobalNameQualificationOnType"};
19768 static constexpr char const *
const typestr{
"bool"};
19769 static constexpr bool traverse{
false};
19770 static constexpr auto mbr_ptr{&SgInitializedName::p_requiresGlobalNameQualificationOnType};
19771 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19772 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_requiresGlobalNameQualificationOnType>;
19776 using field_type = bool;
19777 static constexpr size_t position{15};
19778 static constexpr char const *
const name{
"shapeDeferred"};
19779 static constexpr char const *
const typestr{
"bool"};
19780 static constexpr bool traverse{
false};
19781 static constexpr auto mbr_ptr{&SgInitializedName::p_shapeDeferred};
19782 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19783 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_shapeDeferred>;
19787 using field_type = bool;
19788 static constexpr size_t position{16};
19789 static constexpr char const *
const name{
"initializationDeferred"};
19790 static constexpr char const *
const typestr{
"bool"};
19791 static constexpr bool traverse{
false};
19792 static constexpr auto mbr_ptr{&SgInitializedName::p_initializationDeferred};
19793 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19794 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_initializationDeferred>;
19798 using field_type = SgBitVector;
19799 static constexpr size_t position{17};
19800 static constexpr char const *
const name{
"gnu_attribute_modifierVector"};
19801 static constexpr char const *
const typestr{
"SgBitVector"};
19802 static constexpr bool traverse{
false};
19803 static constexpr auto mbr_ptr{&SgInitializedName::p_gnu_attribute_modifierVector};
19804 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19805 using bind = Desc<SgInitializedName, SgBitVector SgInitializedName::*, &SgInitializedName::p_gnu_attribute_modifierVector>;
19809 using field_type =
unsigned long int;
19810 static constexpr size_t position{18};
19811 static constexpr char const *
const name{
"gnu_attribute_initialization_priority"};
19812 static constexpr char const *
const typestr{
"unsigned long int"};
19813 static constexpr bool traverse{
false};
19814 static constexpr auto mbr_ptr{&SgInitializedName::p_gnu_attribute_initialization_priority};
19815 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19816 using bind = Desc<SgInitializedName, unsigned long int SgInitializedName::*, &SgInitializedName::p_gnu_attribute_initialization_priority>;
19820 using field_type = std::string;
19821 static constexpr size_t position{19};
19822 static constexpr char const *
const name{
"gnu_attribute_named_weak_reference"};
19823 static constexpr char const *
const typestr{
"std::string"};
19824 static constexpr bool traverse{
false};
19825 static constexpr auto mbr_ptr{&SgInitializedName::p_gnu_attribute_named_weak_reference};
19826 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19827 using bind = Desc<SgInitializedName, std::string SgInitializedName::*, &SgInitializedName::p_gnu_attribute_named_weak_reference>;
19831 using field_type = std::string;
19832 static constexpr size_t position{20};
19833 static constexpr char const *
const name{
"gnu_attribute_named_alias"};
19834 static constexpr char const *
const typestr{
"std::string"};
19835 static constexpr bool traverse{
false};
19836 static constexpr auto mbr_ptr{&SgInitializedName::p_gnu_attribute_named_alias};
19837 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19838 using bind = Desc<SgInitializedName, std::string SgInitializedName::*, &SgInitializedName::p_gnu_attribute_named_alias>;
19842 using field_type = std::string;
19843 static constexpr size_t position{21};
19844 static constexpr char const *
const name{
"gnu_attribute_cleanup_function"};
19845 static constexpr char const *
const typestr{
"std::string"};
19846 static constexpr bool traverse{
false};
19847 static constexpr auto mbr_ptr{&SgInitializedName::p_gnu_attribute_cleanup_function};
19848 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19849 using bind = Desc<SgInitializedName, std::string SgInitializedName::*, &SgInitializedName::p_gnu_attribute_cleanup_function>;
19853 using field_type = std::string;
19854 static constexpr size_t position{22};
19855 static constexpr char const *
const name{
"gnu_attribute_section_name"};
19856 static constexpr char const *
const typestr{
"std::string"};
19857 static constexpr bool traverse{
false};
19858 static constexpr auto mbr_ptr{&SgInitializedName::p_gnu_attribute_section_name};
19859 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19860 using bind = Desc<SgInitializedName, std::string SgInitializedName::*, &SgInitializedName::p_gnu_attribute_section_name>;
19864 using field_type = int;
19865 static constexpr size_t position{23};
19866 static constexpr char const *
const name{
"gnu_attribute_alignment"};
19867 static constexpr char const *
const typestr{
"int"};
19868 static constexpr bool traverse{
false};
19869 static constexpr auto mbr_ptr{&SgInitializedName::p_gnu_attribute_alignment};
19870 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19871 using bind = Desc<SgInitializedName, int SgInitializedName::*, &SgInitializedName::p_gnu_attribute_alignment>;
19876 static constexpr size_t position{24};
19877 static constexpr char const *
const name{
"gnu_attribute_visability"};
19878 static constexpr char const *
const typestr{
"SgDeclarationModifier::gnu_declaration_visability_enum"};
19879 static constexpr bool traverse{
false};
19880 static constexpr auto mbr_ptr{&SgInitializedName::p_gnu_attribute_visability};
19881 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19882 using bind = Desc<SgInitializedName, SgDeclarationModifier::gnu_declaration_visability_enum SgInitializedName::*, &SgInitializedName::p_gnu_attribute_visability>;
19886 using field_type = bool;
19887 static constexpr size_t position{25};
19888 static constexpr char const *
const name{
"protected_declaration"};
19889 static constexpr char const *
const typestr{
"bool"};
19890 static constexpr bool traverse{
false};
19891 static constexpr auto mbr_ptr{&SgInitializedName::p_protected_declaration};
19892 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19893 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_protected_declaration>;
19897 using field_type = int;
19898 static constexpr size_t position{26};
19899 static constexpr char const *
const name{
"name_qualification_length"};
19900 static constexpr char const *
const typestr{
"int"};
19901 static constexpr bool traverse{
false};
19902 static constexpr auto mbr_ptr{&SgInitializedName::p_name_qualification_length};
19903 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19904 using bind = Desc<SgInitializedName, int SgInitializedName::*, &SgInitializedName::p_name_qualification_length>;
19908 using field_type = bool;
19909 static constexpr size_t position{27};
19910 static constexpr char const *
const name{
"type_elaboration_required"};
19911 static constexpr char const *
const typestr{
"bool"};
19912 static constexpr bool traverse{
false};
19913 static constexpr auto mbr_ptr{&SgInitializedName::p_type_elaboration_required};
19914 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19915 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_type_elaboration_required>;
19919 using field_type = bool;
19920 static constexpr size_t position{28};
19921 static constexpr char const *
const name{
"global_qualification_required"};
19922 static constexpr char const *
const typestr{
"bool"};
19923 static constexpr bool traverse{
false};
19924 static constexpr auto mbr_ptr{&SgInitializedName::p_global_qualification_required};
19925 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19926 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_global_qualification_required>;
19930 using field_type = int;
19931 static constexpr size_t position{29};
19932 static constexpr char const *
const name{
"name_qualification_length_for_type"};
19933 static constexpr char const *
const typestr{
"int"};
19934 static constexpr bool traverse{
false};
19935 static constexpr auto mbr_ptr{&SgInitializedName::p_name_qualification_length_for_type};
19936 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19937 using bind = Desc<SgInitializedName, int SgInitializedName::*, &SgInitializedName::p_name_qualification_length_for_type>;
19941 using field_type = bool;
19942 static constexpr size_t position{30};
19943 static constexpr char const *
const name{
"type_elaboration_required_for_type"};
19944 static constexpr char const *
const typestr{
"bool"};
19945 static constexpr bool traverse{
false};
19946 static constexpr auto mbr_ptr{&SgInitializedName::p_type_elaboration_required_for_type};
19947 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19948 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_type_elaboration_required_for_type>;
19952 using field_type = bool;
19953 static constexpr size_t position{31};
19954 static constexpr char const *
const name{
"global_qualification_required_for_type"};
19955 static constexpr char const *
const typestr{
"bool"};
19956 static constexpr bool traverse{
false};
19957 static constexpr auto mbr_ptr{&SgInitializedName::p_global_qualification_required_for_type};
19958 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19959 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_global_qualification_required_for_type>;
19963 using field_type = bool;
19964 static constexpr size_t position{32};
19965 static constexpr char const *
const name{
"hasArrayTypeWithEmptyBracketSyntax"};
19966 static constexpr char const *
const typestr{
"bool"};
19967 static constexpr bool traverse{
false};
19968 static constexpr auto mbr_ptr{&SgInitializedName::p_hasArrayTypeWithEmptyBracketSyntax};
19969 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19970 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_hasArrayTypeWithEmptyBracketSyntax>;
19974 using field_type = bool;
19975 static constexpr size_t position{33};
19976 static constexpr char const *
const name{
"using_C11_Alignas_keyword"};
19977 static constexpr char const *
const typestr{
"bool"};
19978 static constexpr bool traverse{
false};
19979 static constexpr auto mbr_ptr{&SgInitializedName::p_using_C11_Alignas_keyword};
19980 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19981 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_using_C11_Alignas_keyword>;
19986 static constexpr size_t position{34};
19987 static constexpr char const *
const name{
"constant_or_type_argument_for_Alignas_keyword"};
19988 static constexpr char const *
const typestr{
"SgNode*"};
19989 static constexpr bool traverse{
false};
19990 static constexpr auto mbr_ptr{&SgInitializedName::p_constant_or_type_argument_for_Alignas_keyword};
19991 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
19992 using bind = Desc<SgInitializedName, SgNode* SgInitializedName::*, &SgInitializedName::p_constant_or_type_argument_for_Alignas_keyword>;
19996 using field_type = bool;
19997 static constexpr size_t position{35};
19998 static constexpr char const *
const name{
"using_auto_keyword"};
19999 static constexpr char const *
const typestr{
"bool"};
20000 static constexpr bool traverse{
false};
20001 static constexpr auto mbr_ptr{&SgInitializedName::p_using_auto_keyword};
20002 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20003 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_using_auto_keyword>;
20008 static constexpr size_t position{36};
20009 static constexpr char const *
const name{
"auto_decltype"};
20010 static constexpr char const *
const typestr{
"SgType *"};
20011 static constexpr bool traverse{
false};
20012 static constexpr auto mbr_ptr{&SgInitializedName::p_auto_decltype};
20013 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20014 using bind = Desc<SgInitializedName, SgType * SgInitializedName::*, &SgInitializedName::p_auto_decltype>;
20018 using field_type = bool;
20019 static constexpr size_t position{37};
20020 static constexpr char const *
const name{
"using_device_keyword"};
20021 static constexpr char const *
const typestr{
"bool"};
20022 static constexpr bool traverse{
false};
20023 static constexpr auto mbr_ptr{&SgInitializedName::p_using_device_keyword};
20024 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20025 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_using_device_keyword>;
20029 using field_type = bool;
20030 static constexpr size_t position{38};
20031 static constexpr char const *
const name{
"is_braced_initialized"};
20032 static constexpr char const *
const typestr{
"bool"};
20033 static constexpr bool traverse{
false};
20034 static constexpr auto mbr_ptr{&SgInitializedName::p_is_braced_initialized};
20035 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20036 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_is_braced_initialized>;
20040 using field_type = bool;
20041 static constexpr size_t position{39};
20042 static constexpr char const *
const name{
"using_assignment_copy_constructor_syntax"};
20043 static constexpr char const *
const typestr{
"bool"};
20044 static constexpr bool traverse{
false};
20045 static constexpr auto mbr_ptr{&SgInitializedName::p_using_assignment_copy_constructor_syntax};
20046 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20047 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_using_assignment_copy_constructor_syntax>;
20051 using field_type = bool;
20052 static constexpr size_t position{40};
20053 static constexpr char const *
const name{
"needs_definitions"};
20054 static constexpr char const *
const typestr{
"bool"};
20055 static constexpr bool traverse{
false};
20056 static constexpr auto mbr_ptr{&SgInitializedName::p_needs_definitions};
20057 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20058 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_needs_definitions>;
20062 using field_type = bool;
20063 static constexpr size_t position{41};
20064 static constexpr char const *
const name{
"is_parameter_pack"};
20065 static constexpr char const *
const typestr{
"bool"};
20066 static constexpr bool traverse{
false};
20067 static constexpr auto mbr_ptr{&SgInitializedName::p_is_parameter_pack};
20068 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20069 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_is_parameter_pack>;
20073 using field_type = bool;
20074 static constexpr size_t position{42};
20075 static constexpr char const *
const name{
"is_pack_element"};
20076 static constexpr char const *
const typestr{
"bool"};
20077 static constexpr bool traverse{
false};
20078 static constexpr auto mbr_ptr{&SgInitializedName::p_is_pack_element};
20079 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20080 using bind = Desc<SgInitializedName, bool SgInitializedName::*, &SgInitializedName::p_is_pack_element>;
20085 static constexpr char const *
const name{
"InitializedName"};
20086 static constexpr unsigned long variant{476};
20087 static constexpr bool concrete{
true};
20089 using fields_t =
mp::List<describe_field_t<SgInitializedName,SgName,&SgInitializedName::p_name>,
describe_field_t<SgInitializedName,std::string,&SgInitializedName::p_microsoft_uuid_string>,
describe_field_t<SgInitializedName,SgType*,&SgInitializedName::p_typeptr>,
describe_field_t<SgInitializedName,SgInitializer*,&SgInitializedName::p_initptr>,
describe_field_t<SgInitializedName,SgInitializedName*,&SgInitializedName::p_prev_decl_item>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_is_initializer>,
describe_field_t<SgInitializedName,SgDeclarationStatement*,&SgInitializedName::p_declptr>,
describe_field_t<SgInitializedName,SgStorageModifier*,&SgInitializedName::p_storageModifier>,
describe_field_t<SgInitializedName,SgScopeStatement*,&SgInitializedName::p_scope>,
describe_field_t<SgInitializedName,SgInitializedName::preinitialization_enum,&SgInitializedName::p_preinitialization>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_isCoArray>,
describe_field_t<SgInitializedName,SgInitializedName::asm_register_name_enum,&SgInitializedName::p_register_name_code>,
describe_field_t<SgInitializedName,SgInitializedName::excess_specifier_enum,&SgInitializedName::p_excess_specifier>,
describe_field_t<SgInitializedName,std::string,&SgInitializedName::p_register_name_string>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_requiresGlobalNameQualificationOnType>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_shapeDeferred>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_initializationDeferred>,
describe_field_t<SgInitializedName,SgBitVector,&SgInitializedName::p_gnu_attribute_modifierVector>,
describe_field_t<SgInitializedName,unsigned long int,&SgInitializedName::p_gnu_attribute_initialization_priority>,
describe_field_t<SgInitializedName,std::string,&SgInitializedName::p_gnu_attribute_named_weak_reference>,
describe_field_t<SgInitializedName,std::string,&SgInitializedName::p_gnu_attribute_named_alias>,
describe_field_t<SgInitializedName,std::string,&SgInitializedName::p_gnu_attribute_cleanup_function>,
describe_field_t<SgInitializedName,std::string,&SgInitializedName::p_gnu_attribute_section_name>,
describe_field_t<SgInitializedName,int,&SgInitializedName::p_gnu_attribute_alignment>,
describe_field_t<SgInitializedName,SgDeclarationModifier::gnu_declaration_visability_enum,&SgInitializedName::p_gnu_attribute_visability>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_protected_declaration>,
describe_field_t<SgInitializedName,int,&SgInitializedName::p_name_qualification_length>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_type_elaboration_required>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_global_qualification_required>,
describe_field_t<SgInitializedName,int,&SgInitializedName::p_name_qualification_length_for_type>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_type_elaboration_required_for_type>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_global_qualification_required_for_type>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_hasArrayTypeWithEmptyBracketSyntax>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_using_C11_Alignas_keyword>,
describe_field_t<SgInitializedName,SgNode*,&SgInitializedName::p_constant_or_type_argument_for_Alignas_keyword>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_using_auto_keyword>,
describe_field_t<SgInitializedName,SgType *,&SgInitializedName::p_auto_decltype>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_using_device_keyword>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_is_braced_initialized>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_using_assignment_copy_constructor_syntax>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_needs_definitions>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_is_parameter_pack>,
describe_field_t<SgInitializedName,bool,&SgInitializedName::p_is_pack_element>>;
20096 using field_type = bool;
20097 static constexpr size_t position{0};
20098 static constexpr char const *
const name{
"is_explicit_cast"};
20099 static constexpr char const *
const typestr{
"bool"};
20100 static constexpr bool traverse{
false};
20102 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20103 using bind = Desc<SgInitializer, bool SgInitializer::*, &SgInitializer::p_is_explicit_cast>;
20107 using field_type = bool;
20108 static constexpr size_t position{1};
20109 static constexpr char const *
const name{
"is_braced_initialized"};
20110 static constexpr char const *
const typestr{
"bool"};
20111 static constexpr bool traverse{
false};
20112 static constexpr auto mbr_ptr{&SgInitializer::p_is_braced_initialized};
20113 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20114 using bind = Desc<SgInitializer, bool SgInitializer::*, &SgInitializer::p_is_braced_initialized>;
20119 static constexpr char const *
const name{
"Initializer"};
20120 static constexpr unsigned long variant{477};
20121 static constexpr bool concrete{
false};
20131 static constexpr size_t position{0};
20132 static constexpr char const *
const name{
"file"};
20133 static constexpr char const *
const typestr{
"SgExpression*"};
20134 static constexpr bool traverse{
false};
20135 static constexpr auto mbr_ptr{&SgInquireStatement::p_file};
20136 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20137 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_file>;
20142 static constexpr size_t position{1};
20143 static constexpr char const *
const name{
"access"};
20144 static constexpr char const *
const typestr{
"SgExpression*"};
20145 static constexpr bool traverse{
false};
20146 static constexpr auto mbr_ptr{&SgInquireStatement::p_access};
20147 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20148 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_access>;
20153 static constexpr size_t position{2};
20154 static constexpr char const *
const name{
"form"};
20155 static constexpr char const *
const typestr{
"SgExpression*"};
20156 static constexpr bool traverse{
false};
20157 static constexpr auto mbr_ptr{&SgInquireStatement::p_form};
20158 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20159 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_form>;
20164 static constexpr size_t position{3};
20165 static constexpr char const *
const name{
"recl"};
20166 static constexpr char const *
const typestr{
"SgExpression*"};
20167 static constexpr bool traverse{
false};
20168 static constexpr auto mbr_ptr{&SgInquireStatement::p_recl};
20169 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20170 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_recl>;
20175 static constexpr size_t position{4};
20176 static constexpr char const *
const name{
"blank"};
20177 static constexpr char const *
const typestr{
"SgExpression*"};
20178 static constexpr bool traverse{
false};
20179 static constexpr auto mbr_ptr{&SgInquireStatement::p_blank};
20180 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20181 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_blank>;
20186 static constexpr size_t position{5};
20187 static constexpr char const *
const name{
"exist"};
20188 static constexpr char const *
const typestr{
"SgExpression*"};
20189 static constexpr bool traverse{
false};
20190 static constexpr auto mbr_ptr{&SgInquireStatement::p_exist};
20191 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20192 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_exist>;
20197 static constexpr size_t position{6};
20198 static constexpr char const *
const name{
"opened"};
20199 static constexpr char const *
const typestr{
"SgExpression*"};
20200 static constexpr bool traverse{
false};
20201 static constexpr auto mbr_ptr{&SgInquireStatement::p_opened};
20202 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20203 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_opened>;
20208 static constexpr size_t position{7};
20209 static constexpr char const *
const name{
"number"};
20210 static constexpr char const *
const typestr{
"SgExpression*"};
20211 static constexpr bool traverse{
false};
20212 static constexpr auto mbr_ptr{&SgInquireStatement::p_number};
20213 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20214 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_number>;
20219 static constexpr size_t position{8};
20220 static constexpr char const *
const name{
"named"};
20221 static constexpr char const *
const typestr{
"SgExpression*"};
20222 static constexpr bool traverse{
false};
20223 static constexpr auto mbr_ptr{&SgInquireStatement::p_named};
20224 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20225 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_named>;
20230 static constexpr size_t position{9};
20231 static constexpr char const *
const name{
"name"};
20232 static constexpr char const *
const typestr{
"SgExpression*"};
20233 static constexpr bool traverse{
false};
20234 static constexpr auto mbr_ptr{&SgInquireStatement::p_name};
20235 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20236 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_name>;
20241 static constexpr size_t position{10};
20242 static constexpr char const *
const name{
"sequential"};
20243 static constexpr char const *
const typestr{
"SgExpression*"};
20244 static constexpr bool traverse{
false};
20245 static constexpr auto mbr_ptr{&SgInquireStatement::p_sequential};
20246 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20247 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_sequential>;
20252 static constexpr size_t position{11};
20253 static constexpr char const *
const name{
"direct"};
20254 static constexpr char const *
const typestr{
"SgExpression*"};
20255 static constexpr bool traverse{
false};
20256 static constexpr auto mbr_ptr{&SgInquireStatement::p_direct};
20257 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20258 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_direct>;
20263 static constexpr size_t position{12};
20264 static constexpr char const *
const name{
"formatted"};
20265 static constexpr char const *
const typestr{
"SgExpression*"};
20266 static constexpr bool traverse{
false};
20267 static constexpr auto mbr_ptr{&SgInquireStatement::p_formatted};
20268 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20269 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_formatted>;
20274 static constexpr size_t position{13};
20275 static constexpr char const *
const name{
"unformatted"};
20276 static constexpr char const *
const typestr{
"SgExpression*"};
20277 static constexpr bool traverse{
false};
20278 static constexpr auto mbr_ptr{&SgInquireStatement::p_unformatted};
20279 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20280 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_unformatted>;
20285 static constexpr size_t position{14};
20286 static constexpr char const *
const name{
"nextrec"};
20287 static constexpr char const *
const typestr{
"SgExpression*"};
20288 static constexpr bool traverse{
false};
20289 static constexpr auto mbr_ptr{&SgInquireStatement::p_nextrec};
20290 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20291 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_nextrec>;
20296 static constexpr size_t position{15};
20297 static constexpr char const *
const name{
"position"};
20298 static constexpr char const *
const typestr{
"SgExpression*"};
20299 static constexpr bool traverse{
false};
20300 static constexpr auto mbr_ptr{&SgInquireStatement::p_position};
20301 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20302 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_position>;
20307 static constexpr size_t position{16};
20308 static constexpr char const *
const name{
"action"};
20309 static constexpr char const *
const typestr{
"SgExpression*"};
20310 static constexpr bool traverse{
false};
20311 static constexpr auto mbr_ptr{&SgInquireStatement::p_action};
20312 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20313 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_action>;
20318 static constexpr size_t position{17};
20319 static constexpr char const *
const name{
"read"};
20320 static constexpr char const *
const typestr{
"SgExpression*"};
20321 static constexpr bool traverse{
false};
20322 static constexpr auto mbr_ptr{&SgInquireStatement::p_read};
20323 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20324 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_read>;
20329 static constexpr size_t position{18};
20330 static constexpr char const *
const name{
"write"};
20331 static constexpr char const *
const typestr{
"SgExpression*"};
20332 static constexpr bool traverse{
false};
20333 static constexpr auto mbr_ptr{&SgInquireStatement::p_write};
20334 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20335 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_write>;
20340 static constexpr size_t position{19};
20341 static constexpr char const *
const name{
"readwrite"};
20342 static constexpr char const *
const typestr{
"SgExpression*"};
20343 static constexpr bool traverse{
false};
20344 static constexpr auto mbr_ptr{&SgInquireStatement::p_readwrite};
20345 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20346 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_readwrite>;
20351 static constexpr size_t position{20};
20352 static constexpr char const *
const name{
"delim"};
20353 static constexpr char const *
const typestr{
"SgExpression*"};
20354 static constexpr bool traverse{
false};
20355 static constexpr auto mbr_ptr{&SgInquireStatement::p_delim};
20356 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20357 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_delim>;
20362 static constexpr size_t position{21};
20363 static constexpr char const *
const name{
"pad"};
20364 static constexpr char const *
const typestr{
"SgExpression*"};
20365 static constexpr bool traverse{
false};
20366 static constexpr auto mbr_ptr{&SgInquireStatement::p_pad};
20367 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20368 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_pad>;
20373 static constexpr size_t position{22};
20374 static constexpr char const *
const name{
"asynchronous"};
20375 static constexpr char const *
const typestr{
"SgExpression*"};
20376 static constexpr bool traverse{
false};
20377 static constexpr auto mbr_ptr{&SgInquireStatement::p_asynchronous};
20378 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20379 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_asynchronous>;
20384 static constexpr size_t position{23};
20385 static constexpr char const *
const name{
"decimal"};
20386 static constexpr char const *
const typestr{
"SgExpression*"};
20387 static constexpr bool traverse{
false};
20388 static constexpr auto mbr_ptr{&SgInquireStatement::p_decimal};
20389 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20390 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_decimal>;
20395 static constexpr size_t position{24};
20396 static constexpr char const *
const name{
"stream"};
20397 static constexpr char const *
const typestr{
"SgExpression*"};
20398 static constexpr bool traverse{
false};
20399 static constexpr auto mbr_ptr{&SgInquireStatement::p_stream};
20400 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20401 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_stream>;
20406 static constexpr size_t position{25};
20407 static constexpr char const *
const name{
"size"};
20408 static constexpr char const *
const typestr{
"SgExpression*"};
20409 static constexpr bool traverse{
false};
20410 static constexpr auto mbr_ptr{&SgInquireStatement::p_size};
20411 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20412 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_size>;
20417 static constexpr size_t position{26};
20418 static constexpr char const *
const name{
"pending"};
20419 static constexpr char const *
const typestr{
"SgExpression*"};
20420 static constexpr bool traverse{
false};
20421 static constexpr auto mbr_ptr{&SgInquireStatement::p_pending};
20422 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20423 using bind = Desc<SgInquireStatement, SgExpression* SgInquireStatement::*, &SgInquireStatement::p_pending>;
20428 static constexpr size_t position{27};
20429 static constexpr char const *
const name{
"iolengthExp"};
20430 static constexpr char const *
const typestr{
"SgVarRefExp*"};
20431 static constexpr bool traverse{
false};
20432 static constexpr auto mbr_ptr{&SgInquireStatement::p_iolengthExp};
20433 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20434 using bind = Desc<SgInquireStatement, SgVarRefExp* SgInquireStatement::*, &SgInquireStatement::p_iolengthExp>;
20439 static constexpr char const *
const name{
"InquireStatement"};
20440 static constexpr unsigned long variant{478};
20441 static constexpr bool concrete{
true};
20443 using fields_t =
mp::List<describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_file>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_access>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_form>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_recl>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_blank>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_exist>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_opened>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_number>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_named>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_name>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_sequential>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_direct>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_formatted>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_unformatted>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_nextrec>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_position>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_action>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_read>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_write>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_readwrite>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_delim>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_pad>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_asynchronous>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_decimal>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_stream>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_size>,
describe_field_t<SgInquireStatement,SgExpression*,&SgInquireStatement::p_pending>,
describe_field_t<SgInquireStatement,SgVarRefExp*,&SgInquireStatement::p_iolengthExp>>;
20451 static constexpr char const *
const name{
"IntKeyedBidirectionalGraph"};
20452 static constexpr unsigned long variant{479};
20453 static constexpr bool concrete{
true};
20462 using field_type = int;
20463 static constexpr size_t position{0};
20464 static constexpr char const *
const name{
"value"};
20465 static constexpr char const *
const typestr{
"int"};
20466 static constexpr bool traverse{
false};
20467 static constexpr auto mbr_ptr{&SgIntVal::p_value};
20468 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20469 using bind = Desc<SgIntVal, int SgIntVal::*, &SgIntVal::p_value>;
20473 using field_type = std::string;
20474 static constexpr size_t position{1};
20475 static constexpr char const *
const name{
"valueString"};
20476 static constexpr char const *
const typestr{
"std::string"};
20477 static constexpr bool traverse{
false};
20478 static constexpr auto mbr_ptr{&SgIntVal::p_valueString};
20479 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20480 using bind = Desc<SgIntVal, std::string SgIntVal::*, &SgIntVal::p_valueString>;
20485 static constexpr char const *
const name{
"IntVal"};
20486 static constexpr unsigned long variant{480};
20487 static constexpr bool concrete{
true};
20497 static constexpr char const *
const name{
"IntegerDivideOp"};
20498 static constexpr unsigned long variant{481};
20499 static constexpr bool concrete{
true};
20509 static constexpr char const *
const name{
"IntegerDivideAssignOp"};
20510 static constexpr unsigned long variant{482};
20511 static constexpr bool concrete{
true};
20521 static constexpr size_t position{0};
20522 static constexpr char const *
const name{
"function_name"};
20523 static constexpr char const *
const typestr{
"SgName"};
20524 static constexpr bool traverse{
false};
20525 static constexpr auto mbr_ptr{&SgInterfaceBody::p_function_name};
20526 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20527 using bind = Desc<SgInterfaceBody, SgName SgInterfaceBody::*, &SgInterfaceBody::p_function_name>;
20532 static constexpr size_t position{1};
20533 static constexpr char const *
const name{
"functionDeclaration"};
20534 static constexpr char const *
const typestr{
"SgFunctionDeclaration*"};
20535 static constexpr bool traverse{
false};
20536 static constexpr auto mbr_ptr{&SgInterfaceBody::p_functionDeclaration};
20537 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20538 using bind = Desc<SgInterfaceBody, SgFunctionDeclaration* SgInterfaceBody::*, &SgInterfaceBody::p_functionDeclaration>;
20542 using field_type = bool;
20543 static constexpr size_t position{2};
20544 static constexpr char const *
const name{
"use_function_name"};
20545 static constexpr char const *
const typestr{
"bool"};
20546 static constexpr bool traverse{
false};
20547 static constexpr auto mbr_ptr{&SgInterfaceBody::p_use_function_name};
20548 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20549 using bind = Desc<SgInterfaceBody, bool SgInterfaceBody::*, &SgInterfaceBody::p_use_function_name>;
20554 static constexpr char const *
const name{
"InterfaceBody"};
20555 static constexpr unsigned long variant{483};
20556 static constexpr bool concrete{
true};
20566 static constexpr size_t position{0};
20567 static constexpr char const *
const name{
"include_file"};
20568 static constexpr char const *
const typestr{
"SgSourceFile*"};
20569 static constexpr bool traverse{
false};
20570 static constexpr auto mbr_ptr{&SgHeaderFileBody::p_include_file};
20571 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20572 using bind = Desc<SgHeaderFileBody, SgSourceFile* SgHeaderFileBody::*, &SgHeaderFileBody::p_include_file>;
20577 static constexpr char const *
const name{
"HeaderFileBody"};
20578 static constexpr unsigned long variant{484};
20579 static constexpr bool concrete{
true};
20589 static constexpr size_t position{0};
20590 static constexpr char const *
const name{
"source_file"};
20591 static constexpr char const *
const typestr{
"SgSourceFile*"};
20592 static constexpr bool traverse{
false};
20593 static constexpr auto mbr_ptr{&SgHeaderFileReport::p_source_file};
20594 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20595 using bind = Desc<SgHeaderFileReport, SgSourceFile* SgHeaderFileReport::*, &SgHeaderFileReport::p_source_file>;
20599 using field_type = SgSourceFilePtrList;
20600 static constexpr size_t position{1};
20601 static constexpr char const *
const name{
"include_file_list"};
20602 static constexpr char const *
const typestr{
"SgSourceFilePtrList"};
20603 static constexpr bool traverse{
false};
20604 static constexpr auto mbr_ptr{&SgHeaderFileReport::p_include_file_list};
20605 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20606 using bind = Desc<SgHeaderFileReport, SgSourceFilePtrList SgHeaderFileReport::*, &SgHeaderFileReport::p_include_file_list>;
20611 static constexpr char const *
const name{
"HeaderFileReport"};
20612 static constexpr unsigned long variant{485};
20613 static constexpr bool concrete{
true};
20623 static constexpr size_t position{0};
20624 static constexpr char const *
const name{
"name"};
20625 static constexpr char const *
const typestr{
"SgName"};
20626 static constexpr bool traverse{
false};
20627 static constexpr auto mbr_ptr{&SgInterfaceStatement::p_name};
20628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20629 using bind = Desc<SgInterfaceStatement, SgName SgInterfaceStatement::*, &SgInterfaceStatement::p_name>;
20634 static constexpr size_t position{1};
20635 static constexpr char const *
const name{
"generic_spec"};
20636 static constexpr char const *
const typestr{
"SgInterfaceStatement::generic_spec_enum"};
20637 static constexpr bool traverse{
false};
20638 static constexpr auto mbr_ptr{&SgInterfaceStatement::p_generic_spec};
20639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20640 using bind = Desc<SgInterfaceStatement, SgInterfaceStatement::generic_spec_enum SgInterfaceStatement::*, &SgInterfaceStatement::p_generic_spec>;
20644 using field_type = SgInterfaceBodyPtrList;
20645 static constexpr size_t position{2};
20646 static constexpr char const *
const name{
"interface_body_list"};
20647 static constexpr char const *
const typestr{
"SgInterfaceBodyPtrList"};
20648 static constexpr bool traverse{
true};
20649 static constexpr auto mbr_ptr{&SgInterfaceStatement::p_interface_body_list};
20650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20651 using bind = Desc<SgInterfaceStatement, SgInterfaceBodyPtrList SgInterfaceStatement::*, &SgInterfaceStatement::p_interface_body_list>;
20656 static constexpr size_t position{3};
20657 static constexpr char const *
const name{
"end_numeric_label"};
20658 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
20659 static constexpr bool traverse{
false};
20660 static constexpr auto mbr_ptr{&SgInterfaceStatement::p_end_numeric_label};
20661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20662 using bind = Desc<SgInterfaceStatement, SgLabelRefExp* SgInterfaceStatement::*, &SgInterfaceStatement::p_end_numeric_label>;
20667 static constexpr char const *
const name{
"InterfaceStatement"};
20668 static constexpr unsigned long variant{486};
20669 static constexpr bool concrete{
true};
20671 using fields_t =
mp::List<describe_field_t<SgInterfaceStatement,SgName,&SgInterfaceStatement::p_name>,
describe_field_t<SgInterfaceStatement,SgInterfaceStatement::generic_spec_enum,&SgInterfaceStatement::p_generic_spec>,
describe_field_t<SgInterfaceStatement,SgInterfaceBodyPtrList,&SgInterfaceStatement::p_interface_body_list>,
describe_field_t<SgInterfaceStatement,SgLabelRefExp*,&SgInterfaceStatement::p_end_numeric_label>>;
20679 static constexpr size_t position{0};
20680 static constexpr char const *
const name{
"declaration"};
20681 static constexpr char const *
const typestr{
"SgInterfaceStatement*"};
20682 static constexpr bool traverse{
false};
20683 static constexpr auto mbr_ptr{&SgInterfaceSymbol::p_declaration};
20684 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20685 using bind = Desc<SgInterfaceSymbol, SgInterfaceStatement* SgInterfaceSymbol::*, &SgInterfaceSymbol::p_declaration>;
20690 static constexpr char const *
const name{
"InterfaceSymbol"};
20691 static constexpr unsigned long variant{487};
20692 static constexpr bool concrete{
true};
20702 static constexpr size_t position{0};
20703 static constexpr char const *
const name{
"declaration"};
20704 static constexpr char const *
const typestr{
"SgInitializedName*"};
20705 static constexpr bool traverse{
false};
20706 static constexpr auto mbr_ptr{&SgIntrinsicSymbol::p_declaration};
20707 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20708 using bind = Desc<SgIntrinsicSymbol, SgInitializedName* SgIntrinsicSymbol::*, &SgIntrinsicSymbol::p_declaration>;
20713 static constexpr char const *
const name{
"IntrinsicSymbol"};
20714 static constexpr unsigned long variant{488};
20715 static constexpr bool concrete{
true};
20725 static constexpr char const *
const name{
"IsOp"};
20726 static constexpr unsigned long variant{489};
20727 static constexpr bool concrete{
true};
20737 static constexpr char const *
const name{
"IsNotOp"};
20738 static constexpr unsigned long variant{490};
20739 static constexpr bool concrete{
true};
20749 static constexpr char const *
const name{
"IorAssignOp"};
20750 static constexpr unsigned long variant{491};
20751 static constexpr bool concrete{
true};
20761 static constexpr size_t position{0};
20762 static constexpr char const *
const name{
"size"};
20763 static constexpr char const *
const typestr{
"SgExpression*"};
20764 static constexpr bool traverse{
false};
20765 static constexpr auto mbr_ptr{&SgJovialBitType::p_size};
20766 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20767 using bind = Desc<SgJovialBitType, SgExpression* SgJovialBitType::*, &SgJovialBitType::p_size>;
20772 static constexpr char const *
const name{
"JovialBitType"};
20773 static constexpr unsigned long variant{492};
20774 static constexpr bool concrete{
true};
20782 using parent = SgJovialBitVal;
20783 using field_type = std::string;
20784 static constexpr size_t position{0};
20785 static constexpr char const *
const name{
"valueString"};
20786 static constexpr char const *
const typestr{
"std::string"};
20787 static constexpr bool traverse{
false};
20788 static constexpr auto mbr_ptr{&SgJovialBitVal::p_valueString};
20789 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20790 using bind = Desc<SgJovialBitVal, std::string SgJovialBitVal::*, &SgJovialBitVal::p_valueString>;
20793 using node = SgJovialBitVal;
20795 static constexpr char const *
const name{
"JovialBitVal"};
20796 static constexpr unsigned long variant{493};
20797 static constexpr bool concrete{
true};
20801template <>
struct node_from_variant_t<493> {
using type = SgJovialBitVal; };
20807 static constexpr size_t position{0};
20808 static constexpr char const *
const name{
"base_type"};
20809 static constexpr char const *
const typestr{
"SgType*"};
20810 static constexpr bool traverse{
false};
20811 static constexpr auto mbr_ptr{&SgJovialTableType::p_base_type};
20812 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20813 using bind = Desc<SgJovialTableType, SgType* SgJovialTableType::*, &SgJovialTableType::p_base_type>;
20818 static constexpr size_t position{1};
20819 static constexpr char const *
const name{
"dim_info"};
20820 static constexpr char const *
const typestr{
"SgExprListExp*"};
20821 static constexpr bool traverse{
true};
20822 static constexpr auto mbr_ptr{&SgJovialTableType::p_dim_info};
20823 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20824 using bind = Desc<SgJovialTableType, SgExprListExp* SgJovialTableType::*, &SgJovialTableType::p_dim_info>;
20828 using field_type = int;
20829 static constexpr size_t position{2};
20830 static constexpr char const *
const name{
"rank"};
20831 static constexpr char const *
const typestr{
"int"};
20832 static constexpr bool traverse{
false};
20833 static constexpr auto mbr_ptr{&SgJovialTableType::p_rank};
20834 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20835 using bind = Desc<SgJovialTableType, int SgJovialTableType::*, &SgJovialTableType::p_rank>;
20840 static constexpr size_t position{3};
20841 static constexpr char const *
const name{
"structure_specifier"};
20842 static constexpr char const *
const typestr{
"SgJovialTableType::StructureSpecifier"};
20843 static constexpr bool traverse{
false};
20844 static constexpr auto mbr_ptr{&SgJovialTableType::p_structure_specifier};
20845 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20846 using bind = Desc<SgJovialTableType, SgJovialTableType::StructureSpecifier SgJovialTableType::*, &SgJovialTableType::p_structure_specifier>;
20850 using field_type =
unsigned int;
20851 static constexpr size_t position{4};
20852 static constexpr char const *
const name{
"bits_per_entry"};
20853 static constexpr char const *
const typestr{
"unsigned int"};
20854 static constexpr bool traverse{
false};
20855 static constexpr auto mbr_ptr{&SgJovialTableType::p_bits_per_entry};
20856 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20857 using bind = Desc<SgJovialTableType, unsigned int SgJovialTableType::*, &SgJovialTableType::p_bits_per_entry>;
20862 static constexpr char const *
const name{
"JovialTableType"};
20863 static constexpr unsigned long variant{494};
20864 static constexpr bool concrete{
true};
20866 using fields_t =
mp::List<describe_field_t<SgJovialTableType,SgType*,&SgJovialTableType::p_base_type>,
describe_field_t<SgJovialTableType,SgExprListExp*,&SgJovialTableType::p_dim_info>,
describe_field_t<SgJovialTableType,int,&SgJovialTableType::p_rank>,
describe_field_t<SgJovialTableType,SgJovialTableType::StructureSpecifier,&SgJovialTableType::p_structure_specifier>,
describe_field_t<SgJovialTableType,unsigned int,&SgJovialTableType::p_bits_per_entry>>;
20874 static constexpr size_t position{0};
20875 static constexpr char const *
const name{
"name"};
20876 static constexpr char const *
const typestr{
"SgName"};
20877 static constexpr bool traverse{
false};
20878 static constexpr auto mbr_ptr{&SgJovialCompoolStatement::p_name};
20879 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20880 using bind = Desc<SgJovialCompoolStatement, SgName SgJovialCompoolStatement::*, &SgJovialCompoolStatement::p_name>;
20885 static constexpr char const *
const name{
"JovialCompoolStatement"};
20886 static constexpr unsigned long variant{495};
20887 static constexpr bool concrete{
true};
20897 static constexpr size_t position{0};
20898 static constexpr char const *
const name{
"initialization"};
20899 static constexpr char const *
const typestr{
"SgExpression*"};
20900 static constexpr bool traverse{
true};
20901 static constexpr auto mbr_ptr{&SgJovialForThenStatement::p_initialization};
20902 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20903 using bind = Desc<SgJovialForThenStatement, SgExpression* SgJovialForThenStatement::*, &SgJovialForThenStatement::p_initialization>;
20908 static constexpr size_t position{1};
20909 static constexpr char const *
const name{
"while_expression"};
20910 static constexpr char const *
const typestr{
"SgExpression*"};
20911 static constexpr bool traverse{
true};
20912 static constexpr auto mbr_ptr{&SgJovialForThenStatement::p_while_expression};
20913 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20914 using bind = Desc<SgJovialForThenStatement, SgExpression* SgJovialForThenStatement::*, &SgJovialForThenStatement::p_while_expression>;
20919 static constexpr size_t position{2};
20920 static constexpr char const *
const name{
"by_or_then_expression"};
20921 static constexpr char const *
const typestr{
"SgExpression*"};
20922 static constexpr bool traverse{
true};
20923 static constexpr auto mbr_ptr{&SgJovialForThenStatement::p_by_or_then_expression};
20924 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20925 using bind = Desc<SgJovialForThenStatement, SgExpression* SgJovialForThenStatement::*, &SgJovialForThenStatement::p_by_or_then_expression>;
20930 static constexpr size_t position{3};
20931 static constexpr char const *
const name{
"loop_body"};
20932 static constexpr char const *
const typestr{
"SgBasicBlock*"};
20933 static constexpr bool traverse{
true};
20934 static constexpr auto mbr_ptr{&SgJovialForThenStatement::p_loop_body};
20935 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20936 using bind = Desc<SgJovialForThenStatement, SgBasicBlock* SgJovialForThenStatement::*, &SgJovialForThenStatement::p_loop_body>;
20941 static constexpr size_t position{4};
20942 static constexpr char const *
const name{
"loop_statement_type"};
20943 static constexpr char const *
const typestr{
"SgJovialForThenStatement::loop_statement_type_enum"};
20944 static constexpr bool traverse{
false};
20945 static constexpr auto mbr_ptr{&SgJovialForThenStatement::p_loop_statement_type};
20946 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20947 using bind = Desc<SgJovialForThenStatement, SgJovialForThenStatement::loop_statement_type_enum SgJovialForThenStatement::*, &SgJovialForThenStatement::p_loop_statement_type>;
20952 static constexpr char const *
const name{
"JovialForThenStatement"};
20953 static constexpr unsigned long variant{496};
20954 static constexpr bool concrete{
true};
20956 using fields_t =
mp::List<describe_field_t<SgJovialForThenStatement,SgExpression*,&SgJovialForThenStatement::p_initialization>,
describe_field_t<SgJovialForThenStatement,SgExpression*,&SgJovialForThenStatement::p_while_expression>,
describe_field_t<SgJovialForThenStatement,SgExpression*,&SgJovialForThenStatement::p_by_or_then_expression>,
describe_field_t<SgJovialForThenStatement,SgBasicBlock*,&SgJovialForThenStatement::p_loop_body>,
describe_field_t<SgJovialForThenStatement,SgJovialForThenStatement::loop_statement_type_enum,&SgJovialForThenStatement::p_loop_statement_type>>;
20963 using field_type = std::string;
20964 static constexpr size_t position{0};
20965 static constexpr char const *
const name{
"define_string"};
20966 static constexpr char const *
const typestr{
"std::string"};
20967 static constexpr bool traverse{
false};
20968 static constexpr auto mbr_ptr{&SgJovialDefineDeclaration::p_define_string};
20969 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20970 using bind = Desc<SgJovialDefineDeclaration, std::string SgJovialDefineDeclaration::*, &SgJovialDefineDeclaration::p_define_string>;
20975 static constexpr char const *
const name{
"JovialDefineDeclaration"};
20976 static constexpr unsigned long variant{497};
20977 static constexpr bool concrete{
true};
20986 using field_type = std::string;
20987 static constexpr size_t position{0};
20988 static constexpr char const *
const name{
"content_string"};
20989 static constexpr char const *
const typestr{
"std::string"};
20990 static constexpr bool traverse{
false};
20991 static constexpr auto mbr_ptr{&SgJovialDirectiveStatement::p_content_string};
20992 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
20993 using bind = Desc<SgJovialDirectiveStatement, std::string SgJovialDirectiveStatement::*, &SgJovialDirectiveStatement::p_content_string>;
20998 static constexpr size_t position{1};
20999 static constexpr char const *
const name{
"directive_type"};
21000 static constexpr char const *
const typestr{
"SgJovialDirectiveStatement::directive_types"};
21001 static constexpr bool traverse{
false};
21002 static constexpr auto mbr_ptr{&SgJovialDirectiveStatement::p_directive_type};
21003 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21004 using bind = Desc<SgJovialDirectiveStatement, SgJovialDirectiveStatement::directive_types SgJovialDirectiveStatement::*, &SgJovialDirectiveStatement::p_directive_type>;
21009 static constexpr char const *
const name{
"JovialDirectiveStatement"};
21010 static constexpr unsigned long variant{498};
21011 static constexpr bool concrete{
true};
21021 static constexpr size_t position{0};
21022 static constexpr char const *
const name{
"address"};
21023 static constexpr char const *
const typestr{
"SgExpression*"};
21024 static constexpr bool traverse{
true};
21025 static constexpr auto mbr_ptr{&SgJovialOverlayDeclaration::p_address};
21026 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21027 using bind = Desc<SgJovialOverlayDeclaration, SgExpression* SgJovialOverlayDeclaration::*, &SgJovialOverlayDeclaration::p_address>;
21032 static constexpr size_t position{1};
21033 static constexpr char const *
const name{
"overlay"};
21034 static constexpr char const *
const typestr{
"SgExprListExp*"};
21035 static constexpr bool traverse{
true};
21036 static constexpr auto mbr_ptr{&SgJovialOverlayDeclaration::p_overlay};
21037 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21038 using bind = Desc<SgJovialOverlayDeclaration, SgExprListExp* SgJovialOverlayDeclaration::*, &SgJovialOverlayDeclaration::p_overlay>;
21043 static constexpr char const *
const name{
"JovialOverlayDeclaration"};
21044 static constexpr unsigned long variant{499};
21045 static constexpr bool concrete{
true};
21055 static constexpr size_t position{0};
21056 static constexpr char const *
const name{
"indices"};
21057 static constexpr char const *
const typestr{
"SgExprListExp*"};
21058 static constexpr bool traverse{
true};
21059 static constexpr auto mbr_ptr{&SgJovialPresetPositionExp::p_indices};
21060 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21061 using bind = Desc<SgJovialPresetPositionExp, SgExprListExp* SgJovialPresetPositionExp::*, &SgJovialPresetPositionExp::p_indices>;
21066 static constexpr size_t position{1};
21067 static constexpr char const *
const name{
"value"};
21068 static constexpr char const *
const typestr{
"SgExpression*"};
21069 static constexpr bool traverse{
true};
21070 static constexpr auto mbr_ptr{&SgJovialPresetPositionExp::p_value};
21071 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21072 using bind = Desc<SgJovialPresetPositionExp, SgExpression* SgJovialPresetPositionExp::*, &SgJovialPresetPositionExp::p_value>;
21077 static constexpr char const *
const name{
"JovialPresetPositionExp"};
21078 static constexpr unsigned long variant{500};
21079 static constexpr bool concrete{
true};
21089 static constexpr size_t position{0};
21090 static constexpr char const *
const name{
"preset_list"};
21091 static constexpr char const *
const typestr{
"SgExprListExp*"};
21092 static constexpr bool traverse{
true};
21093 static constexpr auto mbr_ptr{&SgJovialTablePresetExp::p_preset_list};
21094 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21095 using bind = Desc<SgJovialTablePresetExp, SgExprListExp* SgJovialTablePresetExp::*, &SgJovialTablePresetExp::p_preset_list>;
21100 static constexpr char const *
const name{
"JovialTablePresetExp"};
21101 static constexpr unsigned long variant{501};
21102 static constexpr bool concrete{
true};
21112 static constexpr size_t position{0};
21113 static constexpr char const *
const name{
"table_entry_size"};
21114 static constexpr char const *
const typestr{
"SgExpression*"};
21115 static constexpr bool traverse{
false};
21116 static constexpr auto mbr_ptr{&SgJovialTableStatement::p_table_entry_size};
21117 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21118 using bind = Desc<SgJovialTableStatement, SgExpression* SgJovialTableStatement::*, &SgJovialTableStatement::p_table_entry_size>;
21122 using field_type = bool;
21123 static constexpr size_t position{1};
21124 static constexpr char const *
const name{
"has_table_entry_size"};
21125 static constexpr char const *
const typestr{
"bool"};
21126 static constexpr bool traverse{
false};
21127 static constexpr auto mbr_ptr{&SgJovialTableStatement::p_has_table_entry_size};
21128 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21129 using bind = Desc<SgJovialTableStatement, bool SgJovialTableStatement::*, &SgJovialTableStatement::p_has_table_entry_size>;
21134 static constexpr size_t position{2};
21135 static constexpr char const *
const name{
"words_per_entry"};
21136 static constexpr char const *
const typestr{
"SgJovialTableStatement::WordsPerEntry"};
21137 static constexpr bool traverse{
false};
21138 static constexpr auto mbr_ptr{&SgJovialTableStatement::p_words_per_entry};
21139 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21140 using bind = Desc<SgJovialTableStatement, SgJovialTableStatement::WordsPerEntry SgJovialTableStatement::*, &SgJovialTableStatement::p_words_per_entry>;
21144 using field_type = std::string;
21145 static constexpr size_t position{3};
21146 static constexpr char const *
const name{
"like_table_name"};
21147 static constexpr char const *
const typestr{
"std::string"};
21148 static constexpr bool traverse{
false};
21149 static constexpr auto mbr_ptr{&SgJovialTableStatement::p_like_table_name};
21150 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21151 using bind = Desc<SgJovialTableStatement, std::string SgJovialTableStatement::*, &SgJovialTableStatement::p_like_table_name>;
21155 using field_type = bool;
21156 static constexpr size_t position{4};
21157 static constexpr char const *
const name{
"has_like_option"};
21158 static constexpr char const *
const typestr{
"bool"};
21159 static constexpr bool traverse{
false};
21160 static constexpr auto mbr_ptr{&SgJovialTableStatement::p_has_like_option};
21161 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21162 using bind = Desc<SgJovialTableStatement, bool SgJovialTableStatement::*, &SgJovialTableStatement::p_has_like_option>;
21167 static constexpr char const *
const name{
"JovialTableStatement"};
21168 static constexpr unsigned long variant{502};
21169 static constexpr bool concrete{
true};
21171 using fields_t =
mp::List<describe_field_t<SgJovialTableStatement,SgExpression*,&SgJovialTableStatement::p_table_entry_size>,
describe_field_t<SgJovialTableStatement,bool,&SgJovialTableStatement::p_has_table_entry_size>,
describe_field_t<SgJovialTableStatement,SgJovialTableStatement::WordsPerEntry,&SgJovialTableStatement::p_words_per_entry>,
describe_field_t<SgJovialTableStatement,std::string,&SgJovialTableStatement::p_like_table_name>,
describe_field_t<SgJovialTableStatement,bool,&SgJovialTableStatement::p_has_like_option>>;
21179 static constexpr size_t position{0};
21180 static constexpr char const *
const name{
"key"};
21181 static constexpr char const *
const typestr{
"SgExpression*"};
21182 static constexpr bool traverse{
true};
21183 static constexpr auto mbr_ptr{&SgKeyDatumPair::p_key};
21184 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21185 using bind = Desc<SgKeyDatumPair, SgExpression* SgKeyDatumPair::*, &SgKeyDatumPair::p_key>;
21190 static constexpr size_t position{1};
21191 static constexpr char const *
const name{
"datum"};
21192 static constexpr char const *
const typestr{
"SgExpression*"};
21193 static constexpr bool traverse{
true};
21194 static constexpr auto mbr_ptr{&SgKeyDatumPair::p_datum};
21195 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21196 using bind = Desc<SgKeyDatumPair, SgExpression* SgKeyDatumPair::*, &SgKeyDatumPair::p_datum>;
21201 static constexpr char const *
const name{
"KeyDatumPair"};
21202 static constexpr unsigned long variant{503};
21203 static constexpr bool concrete{
true};
21213 static constexpr size_t position{0};
21214 static constexpr char const *
const name{
"grid"};
21215 static constexpr char const *
const typestr{
"SgExpression*"};
21216 static constexpr bool traverse{
true};
21217 static constexpr auto mbr_ptr{&SgCudaKernelExecConfig::p_grid};
21218 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21219 using bind = Desc<SgCudaKernelExecConfig, SgExpression* SgCudaKernelExecConfig::*, &SgCudaKernelExecConfig::p_grid>;
21224 static constexpr size_t position{1};
21225 static constexpr char const *
const name{
"blocks"};
21226 static constexpr char const *
const typestr{
"SgExpression*"};
21227 static constexpr bool traverse{
true};
21228 static constexpr auto mbr_ptr{&SgCudaKernelExecConfig::p_blocks};
21229 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21230 using bind = Desc<SgCudaKernelExecConfig, SgExpression* SgCudaKernelExecConfig::*, &SgCudaKernelExecConfig::p_blocks>;
21235 static constexpr size_t position{2};
21236 static constexpr char const *
const name{
"shared"};
21237 static constexpr char const *
const typestr{
"SgExpression*"};
21238 static constexpr bool traverse{
true};
21239 static constexpr auto mbr_ptr{&SgCudaKernelExecConfig::p_shared};
21240 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21241 using bind = Desc<SgCudaKernelExecConfig, SgExpression* SgCudaKernelExecConfig::*, &SgCudaKernelExecConfig::p_shared>;
21246 static constexpr size_t position{3};
21247 static constexpr char const *
const name{
"stream"};
21248 static constexpr char const *
const typestr{
"SgExpression*"};
21249 static constexpr bool traverse{
true};
21250 static constexpr auto mbr_ptr{&SgCudaKernelExecConfig::p_stream};
21251 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21252 using bind = Desc<SgCudaKernelExecConfig, SgExpression* SgCudaKernelExecConfig::*, &SgCudaKernelExecConfig::p_stream>;
21257 static constexpr char const *
const name{
"CudaKernelExecConfig"};
21258 static constexpr unsigned long variant{504};
21259 static constexpr bool concrete{
true};
21261 using fields_t =
mp::List<describe_field_t<SgCudaKernelExecConfig,SgExpression*,&SgCudaKernelExecConfig::p_grid>,
describe_field_t<SgCudaKernelExecConfig,SgExpression*,&SgCudaKernelExecConfig::p_blocks>,
describe_field_t<SgCudaKernelExecConfig,SgExpression*,&SgCudaKernelExecConfig::p_shared>,
describe_field_t<SgCudaKernelExecConfig,SgExpression*,&SgCudaKernelExecConfig::p_stream>>;
21269 static constexpr size_t position{0};
21270 static constexpr char const *
const name{
"exec_config"};
21271 static constexpr char const *
const typestr{
"SgCudaKernelExecConfig*"};
21272 static constexpr bool traverse{
true};
21273 static constexpr auto mbr_ptr{&SgCudaKernelCallExp::p_exec_config};
21274 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21275 using bind = Desc<SgCudaKernelCallExp, SgCudaKernelExecConfig* SgCudaKernelCallExp::*, &SgCudaKernelCallExp::p_exec_config>;
21280 static constexpr char const *
const name{
"CudaKernelCallExp"};
21281 static constexpr unsigned long variant{505};
21282 static constexpr bool concrete{
true};
21292 static constexpr size_t position{0};
21293 static constexpr char const *
const name{
"symbol"};
21294 static constexpr char const *
const typestr{
"SgLabelSymbol*"};
21295 static constexpr bool traverse{
false};
21296 static constexpr auto mbr_ptr{&SgLabelRefExp::p_symbol};
21297 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21298 using bind = Desc<SgLabelRefExp, SgLabelSymbol* SgLabelRefExp::*, &SgLabelRefExp::p_symbol>;
21303 static constexpr char const *
const name{
"LabelRefExp"};
21304 static constexpr unsigned long variant{506};
21305 static constexpr bool concrete{
true};
21315 static constexpr size_t position{0};
21316 static constexpr char const *
const name{
"label"};
21317 static constexpr char const *
const typestr{
"SgName"};
21318 static constexpr bool traverse{
false};
21320 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21321 using bind = Desc<SgLabelStatement, SgName SgLabelStatement::*, &SgLabelStatement::p_label>;
21326 static constexpr size_t position{1};
21327 static constexpr char const *
const name{
"scope"};
21328 static constexpr char const *
const typestr{
"SgScopeStatement*"};
21329 static constexpr bool traverse{
false};
21330 static constexpr auto mbr_ptr{&SgLabelStatement::p_scope};
21331 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21332 using bind = Desc<SgLabelStatement, SgScopeStatement* SgLabelStatement::*, &SgLabelStatement::p_scope>;
21337 static constexpr size_t position{2};
21338 static constexpr char const *
const name{
"statement"};
21339 static constexpr char const *
const typestr{
"SgStatement*"};
21340 static constexpr bool traverse{
true};
21341 static constexpr auto mbr_ptr{&SgLabelStatement::p_statement};
21342 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21343 using bind = Desc<SgLabelStatement, SgStatement* SgLabelStatement::*, &SgLabelStatement::p_statement>;
21348 static constexpr size_t position{3};
21349 static constexpr char const *
const name{
"label_type"};
21350 static constexpr char const *
const typestr{
"SgLabelStatement::label_type_enum"};
21351 static constexpr bool traverse{
false};
21352 static constexpr auto mbr_ptr{&SgLabelStatement::p_label_type};
21353 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21354 using bind = Desc<SgLabelStatement, SgLabelStatement::label_type_enum SgLabelStatement::*, &SgLabelStatement::p_label_type>;
21358 using field_type = bool;
21359 static constexpr size_t position{4};
21360 static constexpr char const *
const name{
"gnu_extension_unused"};
21361 static constexpr char const *
const typestr{
"bool"};
21362 static constexpr bool traverse{
false};
21363 static constexpr auto mbr_ptr{&SgLabelStatement::p_gnu_extension_unused};
21364 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21365 using bind = Desc<SgLabelStatement, bool SgLabelStatement::*, &SgLabelStatement::p_gnu_extension_unused>;
21370 static constexpr char const *
const name{
"LabelStatement"};
21371 static constexpr unsigned long variant{507};
21372 static constexpr bool concrete{
true};
21374 using fields_t =
mp::List<describe_field_t<SgLabelStatement,SgName,&SgLabelStatement::p_label>,
describe_field_t<SgLabelStatement,SgScopeStatement*,&SgLabelStatement::p_scope>,
describe_field_t<SgLabelStatement,SgStatement*,&SgLabelStatement::p_statement>,
describe_field_t<SgLabelStatement,SgLabelStatement::label_type_enum,&SgLabelStatement::p_label_type>,
describe_field_t<SgLabelStatement,bool,&SgLabelStatement::p_gnu_extension_unused>>;
21382 static constexpr size_t position{0};
21383 static constexpr char const *
const name{
"label"};
21384 static constexpr char const *
const typestr{
"SgName"};
21385 static constexpr bool traverse{
false};
21386 static constexpr auto mbr_ptr{&SgJavaLabelStatement::p_label};
21387 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21388 using bind = Desc<SgJavaLabelStatement, SgName SgJavaLabelStatement::*, &SgJavaLabelStatement::p_label>;
21393 static constexpr size_t position{1};
21394 static constexpr char const *
const name{
"statement"};
21395 static constexpr char const *
const typestr{
"SgStatement*"};
21396 static constexpr bool traverse{
true};
21397 static constexpr auto mbr_ptr{&SgJavaLabelStatement::p_statement};
21398 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21399 using bind = Desc<SgJavaLabelStatement, SgStatement* SgJavaLabelStatement::*, &SgJavaLabelStatement::p_statement>;
21404 static constexpr char const *
const name{
"JavaLabelStatement"};
21405 static constexpr unsigned long variant{508};
21406 static constexpr bool concrete{
true};
21416 static constexpr size_t position{0};
21417 static constexpr char const *
const name{
"declaration"};
21418 static constexpr char const *
const typestr{
"SgLabelStatement*"};
21419 static constexpr bool traverse{
true};
21420 static constexpr auto mbr_ptr{&SgLabelSymbol::p_declaration};
21421 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21422 using bind = Desc<SgLabelSymbol, SgLabelStatement* SgLabelSymbol::*, &SgLabelSymbol::p_declaration>;
21427 static constexpr size_t position{1};
21428 static constexpr char const *
const name{
"fortran_statement"};
21429 static constexpr char const *
const typestr{
"SgStatement*"};
21430 static constexpr bool traverse{
false};
21431 static constexpr auto mbr_ptr{&SgLabelSymbol::p_fortran_statement};
21432 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21433 using bind = Desc<SgLabelSymbol, SgStatement* SgLabelSymbol::*, &SgLabelSymbol::p_fortran_statement>;
21438 static constexpr size_t position{2};
21439 static constexpr char const *
const name{
"fortran_alternate_return_parameter"};
21440 static constexpr char const *
const typestr{
"SgInitializedName*"};
21441 static constexpr bool traverse{
false};
21442 static constexpr auto mbr_ptr{&SgLabelSymbol::p_fortran_alternate_return_parameter};
21443 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21444 using bind = Desc<SgLabelSymbol, SgInitializedName* SgLabelSymbol::*, &SgLabelSymbol::p_fortran_alternate_return_parameter>;
21448 using field_type = int;
21449 static constexpr size_t position{3};
21450 static constexpr char const *
const name{
"numeric_label_value"};
21451 static constexpr char const *
const typestr{
"int"};
21452 static constexpr bool traverse{
false};
21453 static constexpr auto mbr_ptr{&SgLabelSymbol::p_numeric_label_value};
21454 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21455 using bind = Desc<SgLabelSymbol, int SgLabelSymbol::*, &SgLabelSymbol::p_numeric_label_value>;
21460 static constexpr size_t position{4};
21461 static constexpr char const *
const name{
"label_type"};
21462 static constexpr char const *
const typestr{
"SgLabelSymbol::label_type_enum"};
21463 static constexpr bool traverse{
false};
21464 static constexpr auto mbr_ptr{&SgLabelSymbol::p_label_type};
21465 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21466 using bind = Desc<SgLabelSymbol, SgLabelSymbol::label_type_enum SgLabelSymbol::*, &SgLabelSymbol::p_label_type>;
21471 static constexpr char const *
const name{
"LabelSymbol"};
21472 static constexpr unsigned long variant{509};
21473 static constexpr bool concrete{
true};
21475 using fields_t =
mp::List<describe_field_t<SgLabelSymbol,SgLabelStatement*,&SgLabelSymbol::p_declaration>,
describe_field_t<SgLabelSymbol,SgStatement*,&SgLabelSymbol::p_fortran_statement>,
describe_field_t<SgLabelSymbol,SgInitializedName*,&SgLabelSymbol::p_fortran_alternate_return_parameter>,
describe_field_t<SgLabelSymbol,int,&SgLabelSymbol::p_numeric_label_value>,
describe_field_t<SgLabelSymbol,SgLabelSymbol::label_type_enum,&SgLabelSymbol::p_label_type>>;
21483 static constexpr size_t position{0};
21484 static constexpr char const *
const name{
"declaration"};
21485 static constexpr char const *
const typestr{
"SgJavaLabelStatement*"};
21486 static constexpr bool traverse{
true};
21487 static constexpr auto mbr_ptr{&SgJavaLabelSymbol::p_declaration};
21488 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21489 using bind = Desc<SgJavaLabelSymbol, SgJavaLabelStatement* SgJavaLabelSymbol::*, &SgJavaLabelSymbol::p_declaration>;
21494 static constexpr char const *
const name{
"JavaLabelSymbol"};
21495 static constexpr unsigned long variant{510};
21496 static constexpr bool concrete{
true};
21506 static constexpr size_t position{0};
21507 static constexpr char const *
const name{
"capture_variable"};
21508 static constexpr char const *
const typestr{
"SgExpression*"};
21509 static constexpr bool traverse{
true};
21510 static constexpr auto mbr_ptr{&SgLambdaCapture::p_capture_variable};
21511 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21512 using bind = Desc<SgLambdaCapture, SgExpression* SgLambdaCapture::*, &SgLambdaCapture::p_capture_variable>;
21517 static constexpr size_t position{1};
21518 static constexpr char const *
const name{
"source_closure_variable"};
21519 static constexpr char const *
const typestr{
"SgExpression*"};
21520 static constexpr bool traverse{
true};
21521 static constexpr auto mbr_ptr{&SgLambdaCapture::p_source_closure_variable};
21522 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21523 using bind = Desc<SgLambdaCapture, SgExpression* SgLambdaCapture::*, &SgLambdaCapture::p_source_closure_variable>;
21528 static constexpr size_t position{2};
21529 static constexpr char const *
const name{
"closure_variable"};
21530 static constexpr char const *
const typestr{
"SgExpression*"};
21531 static constexpr bool traverse{
true};
21532 static constexpr auto mbr_ptr{&SgLambdaCapture::p_closure_variable};
21533 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21534 using bind = Desc<SgLambdaCapture, SgExpression* SgLambdaCapture::*, &SgLambdaCapture::p_closure_variable>;
21538 using field_type = bool;
21539 static constexpr size_t position{3};
21540 static constexpr char const *
const name{
"capture_by_reference"};
21541 static constexpr char const *
const typestr{
"bool"};
21542 static constexpr bool traverse{
false};
21543 static constexpr auto mbr_ptr{&SgLambdaCapture::p_capture_by_reference};
21544 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21545 using bind = Desc<SgLambdaCapture, bool SgLambdaCapture::*, &SgLambdaCapture::p_capture_by_reference>;
21549 using field_type = bool;
21550 static constexpr size_t position{4};
21551 static constexpr char const *
const name{
"implicit"};
21552 static constexpr char const *
const typestr{
"bool"};
21553 static constexpr bool traverse{
false};
21554 static constexpr auto mbr_ptr{&SgLambdaCapture::p_implicit};
21555 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21556 using bind = Desc<SgLambdaCapture, bool SgLambdaCapture::*, &SgLambdaCapture::p_implicit>;
21560 using field_type = bool;
21561 static constexpr size_t position{5};
21562 static constexpr char const *
const name{
"pack_expansion"};
21563 static constexpr char const *
const typestr{
"bool"};
21564 static constexpr bool traverse{
false};
21565 static constexpr auto mbr_ptr{&SgLambdaCapture::p_pack_expansion};
21566 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21567 using bind = Desc<SgLambdaCapture, bool SgLambdaCapture::*, &SgLambdaCapture::p_pack_expansion>;
21572 static constexpr char const *
const name{
"LambdaCapture"};
21573 static constexpr unsigned long variant{511};
21574 static constexpr bool concrete{
true};
21576 using fields_t =
mp::List<describe_field_t<SgLambdaCapture,SgExpression*,&SgLambdaCapture::p_capture_variable>,
describe_field_t<SgLambdaCapture,SgExpression*,&SgLambdaCapture::p_source_closure_variable>,
describe_field_t<SgLambdaCapture,SgExpression*,&SgLambdaCapture::p_closure_variable>,
describe_field_t<SgLambdaCapture,bool,&SgLambdaCapture::p_capture_by_reference>,
describe_field_t<SgLambdaCapture,bool,&SgLambdaCapture::p_implicit>,
describe_field_t<SgLambdaCapture,bool,&SgLambdaCapture::p_pack_expansion>>;
21583 using field_type = SgLambdaCapturePtrList;
21584 static constexpr size_t position{0};
21585 static constexpr char const *
const name{
"capture_list"};
21586 static constexpr char const *
const typestr{
"SgLambdaCapturePtrList"};
21587 static constexpr bool traverse{
true};
21588 static constexpr auto mbr_ptr{&SgLambdaCaptureList::p_capture_list};
21589 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21590 using bind = Desc<SgLambdaCaptureList, SgLambdaCapturePtrList SgLambdaCaptureList::*, &SgLambdaCaptureList::p_capture_list>;
21595 static constexpr char const *
const name{
"LambdaCaptureList"};
21596 static constexpr unsigned long variant{512};
21597 static constexpr bool concrete{
true};
21607 static constexpr size_t position{0};
21608 static constexpr char const *
const name{
"lambda_capture_list"};
21609 static constexpr char const *
const typestr{
"SgLambdaCaptureList*"};
21610 static constexpr bool traverse{
true};
21611 static constexpr auto mbr_ptr{&SgLambdaExp::p_lambda_capture_list};
21612 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21613 using bind = Desc<SgLambdaExp, SgLambdaCaptureList* SgLambdaExp::*, &SgLambdaExp::p_lambda_capture_list>;
21618 static constexpr size_t position{1};
21619 static constexpr char const *
const name{
"lambda_closure_class"};
21620 static constexpr char const *
const typestr{
"SgClassDeclaration*"};
21621 static constexpr bool traverse{
true};
21622 static constexpr auto mbr_ptr{&SgLambdaExp::p_lambda_closure_class};
21623 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21624 using bind = Desc<SgLambdaExp, SgClassDeclaration* SgLambdaExp::*, &SgLambdaExp::p_lambda_closure_class>;
21629 static constexpr size_t position{2};
21630 static constexpr char const *
const name{
"lambda_function"};
21631 static constexpr char const *
const typestr{
"SgFunctionDeclaration*"};
21632 static constexpr bool traverse{
true};
21633 static constexpr auto mbr_ptr{&SgLambdaExp::p_lambda_function};
21634 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21635 using bind = Desc<SgLambdaExp, SgFunctionDeclaration* SgLambdaExp::*, &SgLambdaExp::p_lambda_function>;
21639 using field_type = bool;
21640 static constexpr size_t position{3};
21641 static constexpr char const *
const name{
"is_mutable"};
21642 static constexpr char const *
const typestr{
"bool"};
21643 static constexpr bool traverse{
false};
21644 static constexpr auto mbr_ptr{&SgLambdaExp::p_is_mutable};
21645 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21646 using bind = Desc<SgLambdaExp, bool SgLambdaExp::*, &SgLambdaExp::p_is_mutable>;
21650 using field_type = bool;
21651 static constexpr size_t position{4};
21652 static constexpr char const *
const name{
"capture_default"};
21653 static constexpr char const *
const typestr{
"bool"};
21654 static constexpr bool traverse{
false};
21655 static constexpr auto mbr_ptr{&SgLambdaExp::p_capture_default};
21656 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21657 using bind = Desc<SgLambdaExp, bool SgLambdaExp::*, &SgLambdaExp::p_capture_default>;
21661 using field_type = bool;
21662 static constexpr size_t position{5};
21663 static constexpr char const *
const name{
"default_is_by_reference"};
21664 static constexpr char const *
const typestr{
"bool"};
21665 static constexpr bool traverse{
false};
21666 static constexpr auto mbr_ptr{&SgLambdaExp::p_default_is_by_reference};
21667 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21668 using bind = Desc<SgLambdaExp, bool SgLambdaExp::*, &SgLambdaExp::p_default_is_by_reference>;
21672 using field_type = bool;
21673 static constexpr size_t position{6};
21674 static constexpr char const *
const name{
"explicit_return_type"};
21675 static constexpr char const *
const typestr{
"bool"};
21676 static constexpr bool traverse{
false};
21677 static constexpr auto mbr_ptr{&SgLambdaExp::p_explicit_return_type};
21678 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21679 using bind = Desc<SgLambdaExp, bool SgLambdaExp::*, &SgLambdaExp::p_explicit_return_type>;
21683 using field_type = bool;
21684 static constexpr size_t position{7};
21685 static constexpr char const *
const name{
"has_parameter_decl"};
21686 static constexpr char const *
const typestr{
"bool"};
21687 static constexpr bool traverse{
false};
21688 static constexpr auto mbr_ptr{&SgLambdaExp::p_has_parameter_decl};
21689 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21690 using bind = Desc<SgLambdaExp, bool SgLambdaExp::*, &SgLambdaExp::p_has_parameter_decl>;
21694 using field_type = bool;
21695 static constexpr size_t position{8};
21696 static constexpr char const *
const name{
"is_device"};
21697 static constexpr char const *
const typestr{
"bool"};
21698 static constexpr bool traverse{
false};
21699 static constexpr auto mbr_ptr{&SgLambdaExp::p_is_device};
21700 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21701 using bind = Desc<SgLambdaExp, bool SgLambdaExp::*, &SgLambdaExp::p_is_device>;
21706 static constexpr char const *
const name{
"LambdaExp"};
21707 static constexpr unsigned long variant{513};
21708 static constexpr bool concrete{
true};
21710 using fields_t =
mp::List<describe_field_t<SgLambdaExp,SgLambdaCaptureList*,&SgLambdaExp::p_lambda_capture_list>,
describe_field_t<SgLambdaExp,SgClassDeclaration*,&SgLambdaExp::p_lambda_closure_class>,
describe_field_t<SgLambdaExp,SgFunctionDeclaration*,&SgLambdaExp::p_lambda_function>,
describe_field_t<SgLambdaExp,bool,&SgLambdaExp::p_is_mutable>,
describe_field_t<SgLambdaExp,bool,&SgLambdaExp::p_capture_default>,
describe_field_t<SgLambdaExp,bool,&SgLambdaExp::p_default_is_by_reference>,
describe_field_t<SgLambdaExp,bool,&SgLambdaExp::p_explicit_return_type>,
describe_field_t<SgLambdaExp,bool,&SgLambdaExp::p_has_parameter_decl>,
describe_field_t<SgLambdaExp,bool,&SgLambdaExp::p_is_device>>;
21718 static constexpr size_t position{0};
21719 static constexpr char const *
const name{
"functionDeclaration"};
21720 static constexpr char const *
const typestr{
"SgFunctionDeclaration*"};
21721 static constexpr bool traverse{
true};
21723 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21724 using bind = Desc<SgLambdaRefExp, SgFunctionDeclaration* SgLambdaRefExp::*, &SgLambdaRefExp::p_functionDeclaration>;
21729 static constexpr char const *
const name{
"LambdaRefExp"};
21730 static constexpr unsigned long variant{514};
21731 static constexpr bool concrete{
true};
21741 static constexpr char const *
const name{
"LeftDivideOp"};
21742 static constexpr unsigned long variant{515};
21743 static constexpr bool concrete{
true};
21753 static constexpr char const *
const name{
"LessOrEqualOp"};
21754 static constexpr unsigned long variant{516};
21755 static constexpr bool concrete{
true};
21765 static constexpr char const *
const name{
"LessThanOp"};
21766 static constexpr unsigned long variant{517};
21767 static constexpr bool concrete{
true};
21777 static constexpr char const *
const name{
"LineDirectiveStatement"};
21778 static constexpr unsigned long variant{518};
21779 static constexpr bool concrete{
true};
21788 using field_type = int;
21789 static constexpr size_t position{0};
21790 static constexpr char const *
const name{
"linenumber"};
21791 static constexpr char const *
const typestr{
"int"};
21792 static constexpr bool traverse{
false};
21793 static constexpr auto mbr_ptr{&SgLinemarkerDirectiveStatement::p_linenumber};
21794 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21795 using bind = Desc<SgLinemarkerDirectiveStatement, int SgLinemarkerDirectiveStatement::*, &SgLinemarkerDirectiveStatement::p_linenumber>;
21799 using field_type = std::string;
21800 static constexpr size_t position{1};
21801 static constexpr char const *
const name{
"filename"};
21802 static constexpr char const *
const typestr{
"std::string"};
21803 static constexpr bool traverse{
false};
21804 static constexpr auto mbr_ptr{&SgLinemarkerDirectiveStatement::p_filename};
21805 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21806 using bind = Desc<SgLinemarkerDirectiveStatement, std::string SgLinemarkerDirectiveStatement::*, &SgLinemarkerDirectiveStatement::p_filename>;
21810 using field_type = SgUnsignedCharList;
21811 static constexpr size_t position{2};
21812 static constexpr char const *
const name{
"flaglist"};
21813 static constexpr char const *
const typestr{
"SgUnsignedCharList"};
21814 static constexpr bool traverse{
false};
21815 static constexpr auto mbr_ptr{&SgLinemarkerDirectiveStatement::p_flaglist};
21816 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21817 using bind = Desc<SgLinemarkerDirectiveStatement, SgUnsignedCharList SgLinemarkerDirectiveStatement::*, &SgLinemarkerDirectiveStatement::p_flaglist>;
21822 static constexpr char const *
const name{
"LinemarkerDirectiveStatement"};
21823 static constexpr unsigned long variant{519};
21824 static constexpr bool concrete{
true};
21834 static constexpr size_t position{0};
21835 static constexpr char const *
const name{
"modifier"};
21836 static constexpr char const *
const typestr{
"SgLinkageModifier::linkage_modifier_enum"};
21837 static constexpr bool traverse{
false};
21838 static constexpr auto mbr_ptr{&SgLinkageModifier::p_modifier};
21839 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21840 using bind = Desc<SgLinkageModifier, SgLinkageModifier::linkage_modifier_enum SgLinkageModifier::*, &SgLinkageModifier::p_modifier>;
21845 static constexpr char const *
const name{
"LinkageModifier"};
21846 static constexpr unsigned long variant{520};
21847 static constexpr bool concrete{
true};
21857 static constexpr size_t position{0};
21858 static constexpr char const *
const name{
"element"};
21859 static constexpr char const *
const typestr{
"SgExpression*"};
21860 static constexpr bool traverse{
true};
21861 static constexpr auto mbr_ptr{&SgListComprehension::p_element};
21862 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21863 using bind = Desc<SgListComprehension, SgExpression* SgListComprehension::*, &SgListComprehension::p_element>;
21868 static constexpr size_t position{1};
21869 static constexpr char const *
const name{
"generators"};
21870 static constexpr char const *
const typestr{
"SgExprListExp*"};
21871 static constexpr bool traverse{
true};
21872 static constexpr auto mbr_ptr{&SgListComprehension::p_generators};
21873 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21874 using bind = Desc<SgListComprehension, SgExprListExp* SgListComprehension::*, &SgListComprehension::p_generators>;
21879 static constexpr char const *
const name{
"ListComprehension"};
21880 static constexpr unsigned long variant{521};
21881 static constexpr bool concrete{
true};
21891 static constexpr char const *
const name{
"ListExp"};
21892 static constexpr unsigned long variant{522};
21893 static constexpr bool concrete{
true};
21903 static constexpr size_t position{0};
21904 static constexpr char const *
const name{
"startOfConstruct"};
21905 static constexpr char const *
const typestr{
"Sg_File_Info*"};
21906 static constexpr bool traverse{
false};
21908 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21909 using bind = Desc<SgLocatedNode, Sg_File_Info* SgLocatedNode::*, &SgLocatedNode::p_startOfConstruct>;
21914 static constexpr size_t position{1};
21915 static constexpr char const *
const name{
"endOfConstruct"};
21916 static constexpr char const *
const typestr{
"Sg_File_Info*"};
21917 static constexpr bool traverse{
false};
21919 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21920 using bind = Desc<SgLocatedNode, Sg_File_Info* SgLocatedNode::*, &SgLocatedNode::p_endOfConstruct>;
21924 using field_type = AttachedPreprocessingInfoType*;
21925 static constexpr size_t position{2};
21926 static constexpr char const *
const name{
"attachedPreprocessingInfoPtr"};
21927 static constexpr char const *
const typestr{
"AttachedPreprocessingInfoType*"};
21928 static constexpr bool traverse{
false};
21930 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21931 using bind = Desc<SgLocatedNode, AttachedPreprocessingInfoType* SgLocatedNode::*, &SgLocatedNode::p_attachedPreprocessingInfoPtr>;
21936 static constexpr size_t position{3};
21937 static constexpr char const *
const name{
"attributeMechanism"};
21938 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
21939 static constexpr bool traverse{
false};
21940 static constexpr auto mbr_ptr{&SgLocatedNode::p_attributeMechanism};
21941 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21942 using bind = Desc<SgLocatedNode, AstAttributeMechanism* SgLocatedNode::*, &SgLocatedNode::p_attributeMechanism>;
21946 using field_type = bool;
21947 static constexpr size_t position{4};
21948 static constexpr char const *
const name{
"containsTransformationToSurroundingWhitespace"};
21949 static constexpr char const *
const typestr{
"bool"};
21950 static constexpr bool traverse{
false};
21951 static constexpr auto mbr_ptr{&SgLocatedNode::p_containsTransformationToSurroundingWhitespace};
21952 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21953 using bind = Desc<SgLocatedNode, bool SgLocatedNode::*, &SgLocatedNode::p_containsTransformationToSurroundingWhitespace>;
21958 static constexpr char const *
const name{
"LocatedNode"};
21959 static constexpr unsigned long variant{523};
21960 static constexpr bool concrete{
false};
21962 using fields_t =
mp::List<describe_field_t<SgLocatedNode,Sg_File_Info*,&SgLocatedNode::p_startOfConstruct>,
describe_field_t<SgLocatedNode,Sg_File_Info*,&SgLocatedNode::p_endOfConstruct>,
describe_field_t<SgLocatedNode,AttachedPreprocessingInfoType*,&SgLocatedNode::p_attachedPreprocessingInfoPtr>,
describe_field_t<SgLocatedNode,AstAttributeMechanism*,&SgLocatedNode::p_attributeMechanism>,
describe_field_t<SgLocatedNode,bool,&SgLocatedNode::p_containsTransformationToSurroundingWhitespace>>;
21970 static constexpr char const *
const name{
"LocatedNodeSupport"};
21971 static constexpr unsigned long variant{524};
21972 static constexpr bool concrete{
false};
21981 using field_type =
long double;
21982 static constexpr size_t position{0};
21983 static constexpr char const *
const name{
"value"};
21984 static constexpr char const *
const typestr{
"long double"};
21985 static constexpr bool traverse{
false};
21987 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21988 using bind = Desc<SgLongDoubleVal, long double SgLongDoubleVal::*, &SgLongDoubleVal::p_value>;
21992 using field_type = std::string;
21993 static constexpr size_t position{1};
21994 static constexpr char const *
const name{
"valueString"};
21995 static constexpr char const *
const typestr{
"std::string"};
21996 static constexpr bool traverse{
false};
21997 static constexpr auto mbr_ptr{&SgLongDoubleVal::p_valueString};
21998 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
21999 using bind = Desc<SgLongDoubleVal, std::string SgLongDoubleVal::*, &SgLongDoubleVal::p_valueString>;
22004 static constexpr char const *
const name{
"LongDoubleVal"};
22005 static constexpr unsigned long variant{525};
22006 static constexpr bool concrete{
true};
22015 using field_type =
long int;
22016 static constexpr size_t position{0};
22017 static constexpr char const *
const name{
"value"};
22018 static constexpr char const *
const typestr{
"long int"};
22019 static constexpr bool traverse{
false};
22020 static constexpr auto mbr_ptr{&SgLongIntVal::p_value};
22021 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22022 using bind = Desc<SgLongIntVal, long int SgLongIntVal::*, &SgLongIntVal::p_value>;
22026 using field_type = std::string;
22027 static constexpr size_t position{1};
22028 static constexpr char const *
const name{
"valueString"};
22029 static constexpr char const *
const typestr{
"std::string"};
22030 static constexpr bool traverse{
false};
22031 static constexpr auto mbr_ptr{&SgLongIntVal::p_valueString};
22032 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22033 using bind = Desc<SgLongIntVal, std::string SgLongIntVal::*, &SgLongIntVal::p_valueString>;
22038 static constexpr char const *
const name{
"LongIntVal"};
22039 static constexpr unsigned long variant{526};
22040 static constexpr bool concrete{
true};
22049 using field_type =
long long int;
22050 static constexpr size_t position{0};
22051 static constexpr char const *
const name{
"value"};
22052 static constexpr char const *
const typestr{
"long long int"};
22053 static constexpr bool traverse{
false};
22054 static constexpr auto mbr_ptr{&SgLongLongIntVal::p_value};
22055 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22056 using bind = Desc<SgLongLongIntVal, long long int SgLongLongIntVal::*, &SgLongLongIntVal::p_value>;
22060 using field_type = std::string;
22061 static constexpr size_t position{1};
22062 static constexpr char const *
const name{
"valueString"};
22063 static constexpr char const *
const typestr{
"std::string"};
22064 static constexpr bool traverse{
false};
22065 static constexpr auto mbr_ptr{&SgLongLongIntVal::p_valueString};
22066 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22067 using bind = Desc<SgLongLongIntVal, std::string SgLongLongIntVal::*, &SgLongLongIntVal::p_valueString>;
22072 static constexpr char const *
const name{
"LongLongIntVal"};
22073 static constexpr unsigned long variant{527};
22074 static constexpr bool concrete{
true};
22084 static constexpr char const *
const name{
"LshiftAssignOp"};
22085 static constexpr unsigned long variant{528};
22086 static constexpr bool concrete{
true};
22096 static constexpr char const *
const name{
"LshiftOp"};
22097 static constexpr unsigned long variant{529};
22098 static constexpr bool concrete{
true};
22108 static constexpr char const *
const name{
"MagicColonExp"};
22109 static constexpr unsigned long variant{530};
22110 static constexpr bool concrete{
true};
22120 static constexpr char const *
const name{
"MatrixExp"};
22121 static constexpr unsigned long variant{531};
22122 static constexpr bool concrete{
true};
22131 using field_type = bool;
22132 static constexpr size_t position{0};
22133 static constexpr char const *
const name{
"is_conjugate"};
22134 static constexpr char const *
const typestr{
"bool"};
22135 static constexpr bool traverse{
false};
22136 static constexpr auto mbr_ptr{&SgMatrixTransposeOp::p_is_conjugate};
22137 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22138 using bind = Desc<SgMatrixTransposeOp, bool SgMatrixTransposeOp::*, &SgMatrixTransposeOp::p_is_conjugate>;
22143 static constexpr char const *
const name{
"MatrixTransposeOp"};
22144 static constexpr unsigned long variant{532};
22145 static constexpr bool concrete{
true};
22155 static constexpr size_t position{0};
22156 static constexpr char const *
const name{
"index"};
22157 static constexpr char const *
const typestr{
"SgExpression*"};
22158 static constexpr bool traverse{
true};
22159 static constexpr auto mbr_ptr{&SgMatlabForStatement::p_index};
22160 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22161 using bind = Desc<SgMatlabForStatement, SgExpression* SgMatlabForStatement::*, &SgMatlabForStatement::p_index>;
22166 static constexpr size_t position{1};
22167 static constexpr char const *
const name{
"range"};
22168 static constexpr char const *
const typestr{
"SgExpression*"};
22169 static constexpr bool traverse{
true};
22170 static constexpr auto mbr_ptr{&SgMatlabForStatement::p_range};
22171 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22172 using bind = Desc<SgMatlabForStatement, SgExpression* SgMatlabForStatement::*, &SgMatlabForStatement::p_range>;
22177 static constexpr size_t position{2};
22178 static constexpr char const *
const name{
"body"};
22179 static constexpr char const *
const typestr{
"SgBasicBlock*"};
22180 static constexpr bool traverse{
true};
22181 static constexpr auto mbr_ptr{&SgMatlabForStatement::p_body};
22182 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22183 using bind = Desc<SgMatlabForStatement, SgBasicBlock* SgMatlabForStatement::*, &SgMatlabForStatement::p_body>;
22188 static constexpr char const *
const name{
"MatlabForStatement"};
22189 static constexpr unsigned long variant{533};
22190 static constexpr bool concrete{
true};
22200 static constexpr size_t position{0};
22201 static constexpr char const *
const name{
"CtorInitializerList"};
22202 static constexpr char const *
const typestr{
"SgCtorInitializerList*"};
22203 static constexpr bool traverse{
true};
22205 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22206 using bind = Desc<SgMemberFunctionDeclaration, SgCtorInitializerList* SgMemberFunctionDeclaration::*, &SgMemberFunctionDeclaration::p_CtorInitializerList>;
22211 static constexpr size_t position{1};
22212 static constexpr char const *
const name{
"associatedClassDeclaration"};
22213 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
22214 static constexpr bool traverse{
false};
22215 static constexpr auto mbr_ptr{&SgMemberFunctionDeclaration::p_associatedClassDeclaration};
22216 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22217 using bind = Desc<SgMemberFunctionDeclaration, SgDeclarationStatement* SgMemberFunctionDeclaration::*, &SgMemberFunctionDeclaration::p_associatedClassDeclaration>;
22222 static constexpr char const *
const name{
"MemberFunctionDeclaration"};
22223 static constexpr unsigned long variant{534};
22224 static constexpr bool concrete{
true};
22234 static constexpr size_t position{0};
22235 static constexpr char const *
const name{
"symbol_i"};
22236 static constexpr char const *
const typestr{
"SgMemberFunctionSymbol*"};
22237 static constexpr bool traverse{
false};
22239 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22240 using bind = Desc<SgMemberFunctionRefExp, SgMemberFunctionSymbol* SgMemberFunctionRefExp::*, &SgMemberFunctionRefExp::p_symbol_i>;
22244 using field_type = int;
22245 static constexpr size_t position{1};
22246 static constexpr char const *
const name{
"virtual_call"};
22247 static constexpr char const *
const typestr{
"int"};
22248 static constexpr bool traverse{
false};
22250 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22251 using bind = Desc<SgMemberFunctionRefExp, int SgMemberFunctionRefExp::*, &SgMemberFunctionRefExp::p_virtual_call>;
22256 static constexpr size_t position{2};
22257 static constexpr char const *
const name{
"function_type"};
22258 static constexpr char const *
const typestr{
"SgFunctionType*"};
22259 static constexpr bool traverse{
false};
22261 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22262 using bind = Desc<SgMemberFunctionRefExp, SgFunctionType* SgMemberFunctionRefExp::*, &SgMemberFunctionRefExp::p_function_type>;
22266 using field_type = int;
22267 static constexpr size_t position{3};
22268 static constexpr char const *
const name{
"need_qualifier"};
22269 static constexpr char const *
const typestr{
"int"};
22270 static constexpr bool traverse{
false};
22272 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22273 using bind = Desc<SgMemberFunctionRefExp, int SgMemberFunctionRefExp::*, &SgMemberFunctionRefExp::p_need_qualifier>;
22277 using field_type = int;
22278 static constexpr size_t position{4};
22279 static constexpr char const *
const name{
"name_qualification_length"};
22280 static constexpr char const *
const typestr{
"int"};
22281 static constexpr bool traverse{
false};
22282 static constexpr auto mbr_ptr{&SgMemberFunctionRefExp::p_name_qualification_length};
22283 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22284 using bind = Desc<SgMemberFunctionRefExp, int SgMemberFunctionRefExp::*, &SgMemberFunctionRefExp::p_name_qualification_length>;
22288 using field_type = bool;
22289 static constexpr size_t position{5};
22290 static constexpr char const *
const name{
"type_elaboration_required"};
22291 static constexpr char const *
const typestr{
"bool"};
22292 static constexpr bool traverse{
false};
22293 static constexpr auto mbr_ptr{&SgMemberFunctionRefExp::p_type_elaboration_required};
22294 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22295 using bind = Desc<SgMemberFunctionRefExp, bool SgMemberFunctionRefExp::*, &SgMemberFunctionRefExp::p_type_elaboration_required>;
22299 using field_type = bool;
22300 static constexpr size_t position{6};
22301 static constexpr char const *
const name{
"global_qualification_required"};
22302 static constexpr char const *
const typestr{
"bool"};
22303 static constexpr bool traverse{
false};
22304 static constexpr auto mbr_ptr{&SgMemberFunctionRefExp::p_global_qualification_required};
22305 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22306 using bind = Desc<SgMemberFunctionRefExp, bool SgMemberFunctionRefExp::*, &SgMemberFunctionRefExp::p_global_qualification_required>;
22311 static constexpr char const *
const name{
"MemberFunctionRefExp"};
22312 static constexpr unsigned long variant{535};
22313 static constexpr bool concrete{
true};
22315 using fields_t =
mp::List<describe_field_t<SgMemberFunctionRefExp,SgMemberFunctionSymbol*,&SgMemberFunctionRefExp::p_symbol_i>,
describe_field_t<SgMemberFunctionRefExp,int,&SgMemberFunctionRefExp::p_virtual_call>,
describe_field_t<SgMemberFunctionRefExp,SgFunctionType*,&SgMemberFunctionRefExp::p_function_type>,
describe_field_t<SgMemberFunctionRefExp,int,&SgMemberFunctionRefExp::p_need_qualifier>,
describe_field_t<SgMemberFunctionRefExp,int,&SgMemberFunctionRefExp::p_name_qualification_length>,
describe_field_t<SgMemberFunctionRefExp,bool,&SgMemberFunctionRefExp::p_type_elaboration_required>,
describe_field_t<SgMemberFunctionRefExp,bool,&SgMemberFunctionRefExp::p_global_qualification_required>>;
22323 static constexpr char const *
const name{
"MemberFunctionSymbol"};
22324 static constexpr unsigned long variant{536};
22325 static constexpr bool concrete{
true};
22335 static constexpr size_t position{0};
22336 static constexpr char const *
const name{
"class_type"};
22337 static constexpr char const *
const typestr{
"SgType*"};
22338 static constexpr bool traverse{
false};
22339 static constexpr auto mbr_ptr{&SgMemberFunctionType::p_class_type};
22340 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22341 using bind = Desc<SgMemberFunctionType, SgType* SgMemberFunctionType::*, &SgMemberFunctionType::p_class_type>;
22345 using field_type =
unsigned int;
22346 static constexpr size_t position{1};
22347 static constexpr char const *
const name{
"mfunc_specifier"};
22348 static constexpr char const *
const typestr{
"unsigned int"};
22349 static constexpr bool traverse{
false};
22350 static constexpr auto mbr_ptr{&SgMemberFunctionType::p_mfunc_specifier};
22351 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22352 using bind = Desc<SgMemberFunctionType, unsigned int SgMemberFunctionType::*, &SgMemberFunctionType::p_mfunc_specifier>;
22357 static constexpr char const *
const name{
"MemberFunctionType"};
22358 static constexpr unsigned long variant{537};
22359 static constexpr bool concrete{
true};
22369 static constexpr char const *
const name{
"MembershipOp"};
22370 static constexpr unsigned long variant{538};
22371 static constexpr bool concrete{
true};
22381 static constexpr size_t position{0};
22382 static constexpr char const *
const name{
"attribute_string"};
22383 static constexpr char const *
const typestr{
"SgName"};
22384 static constexpr bool traverse{
false};
22385 static constexpr auto mbr_ptr{&SgMicrosoftAttributeDeclaration::p_attribute_string};
22386 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22387 using bind = Desc<SgMicrosoftAttributeDeclaration, SgName SgMicrosoftAttributeDeclaration::*, &SgMicrosoftAttributeDeclaration::p_attribute_string>;
22392 static constexpr char const *
const name{
"MicrosoftAttributeDeclaration"};
22393 static constexpr unsigned long variant{539};
22394 static constexpr bool concrete{
true};
22404 static constexpr char const *
const name{
"MinusAssignOp"};
22405 static constexpr unsigned long variant{540};
22406 static constexpr bool concrete{
true};
22416 static constexpr char const *
const name{
"MinusMinusOp"};
22417 static constexpr unsigned long variant{541};
22418 static constexpr bool concrete{
true};
22428 static constexpr char const *
const name{
"MinusOp"};
22429 static constexpr unsigned long variant{542};
22430 static constexpr bool concrete{
true};
22440 static constexpr char const *
const name{
"ModAssignOp"};
22441 static constexpr unsigned long variant{543};
22442 static constexpr bool concrete{
true};
22452 static constexpr char const *
const name{
"ModOp"};
22453 static constexpr unsigned long variant{544};
22454 static constexpr bool concrete{
true};
22464 static constexpr char const *
const name{
"Modifier"};
22465 static constexpr unsigned long variant{545};
22466 static constexpr bool concrete{
false};
22467 using subclasses_t =
mp::List<SgModifierNodes, SgConstVolatileModifier, SgStorageModifier, SgAccessModifier, SgFunctionModifier, SgUPC_AccessModifier, SgSpecialFunctionModifier, SgElaboratedTypeModifier, SgLinkageModifier, SgBaseClassModifier, SgStructureModifier, SgTypeModifier, SgDeclarationModifier, SgOpenclAccessModeModifier>;
22475 using field_type = SgModifierTypePtrVector;
22476 static constexpr size_t position{0};
22477 static constexpr char const *
const name{
"nodes"};
22478 static constexpr char const *
const typestr{
"SgModifierTypePtrVector"};
22479 static constexpr bool traverse{
false};
22480 static constexpr auto mbr_ptr{&SgModifierNodes::p_nodes};
22481 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22482 using bind = Desc<SgModifierNodes, SgModifierTypePtrVector SgModifierNodes::*, &SgModifierNodes::p_nodes>;
22487 static constexpr size_t position{1};
22488 static constexpr char const *
const name{
"next"};
22489 static constexpr char const *
const typestr{
"SgModifierNodes*"};
22490 static constexpr bool traverse{
false};
22491 static constexpr auto mbr_ptr{&SgModifierNodes::p_next};
22492 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22493 using bind = Desc<SgModifierNodes, SgModifierNodes* SgModifierNodes::*, &SgModifierNodes::p_next>;
22498 static constexpr char const *
const name{
"ModifierNodes"};
22499 static constexpr unsigned long variant{546};
22500 static constexpr bool concrete{
true};
22510 static constexpr size_t position{0};
22511 static constexpr char const *
const name{
"base_type"};
22512 static constexpr char const *
const typestr{
"SgType*"};
22513 static constexpr bool traverse{
true};
22514 static constexpr auto mbr_ptr{&SgModifierType::p_base_type};
22515 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22516 using bind = Desc<SgModifierType, SgType* SgModifierType::*, &SgModifierType::p_base_type>;
22521 static constexpr size_t position{1};
22522 static constexpr char const *
const name{
"typeModifier"};
22523 static constexpr char const *
const typestr{
"SgTypeModifier"};
22524 static constexpr bool traverse{
false};
22525 static constexpr auto mbr_ptr{&SgModifierType::p_typeModifier};
22526 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22527 using bind = Desc<SgModifierType, SgTypeModifier SgModifierType::*, &SgModifierType::p_typeModifier>;
22531 using field_type =
char*;
22532 static constexpr size_t position{2};
22533 static constexpr char const *
const name{
"frontend_type_reference"};
22534 static constexpr char const *
const typestr{
"char*"};
22535 static constexpr bool traverse{
false};
22536 static constexpr auto mbr_ptr{&SgModifierType::p_frontend_type_reference};
22537 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22538 using bind = Desc<SgModifierType, char* SgModifierType::*, &SgModifierType::p_frontend_type_reference>;
22543 static constexpr char const *
const name{
"ModifierType"};
22544 static constexpr unsigned long variant{547};
22545 static constexpr bool concrete{
true};
22555 static constexpr size_t position{0};
22556 static constexpr char const *
const name{
"end_numeric_label"};
22557 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
22558 static constexpr bool traverse{
false};
22559 static constexpr auto mbr_ptr{&SgModuleStatement::p_end_numeric_label};
22560 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22561 using bind = Desc<SgModuleStatement, SgLabelRefExp* SgModuleStatement::*, &SgModuleStatement::p_end_numeric_label>;
22566 static constexpr char const *
const name{
"ModuleStatement"};
22567 static constexpr unsigned long variant{548};
22568 static constexpr bool concrete{
true};
22578 static constexpr size_t position{0};
22579 static constexpr char const *
const name{
"declaration"};
22580 static constexpr char const *
const typestr{
"SgModuleStatement*"};
22581 static constexpr bool traverse{
true};
22582 static constexpr auto mbr_ptr{&SgModuleSymbol::p_declaration};
22583 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22584 using bind = Desc<SgModuleSymbol, SgModuleStatement* SgModuleSymbol::*, &SgModuleSymbol::p_declaration>;
22589 static constexpr char const *
const name{
"ModuleSymbol"};
22590 static constexpr unsigned long variant{549};
22591 static constexpr bool concrete{
true};
22601 static constexpr char const *
const name{
"MultAssignOp"};
22602 static constexpr unsigned long variant{550};
22603 static constexpr bool concrete{
true};
22613 static constexpr char const *
const name{
"MultiplyOp"};
22614 static constexpr unsigned long variant{551};
22615 static constexpr bool concrete{
true};
22624 using field_type = std::string;
22625 static constexpr size_t position{0};
22626 static constexpr char const *
const name{
"char"};
22627 static constexpr char const *
const typestr{
"std::string"};
22628 static constexpr bool traverse{
false};
22630 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22631 using bind = Desc<SgName, std::string SgName::*, &SgName::p_char>;
22636 static constexpr char const *
const name{
"Name"};
22637 static constexpr unsigned long variant{552};
22638 static constexpr bool concrete{
true};
22647 using field_type = std::string;
22648 static constexpr size_t position{0};
22649 static constexpr char const *
const name{
"group_name"};
22650 static constexpr char const *
const typestr{
"std::string"};
22651 static constexpr bool traverse{
false};
22652 static constexpr auto mbr_ptr{&SgNameGroup::p_group_name};
22653 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22654 using bind = Desc<SgNameGroup, std::string SgNameGroup::*, &SgNameGroup::p_group_name>;
22658 using field_type = SgStringList;
22659 static constexpr size_t position{1};
22660 static constexpr char const *
const name{
"name_list"};
22661 static constexpr char const *
const typestr{
"SgStringList"};
22662 static constexpr bool traverse{
false};
22663 static constexpr auto mbr_ptr{&SgNameGroup::p_name_list};
22664 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22665 using bind = Desc<SgNameGroup, SgStringList SgNameGroup::*, &SgNameGroup::p_name_list>;
22670 static constexpr char const *
const name{
"NameGroup"};
22671 static constexpr unsigned long variant{553};
22672 static constexpr bool concrete{
true};
22682 static constexpr size_t position{0};
22683 static constexpr char const *
const name{
"declaration"};
22684 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
22685 static constexpr bool traverse{
true};
22686 static constexpr auto mbr_ptr{&SgNamedType::p_declaration};
22687 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22688 using bind = Desc<SgNamedType, SgDeclarationStatement* SgNamedType::*, &SgNamedType::p_declaration>;
22692 using field_type = bool;
22693 static constexpr size_t position{1};
22694 static constexpr char const *
const name{
"autonomous_declaration"};
22695 static constexpr char const *
const typestr{
"bool"};
22696 static constexpr bool traverse{
false};
22697 static constexpr auto mbr_ptr{&SgNamedType::p_autonomous_declaration};
22698 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22699 using bind = Desc<SgNamedType, bool SgNamedType::*, &SgNamedType::p_autonomous_declaration>;
22703 using field_type = bool;
22704 static constexpr size_t position{2};
22705 static constexpr char const *
const name{
"is_from_template_parameter"};
22706 static constexpr char const *
const typestr{
"bool"};
22707 static constexpr bool traverse{
false};
22708 static constexpr auto mbr_ptr{&SgNamedType::p_is_from_template_parameter};
22709 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22710 using bind = Desc<SgNamedType, bool SgNamedType::*, &SgNamedType::p_is_from_template_parameter>;
22715 static constexpr char const *
const name{
"NamedType"};
22716 static constexpr unsigned long variant{554};
22717 static constexpr bool concrete{
false};
22718 using subclasses_t =
mp::List<SgClassType, SgEnumType, SgTypedefType, SgNonrealType, SgJavaParameterizedType, SgJavaQualifiedType, SgJavaWildcardType, SgAdaTaskType, SgAdaProtectedType, SgAdaFormalType, SgAdaDiscriminatedType>;
22726 using field_type = SgNameGroupPtrList;
22727 static constexpr size_t position{0};
22728 static constexpr char const *
const name{
"group_list"};
22729 static constexpr char const *
const typestr{
"SgNameGroupPtrList"};
22730 static constexpr bool traverse{
false};
22731 static constexpr auto mbr_ptr{&SgNamelistStatement::p_group_list};
22732 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22733 using bind = Desc<SgNamelistStatement, SgNameGroupPtrList SgNamelistStatement::*, &SgNamelistStatement::p_group_list>;
22738 static constexpr char const *
const name{
"NamelistStatement"};
22739 static constexpr unsigned long variant{555};
22740 static constexpr bool concrete{
true};
22750 static constexpr size_t position{0};
22751 static constexpr char const *
const name{
"name"};
22752 static constexpr char const *
const typestr{
"SgName"};
22753 static constexpr bool traverse{
false};
22755 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22756 using bind = Desc<SgNamespaceAliasDeclarationStatement, SgName SgNamespaceAliasDeclarationStatement::*, &SgNamespaceAliasDeclarationStatement::p_name>;
22761 static constexpr size_t position{1};
22762 static constexpr char const *
const name{
"namespaceDeclaration"};
22763 static constexpr char const *
const typestr{
"SgNamespaceDeclarationStatement*"};
22764 static constexpr bool traverse{
false};
22766 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22767 using bind = Desc<SgNamespaceAliasDeclarationStatement, SgNamespaceDeclarationStatement* SgNamespaceAliasDeclarationStatement::*, &SgNamespaceAliasDeclarationStatement::p_namespaceDeclaration>;
22771 using field_type = int;
22772 static constexpr size_t position{2};
22773 static constexpr char const *
const name{
"name_qualification_length"};
22774 static constexpr char const *
const typestr{
"int"};
22775 static constexpr bool traverse{
false};
22776 static constexpr auto mbr_ptr{&SgNamespaceAliasDeclarationStatement::p_name_qualification_length};
22777 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22778 using bind = Desc<SgNamespaceAliasDeclarationStatement, int SgNamespaceAliasDeclarationStatement::*, &SgNamespaceAliasDeclarationStatement::p_name_qualification_length>;
22782 using field_type = bool;
22783 static constexpr size_t position{3};
22784 static constexpr char const *
const name{
"type_elaboration_required"};
22785 static constexpr char const *
const typestr{
"bool"};
22786 static constexpr bool traverse{
false};
22787 static constexpr auto mbr_ptr{&SgNamespaceAliasDeclarationStatement::p_type_elaboration_required};
22788 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22789 using bind = Desc<SgNamespaceAliasDeclarationStatement, bool SgNamespaceAliasDeclarationStatement::*, &SgNamespaceAliasDeclarationStatement::p_type_elaboration_required>;
22793 using field_type = bool;
22794 static constexpr size_t position{4};
22795 static constexpr char const *
const name{
"global_qualification_required"};
22796 static constexpr char const *
const typestr{
"bool"};
22797 static constexpr bool traverse{
false};
22798 static constexpr auto mbr_ptr{&SgNamespaceAliasDeclarationStatement::p_global_qualification_required};
22799 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22800 using bind = Desc<SgNamespaceAliasDeclarationStatement, bool SgNamespaceAliasDeclarationStatement::*, &SgNamespaceAliasDeclarationStatement::p_global_qualification_required>;
22804 using field_type = bool;
22805 static constexpr size_t position{5};
22806 static constexpr char const *
const name{
"is_alias_for_another_namespace_alias"};
22807 static constexpr char const *
const typestr{
"bool"};
22808 static constexpr bool traverse{
false};
22809 static constexpr auto mbr_ptr{&SgNamespaceAliasDeclarationStatement::p_is_alias_for_another_namespace_alias};
22810 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22811 using bind = Desc<SgNamespaceAliasDeclarationStatement, bool SgNamespaceAliasDeclarationStatement::*, &SgNamespaceAliasDeclarationStatement::p_is_alias_for_another_namespace_alias>;
22816 static constexpr size_t position{6};
22817 static constexpr char const *
const name{
"namespaceAliasDeclaration"};
22818 static constexpr char const *
const typestr{
"SgNamespaceAliasDeclarationStatement*"};
22819 static constexpr bool traverse{
false};
22820 static constexpr auto mbr_ptr{&SgNamespaceAliasDeclarationStatement::p_namespaceAliasDeclaration};
22821 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22822 using bind = Desc<SgNamespaceAliasDeclarationStatement, SgNamespaceAliasDeclarationStatement* SgNamespaceAliasDeclarationStatement::*, &SgNamespaceAliasDeclarationStatement::p_namespaceAliasDeclaration>;
22827 static constexpr char const *
const name{
"NamespaceAliasDeclarationStatement"};
22828 static constexpr unsigned long variant{556};
22829 static constexpr bool concrete{
true};
22831 using fields_t =
mp::List<describe_field_t<SgNamespaceAliasDeclarationStatement,SgName,&SgNamespaceAliasDeclarationStatement::p_name>,
describe_field_t<SgNamespaceAliasDeclarationStatement,SgNamespaceDeclarationStatement*,&SgNamespaceAliasDeclarationStatement::p_namespaceDeclaration>,
describe_field_t<SgNamespaceAliasDeclarationStatement,int,&SgNamespaceAliasDeclarationStatement::p_name_qualification_length>,
describe_field_t<SgNamespaceAliasDeclarationStatement,bool,&SgNamespaceAliasDeclarationStatement::p_type_elaboration_required>,
describe_field_t<SgNamespaceAliasDeclarationStatement,bool,&SgNamespaceAliasDeclarationStatement::p_global_qualification_required>,
describe_field_t<SgNamespaceAliasDeclarationStatement,bool,&SgNamespaceAliasDeclarationStatement::p_is_alias_for_another_namespace_alias>,
describe_field_t<SgNamespaceAliasDeclarationStatement,SgNamespaceAliasDeclarationStatement*,&SgNamespaceAliasDeclarationStatement::p_namespaceAliasDeclaration>>;
22839 static constexpr size_t position{0};
22840 static constexpr char const *
const name{
"name"};
22841 static constexpr char const *
const typestr{
"SgName"};
22842 static constexpr bool traverse{
false};
22844 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22845 using bind = Desc<SgNamespaceDeclarationStatement, SgName SgNamespaceDeclarationStatement::*, &SgNamespaceDeclarationStatement::p_name>;
22850 static constexpr size_t position{1};
22851 static constexpr char const *
const name{
"definition"};
22852 static constexpr char const *
const typestr{
"SgNamespaceDefinitionStatement*"};
22853 static constexpr bool traverse{
true};
22855 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22856 using bind = Desc<SgNamespaceDeclarationStatement, SgNamespaceDefinitionStatement* SgNamespaceDeclarationStatement::*, &SgNamespaceDeclarationStatement::p_definition>;
22860 using field_type = bool;
22861 static constexpr size_t position{2};
22862 static constexpr char const *
const name{
"isUnnamedNamespace"};
22863 static constexpr char const *
const typestr{
"bool"};
22864 static constexpr bool traverse{
false};
22866 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22867 using bind = Desc<SgNamespaceDeclarationStatement, bool SgNamespaceDeclarationStatement::*, &SgNamespaceDeclarationStatement::p_isUnnamedNamespace>;
22871 using field_type = bool;
22872 static constexpr size_t position{3};
22873 static constexpr char const *
const name{
"isInlinedNamespace"};
22874 static constexpr char const *
const typestr{
"bool"};
22875 static constexpr bool traverse{
false};
22876 static constexpr auto mbr_ptr{&SgNamespaceDeclarationStatement::p_isInlinedNamespace};
22877 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22878 using bind = Desc<SgNamespaceDeclarationStatement, bool SgNamespaceDeclarationStatement::*, &SgNamespaceDeclarationStatement::p_isInlinedNamespace>;
22883 static constexpr char const *
const name{
"NamespaceDeclarationStatement"};
22884 static constexpr unsigned long variant{557};
22885 static constexpr bool concrete{
true};
22887 using fields_t =
mp::List<describe_field_t<SgNamespaceDeclarationStatement,SgName,&SgNamespaceDeclarationStatement::p_name>,
describe_field_t<SgNamespaceDeclarationStatement,SgNamespaceDefinitionStatement*,&SgNamespaceDeclarationStatement::p_definition>,
describe_field_t<SgNamespaceDeclarationStatement,bool,&SgNamespaceDeclarationStatement::p_isUnnamedNamespace>,
describe_field_t<SgNamespaceDeclarationStatement,bool,&SgNamespaceDeclarationStatement::p_isInlinedNamespace>>;
22894 using field_type = SgDeclarationStatementPtrList;
22895 static constexpr size_t position{0};
22896 static constexpr char const *
const name{
"declarations"};
22897 static constexpr char const *
const typestr{
"SgDeclarationStatementPtrList"};
22898 static constexpr bool traverse{
true};
22900 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22901 using bind = Desc<SgNamespaceDefinitionStatement, SgDeclarationStatementPtrList SgNamespaceDefinitionStatement::*, &SgNamespaceDefinitionStatement::p_declarations>;
22906 static constexpr size_t position{1};
22907 static constexpr char const *
const name{
"namespaceDeclaration"};
22908 static constexpr char const *
const typestr{
"SgNamespaceDeclarationStatement*"};
22909 static constexpr bool traverse{
false};
22911 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22912 using bind = Desc<SgNamespaceDefinitionStatement, SgNamespaceDeclarationStatement* SgNamespaceDefinitionStatement::*, &SgNamespaceDefinitionStatement::p_namespaceDeclaration>;
22917 static constexpr size_t position{2};
22918 static constexpr char const *
const name{
"previousNamespaceDefinition"};
22919 static constexpr char const *
const typestr{
"SgNamespaceDefinitionStatement*"};
22920 static constexpr bool traverse{
false};
22921 static constexpr auto mbr_ptr{&SgNamespaceDefinitionStatement::p_previousNamespaceDefinition};
22922 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22923 using bind = Desc<SgNamespaceDefinitionStatement, SgNamespaceDefinitionStatement* SgNamespaceDefinitionStatement::*, &SgNamespaceDefinitionStatement::p_previousNamespaceDefinition>;
22928 static constexpr size_t position{3};
22929 static constexpr char const *
const name{
"nextNamespaceDefinition"};
22930 static constexpr char const *
const typestr{
"SgNamespaceDefinitionStatement*"};
22931 static constexpr bool traverse{
false};
22932 static constexpr auto mbr_ptr{&SgNamespaceDefinitionStatement::p_nextNamespaceDefinition};
22933 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22934 using bind = Desc<SgNamespaceDefinitionStatement, SgNamespaceDefinitionStatement* SgNamespaceDefinitionStatement::*, &SgNamespaceDefinitionStatement::p_nextNamespaceDefinition>;
22939 static constexpr size_t position{4};
22940 static constexpr char const *
const name{
"global_definition"};
22941 static constexpr char const *
const typestr{
"SgNamespaceDefinitionStatement*"};
22942 static constexpr bool traverse{
false};
22943 static constexpr auto mbr_ptr{&SgNamespaceDefinitionStatement::p_global_definition};
22944 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22945 using bind = Desc<SgNamespaceDefinitionStatement, SgNamespaceDefinitionStatement* SgNamespaceDefinitionStatement::*, &SgNamespaceDefinitionStatement::p_global_definition>;
22949 using field_type = bool;
22950 static constexpr size_t position{5};
22951 static constexpr char const *
const name{
"isUnionOfReentrantNamespaceDefinitions"};
22952 static constexpr char const *
const typestr{
"bool"};
22953 static constexpr bool traverse{
false};
22954 static constexpr auto mbr_ptr{&SgNamespaceDefinitionStatement::p_isUnionOfReentrantNamespaceDefinitions};
22955 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22956 using bind = Desc<SgNamespaceDefinitionStatement, bool SgNamespaceDefinitionStatement::*, &SgNamespaceDefinitionStatement::p_isUnionOfReentrantNamespaceDefinitions>;
22961 static constexpr char const *
const name{
"NamespaceDefinitionStatement"};
22962 static constexpr unsigned long variant{558};
22963 static constexpr bool concrete{
true};
22965 using fields_t =
mp::List<describe_field_t<SgNamespaceDefinitionStatement,SgDeclarationStatementPtrList,&SgNamespaceDefinitionStatement::p_declarations>,
describe_field_t<SgNamespaceDefinitionStatement,SgNamespaceDeclarationStatement*,&SgNamespaceDefinitionStatement::p_namespaceDeclaration>,
describe_field_t<SgNamespaceDefinitionStatement,SgNamespaceDefinitionStatement*,&SgNamespaceDefinitionStatement::p_previousNamespaceDefinition>,
describe_field_t<SgNamespaceDefinitionStatement,SgNamespaceDefinitionStatement*,&SgNamespaceDefinitionStatement::p_nextNamespaceDefinition>,
describe_field_t<SgNamespaceDefinitionStatement,SgNamespaceDefinitionStatement*,&SgNamespaceDefinitionStatement::p_global_definition>,
describe_field_t<SgNamespaceDefinitionStatement,bool,&SgNamespaceDefinitionStatement::p_isUnionOfReentrantNamespaceDefinitions>>;
22973 static constexpr size_t position{0};
22974 static constexpr char const *
const name{
"name"};
22975 static constexpr char const *
const typestr{
"SgName"};
22976 static constexpr bool traverse{
false};
22977 static constexpr auto mbr_ptr{&SgNamespaceSymbol::p_name};
22978 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22979 using bind = Desc<SgNamespaceSymbol, SgName SgNamespaceSymbol::*, &SgNamespaceSymbol::p_name>;
22984 static constexpr size_t position{1};
22985 static constexpr char const *
const name{
"declaration"};
22986 static constexpr char const *
const typestr{
"SgNamespaceDeclarationStatement*"};
22987 static constexpr bool traverse{
true};
22988 static constexpr auto mbr_ptr{&SgNamespaceSymbol::p_declaration};
22989 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
22990 using bind = Desc<SgNamespaceSymbol, SgNamespaceDeclarationStatement* SgNamespaceSymbol::*, &SgNamespaceSymbol::p_declaration>;
22995 static constexpr size_t position{2};
22996 static constexpr char const *
const name{
"aliasDeclaration"};
22997 static constexpr char const *
const typestr{
"SgNamespaceAliasDeclarationStatement*"};
22998 static constexpr bool traverse{
true};
22999 static constexpr auto mbr_ptr{&SgNamespaceSymbol::p_aliasDeclaration};
23000 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23001 using bind = Desc<SgNamespaceSymbol, SgNamespaceAliasDeclarationStatement* SgNamespaceSymbol::*, &SgNamespaceSymbol::p_aliasDeclaration>;
23005 using field_type = bool;
23006 static constexpr size_t position{3};
23007 static constexpr char const *
const name{
"isAlias"};
23008 static constexpr char const *
const typestr{
"bool"};
23009 static constexpr bool traverse{
false};
23010 static constexpr auto mbr_ptr{&SgNamespaceSymbol::p_isAlias};
23011 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23012 using bind = Desc<SgNamespaceSymbol, bool SgNamespaceSymbol::*, &SgNamespaceSymbol::p_isAlias>;
23017 static constexpr char const *
const name{
"NamespaceSymbol"};
23018 static constexpr unsigned long variant{559};
23019 static constexpr bool concrete{
true};
23021 using fields_t =
mp::List<describe_field_t<SgNamespaceSymbol,SgName,&SgNamespaceSymbol::p_name>,
describe_field_t<SgNamespaceSymbol,SgNamespaceDeclarationStatement*,&SgNamespaceSymbol::p_declaration>,
describe_field_t<SgNamespaceSymbol,SgNamespaceAliasDeclarationStatement*,&SgNamespaceSymbol::p_aliasDeclaration>,
describe_field_t<SgNamespaceSymbol,bool,&SgNamespaceSymbol::p_isAlias>>;
23028 using field_type = SgExpressionPtrList;
23029 static constexpr size_t position{0};
23030 static constexpr char const *
const name{
"operands"};
23031 static constexpr char const *
const typestr{
"SgExpressionPtrList"};
23032 static constexpr bool traverse{
true};
23034 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23035 using bind = Desc<SgNaryOp, SgExpressionPtrList SgNaryOp::*, &SgNaryOp::p_operands>;
23039 using field_type = VariantTList;
23040 static constexpr size_t position{1};
23041 static constexpr char const *
const name{
"operators"};
23042 static constexpr char const *
const typestr{
"VariantTList"};
23043 static constexpr bool traverse{
false};
23045 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23046 using bind = Desc<SgNaryOp, VariantTList SgNaryOp::*, &SgNaryOp::p_operators>;
23051 static constexpr char const *
const name{
"NaryOp"};
23052 static constexpr unsigned long variant{560};
23053 static constexpr bool concrete{
false};
23063 static constexpr char const *
const name{
"NaryBooleanOp"};
23064 static constexpr unsigned long variant{561};
23065 static constexpr bool concrete{
true};
23075 static constexpr char const *
const name{
"NaryComparisonOp"};
23076 static constexpr unsigned long variant{562};
23077 static constexpr bool concrete{
true};
23087 static constexpr size_t position{0};
23088 static constexpr char const *
const name{
"specified_type"};
23089 static constexpr char const *
const typestr{
"SgType*"};
23090 static constexpr bool traverse{
false};
23091 static constexpr auto mbr_ptr{&SgNewExp::p_specified_type};
23092 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23093 using bind = Desc<SgNewExp, SgType* SgNewExp::*, &SgNewExp::p_specified_type>;
23098 static constexpr size_t position{1};
23099 static constexpr char const *
const name{
"placement_args"};
23100 static constexpr char const *
const typestr{
"SgExprListExp*"};
23101 static constexpr bool traverse{
true};
23103 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23104 using bind = Desc<SgNewExp, SgExprListExp* SgNewExp::*, &SgNewExp::p_placement_args>;
23109 static constexpr size_t position{2};
23110 static constexpr char const *
const name{
"constructor_args"};
23111 static constexpr char const *
const typestr{
"SgConstructorInitializer*"};
23112 static constexpr bool traverse{
true};
23114 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23115 using bind = Desc<SgNewExp, SgConstructorInitializer* SgNewExp::*, &SgNewExp::p_constructor_args>;
23120 static constexpr size_t position{3};
23121 static constexpr char const *
const name{
"builtin_args"};
23122 static constexpr char const *
const typestr{
"SgExpression*"};
23123 static constexpr bool traverse{
true};
23125 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23126 using bind = Desc<SgNewExp, SgExpression* SgNewExp::*, &SgNewExp::p_builtin_args>;
23130 using field_type = short;
23131 static constexpr size_t position{4};
23132 static constexpr char const *
const name{
"need_global_specifier"};
23133 static constexpr char const *
const typestr{
"short"};
23134 static constexpr bool traverse{
false};
23136 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23137 using bind = Desc<SgNewExp, short SgNewExp::*, &SgNewExp::p_need_global_specifier>;
23142 static constexpr size_t position{5};
23143 static constexpr char const *
const name{
"newOperatorDeclaration"};
23144 static constexpr char const *
const typestr{
"SgFunctionDeclaration*"};
23145 static constexpr bool traverse{
false};
23146 static constexpr auto mbr_ptr{&SgNewExp::p_newOperatorDeclaration};
23147 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23148 using bind = Desc<SgNewExp, SgFunctionDeclaration* SgNewExp::*, &SgNewExp::p_newOperatorDeclaration>;
23152 using field_type = int;
23153 static constexpr size_t position{6};
23154 static constexpr char const *
const name{
"name_qualification_length"};
23155 static constexpr char const *
const typestr{
"int"};
23156 static constexpr bool traverse{
false};
23157 static constexpr auto mbr_ptr{&SgNewExp::p_name_qualification_length};
23158 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23159 using bind = Desc<SgNewExp, int SgNewExp::*, &SgNewExp::p_name_qualification_length>;
23163 using field_type = bool;
23164 static constexpr size_t position{7};
23165 static constexpr char const *
const name{
"type_elaboration_required"};
23166 static constexpr char const *
const typestr{
"bool"};
23167 static constexpr bool traverse{
false};
23168 static constexpr auto mbr_ptr{&SgNewExp::p_type_elaboration_required};
23169 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23170 using bind = Desc<SgNewExp, bool SgNewExp::*, &SgNewExp::p_type_elaboration_required>;
23174 using field_type = bool;
23175 static constexpr size_t position{8};
23176 static constexpr char const *
const name{
"global_qualification_required"};
23177 static constexpr char const *
const typestr{
"bool"};
23178 static constexpr bool traverse{
false};
23179 static constexpr auto mbr_ptr{&SgNewExp::p_global_qualification_required};
23180 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23181 using bind = Desc<SgNewExp, bool SgNewExp::*, &SgNewExp::p_global_qualification_required>;
23185 using field_type = int;
23186 static constexpr size_t position{9};
23187 static constexpr char const *
const name{
"name_qualification_for_pointer_to_member_class_length"};
23188 static constexpr char const *
const typestr{
"int"};
23189 static constexpr bool traverse{
false};
23190 static constexpr auto mbr_ptr{&SgNewExp::p_name_qualification_for_pointer_to_member_class_length};
23191 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23192 using bind = Desc<SgNewExp, int SgNewExp::*, &SgNewExp::p_name_qualification_for_pointer_to_member_class_length>;
23196 using field_type = bool;
23197 static constexpr size_t position{10};
23198 static constexpr char const *
const name{
"type_elaboration_for_pointer_to_member_class_required"};
23199 static constexpr char const *
const typestr{
"bool"};
23200 static constexpr bool traverse{
false};
23201 static constexpr auto mbr_ptr{&SgNewExp::p_type_elaboration_for_pointer_to_member_class_required};
23202 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23203 using bind = Desc<SgNewExp, bool SgNewExp::*, &SgNewExp::p_type_elaboration_for_pointer_to_member_class_required>;
23207 using field_type = bool;
23208 static constexpr size_t position{11};
23209 static constexpr char const *
const name{
"global_qualification_for_pointer_to_member_class_required"};
23210 static constexpr char const *
const typestr{
"bool"};
23211 static constexpr bool traverse{
false};
23212 static constexpr auto mbr_ptr{&SgNewExp::p_global_qualification_for_pointer_to_member_class_required};
23213 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23214 using bind = Desc<SgNewExp, bool SgNewExp::*, &SgNewExp::p_global_qualification_for_pointer_to_member_class_required>;
23219 static constexpr char const *
const name{
"NewExp"};
23220 static constexpr unsigned long variant{563};
23221 static constexpr bool concrete{
true};
23223 using fields_t =
mp::List<describe_field_t<SgNewExp,SgType*,&SgNewExp::p_specified_type>,
describe_field_t<SgNewExp,SgExprListExp*,&SgNewExp::p_placement_args>,
describe_field_t<SgNewExp,SgConstructorInitializer*,&SgNewExp::p_constructor_args>,
describe_field_t<SgNewExp,SgExpression*,&SgNewExp::p_builtin_args>,
describe_field_t<SgNewExp,short,&SgNewExp::p_need_global_specifier>,
describe_field_t<SgNewExp,SgFunctionDeclaration*,&SgNewExp::p_newOperatorDeclaration>,
describe_field_t<SgNewExp,int,&SgNewExp::p_name_qualification_length>,
describe_field_t<SgNewExp,bool,&SgNewExp::p_type_elaboration_required>,
describe_field_t<SgNewExp,bool,&SgNewExp::p_global_qualification_required>,
describe_field_t<SgNewExp,int,&SgNewExp::p_name_qualification_for_pointer_to_member_class_length>,
describe_field_t<SgNewExp,bool,&SgNewExp::p_type_elaboration_for_pointer_to_member_class_required>,
describe_field_t<SgNewExp,bool,&SgNewExp::p_global_qualification_for_pointer_to_member_class_required>>;
23231 static constexpr size_t position{0};
23232 static constexpr char const *
const name{
"parent"};
23233 static constexpr char const *
const typestr{
"SgNode*"};
23234 static constexpr bool traverse{
false};
23236 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23237 using bind = Desc<SgNode, SgNode* SgNode::*, &SgNode::p_parent>;
23241 using field_type = bool;
23242 static constexpr size_t position{1};
23243 static constexpr char const *
const name{
"isModified"};
23244 static constexpr char const *
const typestr{
"bool"};
23245 static constexpr bool traverse{
false};
23247 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23248 using bind = Desc<SgNode, bool SgNode::*, &SgNode::p_isModified>;
23252 using field_type = bool;
23253 static constexpr size_t position{2};
23254 static constexpr char const *
const name{
"containsTransformation"};
23255 static constexpr char const *
const typestr{
"bool"};
23256 static constexpr bool traverse{
false};
23257 static constexpr auto mbr_ptr{&SgNode::p_containsTransformation};
23258 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23259 using bind = Desc<SgNode, bool SgNode::*, &SgNode::p_containsTransformation>;
23264 static constexpr size_t position{3};
23265 static constexpr char const *
const name{
"freepointer"};
23266 static constexpr char const *
const typestr{
"SgNode*"};
23267 static constexpr bool traverse{
false};
23269 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23270 using bind = Desc<SgNode, SgNode* SgNode::*, &SgNode::p_freepointer>;
23275 static constexpr char const *
const name{
"Node"};
23276 static constexpr unsigned long variant{564};
23277 static constexpr bool concrete{
false};
23279 using fields_t =
mp::List<describe_field_t<SgNode,SgNode*,&SgNode::p_parent>,
describe_field_t<SgNode,bool,&SgNode::p_isModified>,
describe_field_t<SgNode,bool,&SgNode::p_containsTransformation>,
describe_field_t<SgNode,SgNode*,&SgNode::p_freepointer>>;
23287 static constexpr size_t position{0};
23288 static constexpr char const *
const name{
"operand_expr"};
23289 static constexpr char const *
const typestr{
"SgExpression*"};
23290 static constexpr bool traverse{
true};
23291 static constexpr auto mbr_ptr{&SgNoexceptOp::p_operand_expr};
23292 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23293 using bind = Desc<SgNoexceptOp, SgExpression* SgNoexceptOp::*, &SgNoexceptOp::p_operand_expr>;
23298 static constexpr char const *
const name{
"NoexceptOp"};
23299 static constexpr unsigned long variant{565};
23300 static constexpr bool concrete{
true};
23310 static constexpr char const *
const name{
"NotEqualOp"};
23311 static constexpr unsigned long variant{566};
23312 static constexpr bool concrete{
true};
23322 static constexpr char const *
const name{
"NotOp"};
23323 static constexpr unsigned long variant{567};
23324 static constexpr bool concrete{
true};
23334 static constexpr char const *
const name{
"NonMembershipOp"};
23335 static constexpr unsigned long variant{568};
23336 static constexpr bool concrete{
true};
23346 static constexpr size_t position{0};
23347 static constexpr char const *
const name{
"name"};
23348 static constexpr char const *
const typestr{
"SgName"};
23349 static constexpr bool traverse{
false};
23350 static constexpr auto mbr_ptr{&SgNonrealDecl::p_name};
23351 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23352 using bind = Desc<SgNonrealDecl, SgName SgNonrealDecl::*, &SgNonrealDecl::p_name>;
23357 static constexpr size_t position{1};
23358 static constexpr char const *
const name{
"nonreal_decl_scope"};
23359 static constexpr char const *
const typestr{
"SgDeclarationScope*"};
23360 static constexpr bool traverse{
false};
23361 static constexpr auto mbr_ptr{&SgNonrealDecl::p_nonreal_decl_scope};
23362 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23363 using bind = Desc<SgNonrealDecl, SgDeclarationScope* SgNonrealDecl::*, &SgNonrealDecl::p_nonreal_decl_scope>;
23368 static constexpr size_t position{2};
23369 static constexpr char const *
const name{
"type"};
23370 static constexpr char const *
const typestr{
"SgNonrealType*"};
23371 static constexpr bool traverse{
false};
23372 static constexpr auto mbr_ptr{&SgNonrealDecl::p_type};
23373 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23374 using bind = Desc<SgNonrealDecl, SgNonrealType* SgNonrealDecl::*, &SgNonrealDecl::p_type>;
23378 using field_type = int;
23379 static constexpr size_t position{3};
23380 static constexpr char const *
const name{
"template_parameter_position"};
23381 static constexpr char const *
const typestr{
"int"};
23382 static constexpr bool traverse{
false};
23383 static constexpr auto mbr_ptr{&SgNonrealDecl::p_template_parameter_position};
23384 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23385 using bind = Desc<SgNonrealDecl, int SgNonrealDecl::*, &SgNonrealDecl::p_template_parameter_position>;
23389 using field_type = int;
23390 static constexpr size_t position{4};
23391 static constexpr char const *
const name{
"template_parameter_depth"};
23392 static constexpr char const *
const typestr{
"int"};
23393 static constexpr bool traverse{
false};
23394 static constexpr auto mbr_ptr{&SgNonrealDecl::p_template_parameter_depth};
23395 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23396 using bind = Desc<SgNonrealDecl, int SgNonrealDecl::*, &SgNonrealDecl::p_template_parameter_depth>;
23401 static constexpr size_t position{5};
23402 static constexpr char const *
const name{
"templateDeclaration"};
23403 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
23404 static constexpr bool traverse{
false};
23405 static constexpr auto mbr_ptr{&SgNonrealDecl::p_templateDeclaration};
23406 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23407 using bind = Desc<SgNonrealDecl, SgDeclarationStatement* SgNonrealDecl::*, &SgNonrealDecl::p_templateDeclaration>;
23411 using field_type = SgTemplateArgumentPtrList;
23412 static constexpr size_t position{6};
23413 static constexpr char const *
const name{
"tpl_args"};
23414 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
23415 static constexpr bool traverse{
false};
23416 static constexpr auto mbr_ptr{&SgNonrealDecl::p_tpl_args};
23417 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23418 using bind = Desc<SgNonrealDecl, SgTemplateArgumentPtrList SgNonrealDecl::*, &SgNonrealDecl::p_tpl_args>;
23422 using field_type = SgTemplateParameterPtrList;
23423 static constexpr size_t position{7};
23424 static constexpr char const *
const name{
"tpl_params"};
23425 static constexpr char const *
const typestr{
"SgTemplateParameterPtrList"};
23426 static constexpr bool traverse{
false};
23427 static constexpr auto mbr_ptr{&SgNonrealDecl::p_tpl_params};
23428 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23429 using bind = Desc<SgNonrealDecl, SgTemplateParameterPtrList SgNonrealDecl::*, &SgNonrealDecl::p_tpl_params>;
23433 using field_type = bool;
23434 static constexpr size_t position{8};
23435 static constexpr char const *
const name{
"is_class_member"};
23436 static constexpr char const *
const typestr{
"bool"};
23437 static constexpr bool traverse{
false};
23438 static constexpr auto mbr_ptr{&SgNonrealDecl::p_is_class_member};
23439 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23440 using bind = Desc<SgNonrealDecl, bool SgNonrealDecl::*, &SgNonrealDecl::p_is_class_member>;
23444 using field_type = bool;
23445 static constexpr size_t position{9};
23446 static constexpr char const *
const name{
"is_template_param"};
23447 static constexpr char const *
const typestr{
"bool"};
23448 static constexpr bool traverse{
false};
23449 static constexpr auto mbr_ptr{&SgNonrealDecl::p_is_template_param};
23450 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23451 using bind = Desc<SgNonrealDecl, bool SgNonrealDecl::*, &SgNonrealDecl::p_is_template_param>;
23455 using field_type = bool;
23456 static constexpr size_t position{10};
23457 static constexpr char const *
const name{
"is_template_template_param"};
23458 static constexpr char const *
const typestr{
"bool"};
23459 static constexpr bool traverse{
false};
23460 static constexpr auto mbr_ptr{&SgNonrealDecl::p_is_template_template_param};
23461 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23462 using bind = Desc<SgNonrealDecl, bool SgNonrealDecl::*, &SgNonrealDecl::p_is_template_template_param>;
23466 using field_type = bool;
23467 static constexpr size_t position{11};
23468 static constexpr char const *
const name{
"is_nonreal_template"};
23469 static constexpr char const *
const typestr{
"bool"};
23470 static constexpr bool traverse{
false};
23471 static constexpr auto mbr_ptr{&SgNonrealDecl::p_is_nonreal_template};
23472 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23473 using bind = Desc<SgNonrealDecl, bool SgNonrealDecl::*, &SgNonrealDecl::p_is_nonreal_template>;
23477 using field_type = bool;
23478 static constexpr size_t position{12};
23479 static constexpr char const *
const name{
"is_nonreal_function"};
23480 static constexpr char const *
const typestr{
"bool"};
23481 static constexpr bool traverse{
false};
23482 static constexpr auto mbr_ptr{&SgNonrealDecl::p_is_nonreal_function};
23483 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23484 using bind = Desc<SgNonrealDecl, bool SgNonrealDecl::*, &SgNonrealDecl::p_is_nonreal_function>;
23489 static constexpr char const *
const name{
"NonrealDecl"};
23490 static constexpr unsigned long variant{569};
23491 static constexpr bool concrete{
true};
23493 using fields_t =
mp::List<describe_field_t<SgNonrealDecl,SgName,&SgNonrealDecl::p_name>,
describe_field_t<SgNonrealDecl,SgDeclarationScope*,&SgNonrealDecl::p_nonreal_decl_scope>,
describe_field_t<SgNonrealDecl,SgNonrealType*,&SgNonrealDecl::p_type>,
describe_field_t<SgNonrealDecl,int,&SgNonrealDecl::p_template_parameter_position>,
describe_field_t<SgNonrealDecl,int,&SgNonrealDecl::p_template_parameter_depth>,
describe_field_t<SgNonrealDecl,SgDeclarationStatement*,&SgNonrealDecl::p_templateDeclaration>,
describe_field_t<SgNonrealDecl,SgTemplateArgumentPtrList,&SgNonrealDecl::p_tpl_args>,
describe_field_t<SgNonrealDecl,SgTemplateParameterPtrList,&SgNonrealDecl::p_tpl_params>,
describe_field_t<SgNonrealDecl,bool,&SgNonrealDecl::p_is_class_member>,
describe_field_t<SgNonrealDecl,bool,&SgNonrealDecl::p_is_template_param>,
describe_field_t<SgNonrealDecl,bool,&SgNonrealDecl::p_is_template_template_param>,
describe_field_t<SgNonrealDecl,bool,&SgNonrealDecl::p_is_nonreal_template>,
describe_field_t<SgNonrealDecl,bool,&SgNonrealDecl::p_is_nonreal_function>>;
23501 static constexpr size_t position{0};
23502 static constexpr char const *
const name{
"symbol"};
23503 static constexpr char const *
const typestr{
"SgNonrealSymbol*"};
23504 static constexpr bool traverse{
false};
23505 static constexpr auto mbr_ptr{&SgNonrealRefExp::p_symbol};
23506 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23507 using bind = Desc<SgNonrealRefExp, SgNonrealSymbol* SgNonrealRefExp::*, &SgNonrealRefExp::p_symbol>;
23511 using field_type = int;
23512 static constexpr size_t position{1};
23513 static constexpr char const *
const name{
"name_qualification_length"};
23514 static constexpr char const *
const typestr{
"int"};
23515 static constexpr bool traverse{
false};
23516 static constexpr auto mbr_ptr{&SgNonrealRefExp::p_name_qualification_length};
23517 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23518 using bind = Desc<SgNonrealRefExp, int SgNonrealRefExp::*, &SgNonrealRefExp::p_name_qualification_length>;
23522 using field_type = bool;
23523 static constexpr size_t position{2};
23524 static constexpr char const *
const name{
"type_elaboration_required"};
23525 static constexpr char const *
const typestr{
"bool"};
23526 static constexpr bool traverse{
false};
23527 static constexpr auto mbr_ptr{&SgNonrealRefExp::p_type_elaboration_required};
23528 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23529 using bind = Desc<SgNonrealRefExp, bool SgNonrealRefExp::*, &SgNonrealRefExp::p_type_elaboration_required>;
23533 using field_type = bool;
23534 static constexpr size_t position{3};
23535 static constexpr char const *
const name{
"global_qualification_required"};
23536 static constexpr char const *
const typestr{
"bool"};
23537 static constexpr bool traverse{
false};
23538 static constexpr auto mbr_ptr{&SgNonrealRefExp::p_global_qualification_required};
23539 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23540 using bind = Desc<SgNonrealRefExp, bool SgNonrealRefExp::*, &SgNonrealRefExp::p_global_qualification_required>;
23545 static constexpr char const *
const name{
"NonrealRefExp"};
23546 static constexpr unsigned long variant{570};
23547 static constexpr bool concrete{
true};
23549 using fields_t =
mp::List<describe_field_t<SgNonrealRefExp,SgNonrealSymbol*,&SgNonrealRefExp::p_symbol>,
describe_field_t<SgNonrealRefExp,int,&SgNonrealRefExp::p_name_qualification_length>,
describe_field_t<SgNonrealRefExp,bool,&SgNonrealRefExp::p_type_elaboration_required>,
describe_field_t<SgNonrealRefExp,bool,&SgNonrealRefExp::p_global_qualification_required>>;
23557 static constexpr size_t position{0};
23558 static constexpr char const *
const name{
"declaration"};
23559 static constexpr char const *
const typestr{
"SgNonrealDecl*"};
23560 static constexpr bool traverse{
true};
23561 static constexpr auto mbr_ptr{&SgNonrealSymbol::p_declaration};
23562 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23563 using bind = Desc<SgNonrealSymbol, SgNonrealDecl* SgNonrealSymbol::*, &SgNonrealSymbol::p_declaration>;
23568 static constexpr char const *
const name{
"NonrealSymbol"};
23569 static constexpr unsigned long variant{571};
23570 static constexpr bool concrete{
true};
23580 static constexpr char const *
const name{
"NonrealType"};
23581 static constexpr unsigned long variant{572};
23582 static constexpr bool concrete{
true};
23592 static constexpr size_t position{0};
23593 static constexpr char const *
const name{
"base_class_nonreal"};
23594 static constexpr char const *
const typestr{
"SgNonrealDecl*"};
23595 static constexpr bool traverse{
true};
23596 static constexpr auto mbr_ptr{&SgNonrealBaseClass::p_base_class_nonreal};
23597 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23598 using bind = Desc<SgNonrealBaseClass, SgNonrealDecl* SgNonrealBaseClass::*, &SgNonrealBaseClass::p_base_class_nonreal>;
23603 static constexpr char const *
const name{
"NonrealBaseClass"};
23604 static constexpr unsigned long variant{573};
23605 static constexpr bool concrete{
true};
23615 static constexpr char const *
const name{
"NullExpression"};
23616 static constexpr unsigned long variant{574};
23617 static constexpr bool concrete{
true};
23627 static constexpr char const *
const name{
"NullptrValExp"};
23628 static constexpr unsigned long variant{575};
23629 static constexpr bool concrete{
true};
23639 static constexpr char const *
const name{
"NullStatement"};
23640 static constexpr unsigned long variant{576};
23641 static constexpr bool concrete{
true};
23651 static constexpr size_t position{0};
23652 static constexpr char const *
const name{
"pointer_list"};
23653 static constexpr char const *
const typestr{
"SgExprListExp*"};
23654 static constexpr bool traverse{
true};
23655 static constexpr auto mbr_ptr{&SgNullifyStatement::p_pointer_list};
23656 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23657 using bind = Desc<SgNullifyStatement, SgExprListExp* SgNullifyStatement::*, &SgNullifyStatement::p_pointer_list>;
23662 static constexpr char const *
const name{
"NullifyStatement"};
23663 static constexpr unsigned long variant{577};
23664 static constexpr bool concrete{
true};
23674 static constexpr char const *
const name{
"OmpAtomicStatement"};
23675 static constexpr unsigned long variant{578};
23676 static constexpr bool concrete{
true};
23686 static constexpr char const *
const name{
"OmpBarrierStatement"};
23687 static constexpr unsigned long variant{579};
23688 static constexpr bool concrete{
true};
23698 static constexpr size_t position{0};
23699 static constexpr char const *
const name{
"name"};
23700 static constexpr char const *
const typestr{
"SgName"};
23701 static constexpr bool traverse{
false};
23702 static constexpr auto mbr_ptr{&SgOmpCriticalStatement::p_name};
23703 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23704 using bind = Desc<SgOmpCriticalStatement, SgName SgOmpCriticalStatement::*, &SgOmpCriticalStatement::p_name>;
23709 static constexpr char const *
const name{
"OmpCriticalStatement"};
23710 static constexpr unsigned long variant{580};
23711 static constexpr bool concrete{
true};
23720 using field_type = SgOmpClausePtrList;
23721 static constexpr size_t position{0};
23722 static constexpr char const *
const name{
"clauses"};
23723 static constexpr char const *
const typestr{
"SgOmpClausePtrList"};
23724 static constexpr bool traverse{
true};
23725 static constexpr auto mbr_ptr{&SgOmpClauseBodyStatement::p_clauses};
23726 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23727 using bind = Desc<SgOmpClauseBodyStatement, SgOmpClausePtrList SgOmpClauseBodyStatement::*, &SgOmpClauseBodyStatement::p_clauses>;
23732 static constexpr char const *
const name{
"OmpClauseBodyStatement"};
23733 static constexpr unsigned long variant{581};
23734 static constexpr bool concrete{
false};
23735 using subclasses_t =
mp::List<SgOmpParallelStatement, SgOmpSingleStatement, SgOmpAtomicStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgOmpTargetStatement, SgOmpTargetDataStatement, SgOmpSimdStatement, SgOmpForSimdStatement>;
23744 static constexpr size_t position{0};
23745 static constexpr char const *
const name{
"body"};
23746 static constexpr char const *
const typestr{
"SgStatement*"};
23747 static constexpr bool traverse{
true};
23748 static constexpr auto mbr_ptr{&SgOmpBodyStatement::p_body};
23749 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23750 using bind = Desc<SgOmpBodyStatement, SgStatement* SgOmpBodyStatement::*, &SgOmpBodyStatement::p_body>;
23755 static constexpr char const *
const name{
"OmpBodyStatement"};
23756 static constexpr unsigned long variant{582};
23757 static constexpr bool concrete{
false};
23767 static constexpr char const *
const name{
"OmpDoStatement"};
23768 static constexpr unsigned long variant{583};
23769 static constexpr bool concrete{
true};
23778 using field_type = SgVarRefExpPtrList;
23779 static constexpr size_t position{0};
23780 static constexpr char const *
const name{
"variables"};
23781 static constexpr char const *
const typestr{
"SgVarRefExpPtrList"};
23782 static constexpr bool traverse{
true};
23783 static constexpr auto mbr_ptr{&SgOmpFlushStatement::p_variables};
23784 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23785 using bind = Desc<SgOmpFlushStatement, SgVarRefExpPtrList SgOmpFlushStatement::*, &SgOmpFlushStatement::p_variables>;
23790 static constexpr char const *
const name{
"OmpFlushStatement"};
23791 static constexpr unsigned long variant{584};
23792 static constexpr bool concrete{
true};
23801 using field_type = SgOmpClausePtrList;
23802 static constexpr size_t position{0};
23803 static constexpr char const *
const name{
"clauses"};
23804 static constexpr char const *
const typestr{
"SgOmpClausePtrList"};
23805 static constexpr bool traverse{
true};
23806 static constexpr auto mbr_ptr{&SgOmpDeclareSimdStatement::p_clauses};
23807 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23808 using bind = Desc<SgOmpDeclareSimdStatement, SgOmpClausePtrList SgOmpDeclareSimdStatement::*, &SgOmpDeclareSimdStatement::p_clauses>;
23813 static constexpr char const *
const name{
"OmpDeclareSimdStatement"};
23814 static constexpr unsigned long variant{585};
23815 static constexpr bool concrete{
true};
23825 static constexpr char const *
const name{
"OmpForStatement"};
23826 static constexpr unsigned long variant{586};
23827 static constexpr bool concrete{
true};
23837 static constexpr char const *
const name{
"OmpForSimdStatement"};
23838 static constexpr unsigned long variant{587};
23839 static constexpr bool concrete{
true};
23849 static constexpr char const *
const name{
"OmpMasterStatement"};
23850 static constexpr unsigned long variant{588};
23851 static constexpr bool concrete{
true};
23861 static constexpr char const *
const name{
"OmpOrderedStatement"};
23862 static constexpr unsigned long variant{589};
23863 static constexpr bool concrete{
true};
23873 static constexpr char const *
const name{
"OmpParallelStatement"};
23874 static constexpr unsigned long variant{590};
23875 static constexpr bool concrete{
true};
23885 static constexpr char const *
const name{
"OmpSectionStatement"};
23886 static constexpr unsigned long variant{591};
23887 static constexpr bool concrete{
true};
23897 static constexpr char const *
const name{
"OmpSectionsStatement"};
23898 static constexpr unsigned long variant{592};
23899 static constexpr bool concrete{
true};
23909 static constexpr char const *
const name{
"OmpSingleStatement"};
23910 static constexpr unsigned long variant{593};
23911 static constexpr bool concrete{
true};
23921 static constexpr char const *
const name{
"OmpTaskStatement"};
23922 static constexpr unsigned long variant{594};
23923 static constexpr bool concrete{
true};
23933 static constexpr char const *
const name{
"OmpTaskwaitStatement"};
23934 static constexpr unsigned long variant{595};
23935 static constexpr bool concrete{
true};
23944 using field_type = SgVarRefExpPtrList;
23945 static constexpr size_t position{0};
23946 static constexpr char const *
const name{
"variables"};
23947 static constexpr char const *
const typestr{
"SgVarRefExpPtrList"};
23948 static constexpr bool traverse{
true};
23949 static constexpr auto mbr_ptr{&SgOmpThreadprivateStatement::p_variables};
23950 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
23951 using bind = Desc<SgOmpThreadprivateStatement, SgVarRefExpPtrList SgOmpThreadprivateStatement::*, &SgOmpThreadprivateStatement::p_variables>;
23956 static constexpr char const *
const name{
"OmpThreadprivateStatement"};
23957 static constexpr unsigned long variant{596};
23958 static constexpr bool concrete{
true};
23968 static constexpr char const *
const name{
"OmpWorkshareStatement"};
23969 static constexpr unsigned long variant{597};
23970 static constexpr bool concrete{
true};
23980 static constexpr char const *
const name{
"OmpTargetStatement"};
23981 static constexpr unsigned long variant{598};
23982 static constexpr bool concrete{
true};
23992 static constexpr char const *
const name{
"OmpTargetDataStatement"};
23993 static constexpr unsigned long variant{599};
23994 static constexpr bool concrete{
true};
24004 static constexpr char const *
const name{
"OmpSimdStatement"};
24005 static constexpr unsigned long variant{600};
24006 static constexpr bool concrete{
true};
24016 static constexpr char const *
const name{
"OmpClause"};
24017 static constexpr unsigned long variant{601};
24018 static constexpr bool concrete{
false};
24019 using subclasses_t =
mp::List<SgOmpNowaitClause, SgOmpBeginClause, SgOmpEndClause, SgOmpUntiedClause, SgOmpDefaultClause, SgOmpAtomicClause, SgOmpProcBindClause, SgOmpExpressionClause, SgOmpInbranchClause, SgOmpNotinbranchClause, SgOmpVariablesClause, SgOmpScheduleClause, SgOmpMergeableClause>;
24028 static constexpr char const *
const name{
"OmpBeginClause"};
24029 static constexpr unsigned long variant{602};
24030 static constexpr bool concrete{
true};
24040 static constexpr char const *
const name{
"OmpCollapseClause"};
24041 static constexpr unsigned long variant{603};
24042 static constexpr bool concrete{
true};
24052 static constexpr char const *
const name{
"OmpCopyinClause"};
24053 static constexpr unsigned long variant{604};
24054 static constexpr bool concrete{
true};
24064 static constexpr char const *
const name{
"OmpCopyprivateClause"};
24065 static constexpr unsigned long variant{605};
24066 static constexpr bool concrete{
true};
24076 static constexpr size_t position{0};
24077 static constexpr char const *
const name{
"data_sharing"};
24078 static constexpr char const *
const typestr{
"SgOmpClause::omp_default_option_enum"};
24079 static constexpr bool traverse{
false};
24080 static constexpr auto mbr_ptr{&SgOmpDefaultClause::p_data_sharing};
24081 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24082 using bind = Desc<SgOmpDefaultClause, SgOmpClause::omp_default_option_enum SgOmpDefaultClause::*, &SgOmpDefaultClause::p_data_sharing>;
24087 static constexpr char const *
const name{
"OmpDefaultClause"};
24088 static constexpr unsigned long variant{606};
24089 static constexpr bool concrete{
true};
24099 static constexpr char const *
const name{
"OmpEndClause"};
24100 static constexpr unsigned long variant{607};
24101 static constexpr bool concrete{
true};
24111 static constexpr size_t position{0};
24112 static constexpr char const *
const name{
"expression"};
24113 static constexpr char const *
const typestr{
"SgExpression*"};
24114 static constexpr bool traverse{
true};
24115 static constexpr auto mbr_ptr{&SgOmpExpressionClause::p_expression};
24116 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24117 using bind = Desc<SgOmpExpressionClause, SgExpression* SgOmpExpressionClause::*, &SgOmpExpressionClause::p_expression>;
24122 static constexpr char const *
const name{
"OmpExpressionClause"};
24123 static constexpr unsigned long variant{608};
24124 static constexpr bool concrete{
false};
24134 static constexpr char const *
const name{
"OmpFirstprivateClause"};
24135 static constexpr unsigned long variant{609};
24136 static constexpr bool concrete{
true};
24146 static constexpr char const *
const name{
"OmpIfClause"};
24147 static constexpr unsigned long variant{610};
24148 static constexpr bool concrete{
true};
24158 static constexpr char const *
const name{
"OmpFinalClause"};
24159 static constexpr unsigned long variant{611};
24160 static constexpr bool concrete{
true};
24170 static constexpr char const *
const name{
"OmpPriorityClause"};
24171 static constexpr unsigned long variant{612};
24172 static constexpr bool concrete{
true};
24182 static constexpr char const *
const name{
"OmpDeviceClause"};
24183 static constexpr unsigned long variant{613};
24184 static constexpr bool concrete{
true};
24194 static constexpr char const *
const name{
"OmpLastprivateClause"};
24195 static constexpr unsigned long variant{614};
24196 static constexpr bool concrete{
true};
24206 static constexpr char const *
const name{
"OmpNowaitClause"};
24207 static constexpr unsigned long variant{615};
24208 static constexpr bool concrete{
true};
24218 static constexpr char const *
const name{
"OmpNumThreadsClause"};
24219 static constexpr unsigned long variant{616};
24220 static constexpr bool concrete{
true};
24230 static constexpr char const *
const name{
"OmpOrderedClause"};
24231 static constexpr unsigned long variant{617};
24232 static constexpr bool concrete{
true};
24242 static constexpr char const *
const name{
"OmpPrivateClause"};
24243 static constexpr unsigned long variant{618};
24244 static constexpr bool concrete{
true};
24253 using field_type = SgOmpClause::omp_reduction_operator_enum;
24254 static constexpr size_t position{0};
24255 static constexpr char const *
const name{
"operation"};
24256 static constexpr char const *
const typestr{
"SgOmpClause::omp_reduction_operator_enum"};
24257 static constexpr bool traverse{
false};
24258 static constexpr auto mbr_ptr{&SgOmpReductionClause::p_operation};
24259 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24260 using bind = Desc<SgOmpReductionClause, SgOmpClause::omp_reduction_operator_enum SgOmpReductionClause::*, &SgOmpReductionClause::p_operation>;
24265 static constexpr char const *
const name{
"OmpReductionClause"};
24266 static constexpr unsigned long variant{619};
24267 static constexpr bool concrete{
true};
24276 using field_type = SgOmpClause::omp_schedule_kind_enum;
24277 static constexpr size_t position{0};
24278 static constexpr char const *
const name{
"kind"};
24279 static constexpr char const *
const typestr{
"SgOmpClause::omp_schedule_kind_enum"};
24280 static constexpr bool traverse{
false};
24281 static constexpr auto mbr_ptr{&SgOmpScheduleClause::p_kind};
24282 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24283 using bind = Desc<SgOmpScheduleClause, SgOmpClause::omp_schedule_kind_enum SgOmpScheduleClause::*, &SgOmpScheduleClause::p_kind>;
24288 static constexpr size_t position{1};
24289 static constexpr char const *
const name{
"chunk_size"};
24290 static constexpr char const *
const typestr{
"SgExpression*"};
24291 static constexpr bool traverse{
true};
24292 static constexpr auto mbr_ptr{&SgOmpScheduleClause::p_chunk_size};
24293 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24294 using bind = Desc<SgOmpScheduleClause, SgExpression* SgOmpScheduleClause::*, &SgOmpScheduleClause::p_chunk_size>;
24299 static constexpr char const *
const name{
"OmpScheduleClause"};
24300 static constexpr unsigned long variant{620};
24301 static constexpr bool concrete{
true};
24311 static constexpr char const *
const name{
"OmpSharedClause"};
24312 static constexpr unsigned long variant{621};
24313 static constexpr bool concrete{
true};
24323 static constexpr char const *
const name{
"OmpUntiedClause"};
24324 static constexpr unsigned long variant{622};
24325 static constexpr bool concrete{
true};
24335 static constexpr char const *
const name{
"OmpMergeableClause"};
24336 static constexpr unsigned long variant{623};
24337 static constexpr bool concrete{
true};
24347 static constexpr size_t position{0};
24348 static constexpr char const *
const name{
"variables"};
24349 static constexpr char const *
const typestr{
"SgExprListExp*"};
24350 static constexpr bool traverse{
true};
24351 static constexpr auto mbr_ptr{&SgOmpVariablesClause::p_variables};
24352 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24353 using bind = Desc<SgOmpVariablesClause, SgExprListExp* SgOmpVariablesClause::*, &SgOmpVariablesClause::p_variables>;
24358 static constexpr char const *
const name{
"OmpVariablesClause"};
24359 static constexpr unsigned long variant{624};
24360 static constexpr bool concrete{
false};
24361 using subclasses_t =
mp::List<SgOmpCopyprivateClause, SgOmpPrivateClause, SgOmpFirstprivateClause, SgOmpSharedClause, SgOmpCopyinClause, SgOmpLastprivateClause, SgOmpReductionClause, SgOmpMapClause, SgOmpUniformClause, SgOmpAlignedClause, SgOmpLinearClause, SgOmpDependClause>;
24369 using field_type = SgOmpClause::omp_map_operator_enum;
24370 static constexpr size_t position{0};
24371 static constexpr char const *
const name{
"operation"};
24372 static constexpr char const *
const typestr{
"SgOmpClause::omp_map_operator_enum"};
24373 static constexpr bool traverse{
false};
24374 static constexpr auto mbr_ptr{&SgOmpMapClause::p_operation};
24375 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24376 using bind = Desc<SgOmpMapClause, SgOmpClause::omp_map_operator_enum SgOmpMapClause::*, &SgOmpMapClause::p_operation>;
24380 using field_type = std::map<SgSymbol*, std::vector < std::pair <SgExpression*, SgExpression*> > >;
24381 static constexpr size_t position{1};
24382 static constexpr char const *
const name{
"array_dimensions"};
24383 static constexpr char const *
const typestr{
"std::map<SgSymbol*, std::vector < std::pair <SgExpression*, SgExpression*> > >"};
24384 static constexpr bool traverse{
false};
24385 static constexpr auto mbr_ptr{&SgOmpMapClause::p_array_dimensions};
24386 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24387 using bind = Desc<SgOmpMapClause, std::map<SgSymbol*, std::vector < std::pair <SgExpression*, SgExpression*> > >
SgOmpMapClause::*, &SgOmpMapClause::p_array_dimensions>;
24389template <>
struct describe_field_t<
SgOmpMapClause,std::map<SgSymbol*, std::vector < std::pair <SgOmpClause::omp_map_dist_data_enum, SgExpression*> > >,&SgOmpMapClause::p_dist_data_policies> {
24391 using field_type = std::map<SgSymbol*, std::vector < std::pair <SgOmpClause::omp_map_dist_data_enum, SgExpression*> > >;
24392 static constexpr size_t position{2};
24393 static constexpr char const *
const name{
"dist_data_policies"};
24394 static constexpr char const *
const typestr{
"std::map<SgSymbol*, std::vector < std::pair <SgOmpClause::omp_map_dist_data_enum, SgExpression*> > >"};
24395 static constexpr bool traverse{
false};
24396 static constexpr auto mbr_ptr{&SgOmpMapClause::p_dist_data_policies};
24397 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24398 using bind = Desc<SgOmpMapClause, std::map<SgSymbol*, std::vector < std::pair <SgOmpClause::omp_map_dist_data_enum, SgExpression*> > >
SgOmpMapClause::*, &SgOmpMapClause::p_dist_data_policies>;
24403 static constexpr char const *
const name{
"OmpMapClause"};
24404 static constexpr unsigned long variant{625};
24405 static constexpr bool concrete{
true};
24407 using fields_t =
mp::List<describe_field_t<SgOmpMapClause,SgOmpClause::omp_map_operator_enum,&SgOmpMapClause::p_operation>,
describe_field_t<SgOmpMapClause,std::map<SgSymbol*, std::vector < std::pair <SgExpression*, SgExpression*> > >,&SgOmpMapClause::p_array_dimensions>,
describe_field_t<SgOmpMapClause,std::map<SgSymbol*, std::vector < std::pair <SgOmpClause::omp_map_dist_data_enum, SgExpression*> > >,&SgOmpMapClause::p_dist_data_policies>>;
24415 static constexpr char const *
const name{
"OmpSafelenClause"};
24416 static constexpr unsigned long variant{626};
24417 static constexpr bool concrete{
true};
24427 static constexpr char const *
const name{
"OmpSimdlenClause"};
24428 static constexpr unsigned long variant{627};
24429 static constexpr bool concrete{
true};
24439 static constexpr size_t position{0};
24440 static constexpr char const *
const name{
"step"};
24441 static constexpr char const *
const typestr{
"SgExpression*"};
24442 static constexpr bool traverse{
true};
24443 static constexpr auto mbr_ptr{&SgOmpLinearClause::p_step};
24444 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24445 using bind = Desc<SgOmpLinearClause, SgExpression* SgOmpLinearClause::*, &SgOmpLinearClause::p_step>;
24450 static constexpr char const *
const name{
"OmpLinearClause"};
24451 static constexpr unsigned long variant{628};
24452 static constexpr bool concrete{
true};
24462 static constexpr char const *
const name{
"OmpUniformClause"};
24463 static constexpr unsigned long variant{629};
24464 static constexpr bool concrete{
true};
24474 static constexpr size_t position{0};
24475 static constexpr char const *
const name{
"alignment"};
24476 static constexpr char const *
const typestr{
"SgExpression*"};
24477 static constexpr bool traverse{
true};
24478 static constexpr auto mbr_ptr{&SgOmpAlignedClause::p_alignment};
24479 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24480 using bind = Desc<SgOmpAlignedClause, SgExpression* SgOmpAlignedClause::*, &SgOmpAlignedClause::p_alignment>;
24485 static constexpr char const *
const name{
"OmpAlignedClause"};
24486 static constexpr unsigned long variant{630};
24487 static constexpr bool concrete{
true};
24496 using field_type = SgOmpClause::omp_proc_bind_policy_enum;
24497 static constexpr size_t position{0};
24498 static constexpr char const *
const name{
"policy"};
24499 static constexpr char const *
const typestr{
"SgOmpClause::omp_proc_bind_policy_enum"};
24500 static constexpr bool traverse{
false};
24501 static constexpr auto mbr_ptr{&SgOmpProcBindClause::p_policy};
24502 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24503 using bind = Desc<SgOmpProcBindClause, SgOmpClause::omp_proc_bind_policy_enum SgOmpProcBindClause::*, &SgOmpProcBindClause::p_policy>;
24508 static constexpr char const *
const name{
"OmpProcBindClause"};
24509 static constexpr unsigned long variant{631};
24510 static constexpr bool concrete{
true};
24519 using field_type = SgOmpClause::omp_atomic_clause_enum;
24520 static constexpr size_t position{0};
24521 static constexpr char const *
const name{
"atomicity"};
24522 static constexpr char const *
const typestr{
"SgOmpClause::omp_atomic_clause_enum"};
24523 static constexpr bool traverse{
false};
24524 static constexpr auto mbr_ptr{&SgOmpAtomicClause::p_atomicity};
24525 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24526 using bind = Desc<SgOmpAtomicClause, SgOmpClause::omp_atomic_clause_enum SgOmpAtomicClause::*, &SgOmpAtomicClause::p_atomicity>;
24531 static constexpr char const *
const name{
"OmpAtomicClause"};
24532 static constexpr unsigned long variant{632};
24533 static constexpr bool concrete{
true};
24543 static constexpr char const *
const name{
"OmpInbranchClause"};
24544 static constexpr unsigned long variant{633};
24545 static constexpr bool concrete{
true};
24555 static constexpr char const *
const name{
"OmpNotinbranchClause"};
24556 static constexpr unsigned long variant{634};
24557 static constexpr bool concrete{
true};
24566 using field_type = SgOmpClause::omp_dependence_type_enum;
24567 static constexpr size_t position{0};
24568 static constexpr char const *
const name{
"dependence_type"};
24569 static constexpr char const *
const typestr{
"SgOmpClause::omp_dependence_type_enum"};
24570 static constexpr bool traverse{
false};
24571 static constexpr auto mbr_ptr{&SgOmpDependClause::p_dependence_type};
24572 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24573 using bind = Desc<SgOmpDependClause, SgOmpClause::omp_dependence_type_enum SgOmpDependClause::*, &SgOmpDependClause::p_dependence_type>;
24577 using field_type = std::map<SgSymbol*, std::vector < std::pair <SgExpression*, SgExpression*> > >;
24578 static constexpr size_t position{1};
24579 static constexpr char const *
const name{
"array_dimensions"};
24580 static constexpr char const *
const typestr{
"std::map<SgSymbol*, std::vector < std::pair <SgExpression*, SgExpression*> > >"};
24581 static constexpr bool traverse{
false};
24582 static constexpr auto mbr_ptr{&SgOmpDependClause::p_array_dimensions};
24583 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24584 using bind = Desc<SgOmpDependClause, std::map<SgSymbol*, std::vector < std::pair <SgExpression*, SgExpression*> > >
SgOmpDependClause::*, &SgOmpDependClause::p_array_dimensions>;
24589 static constexpr char const *
const name{
"OmpDependClause"};
24590 static constexpr unsigned long variant{635};
24591 static constexpr bool concrete{
true};
24601 static constexpr size_t position{0};
24602 static constexpr char const *
const name{
"modifier"};
24603 static constexpr char const *
const typestr{
"SgOpenclAccessModeModifier::access_mode_modifier_enum"};
24604 static constexpr bool traverse{
false};
24605 static constexpr auto mbr_ptr{&SgOpenclAccessModeModifier::p_modifier};
24606 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24607 using bind = Desc<SgOpenclAccessModeModifier, SgOpenclAccessModeModifier::access_mode_modifier_enum SgOpenclAccessModeModifier::*, &SgOpenclAccessModeModifier::p_modifier>;
24612 static constexpr char const *
const name{
"OpenclAccessModeModifier"};
24613 static constexpr unsigned long variant{636};
24614 static constexpr bool concrete{
true};
24624 static constexpr size_t position{0};
24625 static constexpr char const *
const name{
"file"};
24626 static constexpr char const *
const typestr{
"SgExpression*"};
24627 static constexpr bool traverse{
true};
24628 static constexpr auto mbr_ptr{&SgOpenStatement::p_file};
24629 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24630 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_file>;
24635 static constexpr size_t position{1};
24636 static constexpr char const *
const name{
"status"};
24637 static constexpr char const *
const typestr{
"SgExpression*"};
24638 static constexpr bool traverse{
true};
24639 static constexpr auto mbr_ptr{&SgOpenStatement::p_status};
24640 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24641 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_status>;
24646 static constexpr size_t position{2};
24647 static constexpr char const *
const name{
"access"};
24648 static constexpr char const *
const typestr{
"SgExpression*"};
24649 static constexpr bool traverse{
true};
24650 static constexpr auto mbr_ptr{&SgOpenStatement::p_access};
24651 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24652 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_access>;
24657 static constexpr size_t position{3};
24658 static constexpr char const *
const name{
"form"};
24659 static constexpr char const *
const typestr{
"SgExpression*"};
24660 static constexpr bool traverse{
true};
24661 static constexpr auto mbr_ptr{&SgOpenStatement::p_form};
24662 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24663 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_form>;
24668 static constexpr size_t position{4};
24669 static constexpr char const *
const name{
"recl"};
24670 static constexpr char const *
const typestr{
"SgExpression*"};
24671 static constexpr bool traverse{
true};
24672 static constexpr auto mbr_ptr{&SgOpenStatement::p_recl};
24673 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24674 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_recl>;
24679 static constexpr size_t position{5};
24680 static constexpr char const *
const name{
"blank"};
24681 static constexpr char const *
const typestr{
"SgExpression*"};
24682 static constexpr bool traverse{
true};
24683 static constexpr auto mbr_ptr{&SgOpenStatement::p_blank};
24684 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24685 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_blank>;
24690 static constexpr size_t position{6};
24691 static constexpr char const *
const name{
"position"};
24692 static constexpr char const *
const typestr{
"SgExpression*"};
24693 static constexpr bool traverse{
true};
24694 static constexpr auto mbr_ptr{&SgOpenStatement::p_position};
24695 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24696 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_position>;
24701 static constexpr size_t position{7};
24702 static constexpr char const *
const name{
"action"};
24703 static constexpr char const *
const typestr{
"SgExpression*"};
24704 static constexpr bool traverse{
true};
24705 static constexpr auto mbr_ptr{&SgOpenStatement::p_action};
24706 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24707 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_action>;
24712 static constexpr size_t position{8};
24713 static constexpr char const *
const name{
"delim"};
24714 static constexpr char const *
const typestr{
"SgExpression*"};
24715 static constexpr bool traverse{
true};
24716 static constexpr auto mbr_ptr{&SgOpenStatement::p_delim};
24717 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24718 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_delim>;
24723 static constexpr size_t position{9};
24724 static constexpr char const *
const name{
"pad"};
24725 static constexpr char const *
const typestr{
"SgExpression*"};
24726 static constexpr bool traverse{
true};
24727 static constexpr auto mbr_ptr{&SgOpenStatement::p_pad};
24728 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24729 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_pad>;
24734 static constexpr size_t position{10};
24735 static constexpr char const *
const name{
"round"};
24736 static constexpr char const *
const typestr{
"SgExpression*"};
24737 static constexpr bool traverse{
true};
24738 static constexpr auto mbr_ptr{&SgOpenStatement::p_round};
24739 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24740 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_round>;
24745 static constexpr size_t position{11};
24746 static constexpr char const *
const name{
"sign"};
24747 static constexpr char const *
const typestr{
"SgExpression*"};
24748 static constexpr bool traverse{
true};
24749 static constexpr auto mbr_ptr{&SgOpenStatement::p_sign};
24750 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24751 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_sign>;
24756 static constexpr size_t position{12};
24757 static constexpr char const *
const name{
"asynchronous"};
24758 static constexpr char const *
const typestr{
"SgExpression*"};
24759 static constexpr bool traverse{
true};
24760 static constexpr auto mbr_ptr{&SgOpenStatement::p_asynchronous};
24761 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24762 using bind = Desc<SgOpenStatement, SgExpression* SgOpenStatement::*, &SgOpenStatement::p_asynchronous>;
24767 static constexpr char const *
const name{
"OpenStatement"};
24768 static constexpr unsigned long variant{637};
24769 static constexpr bool concrete{
true};
24771 using fields_t =
mp::List<describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_file>,
describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_status>,
describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_access>,
describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_form>,
describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_recl>,
describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_blank>,
describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_position>,
describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_action>,
describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_delim>,
describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_pad>,
describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_round>,
describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_sign>,
describe_field_t<SgOpenStatement,SgExpression*,&SgOpenStatement::p_asynchronous>>;
24778 using field_type = std::ostream*;
24779 static constexpr size_t position{0};
24780 static constexpr char const *
const name{
"default_output"};
24781 static constexpr char const *
const typestr{
"std::ostream*"};
24782 static constexpr bool traverse{
false};
24783 static constexpr auto mbr_ptr{&SgOptions::p_default_output};
24784 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24785 using bind = Desc<SgOptions, std::ostream* SgOptions::*, &SgOptions::p_default_output>;
24789 using field_type = std::ostream*;
24790 static constexpr size_t position{1};
24791 static constexpr char const *
const name{
"debug_output"};
24792 static constexpr char const *
const typestr{
"std::ostream*"};
24793 static constexpr bool traverse{
false};
24794 static constexpr auto mbr_ptr{&SgOptions::p_debug_output};
24795 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24796 using bind = Desc<SgOptions, std::ostream* SgOptions::*, &SgOptions::p_debug_output>;
24800 using field_type = std::ostream*;
24801 static constexpr size_t position{2};
24802 static constexpr char const *
const name{
"error_output"};
24803 static constexpr char const *
const typestr{
"std::ostream*"};
24804 static constexpr bool traverse{
false};
24805 static constexpr auto mbr_ptr{&SgOptions::p_error_output};
24806 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24807 using bind = Desc<SgOptions, std::ostream* SgOptions::*, &SgOptions::p_error_output>;
24811 using field_type = std::ostream*;
24812 static constexpr size_t position{3};
24813 static constexpr char const *
const name{
"logging_output"};
24814 static constexpr char const *
const typestr{
"std::ostream*"};
24815 static constexpr bool traverse{
false};
24816 static constexpr auto mbr_ptr{&SgOptions::p_logging_output};
24817 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24818 using bind = Desc<SgOptions, std::ostream* SgOptions::*, &SgOptions::p_logging_output>;
24822 using field_type = int;
24823 static constexpr size_t position{4};
24824 static constexpr char const *
const name{
"debug_level"};
24825 static constexpr char const *
const typestr{
"int"};
24826 static constexpr bool traverse{
false};
24827 static constexpr auto mbr_ptr{&SgOptions::p_debug_level};
24828 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24829 using bind = Desc<SgOptions, int SgOptions::*, &SgOptions::p_debug_level>;
24833 using field_type = int;
24834 static constexpr size_t position{5};
24835 static constexpr char const *
const name{
"logging_level"};
24836 static constexpr char const *
const typestr{
"int"};
24837 static constexpr bool traverse{
false};
24838 static constexpr auto mbr_ptr{&SgOptions::p_logging_level};
24839 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24840 using bind = Desc<SgOptions, int SgOptions::*, &SgOptions::p_logging_level>;
24845 static constexpr char const *
const name{
"Options"};
24846 static constexpr unsigned long variant{638};
24847 static constexpr bool concrete{
true};
24849 using fields_t =
mp::List<describe_field_t<SgOptions,std::ostream*,&SgOptions::p_default_output>,
describe_field_t<SgOptions,std::ostream*,&SgOptions::p_debug_output>,
describe_field_t<SgOptions,std::ostream*,&SgOptions::p_error_output>,
describe_field_t<SgOptions,std::ostream*,&SgOptions::p_logging_output>,
describe_field_t<SgOptions,int,&SgOptions::p_debug_level>,
describe_field_t<SgOptions,int,&SgOptions::p_logging_level>>;
24857 static constexpr char const *
const name{
"OrOp"};
24858 static constexpr unsigned long variant{639};
24859 static constexpr bool concrete{
true};
24869 static constexpr char const *
const name{
"ParameterStatement"};
24870 static constexpr unsigned long variant{640};
24871 static constexpr bool concrete{
true};
24881 static constexpr char const *
const name{
"PartialFunctionModifierType"};
24882 static constexpr unsigned long variant{641};
24883 static constexpr bool concrete{
true};
24893 static constexpr char const *
const name{
"PartialFunctionType"};
24894 static constexpr unsigned long variant{642};
24895 static constexpr bool concrete{
true};
24905 static constexpr char const *
const name{
"PassStatement"};
24906 static constexpr unsigned long variant{643};
24907 static constexpr bool concrete{
true};
24917 static constexpr char const *
const name{
"PlusAssignOp"};
24918 static constexpr unsigned long variant{644};
24919 static constexpr bool concrete{
true};
24929 static constexpr char const *
const name{
"PlusPlusOp"};
24930 static constexpr unsigned long variant{645};
24931 static constexpr bool concrete{
true};
24941 static constexpr char const *
const name{
"PntrArrRefExp"};
24942 static constexpr unsigned long variant{646};
24943 static constexpr bool concrete{
true};
24953 static constexpr char const *
const name{
"PointerAssignOp"};
24954 static constexpr unsigned long variant{647};
24955 static constexpr bool concrete{
true};
24965 static constexpr char const *
const name{
"PointerDerefExp"};
24966 static constexpr unsigned long variant{648};
24967 static constexpr bool concrete{
true};
24977 static constexpr size_t position{0};
24978 static constexpr char const *
const name{
"class_type"};
24979 static constexpr char const *
const typestr{
"SgType*"};
24980 static constexpr bool traverse{
false};
24981 static constexpr auto mbr_ptr{&SgPointerMemberType::p_class_type};
24982 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
24983 using bind = Desc<SgPointerMemberType, SgType* SgPointerMemberType::*, &SgPointerMemberType::p_class_type>;
24988 static constexpr char const *
const name{
"PointerMemberType"};
24989 static constexpr unsigned long variant{649};
24990 static constexpr bool concrete{
true};
25000 static constexpr size_t position{0};
25001 static constexpr char const *
const name{
"base_type"};
25002 static constexpr char const *
const typestr{
"SgType*"};
25003 static constexpr bool traverse{
true};
25004 static constexpr auto mbr_ptr{&SgPointerType::p_base_type};
25005 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25006 using bind = Desc<SgPointerType, SgType* SgPointerType::*, &SgPointerType::p_base_type>;
25011 static constexpr char const *
const name{
"PointerType"};
25012 static constexpr unsigned long variant{650};
25013 static constexpr bool concrete{
true};
25023 static constexpr char const *
const name{
"PowerOp"};
25024 static constexpr unsigned long variant{651};
25025 static constexpr bool concrete{
true};
25035 static constexpr size_t position{0};
25036 static constexpr char const *
const name{
"startOfConstruct"};
25037 static constexpr char const *
const typestr{
"Sg_File_Info*"};
25038 static constexpr bool traverse{
false};
25039 static constexpr auto mbr_ptr{&SgPragma::p_startOfConstruct};
25040 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25041 using bind = Desc<SgPragma, Sg_File_Info* SgPragma::*, &SgPragma::p_startOfConstruct>;
25046 static constexpr size_t position{1};
25047 static constexpr char const *
const name{
"endOfConstruct"};
25048 static constexpr char const *
const typestr{
"Sg_File_Info*"};
25049 static constexpr bool traverse{
false};
25050 static constexpr auto mbr_ptr{&SgPragma::p_endOfConstruct};
25051 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25052 using bind = Desc<SgPragma, Sg_File_Info* SgPragma::*, &SgPragma::p_endOfConstruct>;
25056 using field_type = short;
25057 static constexpr size_t position{2};
25058 static constexpr char const *
const name{
"printed"};
25059 static constexpr char const *
const typestr{
"short"};
25060 static constexpr bool traverse{
false};
25061 static constexpr auto mbr_ptr{&SgPragma::p_printed};
25062 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25063 using bind = Desc<SgPragma, short SgPragma::*, &SgPragma::p_printed>;
25068 static constexpr size_t position{3};
25069 static constexpr char const *
const name{
"args"};
25070 static constexpr char const *
const typestr{
"SgExprListExp*"};
25071 static constexpr bool traverse{
false};
25072 static constexpr auto mbr_ptr{&SgPragma::p_args};
25073 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25074 using bind = Desc<SgPragma, SgExprListExp* SgPragma::*, &SgPragma::p_args>;
25079 static constexpr size_t position{4};
25080 static constexpr char const *
const name{
"associatedStatement"};
25081 static constexpr char const *
const typestr{
"SgStatement*"};
25082 static constexpr bool traverse{
false};
25083 static constexpr auto mbr_ptr{&SgPragma::p_associatedStatement};
25084 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25085 using bind = Desc<SgPragma, SgStatement* SgPragma::*, &SgPragma::p_associatedStatement>;
25090 static constexpr size_t position{5};
25091 static constexpr char const *
const name{
"attributeMechanism"};
25092 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
25093 static constexpr bool traverse{
false};
25094 static constexpr auto mbr_ptr{&SgPragma::p_attributeMechanism};
25095 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25096 using bind = Desc<SgPragma, AstAttributeMechanism* SgPragma::*, &SgPragma::p_attributeMechanism>;
25101 static constexpr char const *
const name{
"Pragma"};
25102 static constexpr unsigned long variant{652};
25103 static constexpr bool concrete{
true};
25105 using fields_t =
mp::List<describe_field_t<SgPragma,Sg_File_Info*,&SgPragma::p_startOfConstruct>,
describe_field_t<SgPragma,Sg_File_Info*,&SgPragma::p_endOfConstruct>,
describe_field_t<SgPragma,short,&SgPragma::p_printed>,
describe_field_t<SgPragma,SgExprListExp*,&SgPragma::p_args>,
describe_field_t<SgPragma,SgStatement*,&SgPragma::p_associatedStatement>,
describe_field_t<SgPragma,AstAttributeMechanism*,&SgPragma::p_attributeMechanism>>;
25113 static constexpr size_t position{0};
25114 static constexpr char const *
const name{
"pragma"};
25115 static constexpr char const *
const typestr{
"SgPragma*"};
25116 static constexpr bool traverse{
true};
25117 static constexpr auto mbr_ptr{&SgPragmaDeclaration::p_pragma};
25118 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25119 using bind = Desc<SgPragmaDeclaration, SgPragma* SgPragmaDeclaration::*, &SgPragmaDeclaration::p_pragma>;
25124 static constexpr char const *
const name{
"PragmaDeclaration"};
25125 static constexpr unsigned long variant{653};
25126 static constexpr bool concrete{
true};
25136 static constexpr size_t position{0};
25137 static constexpr char const *
const name{
"format"};
25138 static constexpr char const *
const typestr{
"SgExpression*"};
25139 static constexpr bool traverse{
true};
25140 static constexpr auto mbr_ptr{&SgPrintStatement::p_format};
25141 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25142 using bind = Desc<SgPrintStatement, SgExpression* SgPrintStatement::*, &SgPrintStatement::p_format>;
25147 static constexpr char const *
const name{
"PrintStatement"};
25148 static constexpr unsigned long variant{654};
25149 static constexpr bool concrete{
true};
25159 static constexpr size_t position{0};
25160 static constexpr char const *
const name{
"subprogram_kind"};
25161 static constexpr char const *
const typestr{
"SgProcedureHeaderStatement::subprogram_kind_enum"};
25162 static constexpr bool traverse{
false};
25163 static constexpr auto mbr_ptr{&SgProcedureHeaderStatement::p_subprogram_kind};
25164 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25165 using bind = Desc<SgProcedureHeaderStatement, SgProcedureHeaderStatement::subprogram_kind_enum SgProcedureHeaderStatement::*, &SgProcedureHeaderStatement::p_subprogram_kind>;
25170 static constexpr size_t position{1};
25171 static constexpr char const *
const name{
"end_numeric_label"};
25172 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
25173 static constexpr bool traverse{
false};
25174 static constexpr auto mbr_ptr{&SgProcedureHeaderStatement::p_end_numeric_label};
25175 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25176 using bind = Desc<SgProcedureHeaderStatement, SgLabelRefExp* SgProcedureHeaderStatement::*, &SgProcedureHeaderStatement::p_end_numeric_label>;
25181 static constexpr size_t position{2};
25182 static constexpr char const *
const name{
"result_name"};
25183 static constexpr char const *
const typestr{
"SgInitializedName*"};
25184 static constexpr bool traverse{
true};
25185 static constexpr auto mbr_ptr{&SgProcedureHeaderStatement::p_result_name};
25186 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25187 using bind = Desc<SgProcedureHeaderStatement, SgInitializedName* SgProcedureHeaderStatement::*, &SgProcedureHeaderStatement::p_result_name>;
25192 static constexpr char const *
const name{
"ProcedureHeaderStatement"};
25193 static constexpr unsigned long variant{655};
25194 static constexpr bool concrete{
true};
25203 using field_type = bool;
25204 static constexpr size_t position{0};
25205 static constexpr char const *
const name{
"program_statement_explicit"};
25206 static constexpr char const *
const typestr{
"bool"};
25207 static constexpr bool traverse{
false};
25208 static constexpr auto mbr_ptr{&SgProgramHeaderStatement::p_program_statement_explicit};
25209 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25210 using bind = Desc<SgProgramHeaderStatement, bool SgProgramHeaderStatement::*, &SgProgramHeaderStatement::p_program_statement_explicit>;
25215 static constexpr size_t position{1};
25216 static constexpr char const *
const name{
"end_numeric_label"};
25217 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
25218 static constexpr bool traverse{
false};
25219 static constexpr auto mbr_ptr{&SgProgramHeaderStatement::p_end_numeric_label};
25220 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25221 using bind = Desc<SgProgramHeaderStatement, SgLabelRefExp* SgProgramHeaderStatement::*, &SgProgramHeaderStatement::p_end_numeric_label>;
25226 static constexpr char const *
const name{
"ProgramHeaderStatement"};
25227 static constexpr unsigned long variant{656};
25228 static constexpr bool concrete{
true};
25238 static constexpr size_t position{0};
25239 static constexpr char const *
const name{
"fileList_ptr"};
25240 static constexpr char const *
const typestr{
"SgFileList*"};
25241 static constexpr bool traverse{
true};
25242 static constexpr auto mbr_ptr{&SgProject::p_fileList_ptr};
25243 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25244 using bind = Desc<SgProject, SgFileList* SgProject::*, &SgProject::p_fileList_ptr>;
25248 using field_type = SgStringList;
25249 static constexpr size_t position{1};
25250 static constexpr char const *
const name{
"originalCommandLineArgumentList"};
25251 static constexpr char const *
const typestr{
"SgStringList"};
25252 static constexpr bool traverse{
false};
25254 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25255 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_originalCommandLineArgumentList>;
25259 using field_type = int;
25260 static constexpr size_t position{2};
25261 static constexpr char const *
const name{
"frontendErrorCode"};
25262 static constexpr char const *
const typestr{
"int"};
25263 static constexpr bool traverse{
false};
25265 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25266 using bind = Desc<SgProject, int SgProject::*, &SgProject::p_frontendErrorCode>;
25270 using field_type = int;
25271 static constexpr size_t position{3};
25272 static constexpr char const *
const name{
"javacErrorCode"};
25273 static constexpr char const *
const typestr{
"int"};
25274 static constexpr bool traverse{
false};
25275 static constexpr auto mbr_ptr{&SgProject::p_javacErrorCode};
25276 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25277 using bind = Desc<SgProject, int SgProject::*, &SgProject::p_javacErrorCode>;
25281 using field_type = int;
25282 static constexpr size_t position{4};
25283 static constexpr char const *
const name{
"ecjErrorCode"};
25284 static constexpr char const *
const typestr{
"int"};
25285 static constexpr bool traverse{
false};
25286 static constexpr auto mbr_ptr{&SgProject::p_ecjErrorCode};
25287 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25288 using bind = Desc<SgProject, int SgProject::*, &SgProject::p_ecjErrorCode>;
25292 using field_type = int;
25293 static constexpr size_t position{5};
25294 static constexpr char const *
const name{
"midendErrorCode"};
25295 static constexpr char const *
const typestr{
"int"};
25296 static constexpr bool traverse{
false};
25297 static constexpr auto mbr_ptr{&SgProject::p_midendErrorCode};
25298 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25299 using bind = Desc<SgProject, int SgProject::*, &SgProject::p_midendErrorCode>;
25303 using field_type = int;
25304 static constexpr size_t position{6};
25305 static constexpr char const *
const name{
"backendErrorCode"};
25306 static constexpr char const *
const typestr{
"int"};
25307 static constexpr bool traverse{
false};
25309 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25310 using bind = Desc<SgProject, int SgProject::*, &SgProject::p_backendErrorCode>;
25314 using field_type = bool;
25315 static constexpr size_t position{7};
25316 static constexpr char const *
const name{
"keep_going"};
25317 static constexpr char const *
const typestr{
"bool"};
25318 static constexpr bool traverse{
false};
25319 static constexpr auto mbr_ptr{&SgProject::p_keep_going};
25320 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25321 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_keep_going>;
25325 using field_type = bool;
25326 static constexpr size_t position{8};
25327 static constexpr char const *
const name{
"unparser__clobber_input_file"};
25328 static constexpr char const *
const typestr{
"bool"};
25329 static constexpr bool traverse{
false};
25330 static constexpr auto mbr_ptr{&SgProject::p_unparser__clobber_input_file};
25331 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25332 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_unparser__clobber_input_file>;
25336 using field_type = std::string;
25337 static constexpr size_t position{9};
25338 static constexpr char const *
const name{
"outputFileName"};
25339 static constexpr char const *
const typestr{
"std::string"};
25340 static constexpr bool traverse{
false};
25342 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25343 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_outputFileName>;
25347 using field_type = SgStringList;
25348 static constexpr size_t position{10};
25349 static constexpr char const *
const name{
"sourceFileNameList"};
25350 static constexpr char const *
const typestr{
"SgStringList"};
25351 static constexpr bool traverse{
false};
25353 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25354 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_sourceFileNameList>;
25358 using field_type = SgStringList;
25359 static constexpr size_t position{11};
25360 static constexpr char const *
const name{
"objectFileNameList"};
25361 static constexpr char const *
const typestr{
"SgStringList"};
25362 static constexpr bool traverse{
false};
25364 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25365 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_objectFileNameList>;
25369 using field_type = SgStringList;
25370 static constexpr size_t position{12};
25371 static constexpr char const *
const name{
"libraryFileList"};
25372 static constexpr char const *
const typestr{
"SgStringList"};
25373 static constexpr bool traverse{
false};
25375 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25376 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_libraryFileList>;
25380 using field_type = SgStringList;
25381 static constexpr size_t position{13};
25382 static constexpr char const *
const name{
"librarySpecifierList"};
25383 static constexpr char const *
const typestr{
"SgStringList"};
25384 static constexpr bool traverse{
false};
25386 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25387 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_librarySpecifierList>;
25391 using field_type = SgStringList;
25392 static constexpr size_t position{14};
25393 static constexpr char const *
const name{
"libraryDirectorySpecifierList"};
25394 static constexpr char const *
const typestr{
"SgStringList"};
25395 static constexpr bool traverse{
false};
25397 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25398 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_libraryDirectorySpecifierList>;
25402 using field_type = SgStringList;
25403 static constexpr size_t position{15};
25404 static constexpr char const *
const name{
"includeDirectorySpecifierList"};
25405 static constexpr char const *
const typestr{
"SgStringList"};
25406 static constexpr bool traverse{
false};
25408 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25409 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_includeDirectorySpecifierList>;
25413 using field_type = SgStringList;
25414 static constexpr size_t position{16};
25415 static constexpr char const *
const name{
"macroSpecifierList"};
25416 static constexpr char const *
const typestr{
"SgStringList"};
25417 static constexpr bool traverse{
false};
25418 static constexpr auto mbr_ptr{&SgProject::p_macroSpecifierList};
25419 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25420 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_macroSpecifierList>;
25424 using field_type = SgStringList;
25425 static constexpr size_t position{17};
25426 static constexpr char const *
const name{
"preincludeFileList"};
25427 static constexpr char const *
const typestr{
"SgStringList"};
25428 static constexpr bool traverse{
false};
25429 static constexpr auto mbr_ptr{&SgProject::p_preincludeFileList};
25430 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25431 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_preincludeFileList>;
25435 using field_type = SgStringList;
25436 static constexpr size_t position{18};
25437 static constexpr char const *
const name{
"preincludeDirectoryList"};
25438 static constexpr char const *
const typestr{
"SgStringList"};
25439 static constexpr bool traverse{
false};
25440 static constexpr auto mbr_ptr{&SgProject::p_preincludeDirectoryList};
25441 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25442 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_preincludeDirectoryList>;
25446 using field_type = bool;
25447 static constexpr size_t position{19};
25448 static constexpr char const *
const name{
"compileOnly"};
25449 static constexpr char const *
const typestr{
"bool"};
25450 static constexpr bool traverse{
false};
25452 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25453 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_compileOnly>;
25457 using field_type = bool;
25458 static constexpr size_t position{20};
25459 static constexpr char const *
const name{
"wave"};
25460 static constexpr char const *
const typestr{
"bool"};
25461 static constexpr bool traverse{
false};
25462 static constexpr auto mbr_ptr{&SgProject::p_wave};
25463 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25464 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_wave>;
25468 using field_type = bool;
25469 static constexpr size_t position{21};
25470 static constexpr char const *
const name{
"prelink"};
25471 static constexpr char const *
const typestr{
"bool"};
25472 static constexpr bool traverse{
false};
25474 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25475 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_prelink>;
25480 static constexpr size_t position{22};
25481 static constexpr char const *
const name{
"template_instantiation_mode"};
25482 static constexpr char const *
const typestr{
"SgProject::template_instantiation_enum"};
25483 static constexpr bool traverse{
false};
25485 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25486 using bind = Desc<SgProject, SgProject::template_instantiation_enum SgProject::*, &SgProject::p_template_instantiation_mode>;
25490 using field_type = bool;
25491 static constexpr size_t position{23};
25492 static constexpr char const *
const name{
"ast_merge"};
25493 static constexpr char const *
const typestr{
"bool"};
25494 static constexpr bool traverse{
false};
25495 static constexpr auto mbr_ptr{&SgProject::p_ast_merge};
25496 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25497 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_ast_merge>;
25501 using field_type = std::string;
25502 static constexpr size_t position{24};
25503 static constexpr char const *
const name{
"projectSpecificDatabaseFile"};
25504 static constexpr char const *
const typestr{
"std::string"};
25505 static constexpr bool traverse{
false};
25506 static constexpr auto mbr_ptr{&SgProject::p_projectSpecificDatabaseFile};
25507 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25508 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_projectSpecificDatabaseFile>;
25512 using field_type = bool;
25513 static constexpr size_t position{25};
25514 static constexpr char const *
const name{
"C_PreprocessorOnly"};
25515 static constexpr char const *
const typestr{
"bool"};
25516 static constexpr bool traverse{
false};
25517 static constexpr auto mbr_ptr{&SgProject::p_C_PreprocessorOnly};
25518 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25519 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_C_PreprocessorOnly>;
25524 static constexpr size_t position{26};
25525 static constexpr char const *
const name{
"attributeMechanism"};
25526 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
25527 static constexpr bool traverse{
false};
25528 static constexpr auto mbr_ptr{&SgProject::p_attributeMechanism};
25529 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25530 using bind = Desc<SgProject, AstAttributeMechanism* SgProject::*, &SgProject::p_attributeMechanism>;
25534 using field_type = std::string;
25535 static constexpr size_t position{27};
25536 static constexpr char const *
const name{
"compilationPerformanceFile"};
25537 static constexpr char const *
const typestr{
"std::string"};
25538 static constexpr bool traverse{
false};
25539 static constexpr auto mbr_ptr{&SgProject::p_compilationPerformanceFile};
25540 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25541 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_compilationPerformanceFile>;
25545 using field_type = SgStringList;
25546 static constexpr size_t position{28};
25547 static constexpr char const *
const name{
"includePathList"};
25548 static constexpr char const *
const typestr{
"SgStringList"};
25549 static constexpr bool traverse{
false};
25550 static constexpr auto mbr_ptr{&SgProject::p_includePathList};
25551 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25552 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_includePathList>;
25556 using field_type = SgStringList;
25557 static constexpr size_t position{29};
25558 static constexpr char const *
const name{
"excludePathList"};
25559 static constexpr char const *
const typestr{
"SgStringList"};
25560 static constexpr bool traverse{
false};
25561 static constexpr auto mbr_ptr{&SgProject::p_excludePathList};
25562 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25563 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_excludePathList>;
25567 using field_type = SgStringList;
25568 static constexpr size_t position{30};
25569 static constexpr char const *
const name{
"includeFileList"};
25570 static constexpr char const *
const typestr{
"SgStringList"};
25571 static constexpr bool traverse{
false};
25572 static constexpr auto mbr_ptr{&SgProject::p_includeFileList};
25573 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25574 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_includeFileList>;
25578 using field_type = SgStringList;
25579 static constexpr size_t position{31};
25580 static constexpr char const *
const name{
"excludeFileList"};
25581 static constexpr char const *
const typestr{
"SgStringList"};
25582 static constexpr bool traverse{
false};
25583 static constexpr auto mbr_ptr{&SgProject::p_excludeFileList};
25584 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25585 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_excludeFileList>;
25589 using field_type = bool;
25590 static constexpr size_t position{32};
25591 static constexpr char const *
const name{
"binary_only"};
25592 static constexpr char const *
const typestr{
"bool"};
25593 static constexpr bool traverse{
false};
25594 static constexpr auto mbr_ptr{&SgProject::p_binary_only};
25595 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25596 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_binary_only>;
25600 using field_type = std::string;
25601 static constexpr size_t position{33};
25602 static constexpr char const *
const name{
"dataBaseFilename"};
25603 static constexpr char const *
const typestr{
"std::string"};
25604 static constexpr bool traverse{
false};
25605 static constexpr auto mbr_ptr{&SgProject::p_dataBaseFilename};
25606 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25607 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_dataBaseFilename>;
25612 static constexpr size_t position{34};
25613 static constexpr char const *
const name{
"directoryList"};
25614 static constexpr char const *
const typestr{
"SgDirectoryList*"};
25615 static constexpr bool traverse{
false};
25616 static constexpr auto mbr_ptr{&SgProject::p_directoryList};
25617 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25618 using bind = Desc<SgProject, SgDirectoryList* SgProject::*, &SgProject::p_directoryList>;
25622 using field_type = bool;
25623 static constexpr size_t position{35};
25624 static constexpr char const *
const name{
"C_only"};
25625 static constexpr char const *
const typestr{
"bool"};
25626 static constexpr bool traverse{
false};
25627 static constexpr auto mbr_ptr{&SgProject::p_C_only};
25628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25629 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_C_only>;
25633 using field_type = bool;
25634 static constexpr size_t position{36};
25635 static constexpr char const *
const name{
"Cxx_only"};
25636 static constexpr char const *
const typestr{
"bool"};
25637 static constexpr bool traverse{
false};
25638 static constexpr auto mbr_ptr{&SgProject::p_Cxx_only};
25639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25640 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Cxx_only>;
25644 using field_type = bool;
25645 static constexpr size_t position{37};
25646 static constexpr char const *
const name{
"C11_only"};
25647 static constexpr char const *
const typestr{
"bool"};
25648 static constexpr bool traverse{
false};
25649 static constexpr auto mbr_ptr{&SgProject::p_C11_only};
25650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25651 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_C11_only>;
25655 using field_type = bool;
25656 static constexpr size_t position{38};
25657 static constexpr char const *
const name{
"Cxx0x_only"};
25658 static constexpr char const *
const typestr{
"bool"};
25659 static constexpr bool traverse{
false};
25660 static constexpr auto mbr_ptr{&SgProject::p_Cxx0x_only};
25661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25662 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Cxx0x_only>;
25666 using field_type = bool;
25667 static constexpr size_t position{39};
25668 static constexpr char const *
const name{
"Cxx11_only"};
25669 static constexpr char const *
const typestr{
"bool"};
25670 static constexpr bool traverse{
false};
25671 static constexpr auto mbr_ptr{&SgProject::p_Cxx11_only};
25672 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25673 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Cxx11_only>;
25677 using field_type = bool;
25678 static constexpr size_t position{40};
25679 static constexpr char const *
const name{
"C14_only"};
25680 static constexpr char const *
const typestr{
"bool"};
25681 static constexpr bool traverse{
false};
25682 static constexpr auto mbr_ptr{&SgProject::p_C14_only};
25683 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25684 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_C14_only>;
25688 using field_type = bool;
25689 static constexpr size_t position{41};
25690 static constexpr char const *
const name{
"Cxx14_only"};
25691 static constexpr char const *
const typestr{
"bool"};
25692 static constexpr bool traverse{
false};
25693 static constexpr auto mbr_ptr{&SgProject::p_Cxx14_only};
25694 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25695 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Cxx14_only>;
25699 using field_type = bool;
25700 static constexpr size_t position{42};
25701 static constexpr char const *
const name{
"Fortran_only"};
25702 static constexpr char const *
const typestr{
"bool"};
25703 static constexpr bool traverse{
false};
25704 static constexpr auto mbr_ptr{&SgProject::p_Fortran_only};
25705 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25706 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Fortran_only>;
25710 using field_type = std::list<std::string>;
25711 static constexpr size_t position{43};
25712 static constexpr char const *
const name{
"Fortran_ofp_jvm_options"};
25713 static constexpr char const *
const typestr{
"std::list<std::string>"};
25714 static constexpr bool traverse{
false};
25715 static constexpr auto mbr_ptr{&SgProject::p_Fortran_ofp_jvm_options};
25716 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25717 using bind = Desc<SgProject, std::list<std::string>
SgProject::*, &SgProject::p_Fortran_ofp_jvm_options>;
25721 using field_type = bool;
25722 static constexpr size_t position{44};
25723 static constexpr char const *
const name{
"Java_only"};
25724 static constexpr char const *
const typestr{
"bool"};
25725 static constexpr bool traverse{
false};
25726 static constexpr auto mbr_ptr{&SgProject::p_Java_only};
25727 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25728 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Java_only>;
25732 using field_type = bool;
25733 static constexpr size_t position{45};
25734 static constexpr char const *
const name{
"Jvm_only"};
25735 static constexpr char const *
const typestr{
"bool"};
25736 static constexpr bool traverse{
false};
25737 static constexpr auto mbr_ptr{&SgProject::p_Jvm_only};
25738 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25739 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Jvm_only>;
25743 using field_type = bool;
25744 static constexpr size_t position{46};
25745 static constexpr char const *
const name{
"Jovial_only"};
25746 static constexpr char const *
const typestr{
"bool"};
25747 static constexpr bool traverse{
false};
25748 static constexpr auto mbr_ptr{&SgProject::p_Jovial_only};
25749 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25750 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Jovial_only>;
25754 using field_type = bool;
25755 static constexpr size_t position{47};
25756 static constexpr char const *
const name{
"Ada_only"};
25757 static constexpr char const *
const typestr{
"bool"};
25758 static constexpr bool traverse{
false};
25759 static constexpr auto mbr_ptr{&SgProject::p_Ada_only};
25760 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25761 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Ada_only>;
25765 using field_type = bool;
25766 static constexpr size_t position{48};
25767 static constexpr char const *
const name{
"openmp_linking"};
25768 static constexpr char const *
const typestr{
"bool"};
25769 static constexpr bool traverse{
false};
25771 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25772 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_openmp_linking>;
25776 using field_type = std::list<std::string>;
25777 static constexpr size_t position{49};
25778 static constexpr char const *
const name{
"Java_ecj_jvm_options"};
25779 static constexpr char const *
const typestr{
"std::list<std::string>"};
25780 static constexpr bool traverse{
false};
25781 static constexpr auto mbr_ptr{&SgProject::p_Java_ecj_jvm_options};
25782 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25783 using bind = Desc<SgProject, std::list<std::string>
SgProject::*, &SgProject::p_Java_ecj_jvm_options>;
25787 using field_type = bool;
25788 static constexpr size_t position{50};
25789 static constexpr char const *
const name{
"Java_batch_mode"};
25790 static constexpr char const *
const typestr{
"bool"};
25791 static constexpr bool traverse{
false};
25792 static constexpr auto mbr_ptr{&SgProject::p_Java_batch_mode};
25793 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25794 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Java_batch_mode>;
25798 using field_type = std::list<std::string>;
25799 static constexpr size_t position{51};
25800 static constexpr char const *
const name{
"Java_classpath"};
25801 static constexpr char const *
const typestr{
"std::list<std::string>"};
25802 static constexpr bool traverse{
false};
25803 static constexpr auto mbr_ptr{&SgProject::p_Java_classpath};
25804 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25805 using bind = Desc<SgProject, std::list<std::string>
SgProject::*, &SgProject::p_Java_classpath>;
25809 using field_type = std::list<std::string>;
25810 static constexpr size_t position{52};
25811 static constexpr char const *
const name{
"Java_sourcepath"};
25812 static constexpr char const *
const typestr{
"std::list<std::string>"};
25813 static constexpr bool traverse{
false};
25814 static constexpr auto mbr_ptr{&SgProject::p_Java_sourcepath};
25815 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25816 using bind = Desc<SgProject, std::list<std::string>
SgProject::*, &SgProject::p_Java_sourcepath>;
25820 using field_type = std::string;
25821 static constexpr size_t position{53};
25822 static constexpr char const *
const name{
"Java_destdir"};
25823 static constexpr char const *
const typestr{
"std::string"};
25824 static constexpr bool traverse{
false};
25825 static constexpr auto mbr_ptr{&SgProject::p_Java_destdir};
25826 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25827 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_Java_destdir>;
25831 using field_type = std::string;
25832 static constexpr size_t position{54};
25833 static constexpr char const *
const name{
"Java_source_destdir"};
25834 static constexpr char const *
const typestr{
"std::string"};
25835 static constexpr bool traverse{
false};
25836 static constexpr auto mbr_ptr{&SgProject::p_Java_source_destdir};
25837 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25838 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_Java_source_destdir>;
25842 using field_type = std::string;
25843 static constexpr size_t position{55};
25844 static constexpr char const *
const name{
"Java_s"};
25845 static constexpr char const *
const typestr{
"std::string"};
25846 static constexpr bool traverse{
false};
25847 static constexpr auto mbr_ptr{&SgProject::p_Java_s};
25848 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25849 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_Java_s>;
25853 using field_type = std::string;
25854 static constexpr size_t position{56};
25855 static constexpr char const *
const name{
"Java_source"};
25856 static constexpr char const *
const typestr{
"std::string"};
25857 static constexpr bool traverse{
false};
25858 static constexpr auto mbr_ptr{&SgProject::p_Java_source};
25859 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25860 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_Java_source>;
25864 using field_type = std::string;
25865 static constexpr size_t position{57};
25866 static constexpr char const *
const name{
"Java_target"};
25867 static constexpr char const *
const typestr{
"std::string"};
25868 static constexpr bool traverse{
false};
25869 static constexpr auto mbr_ptr{&SgProject::p_Java_target};
25870 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25871 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_Java_target>;
25875 using field_type = std::string;
25876 static constexpr size_t position{58};
25877 static constexpr char const *
const name{
"Java_encoding"};
25878 static constexpr char const *
const typestr{
"std::string"};
25879 static constexpr bool traverse{
false};
25880 static constexpr auto mbr_ptr{&SgProject::p_Java_encoding};
25881 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25882 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_Java_encoding>;
25886 using field_type = std::string;
25887 static constexpr size_t position{59};
25888 static constexpr char const *
const name{
"Java_g"};
25889 static constexpr char const *
const typestr{
"std::string"};
25890 static constexpr bool traverse{
false};
25891 static constexpr auto mbr_ptr{&SgProject::p_Java_g};
25892 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25893 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_Java_g>;
25897 using field_type = bool;
25898 static constexpr size_t position{60};
25899 static constexpr char const *
const name{
"Java_nowarn"};
25900 static constexpr char const *
const typestr{
"bool"};
25901 static constexpr bool traverse{
false};
25902 static constexpr auto mbr_ptr{&SgProject::p_Java_nowarn};
25903 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25904 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Java_nowarn>;
25908 using field_type = bool;
25909 static constexpr size_t position{61};
25910 static constexpr char const *
const name{
"Java_verbose"};
25911 static constexpr char const *
const typestr{
"bool"};
25912 static constexpr bool traverse{
false};
25913 static constexpr auto mbr_ptr{&SgProject::p_Java_verbose};
25914 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25915 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Java_verbose>;
25919 using field_type = bool;
25920 static constexpr size_t position{62};
25921 static constexpr char const *
const name{
"Java_deprecation"};
25922 static constexpr char const *
const typestr{
"bool"};
25923 static constexpr bool traverse{
false};
25924 static constexpr auto mbr_ptr{&SgProject::p_Java_deprecation};
25925 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25926 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_Java_deprecation>;
25930 using field_type = std::list<std::string>;
25931 static constexpr size_t position{63};
25932 static constexpr char const *
const name{
"Java_bootclasspath"};
25933 static constexpr char const *
const typestr{
"std::list<std::string>"};
25934 static constexpr bool traverse{
false};
25935 static constexpr auto mbr_ptr{&SgProject::p_Java_bootclasspath};
25936 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25937 using bind = Desc<SgProject, std::list<std::string>
SgProject::*, &SgProject::p_Java_bootclasspath>;
25941 using field_type = bool;
25942 static constexpr size_t position{64};
25943 static constexpr char const *
const name{
"addCppDirectivesToAST"};
25944 static constexpr char const *
const typestr{
"bool"};
25945 static constexpr bool traverse{
false};
25946 static constexpr auto mbr_ptr{&SgProject::p_addCppDirectivesToAST};
25947 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25948 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_addCppDirectivesToAST>;
25950template <>
struct describe_field_t<
SgProject,std::map<std::string, std::set<PreprocessingInfo*> >,&SgProject::p_includingPreprocessingInfosMap> {
25952 using field_type = std::map<std::string, std::set<PreprocessingInfo*> >;
25953 static constexpr size_t position{65};
25954 static constexpr char const *
const name{
"includingPreprocessingInfosMap"};
25955 static constexpr char const *
const typestr{
"std::map<std::string, std::set<PreprocessingInfo*> >"};
25956 static constexpr bool traverse{
false};
25957 static constexpr auto mbr_ptr{&SgProject::p_includingPreprocessingInfosMap};
25958 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25959 using bind = Desc<SgProject, std::map<std::string, std::set<PreprocessingInfo*> >
SgProject::*, &SgProject::p_includingPreprocessingInfosMap>;
25963 using field_type = std::list<std::string>;
25964 static constexpr size_t position{66};
25965 static constexpr char const *
const name{
"quotedIncludesSearchPaths"};
25966 static constexpr char const *
const typestr{
"std::list<std::string>"};
25967 static constexpr bool traverse{
false};
25968 static constexpr auto mbr_ptr{&SgProject::p_quotedIncludesSearchPaths};
25969 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25970 using bind = Desc<SgProject, std::list<std::string>
SgProject::*, &SgProject::p_quotedIncludesSearchPaths>;
25974 using field_type = std::list<std::string>;
25975 static constexpr size_t position{67};
25976 static constexpr char const *
const name{
"bracketedIncludesSearchPaths"};
25977 static constexpr char const *
const typestr{
"std::list<std::string>"};
25978 static constexpr bool traverse{
false};
25979 static constexpr auto mbr_ptr{&SgProject::p_bracketedIncludesSearchPaths};
25980 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25981 using bind = Desc<SgProject, std::list<std::string>
SgProject::*, &SgProject::p_bracketedIncludesSearchPaths>;
25985 using field_type = std::string;
25986 static constexpr size_t position{68};
25987 static constexpr char const *
const name{
"unparseHeaderFilesRootFolder"};
25988 static constexpr char const *
const typestr{
"std::string"};
25989 static constexpr bool traverse{
false};
25990 static constexpr auto mbr_ptr{&SgProject::p_unparseHeaderFilesRootFolder};
25991 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
25992 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_unparseHeaderFilesRootFolder>;
25996 using field_type = bool;
25997 static constexpr size_t position{69};
25998 static constexpr char const *
const name{
"frontendConstantFolding"};
25999 static constexpr char const *
const typestr{
"bool"};
26000 static constexpr bool traverse{
false};
26001 static constexpr auto mbr_ptr{&SgProject::p_frontendConstantFolding};
26002 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26003 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_frontendConstantFolding>;
26008 static constexpr size_t position{70};
26009 static constexpr char const *
const name{
"globalScopeAcrossFiles"};
26010 static constexpr char const *
const typestr{
"SgGlobal*"};
26011 static constexpr bool traverse{
false};
26012 static constexpr auto mbr_ptr{&SgProject::p_globalScopeAcrossFiles};
26013 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26014 using bind = Desc<SgProject, SgGlobal* SgProject::*, &SgProject::p_globalScopeAcrossFiles>;
26018 using field_type = bool;
26019 static constexpr size_t position{71};
26020 static constexpr char const *
const name{
"unparse_in_same_directory_as_input_file"};
26021 static constexpr char const *
const typestr{
"bool"};
26022 static constexpr bool traverse{
false};
26023 static constexpr auto mbr_ptr{&SgProject::p_unparse_in_same_directory_as_input_file};
26024 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26025 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_unparse_in_same_directory_as_input_file>;
26029 using field_type = bool;
26030 static constexpr size_t position{72};
26031 static constexpr char const *
const name{
"stop_after_compilation_do_not_assemble_file"};
26032 static constexpr char const *
const typestr{
"bool"};
26033 static constexpr bool traverse{
false};
26034 static constexpr auto mbr_ptr{&SgProject::p_stop_after_compilation_do_not_assemble_file};
26035 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26036 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_stop_after_compilation_do_not_assemble_file>;
26040 using field_type = std::string;
26041 static constexpr size_t position{73};
26042 static constexpr char const *
const name{
"gnuOptionForUndefinedSymbol"};
26043 static constexpr char const *
const typestr{
"std::string"};
26044 static constexpr bool traverse{
false};
26045 static constexpr auto mbr_ptr{&SgProject::p_gnuOptionForUndefinedSymbol};
26046 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26047 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_gnuOptionForUndefinedSymbol>;
26051 using field_type = bool;
26052 static constexpr size_t position{74};
26053 static constexpr char const *
const name{
"mode_32_bit"};
26054 static constexpr char const *
const typestr{
"bool"};
26055 static constexpr bool traverse{
false};
26056 static constexpr auto mbr_ptr{&SgProject::p_mode_32_bit};
26057 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26058 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_mode_32_bit>;
26062 using field_type = bool;
26063 static constexpr size_t position{75};
26064 static constexpr char const *
const name{
"noclobber_output_file"};
26065 static constexpr char const *
const typestr{
"bool"};
26066 static constexpr bool traverse{
false};
26067 static constexpr auto mbr_ptr{&SgProject::p_noclobber_output_file};
26068 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26069 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_noclobber_output_file>;
26073 using field_type = bool;
26074 static constexpr size_t position{76};
26075 static constexpr char const *
const name{
"noclobber_if_different_output_file"};
26076 static constexpr char const *
const typestr{
"bool"};
26077 static constexpr bool traverse{
false};
26078 static constexpr auto mbr_ptr{&SgProject::p_noclobber_if_different_output_file};
26079 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26080 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_noclobber_if_different_output_file>;
26084 using field_type = bool;
26085 static constexpr size_t position{77};
26086 static constexpr char const *
const name{
"suppressConstantFoldingPostProcessing"};
26087 static constexpr char const *
const typestr{
"bool"};
26088 static constexpr bool traverse{
false};
26089 static constexpr auto mbr_ptr{&SgProject::p_suppressConstantFoldingPostProcessing};
26090 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26091 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_suppressConstantFoldingPostProcessing>;
26095 using field_type = bool;
26096 static constexpr size_t position{78};
26097 static constexpr char const *
const name{
"appendPID"};
26098 static constexpr char const *
const typestr{
"bool"};
26099 static constexpr bool traverse{
false};
26100 static constexpr auto mbr_ptr{&SgProject::p_appendPID};
26101 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26102 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_appendPID>;
26106 using field_type = bool;
26107 static constexpr size_t position{79};
26108 static constexpr char const *
const name{
"reportOnHeaderFileUnparsing"};
26109 static constexpr char const *
const typestr{
"bool"};
26110 static constexpr bool traverse{
false};
26111 static constexpr auto mbr_ptr{&SgProject::p_reportOnHeaderFileUnparsing};
26112 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26113 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_reportOnHeaderFileUnparsing>;
26117 using field_type = std::string;
26118 static constexpr size_t position{80};
26119 static constexpr char const *
const name{
"applicationRootDirectory"};
26120 static constexpr char const *
const typestr{
"std::string"};
26121 static constexpr bool traverse{
false};
26122 static constexpr auto mbr_ptr{&SgProject::p_applicationRootDirectory};
26123 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26124 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_applicationRootDirectory>;
26128 using field_type = bool;
26129 static constexpr size_t position{81};
26130 static constexpr char const *
const name{
"usingApplicationRootDirectory"};
26131 static constexpr char const *
const typestr{
"bool"};
26132 static constexpr bool traverse{
false};
26133 static constexpr auto mbr_ptr{&SgProject::p_usingApplicationRootDirectory};
26134 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26135 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_usingApplicationRootDirectory>;
26139 using field_type = bool;
26140 static constexpr size_t position{82};
26141 static constexpr char const *
const name{
"usingDeferredTransformations"};
26142 static constexpr char const *
const typestr{
"bool"};
26143 static constexpr bool traverse{
false};
26144 static constexpr auto mbr_ptr{&SgProject::p_usingDeferredTransformations};
26145 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26146 using bind = Desc<SgProject, bool SgProject::*, &SgProject::p_usingDeferredTransformations>;
26150 using field_type = std::string;
26151 static constexpr size_t position{83};
26152 static constexpr char const *
const name{
"astfile_out"};
26153 static constexpr char const *
const typestr{
"std::string"};
26154 static constexpr bool traverse{
false};
26155 static constexpr auto mbr_ptr{&SgProject::p_astfile_out};
26156 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26157 using bind = Desc<SgProject, std::string SgProject::*, &SgProject::p_astfile_out>;
26161 using field_type = std::list<std::string>;
26162 static constexpr size_t position{84};
26163 static constexpr char const *
const name{
"astfiles_in"};
26164 static constexpr char const *
const typestr{
"std::list<std::string>"};
26165 static constexpr bool traverse{
false};
26166 static constexpr auto mbr_ptr{&SgProject::p_astfiles_in};
26167 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26168 using bind = Desc<SgProject, std::list<std::string>
SgProject::*, &SgProject::p_astfiles_in>;
26172 using field_type = SgStringList;
26173 static constexpr size_t position{85};
26174 static constexpr char const *
const name{
"extraIncludeDirectorySpecifierBeforeList"};
26175 static constexpr char const *
const typestr{
"SgStringList"};
26176 static constexpr bool traverse{
false};
26177 static constexpr auto mbr_ptr{&SgProject::p_extraIncludeDirectorySpecifierBeforeList};
26178 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26179 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_extraIncludeDirectorySpecifierBeforeList>;
26183 using field_type = SgStringList;
26184 static constexpr size_t position{86};
26185 static constexpr char const *
const name{
"extraIncludeDirectorySpecifierAfterList"};
26186 static constexpr char const *
const typestr{
"SgStringList"};
26187 static constexpr bool traverse{
false};
26188 static constexpr auto mbr_ptr{&SgProject::p_extraIncludeDirectorySpecifierAfterList};
26189 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26190 using bind = Desc<SgProject, SgStringList SgProject::*, &SgProject::p_extraIncludeDirectorySpecifierAfterList>;
26195 static constexpr char const *
const name{
"Project"};
26196 static constexpr unsigned long variant{657};
26197 static constexpr bool concrete{
true};
26199 using fields_t =
mp::List<describe_field_t<SgProject,SgFileList*,&SgProject::p_fileList_ptr>,
describe_field_t<SgProject,SgStringList,&SgProject::p_originalCommandLineArgumentList>,
describe_field_t<SgProject,int,&SgProject::p_frontendErrorCode>,
describe_field_t<SgProject,int,&SgProject::p_javacErrorCode>,
describe_field_t<SgProject,int,&SgProject::p_ecjErrorCode>,
describe_field_t<SgProject,int,&SgProject::p_midendErrorCode>,
describe_field_t<SgProject,int,&SgProject::p_backendErrorCode>,
describe_field_t<SgProject,bool,&SgProject::p_keep_going>,
describe_field_t<SgProject,bool,&SgProject::p_unparser__clobber_input_file>,
describe_field_t<SgProject,std::string,&SgProject::p_outputFileName>,
describe_field_t<SgProject,SgStringList,&SgProject::p_sourceFileNameList>,
describe_field_t<SgProject,SgStringList,&SgProject::p_objectFileNameList>,
describe_field_t<SgProject,SgStringList,&SgProject::p_libraryFileList>,
describe_field_t<SgProject,SgStringList,&SgProject::p_librarySpecifierList>,
describe_field_t<SgProject,SgStringList,&SgProject::p_libraryDirectorySpecifierList>,
describe_field_t<SgProject,SgStringList,&SgProject::p_includeDirectorySpecifierList>,
describe_field_t<SgProject,SgStringList,&SgProject::p_macroSpecifierList>,
describe_field_t<SgProject,SgStringList,&SgProject::p_preincludeFileList>,
describe_field_t<SgProject,SgStringList,&SgProject::p_preincludeDirectoryList>,
describe_field_t<SgProject,bool,&SgProject::p_compileOnly>,
describe_field_t<SgProject,bool,&SgProject::p_wave>,
describe_field_t<SgProject,bool,&SgProject::p_prelink>,
describe_field_t<SgProject,SgProject::template_instantiation_enum,&SgProject::p_template_instantiation_mode>,
describe_field_t<SgProject,bool,&SgProject::p_ast_merge>,
describe_field_t<SgProject,std::string,&SgProject::p_projectSpecificDatabaseFile>,
describe_field_t<SgProject,bool,&SgProject::p_C_PreprocessorOnly>,
describe_field_t<SgProject,AstAttributeMechanism*,&SgProject::p_attributeMechanism>,
describe_field_t<SgProject,std::string,&SgProject::p_compilationPerformanceFile>,
describe_field_t<SgProject,SgStringList,&SgProject::p_includePathList>,
describe_field_t<SgProject,SgStringList,&SgProject::p_excludePathList>,
describe_field_t<SgProject,SgStringList,&SgProject::p_includeFileList>,
describe_field_t<SgProject,SgStringList,&SgProject::p_excludeFileList>,
describe_field_t<SgProject,bool,&SgProject::p_binary_only>,
describe_field_t<SgProject,std::string,&SgProject::p_dataBaseFilename>,
describe_field_t<SgProject,SgDirectoryList*,&SgProject::p_directoryList>,
describe_field_t<SgProject,bool,&SgProject::p_C_only>,
describe_field_t<SgProject,bool,&SgProject::p_Cxx_only>,
describe_field_t<SgProject,bool,&SgProject::p_C11_only>,
describe_field_t<SgProject,bool,&SgProject::p_Cxx0x_only>,
describe_field_t<SgProject,bool,&SgProject::p_Cxx11_only>,
describe_field_t<SgProject,bool,&SgProject::p_C14_only>,
describe_field_t<SgProject,bool,&SgProject::p_Cxx14_only>,
describe_field_t<SgProject,bool,&SgProject::p_Fortran_only>,
describe_field_t<SgProject,std::list<std::string>,&SgProject::p_Fortran_ofp_jvm_options>,
describe_field_t<SgProject,bool,&SgProject::p_Java_only>,
describe_field_t<SgProject,bool,&SgProject::p_Jvm_only>,
describe_field_t<SgProject,bool,&SgProject::p_Jovial_only>,
describe_field_t<SgProject,bool,&SgProject::p_Ada_only>,
describe_field_t<SgProject,bool,&SgProject::p_openmp_linking>,
describe_field_t<SgProject,std::list<std::string>,&SgProject::p_Java_ecj_jvm_options>,
describe_field_t<SgProject,bool,&SgProject::p_Java_batch_mode>,
describe_field_t<SgProject,std::list<std::string>,&SgProject::p_Java_classpath>,
describe_field_t<SgProject,std::list<std::string>,&SgProject::p_Java_sourcepath>,
describe_field_t<SgProject,std::string,&SgProject::p_Java_destdir>,
describe_field_t<SgProject,std::string,&SgProject::p_Java_source_destdir>,
describe_field_t<SgProject,std::string,&SgProject::p_Java_s>,
describe_field_t<SgProject,std::string,&SgProject::p_Java_source>,
describe_field_t<SgProject,std::string,&SgProject::p_Java_target>,
describe_field_t<SgProject,std::string,&SgProject::p_Java_encoding>,
describe_field_t<SgProject,std::string,&SgProject::p_Java_g>,
describe_field_t<SgProject,bool,&SgProject::p_Java_nowarn>,
describe_field_t<SgProject,bool,&SgProject::p_Java_verbose>,
describe_field_t<SgProject,bool,&SgProject::p_Java_deprecation>,
describe_field_t<SgProject,std::list<std::string>,&SgProject::p_Java_bootclasspath>,
describe_field_t<SgProject,bool,&SgProject::p_addCppDirectivesToAST>,
describe_field_t<SgProject,std::map<std::string, std::set<PreprocessingInfo*> >,&SgProject::p_includingPreprocessingInfosMap>,
describe_field_t<SgProject,std::list<std::string>,&SgProject::p_quotedIncludesSearchPaths>,
describe_field_t<SgProject,std::list<std::string>,&SgProject::p_bracketedIncludesSearchPaths>,
describe_field_t<SgProject,std::string,&SgProject::p_unparseHeaderFilesRootFolder>,
describe_field_t<SgProject,bool,&SgProject::p_frontendConstantFolding>,
describe_field_t<SgProject,SgGlobal*,&SgProject::p_globalScopeAcrossFiles>,
describe_field_t<SgProject,bool,&SgProject::p_unparse_in_same_directory_as_input_file>,
describe_field_t<SgProject,bool,&SgProject::p_stop_after_compilation_do_not_assemble_file>,
describe_field_t<SgProject,std::string,&SgProject::p_gnuOptionForUndefinedSymbol>,
describe_field_t<SgProject,bool,&SgProject::p_mode_32_bit>,
describe_field_t<SgProject,bool,&SgProject::p_noclobber_output_file>,
describe_field_t<SgProject,bool,&SgProject::p_noclobber_if_different_output_file>,
describe_field_t<SgProject,bool,&SgProject::p_suppressConstantFoldingPostProcessing>,
describe_field_t<SgProject,bool,&SgProject::p_appendPID>,
describe_field_t<SgProject,bool,&SgProject::p_reportOnHeaderFileUnparsing>,
describe_field_t<SgProject,std::string,&SgProject::p_applicationRootDirectory>,
describe_field_t<SgProject,bool,&SgProject::p_usingApplicationRootDirectory>,
describe_field_t<SgProject,bool,&SgProject::p_usingDeferredTransformations>,
describe_field_t<SgProject,std::string,&SgProject::p_astfile_out>,
describe_field_t<SgProject,std::list<std::string>,&SgProject::p_astfiles_in>,
describe_field_t<SgProject,SgStringList,&SgProject::p_extraIncludeDirectorySpecifierBeforeList>,
describe_field_t<SgProject,SgStringList,&SgProject::p_extraIncludeDirectorySpecifierAfterList>>;
26207 static constexpr size_t position{0};
26208 static constexpr char const *
const name{
"object_type"};
26209 static constexpr char const *
const typestr{
"SgType*"};
26210 static constexpr bool traverse{
false};
26211 static constexpr auto mbr_ptr{&SgPseudoDestructorRefExp::p_object_type};
26212 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26213 using bind = Desc<SgPseudoDestructorRefExp, SgType* SgPseudoDestructorRefExp::*, &SgPseudoDestructorRefExp::p_object_type>;
26218 static constexpr size_t position{1};
26219 static constexpr char const *
const name{
"expression_type"};
26220 static constexpr char const *
const typestr{
"SgType*"};
26221 static constexpr bool traverse{
false};
26222 static constexpr auto mbr_ptr{&SgPseudoDestructorRefExp::p_expression_type};
26223 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26224 using bind = Desc<SgPseudoDestructorRefExp, SgType* SgPseudoDestructorRefExp::*, &SgPseudoDestructorRefExp::p_expression_type>;
26228 using field_type = int;
26229 static constexpr size_t position{2};
26230 static constexpr char const *
const name{
"name_qualification_length"};
26231 static constexpr char const *
const typestr{
"int"};
26232 static constexpr bool traverse{
false};
26233 static constexpr auto mbr_ptr{&SgPseudoDestructorRefExp::p_name_qualification_length};
26234 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26235 using bind = Desc<SgPseudoDestructorRefExp, int SgPseudoDestructorRefExp::*, &SgPseudoDestructorRefExp::p_name_qualification_length>;
26239 using field_type = bool;
26240 static constexpr size_t position{3};
26241 static constexpr char const *
const name{
"type_elaboration_required"};
26242 static constexpr char const *
const typestr{
"bool"};
26243 static constexpr bool traverse{
false};
26244 static constexpr auto mbr_ptr{&SgPseudoDestructorRefExp::p_type_elaboration_required};
26245 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26246 using bind = Desc<SgPseudoDestructorRefExp, bool SgPseudoDestructorRefExp::*, &SgPseudoDestructorRefExp::p_type_elaboration_required>;
26250 using field_type = bool;
26251 static constexpr size_t position{4};
26252 static constexpr char const *
const name{
"global_qualification_required"};
26253 static constexpr char const *
const typestr{
"bool"};
26254 static constexpr bool traverse{
false};
26255 static constexpr auto mbr_ptr{&SgPseudoDestructorRefExp::p_global_qualification_required};
26256 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26257 using bind = Desc<SgPseudoDestructorRefExp, bool SgPseudoDestructorRefExp::*, &SgPseudoDestructorRefExp::p_global_qualification_required>;
26262 static constexpr char const *
const name{
"PseudoDestructorRefExp"};
26263 static constexpr unsigned long variant{658};
26264 static constexpr bool concrete{
true};
26266 using fields_t =
mp::List<describe_field_t<SgPseudoDestructorRefExp,SgType*,&SgPseudoDestructorRefExp::p_object_type>,
describe_field_t<SgPseudoDestructorRefExp,SgType*,&SgPseudoDestructorRefExp::p_expression_type>,
describe_field_t<SgPseudoDestructorRefExp,int,&SgPseudoDestructorRefExp::p_name_qualification_length>,
describe_field_t<SgPseudoDestructorRefExp,bool,&SgPseudoDestructorRefExp::p_type_elaboration_required>,
describe_field_t<SgPseudoDestructorRefExp,bool,&SgPseudoDestructorRefExp::p_global_qualification_required>>;
26273 using field_type = SgInitializedNamePtrList;
26274 static constexpr size_t position{0};
26275 static constexpr char const *
const name{
"names"};
26276 static constexpr char const *
const typestr{
"SgInitializedNamePtrList"};
26277 static constexpr bool traverse{
true};
26279 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26280 using bind = Desc<SgPythonGlobalStmt, SgInitializedNamePtrList SgPythonGlobalStmt::*, &SgPythonGlobalStmt::p_names>;
26285 static constexpr char const *
const name{
"PythonGlobalStmt"};
26286 static constexpr unsigned long variant{659};
26287 static constexpr bool concrete{
true};
26297 static constexpr size_t position{0};
26298 static constexpr char const *
const name{
"destination"};
26299 static constexpr char const *
const typestr{
"SgExpression*"};
26300 static constexpr bool traverse{
true};
26301 static constexpr auto mbr_ptr{&SgPythonPrintStmt::p_destination};
26302 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26303 using bind = Desc<SgPythonPrintStmt, SgExpression* SgPythonPrintStmt::*, &SgPythonPrintStmt::p_destination>;
26308 static constexpr size_t position{1};
26309 static constexpr char const *
const name{
"values"};
26310 static constexpr char const *
const typestr{
"SgExprListExp*"};
26311 static constexpr bool traverse{
true};
26312 static constexpr auto mbr_ptr{&SgPythonPrintStmt::p_values};
26313 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26314 using bind = Desc<SgPythonPrintStmt, SgExprListExp* SgPythonPrintStmt::*, &SgPythonPrintStmt::p_values>;
26319 static constexpr char const *
const name{
"PythonPrintStmt"};
26320 static constexpr unsigned long variant{660};
26321 static constexpr bool concrete{
true};
26331 static constexpr size_t position{0};
26332 static constexpr char const *
const name{
"scope"};
26333 static constexpr char const *
const typestr{
"SgScopeStatement*"};
26334 static constexpr bool traverse{
false};
26335 static constexpr auto mbr_ptr{&SgQualifiedName::p_scope};
26336 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26337 using bind = Desc<SgQualifiedName, SgScopeStatement* SgQualifiedName::*, &SgQualifiedName::p_scope>;
26342 static constexpr char const *
const name{
"QualifiedName"};
26343 static constexpr unsigned long variant{661};
26344 static constexpr bool concrete{
true};
26354 static constexpr size_t position{0};
26355 static constexpr char const *
const name{
"base_type"};
26356 static constexpr char const *
const typestr{
"SgType*"};
26357 static constexpr bool traverse{
false};
26358 static constexpr auto mbr_ptr{&SgQualifiedNameType::p_base_type};
26359 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26360 using bind = Desc<SgQualifiedNameType, SgType* SgQualifiedNameType::*, &SgQualifiedNameType::p_base_type>;
26364 using field_type = SgQualifiedNamePtrList;
26365 static constexpr size_t position{1};
26366 static constexpr char const *
const name{
"qualifiedNameList"};
26367 static constexpr char const *
const typestr{
"SgQualifiedNamePtrList"};
26368 static constexpr bool traverse{
false};
26369 static constexpr auto mbr_ptr{&SgQualifiedNameType::p_qualifiedNameList};
26370 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26371 using bind = Desc<SgQualifiedNameType, SgQualifiedNamePtrList SgQualifiedNameType::*, &SgQualifiedNameType::p_qualifiedNameList>;
26376 static constexpr char const *
const name{
"QualifiedNameType"};
26377 static constexpr unsigned long variant{662};
26378 static constexpr bool concrete{
true};
26388 static constexpr size_t position{0};
26389 static constexpr char const *
const name{
"start"};
26390 static constexpr char const *
const typestr{
"SgExpression*"};
26391 static constexpr bool traverse{
true};
26392 static constexpr auto mbr_ptr{&SgRangeExp::p_start};
26393 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26394 using bind = Desc<SgRangeExp, SgExpression* SgRangeExp::*, &SgRangeExp::p_start>;
26399 static constexpr size_t position{1};
26400 static constexpr char const *
const name{
"end"};
26401 static constexpr char const *
const typestr{
"SgExpression*"};
26402 static constexpr bool traverse{
true};
26403 static constexpr auto mbr_ptr{&SgRangeExp::p_end};
26404 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26405 using bind = Desc<SgRangeExp, SgExpression* SgRangeExp::*, &SgRangeExp::p_end>;
26410 static constexpr size_t position{2};
26411 static constexpr char const *
const name{
"stride"};
26412 static constexpr char const *
const typestr{
"SgExpression*"};
26413 static constexpr bool traverse{
true};
26414 static constexpr auto mbr_ptr{&SgRangeExp::p_stride};
26415 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26416 using bind = Desc<SgRangeExp, SgExpression* SgRangeExp::*, &SgRangeExp::p_stride>;
26421 static constexpr char const *
const name{
"RangeExp"};
26422 static constexpr unsigned long variant{663};
26423 static constexpr bool concrete{
true};
26433 static constexpr size_t position{0};
26434 static constexpr char const *
const name{
"iterator_declaration"};
26435 static constexpr char const *
const typestr{
"SgVariableDeclaration*"};
26436 static constexpr bool traverse{
true};
26437 static constexpr auto mbr_ptr{&SgRangeBasedForStatement::p_iterator_declaration};
26438 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26439 using bind = Desc<SgRangeBasedForStatement, SgVariableDeclaration* SgRangeBasedForStatement::*, &SgRangeBasedForStatement::p_iterator_declaration>;
26444 static constexpr size_t position{1};
26445 static constexpr char const *
const name{
"range_declaration"};
26446 static constexpr char const *
const typestr{
"SgVariableDeclaration*"};
26447 static constexpr bool traverse{
true};
26448 static constexpr auto mbr_ptr{&SgRangeBasedForStatement::p_range_declaration};
26449 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26450 using bind = Desc<SgRangeBasedForStatement, SgVariableDeclaration* SgRangeBasedForStatement::*, &SgRangeBasedForStatement::p_range_declaration>;
26455 static constexpr size_t position{2};
26456 static constexpr char const *
const name{
"begin_declaration"};
26457 static constexpr char const *
const typestr{
"SgVariableDeclaration*"};
26458 static constexpr bool traverse{
true};
26459 static constexpr auto mbr_ptr{&SgRangeBasedForStatement::p_begin_declaration};
26460 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26461 using bind = Desc<SgRangeBasedForStatement, SgVariableDeclaration* SgRangeBasedForStatement::*, &SgRangeBasedForStatement::p_begin_declaration>;
26466 static constexpr size_t position{3};
26467 static constexpr char const *
const name{
"end_declaration"};
26468 static constexpr char const *
const typestr{
"SgVariableDeclaration*"};
26469 static constexpr bool traverse{
true};
26470 static constexpr auto mbr_ptr{&SgRangeBasedForStatement::p_end_declaration};
26471 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26472 using bind = Desc<SgRangeBasedForStatement, SgVariableDeclaration* SgRangeBasedForStatement::*, &SgRangeBasedForStatement::p_end_declaration>;
26477 static constexpr size_t position{4};
26478 static constexpr char const *
const name{
"not_equal_expression"};
26479 static constexpr char const *
const typestr{
"SgExpression*"};
26480 static constexpr bool traverse{
true};
26481 static constexpr auto mbr_ptr{&SgRangeBasedForStatement::p_not_equal_expression};
26482 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26483 using bind = Desc<SgRangeBasedForStatement, SgExpression* SgRangeBasedForStatement::*, &SgRangeBasedForStatement::p_not_equal_expression>;
26488 static constexpr size_t position{5};
26489 static constexpr char const *
const name{
"increment_expression"};
26490 static constexpr char const *
const typestr{
"SgExpression*"};
26491 static constexpr bool traverse{
true};
26492 static constexpr auto mbr_ptr{&SgRangeBasedForStatement::p_increment_expression};
26493 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26494 using bind = Desc<SgRangeBasedForStatement, SgExpression* SgRangeBasedForStatement::*, &SgRangeBasedForStatement::p_increment_expression>;
26499 static constexpr size_t position{6};
26500 static constexpr char const *
const name{
"loop_body"};
26501 static constexpr char const *
const typestr{
"SgStatement*"};
26502 static constexpr bool traverse{
true};
26503 static constexpr auto mbr_ptr{&SgRangeBasedForStatement::p_loop_body};
26504 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26505 using bind = Desc<SgRangeBasedForStatement, SgStatement* SgRangeBasedForStatement::*, &SgRangeBasedForStatement::p_loop_body>;
26510 static constexpr char const *
const name{
"RangeBasedForStatement"};
26511 static constexpr unsigned long variant{664};
26512 static constexpr bool concrete{
true};
26514 using fields_t =
mp::List<describe_field_t<SgRangeBasedForStatement,SgVariableDeclaration*,&SgRangeBasedForStatement::p_iterator_declaration>,
describe_field_t<SgRangeBasedForStatement,SgVariableDeclaration*,&SgRangeBasedForStatement::p_range_declaration>,
describe_field_t<SgRangeBasedForStatement,SgVariableDeclaration*,&SgRangeBasedForStatement::p_begin_declaration>,
describe_field_t<SgRangeBasedForStatement,SgVariableDeclaration*,&SgRangeBasedForStatement::p_end_declaration>,
describe_field_t<SgRangeBasedForStatement,SgExpression*,&SgRangeBasedForStatement::p_not_equal_expression>,
describe_field_t<SgRangeBasedForStatement,SgExpression*,&SgRangeBasedForStatement::p_increment_expression>,
describe_field_t<SgRangeBasedForStatement,SgStatement*,&SgRangeBasedForStatement::p_loop_body>>;
26522 static constexpr size_t position{0};
26523 static constexpr char const *
const name{
"format"};
26524 static constexpr char const *
const typestr{
"SgExpression*"};
26525 static constexpr bool traverse{
true};
26526 static constexpr auto mbr_ptr{&SgReadStatement::p_format};
26527 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26528 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_format>;
26533 static constexpr size_t position{1};
26534 static constexpr char const *
const name{
"namelist"};
26535 static constexpr char const *
const typestr{
"SgExpression*"};
26536 static constexpr bool traverse{
true};
26537 static constexpr auto mbr_ptr{&SgReadStatement::p_namelist};
26538 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26539 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_namelist>;
26544 static constexpr size_t position{2};
26545 static constexpr char const *
const name{
"advance"};
26546 static constexpr char const *
const typestr{
"SgExpression*"};
26547 static constexpr bool traverse{
true};
26548 static constexpr auto mbr_ptr{&SgReadStatement::p_advance};
26549 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26550 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_advance>;
26555 static constexpr size_t position{3};
26556 static constexpr char const *
const name{
"asynchronous"};
26557 static constexpr char const *
const typestr{
"SgExpression*"};
26558 static constexpr bool traverse{
true};
26559 static constexpr auto mbr_ptr{&SgReadStatement::p_asynchronous};
26560 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26561 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_asynchronous>;
26566 static constexpr size_t position{4};
26567 static constexpr char const *
const name{
"blank"};
26568 static constexpr char const *
const typestr{
"SgExpression*"};
26569 static constexpr bool traverse{
true};
26570 static constexpr auto mbr_ptr{&SgReadStatement::p_blank};
26571 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26572 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_blank>;
26577 static constexpr size_t position{5};
26578 static constexpr char const *
const name{
"decimal"};
26579 static constexpr char const *
const typestr{
"SgExpression*"};
26580 static constexpr bool traverse{
true};
26581 static constexpr auto mbr_ptr{&SgReadStatement::p_decimal};
26582 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26583 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_decimal>;
26588 static constexpr size_t position{6};
26589 static constexpr char const *
const name{
"delim"};
26590 static constexpr char const *
const typestr{
"SgExpression*"};
26591 static constexpr bool traverse{
true};
26592 static constexpr auto mbr_ptr{&SgReadStatement::p_delim};
26593 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26594 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_delim>;
26599 static constexpr size_t position{7};
26600 static constexpr char const *
const name{
"end"};
26601 static constexpr char const *
const typestr{
"SgExpression*"};
26602 static constexpr bool traverse{
true};
26603 static constexpr auto mbr_ptr{&SgReadStatement::p_end};
26604 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26605 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_end>;
26610 static constexpr size_t position{8};
26611 static constexpr char const *
const name{
"eor"};
26612 static constexpr char const *
const typestr{
"SgExpression*"};
26613 static constexpr bool traverse{
true};
26614 static constexpr auto mbr_ptr{&SgReadStatement::p_eor};
26615 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26616 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_eor>;
26621 static constexpr size_t position{9};
26622 static constexpr char const *
const name{
"id"};
26623 static constexpr char const *
const typestr{
"SgExpression*"};
26624 static constexpr bool traverse{
true};
26625 static constexpr auto mbr_ptr{&SgReadStatement::p_id};
26626 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26627 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_id>;
26632 static constexpr size_t position{10};
26633 static constexpr char const *
const name{
"pad"};
26634 static constexpr char const *
const typestr{
"SgExpression*"};
26635 static constexpr bool traverse{
true};
26636 static constexpr auto mbr_ptr{&SgReadStatement::p_pad};
26637 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26638 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_pad>;
26643 static constexpr size_t position{11};
26644 static constexpr char const *
const name{
"pos"};
26645 static constexpr char const *
const typestr{
"SgExpression*"};
26646 static constexpr bool traverse{
true};
26647 static constexpr auto mbr_ptr{&SgReadStatement::p_pos};
26648 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26649 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_pos>;
26654 static constexpr size_t position{12};
26655 static constexpr char const *
const name{
"rec"};
26656 static constexpr char const *
const typestr{
"SgExpression*"};
26657 static constexpr bool traverse{
true};
26658 static constexpr auto mbr_ptr{&SgReadStatement::p_rec};
26659 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26660 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_rec>;
26665 static constexpr size_t position{13};
26666 static constexpr char const *
const name{
"round"};
26667 static constexpr char const *
const typestr{
"SgExpression*"};
26668 static constexpr bool traverse{
true};
26669 static constexpr auto mbr_ptr{&SgReadStatement::p_round};
26670 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26671 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_round>;
26676 static constexpr size_t position{14};
26677 static constexpr char const *
const name{
"sign"};
26678 static constexpr char const *
const typestr{
"SgExpression*"};
26679 static constexpr bool traverse{
true};
26680 static constexpr auto mbr_ptr{&SgReadStatement::p_sign};
26681 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26682 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_sign>;
26687 static constexpr size_t position{15};
26688 static constexpr char const *
const name{
"size"};
26689 static constexpr char const *
const typestr{
"SgExpression*"};
26690 static constexpr bool traverse{
true};
26691 static constexpr auto mbr_ptr{&SgReadStatement::p_size};
26692 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26693 using bind = Desc<SgReadStatement, SgExpression* SgReadStatement::*, &SgReadStatement::p_size>;
26698 static constexpr char const *
const name{
"ReadStatement"};
26699 static constexpr unsigned long variant{665};
26700 static constexpr bool concrete{
true};
26702 using fields_t =
mp::List<describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_format>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_namelist>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_advance>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_asynchronous>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_blank>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_decimal>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_delim>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_end>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_eor>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_id>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_pad>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_pos>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_rec>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_round>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_sign>,
describe_field_t<SgReadStatement,SgExpression*,&SgReadStatement::p_size>>;
26710 static constexpr char const *
const name{
"RealPartOp"};
26711 static constexpr unsigned long variant{666};
26712 static constexpr bool concrete{
true};
26722 static constexpr size_t position{0};
26723 static constexpr char const *
const name{
"type_name"};
26724 static constexpr char const *
const typestr{
"SgType*"};
26725 static constexpr bool traverse{
false};
26727 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26728 using bind = Desc<SgRefExp, SgType* SgRefExp::*, &SgRefExp::p_type_name>;
26733 static constexpr char const *
const name{
"RefExp"};
26734 static constexpr unsigned long variant{667};
26735 static constexpr bool concrete{
true};
26745 static constexpr size_t position{0};
26746 static constexpr char const *
const name{
"base_type"};
26747 static constexpr char const *
const typestr{
"SgType*"};
26748 static constexpr bool traverse{
false};
26749 static constexpr auto mbr_ptr{&SgReferenceType::p_base_type};
26750 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26751 using bind = Desc<SgReferenceType, SgType* SgReferenceType::*, &SgReferenceType::p_base_type>;
26756 static constexpr char const *
const name{
"ReferenceType"};
26757 static constexpr unsigned long variant{668};
26758 static constexpr bool concrete{
true};
26768 static constexpr char const *
const name{
"RemOp"};
26769 static constexpr unsigned long variant{669};
26770 static constexpr bool concrete{
true};
26780 static constexpr size_t position{0};
26781 static constexpr char const *
const name{
"local_name"};
26782 static constexpr char const *
const typestr{
"SgName"};
26783 static constexpr bool traverse{
false};
26784 static constexpr auto mbr_ptr{&SgRenamePair::p_local_name};
26785 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26786 using bind = Desc<SgRenamePair, SgName SgRenamePair::*, &SgRenamePair::p_local_name>;
26791 static constexpr size_t position{1};
26792 static constexpr char const *
const name{
"use_name"};
26793 static constexpr char const *
const typestr{
"SgName"};
26794 static constexpr bool traverse{
false};
26795 static constexpr auto mbr_ptr{&SgRenamePair::p_use_name};
26796 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26797 using bind = Desc<SgRenamePair, SgName SgRenamePair::*, &SgRenamePair::p_use_name>;
26802 static constexpr char const *
const name{
"RenamePair"};
26803 static constexpr unsigned long variant{670};
26804 static constexpr bool concrete{
true};
26814 static constexpr size_t position{0};
26815 static constexpr char const *
const name{
"original_symbol"};
26816 static constexpr char const *
const typestr{
"SgSymbol*"};
26817 static constexpr bool traverse{
true};
26818 static constexpr auto mbr_ptr{&SgRenameSymbol::p_original_symbol};
26819 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26820 using bind = Desc<SgRenameSymbol, SgSymbol* SgRenameSymbol::*, &SgRenameSymbol::p_original_symbol>;
26825 static constexpr size_t position{1};
26826 static constexpr char const *
const name{
"new_name"};
26827 static constexpr char const *
const typestr{
"SgName"};
26828 static constexpr bool traverse{
false};
26829 static constexpr auto mbr_ptr{&SgRenameSymbol::p_new_name};
26830 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26831 using bind = Desc<SgRenameSymbol, SgName SgRenameSymbol::*, &SgRenameSymbol::p_new_name>;
26836 static constexpr char const *
const name{
"RenameSymbol"};
26837 static constexpr unsigned long variant{671};
26838 static constexpr bool concrete{
true};
26848 static constexpr char const *
const name{
"ReplicationOp"};
26849 static constexpr unsigned long variant{672};
26850 static constexpr bool concrete{
true};
26860 static constexpr size_t position{0};
26861 static constexpr char const *
const name{
"expression"};
26862 static constexpr char const *
const typestr{
"SgExpression*"};
26863 static constexpr bool traverse{
true};
26864 static constexpr auto mbr_ptr{&SgReturnStmt::p_expression};
26865 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26866 using bind = Desc<SgReturnStmt, SgExpression* SgReturnStmt::*, &SgReturnStmt::p_expression>;
26871 static constexpr char const *
const name{
"ReturnStmt"};
26872 static constexpr unsigned long variant{673};
26873 static constexpr bool concrete{
true};
26883 static constexpr char const *
const name{
"RewindStatement"};
26884 static constexpr unsigned long variant{674};
26885 static constexpr bool concrete{
true};
26895 static constexpr char const *
const name{
"RshiftAssignOp"};
26896 static constexpr unsigned long variant{675};
26897 static constexpr bool concrete{
true};
26907 static constexpr char const *
const name{
"RshiftOp"};
26908 static constexpr unsigned long variant{676};
26909 static constexpr bool concrete{
true};
26919 static constexpr size_t position{0};
26920 static constexpr char const *
const name{
"base_type"};
26921 static constexpr char const *
const typestr{
"SgType*"};
26922 static constexpr bool traverse{
false};
26923 static constexpr auto mbr_ptr{&SgRvalueReferenceType::p_base_type};
26924 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26925 using bind = Desc<SgRvalueReferenceType, SgType* SgRvalueReferenceType::*, &SgRvalueReferenceType::p_base_type>;
26930 static constexpr char const *
const name{
"RvalueReferenceType"};
26931 static constexpr unsigned long variant{677};
26932 static constexpr bool concrete{
true};
26942 static constexpr char const *
const name{
"JavaUnsignedRshiftAssignOp"};
26943 static constexpr unsigned long variant{678};
26944 static constexpr bool concrete{
true};
26954 static constexpr char const *
const name{
"JavaUnsignedRshiftOp"};
26955 static constexpr unsigned long variant{679};
26956 static constexpr bool concrete{
true};
26966 static constexpr char const *
const name{
"ScopeOp"};
26967 static constexpr unsigned long variant{680};
26968 static constexpr bool concrete{
true};
26978 static constexpr size_t position{0};
26979 static constexpr char const *
const name{
"symbol_table"};
26980 static constexpr char const *
const typestr{
"SgSymbolTable*"};
26981 static constexpr bool traverse{
false};
26983 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26984 using bind = Desc<SgScopeStatement, SgSymbolTable* SgScopeStatement::*, &SgScopeStatement::p_symbol_table>;
26989 static constexpr size_t position{1};
26990 static constexpr char const *
const name{
"type_table"};
26991 static constexpr char const *
const typestr{
"SgTypeTable*"};
26992 static constexpr bool traverse{
false};
26993 static constexpr auto mbr_ptr{&SgScopeStatement::p_type_table};
26994 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
26995 using bind = Desc<SgScopeStatement, SgTypeTable* SgScopeStatement::*, &SgScopeStatement::p_type_table>;
26999 using field_type = std::set<SgSymbol*>;
27000 static constexpr size_t position{2};
27001 static constexpr char const *
const name{
"type_elaboration_list"};
27002 static constexpr char const *
const typestr{
"std::set<SgSymbol*>"};
27003 static constexpr bool traverse{
false};
27004 static constexpr auto mbr_ptr{&SgScopeStatement::p_type_elaboration_list};
27005 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27006 using bind = Desc<SgScopeStatement, std::set<SgSymbol*>
SgScopeStatement::*, &SgScopeStatement::p_type_elaboration_list>;
27010 using field_type = std::set<SgSymbol*>;
27011 static constexpr size_t position{3};
27012 static constexpr char const *
const name{
"hidden_type_list"};
27013 static constexpr char const *
const typestr{
"std::set<SgSymbol*>"};
27014 static constexpr bool traverse{
false};
27015 static constexpr auto mbr_ptr{&SgScopeStatement::p_hidden_type_list};
27016 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27017 using bind = Desc<SgScopeStatement, std::set<SgSymbol*>
SgScopeStatement::*, &SgScopeStatement::p_hidden_type_list>;
27021 using field_type = std::set<SgSymbol*>;
27022 static constexpr size_t position{4};
27023 static constexpr char const *
const name{
"hidden_declaration_list"};
27024 static constexpr char const *
const typestr{
"std::set<SgSymbol*>"};
27025 static constexpr bool traverse{
false};
27026 static constexpr auto mbr_ptr{&SgScopeStatement::p_hidden_declaration_list};
27027 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27028 using bind = Desc<SgScopeStatement, std::set<SgSymbol*>
SgScopeStatement::*, &SgScopeStatement::p_hidden_declaration_list>;
27033 static constexpr size_t position{5};
27034 static constexpr char const *
const name{
"pragma"};
27035 static constexpr char const *
const typestr{
"SgPragma*"};
27036 static constexpr bool traverse{
false};
27037 static constexpr auto mbr_ptr{&SgScopeStatement::p_pragma};
27038 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27039 using bind = Desc<SgScopeStatement, SgPragma* SgScopeStatement::*, &SgScopeStatement::p_pragma>;
27044 static constexpr char const *
const name{
"ScopeStatement"};
27045 static constexpr unsigned long variant{681};
27046 static constexpr bool concrete{
false};
27047 using subclasses_t =
mp::List<SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgMatlabForStatement, SgFunctionParameterScope, SgDeclarationScope, SgRangeBasedForStatement, SgJovialForThenStatement, SgAdaAcceptStmt, SgAdaPackageSpec, SgAdaPackageBody, SgAdaTaskSpec, SgAdaTaskBody, SgAdaProtectedBody, SgAdaProtectedSpec, SgAdaGenericDefn>;
27048 using fields_t =
mp::List<describe_field_t<SgScopeStatement,SgSymbolTable*,&SgScopeStatement::p_symbol_table>,
describe_field_t<SgScopeStatement,SgTypeTable*,&SgScopeStatement::p_type_table>,
describe_field_t<SgScopeStatement,std::set<SgSymbol*>,&SgScopeStatement::p_type_elaboration_list>,
describe_field_t<SgScopeStatement,std::set<SgSymbol*>,&SgScopeStatement::p_hidden_type_list>,
describe_field_t<SgScopeStatement,std::set<SgSymbol*>,&SgScopeStatement::p_hidden_declaration_list>,
describe_field_t<SgScopeStatement,SgPragma*,&SgScopeStatement::p_pragma>>;
27056 static constexpr char const *
const name{
"SequenceStatement"};
27057 static constexpr unsigned long variant{682};
27058 static constexpr bool concrete{
true};
27068 static constexpr size_t position{0};
27069 static constexpr char const *
const name{
"element"};
27070 static constexpr char const *
const typestr{
"SgExpression*"};
27071 static constexpr bool traverse{
true};
27072 static constexpr auto mbr_ptr{&SgSetComprehension::p_element};
27073 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27074 using bind = Desc<SgSetComprehension, SgExpression* SgSetComprehension::*, &SgSetComprehension::p_element>;
27079 static constexpr size_t position{1};
27080 static constexpr char const *
const name{
"generators"};
27081 static constexpr char const *
const typestr{
"SgExprListExp*"};
27082 static constexpr bool traverse{
true};
27083 static constexpr auto mbr_ptr{&SgSetComprehension::p_generators};
27084 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27085 using bind = Desc<SgSetComprehension, SgExprListExp* SgSetComprehension::*, &SgSetComprehension::p_generators>;
27090 static constexpr char const *
const name{
"SetComprehension"};
27091 static constexpr unsigned long variant{683};
27092 static constexpr bool concrete{
true};
27101 using field_type = short;
27102 static constexpr size_t position{0};
27103 static constexpr char const *
const name{
"value"};
27104 static constexpr char const *
const typestr{
"short"};
27105 static constexpr bool traverse{
false};
27106 static constexpr auto mbr_ptr{&SgShortVal::p_value};
27107 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27108 using bind = Desc<SgShortVal, short SgShortVal::*, &SgShortVal::p_value>;
27112 using field_type = std::string;
27113 static constexpr size_t position{1};
27114 static constexpr char const *
const name{
"valueString"};
27115 static constexpr char const *
const typestr{
"std::string"};
27116 static constexpr bool traverse{
false};
27117 static constexpr auto mbr_ptr{&SgShortVal::p_valueString};
27118 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27119 using bind = Desc<SgShortVal, std::string SgShortVal::*, &SgShortVal::p_valueString>;
27124 static constexpr char const *
const name{
"ShortVal"};
27125 static constexpr unsigned long variant{684};
27126 static constexpr bool concrete{
true};
27136 static constexpr size_t position{0};
27137 static constexpr char const *
const name{
"operand_expr"};
27138 static constexpr char const *
const typestr{
"SgExpression*"};
27139 static constexpr bool traverse{
true};
27141 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27142 using bind = Desc<SgSizeOfOp, SgExpression* SgSizeOfOp::*, &SgSizeOfOp::p_operand_expr>;
27147 static constexpr size_t position{1};
27148 static constexpr char const *
const name{
"operand_type"};
27149 static constexpr char const *
const typestr{
"SgType*"};
27150 static constexpr bool traverse{
false};
27152 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27153 using bind = Desc<SgSizeOfOp, SgType* SgSizeOfOp::*, &SgSizeOfOp::p_operand_type>;
27158 static constexpr size_t position{2};
27159 static constexpr char const *
const name{
"expression_type"};
27160 static constexpr char const *
const typestr{
"SgType*"};
27161 static constexpr bool traverse{
false};
27163 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27164 using bind = Desc<SgSizeOfOp, SgType* SgSizeOfOp::*, &SgSizeOfOp::p_expression_type>;
27168 using field_type = int;
27169 static constexpr size_t position{3};
27170 static constexpr char const *
const name{
"name_qualification_length"};
27171 static constexpr char const *
const typestr{
"int"};
27172 static constexpr bool traverse{
false};
27173 static constexpr auto mbr_ptr{&SgSizeOfOp::p_name_qualification_length};
27174 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27175 using bind = Desc<SgSizeOfOp, int SgSizeOfOp::*, &SgSizeOfOp::p_name_qualification_length>;
27179 using field_type = bool;
27180 static constexpr size_t position{4};
27181 static constexpr char const *
const name{
"type_elaboration_required"};
27182 static constexpr char const *
const typestr{
"bool"};
27183 static constexpr bool traverse{
false};
27184 static constexpr auto mbr_ptr{&SgSizeOfOp::p_type_elaboration_required};
27185 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27186 using bind = Desc<SgSizeOfOp, bool SgSizeOfOp::*, &SgSizeOfOp::p_type_elaboration_required>;
27190 using field_type = bool;
27191 static constexpr size_t position{5};
27192 static constexpr char const *
const name{
"global_qualification_required"};
27193 static constexpr char const *
const typestr{
"bool"};
27194 static constexpr bool traverse{
false};
27195 static constexpr auto mbr_ptr{&SgSizeOfOp::p_global_qualification_required};
27196 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27197 using bind = Desc<SgSizeOfOp, bool SgSizeOfOp::*, &SgSizeOfOp::p_global_qualification_required>;
27201 using field_type = bool;
27202 static constexpr size_t position{6};
27203 static constexpr char const *
const name{
"sizeOfContainsBaseTypeDefiningDeclaration"};
27204 static constexpr char const *
const typestr{
"bool"};
27205 static constexpr bool traverse{
false};
27206 static constexpr auto mbr_ptr{&SgSizeOfOp::p_sizeOfContainsBaseTypeDefiningDeclaration};
27207 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27208 using bind = Desc<SgSizeOfOp, bool SgSizeOfOp::*, &SgSizeOfOp::p_sizeOfContainsBaseTypeDefiningDeclaration>;
27212 using field_type = bool;
27213 static constexpr size_t position{7};
27214 static constexpr char const *
const name{
"is_objectless_nonstatic_data_member_reference"};
27215 static constexpr char const *
const typestr{
"bool"};
27216 static constexpr bool traverse{
false};
27217 static constexpr auto mbr_ptr{&SgSizeOfOp::p_is_objectless_nonstatic_data_member_reference};
27218 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27219 using bind = Desc<SgSizeOfOp, bool SgSizeOfOp::*, &SgSizeOfOp::p_is_objectless_nonstatic_data_member_reference>;
27223 using field_type = int;
27224 static constexpr size_t position{8};
27225 static constexpr char const *
const name{
"name_qualification_for_pointer_to_member_class_length"};
27226 static constexpr char const *
const typestr{
"int"};
27227 static constexpr bool traverse{
false};
27228 static constexpr auto mbr_ptr{&SgSizeOfOp::p_name_qualification_for_pointer_to_member_class_length};
27229 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27230 using bind = Desc<SgSizeOfOp, int SgSizeOfOp::*, &SgSizeOfOp::p_name_qualification_for_pointer_to_member_class_length>;
27234 using field_type = bool;
27235 static constexpr size_t position{9};
27236 static constexpr char const *
const name{
"type_elaboration_for_pointer_to_member_class_required"};
27237 static constexpr char const *
const typestr{
"bool"};
27238 static constexpr bool traverse{
false};
27239 static constexpr auto mbr_ptr{&SgSizeOfOp::p_type_elaboration_for_pointer_to_member_class_required};
27240 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27241 using bind = Desc<SgSizeOfOp, bool SgSizeOfOp::*, &SgSizeOfOp::p_type_elaboration_for_pointer_to_member_class_required>;
27245 using field_type = bool;
27246 static constexpr size_t position{10};
27247 static constexpr char const *
const name{
"global_qualification_for_pointer_to_member_class_required"};
27248 static constexpr char const *
const typestr{
"bool"};
27249 static constexpr bool traverse{
false};
27250 static constexpr auto mbr_ptr{&SgSizeOfOp::p_global_qualification_for_pointer_to_member_class_required};
27251 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27252 using bind = Desc<SgSizeOfOp, bool SgSizeOfOp::*, &SgSizeOfOp::p_global_qualification_for_pointer_to_member_class_required>;
27257 static constexpr char const *
const name{
"SizeOfOp"};
27258 static constexpr unsigned long variant{685};
27259 static constexpr bool concrete{
true};
27261 using fields_t =
mp::List<describe_field_t<SgSizeOfOp,SgExpression*,&SgSizeOfOp::p_operand_expr>,
describe_field_t<SgSizeOfOp,SgType*,&SgSizeOfOp::p_operand_type>,
describe_field_t<SgSizeOfOp,SgType*,&SgSizeOfOp::p_expression_type>,
describe_field_t<SgSizeOfOp,int,&SgSizeOfOp::p_name_qualification_length>,
describe_field_t<SgSizeOfOp,bool,&SgSizeOfOp::p_type_elaboration_required>,
describe_field_t<SgSizeOfOp,bool,&SgSizeOfOp::p_global_qualification_required>,
describe_field_t<SgSizeOfOp,bool,&SgSizeOfOp::p_sizeOfContainsBaseTypeDefiningDeclaration>,
describe_field_t<SgSizeOfOp,bool,&SgSizeOfOp::p_is_objectless_nonstatic_data_member_reference>,
describe_field_t<SgSizeOfOp,int,&SgSizeOfOp::p_name_qualification_for_pointer_to_member_class_length>,
describe_field_t<SgSizeOfOp,bool,&SgSizeOfOp::p_type_elaboration_for_pointer_to_member_class_required>,
describe_field_t<SgSizeOfOp,bool,&SgSizeOfOp::p_global_qualification_for_pointer_to_member_class_required>>;
27269 static constexpr size_t position{0};
27270 static constexpr char const *
const name{
"operand_expr"};
27271 static constexpr char const *
const typestr{
"SgExpression*"};
27272 static constexpr bool traverse{
true};
27273 static constexpr auto mbr_ptr{&SgAlignOfOp::p_operand_expr};
27274 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27275 using bind = Desc<SgAlignOfOp, SgExpression* SgAlignOfOp::*, &SgAlignOfOp::p_operand_expr>;
27280 static constexpr size_t position{1};
27281 static constexpr char const *
const name{
"operand_type"};
27282 static constexpr char const *
const typestr{
"SgType*"};
27283 static constexpr bool traverse{
false};
27284 static constexpr auto mbr_ptr{&SgAlignOfOp::p_operand_type};
27285 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27286 using bind = Desc<SgAlignOfOp, SgType* SgAlignOfOp::*, &SgAlignOfOp::p_operand_type>;
27291 static constexpr size_t position{2};
27292 static constexpr char const *
const name{
"expression_type"};
27293 static constexpr char const *
const typestr{
"SgType*"};
27294 static constexpr bool traverse{
false};
27295 static constexpr auto mbr_ptr{&SgAlignOfOp::p_expression_type};
27296 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27297 using bind = Desc<SgAlignOfOp, SgType* SgAlignOfOp::*, &SgAlignOfOp::p_expression_type>;
27301 using field_type = int;
27302 static constexpr size_t position{3};
27303 static constexpr char const *
const name{
"name_qualification_length"};
27304 static constexpr char const *
const typestr{
"int"};
27305 static constexpr bool traverse{
false};
27306 static constexpr auto mbr_ptr{&SgAlignOfOp::p_name_qualification_length};
27307 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27308 using bind = Desc<SgAlignOfOp, int SgAlignOfOp::*, &SgAlignOfOp::p_name_qualification_length>;
27312 using field_type = bool;
27313 static constexpr size_t position{4};
27314 static constexpr char const *
const name{
"type_elaboration_required"};
27315 static constexpr char const *
const typestr{
"bool"};
27316 static constexpr bool traverse{
false};
27317 static constexpr auto mbr_ptr{&SgAlignOfOp::p_type_elaboration_required};
27318 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27319 using bind = Desc<SgAlignOfOp, bool SgAlignOfOp::*, &SgAlignOfOp::p_type_elaboration_required>;
27323 using field_type = bool;
27324 static constexpr size_t position{5};
27325 static constexpr char const *
const name{
"global_qualification_required"};
27326 static constexpr char const *
const typestr{
"bool"};
27327 static constexpr bool traverse{
false};
27328 static constexpr auto mbr_ptr{&SgAlignOfOp::p_global_qualification_required};
27329 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27330 using bind = Desc<SgAlignOfOp, bool SgAlignOfOp::*, &SgAlignOfOp::p_global_qualification_required>;
27334 using field_type = bool;
27335 static constexpr size_t position{6};
27336 static constexpr char const *
const name{
"alignOfContainsBaseTypeDefiningDeclaration"};
27337 static constexpr char const *
const typestr{
"bool"};
27338 static constexpr bool traverse{
false};
27339 static constexpr auto mbr_ptr{&SgAlignOfOp::p_alignOfContainsBaseTypeDefiningDeclaration};
27340 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27341 using bind = Desc<SgAlignOfOp, bool SgAlignOfOp::*, &SgAlignOfOp::p_alignOfContainsBaseTypeDefiningDeclaration>;
27346 static constexpr char const *
const name{
"AlignOfOp"};
27347 static constexpr unsigned long variant{686};
27348 static constexpr bool concrete{
true};
27350 using fields_t =
mp::List<describe_field_t<SgAlignOfOp,SgExpression*,&SgAlignOfOp::p_operand_expr>,
describe_field_t<SgAlignOfOp,SgType*,&SgAlignOfOp::p_operand_type>,
describe_field_t<SgAlignOfOp,SgType*,&SgAlignOfOp::p_expression_type>,
describe_field_t<SgAlignOfOp,int,&SgAlignOfOp::p_name_qualification_length>,
describe_field_t<SgAlignOfOp,bool,&SgAlignOfOp::p_type_elaboration_required>,
describe_field_t<SgAlignOfOp,bool,&SgAlignOfOp::p_global_qualification_required>,
describe_field_t<SgAlignOfOp,bool,&SgAlignOfOp::p_alignOfContainsBaseTypeDefiningDeclaration>>;
27358 static constexpr size_t position{0};
27359 static constexpr char const *
const name{
"operand_expr"};
27360 static constexpr char const *
const typestr{
"SgExpression*"};
27361 static constexpr bool traverse{
true};
27362 static constexpr auto mbr_ptr{&SgJavaInstanceOfOp::p_operand_expr};
27363 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27364 using bind = Desc<SgJavaInstanceOfOp, SgExpression* SgJavaInstanceOfOp::*, &SgJavaInstanceOfOp::p_operand_expr>;
27369 static constexpr size_t position{1};
27370 static constexpr char const *
const name{
"operand_type"};
27371 static constexpr char const *
const typestr{
"SgType*"};
27372 static constexpr bool traverse{
false};
27373 static constexpr auto mbr_ptr{&SgJavaInstanceOfOp::p_operand_type};
27374 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27375 using bind = Desc<SgJavaInstanceOfOp, SgType* SgJavaInstanceOfOp::*, &SgJavaInstanceOfOp::p_operand_type>;
27380 static constexpr size_t position{2};
27381 static constexpr char const *
const name{
"expression_type"};
27382 static constexpr char const *
const typestr{
"SgType*"};
27383 static constexpr bool traverse{
false};
27384 static constexpr auto mbr_ptr{&SgJavaInstanceOfOp::p_expression_type};
27385 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27386 using bind = Desc<SgJavaInstanceOfOp, SgType* SgJavaInstanceOfOp::*, &SgJavaInstanceOfOp::p_expression_type>;
27391 static constexpr char const *
const name{
"JavaInstanceOfOp"};
27392 static constexpr unsigned long variant{687};
27393 static constexpr bool concrete{
true};
27403 static constexpr size_t position{0};
27404 static constexpr char const *
const name{
"globalScope"};
27405 static constexpr char const *
const typestr{
"SgGlobal*"};
27406 static constexpr bool traverse{
true};
27407 static constexpr auto mbr_ptr{&SgSourceFile::p_globalScope};
27408 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27409 using bind = Desc<SgSourceFile, SgGlobal* SgSourceFile::*, &SgSourceFile::p_globalScope>;
27413 using field_type = SgModuleStatementPtrList;
27414 static constexpr size_t position{1};
27415 static constexpr char const *
const name{
"module_list"};
27416 static constexpr char const *
const typestr{
"SgModuleStatementPtrList"};
27417 static constexpr bool traverse{
false};
27418 static constexpr auto mbr_ptr{&SgSourceFile::p_module_list};
27419 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27420 using bind = Desc<SgSourceFile, SgModuleStatementPtrList SgSourceFile::*, &SgSourceFile::p_module_list>;
27424 using field_type = SgTokenPtrList;
27425 static constexpr size_t position{2};
27426 static constexpr char const *
const name{
"token_list"};
27427 static constexpr char const *
const typestr{
"SgTokenPtrList"};
27428 static constexpr bool traverse{
false};
27429 static constexpr auto mbr_ptr{&SgSourceFile::p_token_list};
27430 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27431 using bind = Desc<SgSourceFile, SgTokenPtrList SgSourceFile::*, &SgSourceFile::p_token_list>;
27436 static constexpr size_t position{3};
27437 static constexpr char const *
const name{
"temp_holding_scope"};
27438 static constexpr char const *
const typestr{
"SgGlobal*"};
27439 static constexpr bool traverse{
false};
27440 static constexpr auto mbr_ptr{&SgSourceFile::p_temp_holding_scope};
27441 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27442 using bind = Desc<SgSourceFile, SgGlobal* SgSourceFile::*, &SgSourceFile::p_temp_holding_scope>;
27447 static constexpr size_t position{4};
27448 static constexpr char const *
const name{
"package"};
27449 static constexpr char const *
const typestr{
"SgJavaPackageStatement *"};
27450 static constexpr bool traverse{
true};
27451 static constexpr auto mbr_ptr{&SgSourceFile::p_package};
27452 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27453 using bind = Desc<SgSourceFile, SgJavaPackageStatement * SgSourceFile::*, &SgSourceFile::p_package>;
27458 static constexpr size_t position{5};
27459 static constexpr char const *
const name{
"import_list"};
27460 static constexpr char const *
const typestr{
"SgJavaImportStatementList*"};
27461 static constexpr bool traverse{
true};
27462 static constexpr auto mbr_ptr{&SgSourceFile::p_import_list};
27463 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27464 using bind = Desc<SgSourceFile, SgJavaImportStatementList* SgSourceFile::*, &SgSourceFile::p_import_list>;
27469 static constexpr size_t position{6};
27470 static constexpr char const *
const name{
"class_list"};
27471 static constexpr char const *
const typestr{
"SgJavaClassDeclarationList*"};
27472 static constexpr bool traverse{
true};
27473 static constexpr auto mbr_ptr{&SgSourceFile::p_class_list};
27474 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27475 using bind = Desc<SgSourceFile, SgJavaClassDeclarationList* SgSourceFile::*, &SgSourceFile::p_class_list>;
27479 using field_type = bool;
27480 static constexpr size_t position{7};
27481 static constexpr char const *
const name{
"isHeaderFile"};
27482 static constexpr char const *
const typestr{
"bool"};
27483 static constexpr bool traverse{
false};
27484 static constexpr auto mbr_ptr{&SgSourceFile::p_isHeaderFile};
27485 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27486 using bind = Desc<SgSourceFile, bool SgSourceFile::*, &SgSourceFile::p_isHeaderFile>;
27490 using field_type = bool;
27491 static constexpr size_t position{8};
27492 static constexpr char const *
const name{
"isHeaderFileIncludedMoreThanOnce"};
27493 static constexpr char const *
const typestr{
"bool"};
27494 static constexpr bool traverse{
false};
27495 static constexpr auto mbr_ptr{&SgSourceFile::p_isHeaderFileIncludedMoreThanOnce};
27496 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27497 using bind = Desc<SgSourceFile, bool SgSourceFile::*, &SgSourceFile::p_isHeaderFileIncludedMoreThanOnce>;
27502 static constexpr size_t position{9};
27503 static constexpr char const *
const name{
"headerFileReport"};
27504 static constexpr char const *
const typestr{
"SgHeaderFileReport*"};
27505 static constexpr bool traverse{
false};
27506 static constexpr auto mbr_ptr{&SgSourceFile::p_headerFileReport};
27507 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27508 using bind = Desc<SgSourceFile, SgHeaderFileReport* SgSourceFile::*, &SgSourceFile::p_headerFileReport>;
27512 using field_type = SgStringList;
27513 static constexpr size_t position{10};
27514 static constexpr char const *
const name{
"extraIncludeDirectorySpecifierBeforeList"};
27515 static constexpr char const *
const typestr{
"SgStringList"};
27516 static constexpr bool traverse{
false};
27517 static constexpr auto mbr_ptr{&SgSourceFile::p_extraIncludeDirectorySpecifierBeforeList};
27518 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27519 using bind = Desc<SgSourceFile, SgStringList SgSourceFile::*, &SgSourceFile::p_extraIncludeDirectorySpecifierBeforeList>;
27523 using field_type = SgStringList;
27524 static constexpr size_t position{11};
27525 static constexpr char const *
const name{
"extraIncludeDirectorySpecifierAfterList"};
27526 static constexpr char const *
const typestr{
"SgStringList"};
27527 static constexpr bool traverse{
false};
27528 static constexpr auto mbr_ptr{&SgSourceFile::p_extraIncludeDirectorySpecifierAfterList};
27529 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27530 using bind = Desc<SgSourceFile, SgStringList SgSourceFile::*, &SgSourceFile::p_extraIncludeDirectorySpecifierAfterList>;
27535 static constexpr size_t position{12};
27536 static constexpr char const *
const name{
"associated_include_file"};
27537 static constexpr char const *
const typestr{
"SgIncludeFile*"};
27538 static constexpr bool traverse{
false};
27539 static constexpr auto mbr_ptr{&SgSourceFile::p_associated_include_file};
27540 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27541 using bind = Desc<SgSourceFile, SgIncludeFile* SgSourceFile::*, &SgSourceFile::p_associated_include_file>;
27545 using field_type = bool;
27546 static constexpr size_t position{13};
27547 static constexpr char const *
const name{
"processedToIncludeCppDirectivesAndComments"};
27548 static constexpr char const *
const typestr{
"bool"};
27549 static constexpr bool traverse{
false};
27550 static constexpr auto mbr_ptr{&SgSourceFile::p_processedToIncludeCppDirectivesAndComments};
27551 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27552 using bind = Desc<SgSourceFile, bool SgSourceFile::*, &SgSourceFile::p_processedToIncludeCppDirectivesAndComments>;
27556 using field_type = SgNodePtrList;
27557 static constexpr size_t position{14};
27558 static constexpr char const *
const name{
"extra_nodes_for_namequal_init"};
27559 static constexpr char const *
const typestr{
"SgNodePtrList"};
27560 static constexpr bool traverse{
false};
27561 static constexpr auto mbr_ptr{&SgSourceFile::p_extra_nodes_for_namequal_init};
27562 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27563 using bind = Desc<SgSourceFile, SgNodePtrList SgSourceFile::*, &SgSourceFile::p_extra_nodes_for_namequal_init>;
27567 using field_type = bool;
27568 static constexpr size_t position{15};
27569 static constexpr char const *
const name{
"isDynamicLibrary"};
27570 static constexpr char const *
const typestr{
"bool"};
27571 static constexpr bool traverse{
false};
27572 static constexpr auto mbr_ptr{&SgSourceFile::p_isDynamicLibrary};
27573 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27574 using bind = Desc<SgSourceFile, bool SgSourceFile::*, &SgSourceFile::p_isDynamicLibrary>;
27579 static constexpr size_t position{16};
27580 static constexpr char const *
const name{
"firstStatement"};
27581 static constexpr char const *
const typestr{
"SgStatement*"};
27582 static constexpr bool traverse{
false};
27583 static constexpr auto mbr_ptr{&SgSourceFile::p_firstStatement};
27584 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27585 using bind = Desc<SgSourceFile, SgStatement* SgSourceFile::*, &SgSourceFile::p_firstStatement>;
27590 static constexpr size_t position{17};
27591 static constexpr char const *
const name{
"lastStatement"};
27592 static constexpr char const *
const typestr{
"SgStatement*"};
27593 static constexpr bool traverse{
false};
27594 static constexpr auto mbr_ptr{&SgSourceFile::p_lastStatement};
27595 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27596 using bind = Desc<SgSourceFile, SgStatement* SgSourceFile::*, &SgSourceFile::p_lastStatement>;
27601 static constexpr char const *
const name{
"SourceFile"};
27602 static constexpr unsigned long variant{688};
27603 static constexpr bool concrete{
true};
27605 using fields_t =
mp::List<describe_field_t<SgSourceFile,SgGlobal*,&SgSourceFile::p_globalScope>,
describe_field_t<SgSourceFile,SgModuleStatementPtrList,&SgSourceFile::p_module_list>,
describe_field_t<SgSourceFile,SgTokenPtrList,&SgSourceFile::p_token_list>,
describe_field_t<SgSourceFile,SgGlobal*,&SgSourceFile::p_temp_holding_scope>,
describe_field_t<SgSourceFile,SgJavaPackageStatement *,&SgSourceFile::p_package>,
describe_field_t<SgSourceFile,SgJavaImportStatementList*,&SgSourceFile::p_import_list>,
describe_field_t<SgSourceFile,SgJavaClassDeclarationList*,&SgSourceFile::p_class_list>,
describe_field_t<SgSourceFile,bool,&SgSourceFile::p_isHeaderFile>,
describe_field_t<SgSourceFile,bool,&SgSourceFile::p_isHeaderFileIncludedMoreThanOnce>,
describe_field_t<SgSourceFile,SgHeaderFileReport*,&SgSourceFile::p_headerFileReport>,
describe_field_t<SgSourceFile,SgStringList,&SgSourceFile::p_extraIncludeDirectorySpecifierBeforeList>,
describe_field_t<SgSourceFile,SgStringList,&SgSourceFile::p_extraIncludeDirectorySpecifierAfterList>,
describe_field_t<SgSourceFile,SgIncludeFile*,&SgSourceFile::p_associated_include_file>,
describe_field_t<SgSourceFile,bool,&SgSourceFile::p_processedToIncludeCppDirectivesAndComments>,
describe_field_t<SgSourceFile,SgNodePtrList,&SgSourceFile::p_extra_nodes_for_namequal_init>,
describe_field_t<SgSourceFile,bool,&SgSourceFile::p_isDynamicLibrary>,
describe_field_t<SgSourceFile,SgStatement*,&SgSourceFile::p_firstStatement>,
describe_field_t<SgSourceFile,SgStatement*,&SgSourceFile::p_lastStatement>>;
27613 static constexpr char const *
const name{
"SpaceshipOp"};
27614 static constexpr unsigned long variant{689};
27615 static constexpr bool concrete{
true};
27625 static constexpr size_t position{0};
27626 static constexpr char const *
const name{
"the_func"};
27627 static constexpr char const *
const typestr{
"SgFunctionCallExp*"};
27628 static constexpr bool traverse{
true};
27629 static constexpr auto mbr_ptr{&SgSpawnStmt::p_the_func};
27630 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27631 using bind = Desc<SgSpawnStmt, SgFunctionCallExp* SgSpawnStmt::*, &SgSpawnStmt::p_the_func>;
27636 static constexpr char const *
const name{
"SpawnStmt"};
27637 static constexpr unsigned long variant{690};
27638 static constexpr bool concrete{
true};
27648 static constexpr char const *
const name{
"SyncAllStatement"};
27649 static constexpr unsigned long variant{691};
27650 static constexpr bool concrete{
true};
27660 static constexpr size_t position{0};
27661 static constexpr char const *
const name{
"image_set"};
27662 static constexpr char const *
const typestr{
"SgExpression*"};
27663 static constexpr bool traverse{
true};
27664 static constexpr auto mbr_ptr{&SgSyncImagesStatement::p_image_set};
27665 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27666 using bind = Desc<SgSyncImagesStatement, SgExpression* SgSyncImagesStatement::*, &SgSyncImagesStatement::p_image_set>;
27671 static constexpr char const *
const name{
"SyncImagesStatement"};
27672 static constexpr unsigned long variant{692};
27673 static constexpr bool concrete{
true};
27683 static constexpr char const *
const name{
"SyncMemoryStatement"};
27684 static constexpr unsigned long variant{693};
27685 static constexpr bool concrete{
true};
27695 static constexpr size_t position{0};
27696 static constexpr char const *
const name{
"team_value"};
27697 static constexpr char const *
const typestr{
"SgExpression*"};
27698 static constexpr bool traverse{
true};
27699 static constexpr auto mbr_ptr{&SgSyncTeamStatement::p_team_value};
27700 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27701 using bind = Desc<SgSyncTeamStatement, SgExpression* SgSyncTeamStatement::*, &SgSyncTeamStatement::p_team_value>;
27706 static constexpr char const *
const name{
"SyncTeamStatement"};
27707 static constexpr unsigned long variant{694};
27708 static constexpr bool concrete{
true};
27718 static constexpr size_t position{0};
27719 static constexpr char const *
const name{
"lock_variable"};
27720 static constexpr char const *
const typestr{
"SgExpression*"};
27721 static constexpr bool traverse{
true};
27722 static constexpr auto mbr_ptr{&SgLockStatement::p_lock_variable};
27723 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27724 using bind = Desc<SgLockStatement, SgExpression* SgLockStatement::*, &SgLockStatement::p_lock_variable>;
27729 static constexpr char const *
const name{
"LockStatement"};
27730 static constexpr unsigned long variant{695};
27731 static constexpr bool concrete{
true};
27741 static constexpr size_t position{0};
27742 static constexpr char const *
const name{
"lock_variable"};
27743 static constexpr char const *
const typestr{
"SgExpression*"};
27744 static constexpr bool traverse{
true};
27745 static constexpr auto mbr_ptr{&SgUnlockStatement::p_lock_variable};
27746 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27747 using bind = Desc<SgUnlockStatement, SgExpression* SgUnlockStatement::*, &SgUnlockStatement::p_lock_variable>;
27752 static constexpr char const *
const name{
"UnlockStatement"};
27753 static constexpr unsigned long variant{696};
27754 static constexpr bool concrete{
true};
27764 static constexpr size_t position{0};
27765 static constexpr char const *
const name{
"throwOp"};
27766 static constexpr char const *
const typestr{
"SgThrowOp*"};
27767 static constexpr bool traverse{
false};
27768 static constexpr auto mbr_ptr{&SgJavaThrowStatement::p_throwOp};
27769 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27770 using bind = Desc<SgJavaThrowStatement, SgThrowOp* SgJavaThrowStatement::*, &SgJavaThrowStatement::p_throwOp>;
27775 static constexpr char const *
const name{
"JavaThrowStatement"};
27776 static constexpr unsigned long variant{697};
27777 static constexpr bool concrete{
true};
27787 static constexpr size_t position{0};
27788 static constexpr char const *
const name{
"element"};
27789 static constexpr char const *
const typestr{
"SgVariableDeclaration*"};
27790 static constexpr bool traverse{
true};
27791 static constexpr auto mbr_ptr{&SgJavaForEachStatement::p_element};
27792 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27793 using bind = Desc<SgJavaForEachStatement, SgVariableDeclaration* SgJavaForEachStatement::*, &SgJavaForEachStatement::p_element>;
27798 static constexpr size_t position{1};
27799 static constexpr char const *
const name{
"collection"};
27800 static constexpr char const *
const typestr{
"SgExpression*"};
27801 static constexpr bool traverse{
true};
27802 static constexpr auto mbr_ptr{&SgJavaForEachStatement::p_collection};
27803 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27804 using bind = Desc<SgJavaForEachStatement, SgExpression* SgJavaForEachStatement::*, &SgJavaForEachStatement::p_collection>;
27809 static constexpr size_t position{2};
27810 static constexpr char const *
const name{
"loop_body"};
27811 static constexpr char const *
const typestr{
"SgStatement*"};
27812 static constexpr bool traverse{
true};
27813 static constexpr auto mbr_ptr{&SgJavaForEachStatement::p_loop_body};
27814 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27815 using bind = Desc<SgJavaForEachStatement, SgStatement* SgJavaForEachStatement::*, &SgJavaForEachStatement::p_loop_body>;
27820 static constexpr char const *
const name{
"JavaForEachStatement"};
27821 static constexpr unsigned long variant{698};
27822 static constexpr bool concrete{
true};
27832 static constexpr size_t position{0};
27833 static constexpr char const *
const name{
"expression"};
27834 static constexpr char const *
const typestr{
"SgExpression*"};
27835 static constexpr bool traverse{
true};
27836 static constexpr auto mbr_ptr{&SgJavaSynchronizedStatement::p_expression};
27837 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27838 using bind = Desc<SgJavaSynchronizedStatement, SgExpression* SgJavaSynchronizedStatement::*, &SgJavaSynchronizedStatement::p_expression>;
27843 static constexpr size_t position{1};
27844 static constexpr char const *
const name{
"body"};
27845 static constexpr char const *
const typestr{
"SgStatement*"};
27846 static constexpr bool traverse{
true};
27847 static constexpr auto mbr_ptr{&SgJavaSynchronizedStatement::p_body};
27848 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27849 using bind = Desc<SgJavaSynchronizedStatement, SgStatement* SgJavaSynchronizedStatement::*, &SgJavaSynchronizedStatement::p_body>;
27854 static constexpr char const *
const name{
"JavaSynchronizedStatement"};
27855 static constexpr unsigned long variant{699};
27856 static constexpr bool concrete{
true};
27866 static constexpr size_t position{0};
27867 static constexpr char const *
const name{
"raw_type"};
27868 static constexpr char const *
const typestr{
"SgNamedType*"};
27869 static constexpr bool traverse{
false};
27870 static constexpr auto mbr_ptr{&SgJavaParameterizedType::p_raw_type};
27871 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27872 using bind = Desc<SgJavaParameterizedType, SgNamedType* SgJavaParameterizedType::*, &SgJavaParameterizedType::p_raw_type>;
27877 static constexpr size_t position{1};
27878 static constexpr char const *
const name{
"type_list"};
27879 static constexpr char const *
const typestr{
"SgTemplateParameterList*"};
27880 static constexpr bool traverse{
false};
27881 static constexpr auto mbr_ptr{&SgJavaParameterizedType::p_type_list};
27882 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27883 using bind = Desc<SgJavaParameterizedType, SgTemplateParameterList* SgJavaParameterizedType::*, &SgJavaParameterizedType::p_type_list>;
27888 static constexpr char const *
const name{
"JavaParameterizedType"};
27889 static constexpr unsigned long variant{700};
27890 static constexpr bool concrete{
true};
27900 static constexpr size_t position{0};
27901 static constexpr char const *
const name{
"bound_type"};
27902 static constexpr char const *
const typestr{
"SgType*"};
27903 static constexpr bool traverse{
false};
27904 static constexpr auto mbr_ptr{&SgJavaWildcardType::p_bound_type};
27905 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27906 using bind = Desc<SgJavaWildcardType, SgType* SgJavaWildcardType::*, &SgJavaWildcardType::p_bound_type>;
27910 using field_type = bool;
27911 static constexpr size_t position{1};
27912 static constexpr char const *
const name{
"is_unbound"};
27913 static constexpr char const *
const typestr{
"bool"};
27914 static constexpr bool traverse{
false};
27915 static constexpr auto mbr_ptr{&SgJavaWildcardType::p_is_unbound};
27916 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27917 using bind = Desc<SgJavaWildcardType, bool SgJavaWildcardType::*, &SgJavaWildcardType::p_is_unbound>;
27921 using field_type = bool;
27922 static constexpr size_t position{2};
27923 static constexpr char const *
const name{
"has_extends"};
27924 static constexpr char const *
const typestr{
"bool"};
27925 static constexpr bool traverse{
false};
27926 static constexpr auto mbr_ptr{&SgJavaWildcardType::p_has_extends};
27927 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27928 using bind = Desc<SgJavaWildcardType, bool SgJavaWildcardType::*, &SgJavaWildcardType::p_has_extends>;
27932 using field_type = bool;
27933 static constexpr size_t position{3};
27934 static constexpr char const *
const name{
"has_super"};
27935 static constexpr char const *
const typestr{
"bool"};
27936 static constexpr bool traverse{
false};
27937 static constexpr auto mbr_ptr{&SgJavaWildcardType::p_has_super};
27938 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27939 using bind = Desc<SgJavaWildcardType, bool SgJavaWildcardType::*, &SgJavaWildcardType::p_has_super>;
27944 static constexpr char const *
const name{
"JavaWildcardType"};
27945 static constexpr unsigned long variant{701};
27946 static constexpr bool concrete{
true};
27948 using fields_t =
mp::List<describe_field_t<SgJavaWildcardType,SgType*,&SgJavaWildcardType::p_bound_type>,
describe_field_t<SgJavaWildcardType,bool,&SgJavaWildcardType::p_is_unbound>,
describe_field_t<SgJavaWildcardType,bool,&SgJavaWildcardType::p_has_extends>,
describe_field_t<SgJavaWildcardType,bool,&SgJavaWildcardType::p_has_super>>;
27955 using field_type = SgProcessControlStatement::control_enum;
27956 static constexpr size_t position{0};
27957 static constexpr char const *
const name{
"control_kind"};
27958 static constexpr char const *
const typestr{
"SgProcessControlStatement::control_enum"};
27959 static constexpr bool traverse{
false};
27960 static constexpr auto mbr_ptr{&SgProcessControlStatement::p_control_kind};
27961 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27962 using bind = Desc<SgProcessControlStatement, SgProcessControlStatement::control_enum SgProcessControlStatement::*, &SgProcessControlStatement::p_control_kind>;
27967 static constexpr size_t position{1};
27968 static constexpr char const *
const name{
"code"};
27969 static constexpr char const *
const typestr{
"SgExpression*"};
27970 static constexpr bool traverse{
true};
27971 static constexpr auto mbr_ptr{&SgProcessControlStatement::p_code};
27972 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27973 using bind = Desc<SgProcessControlStatement, SgExpression* SgProcessControlStatement::*, &SgProcessControlStatement::p_code>;
27978 static constexpr size_t position{2};
27979 static constexpr char const *
const name{
"quiet"};
27980 static constexpr char const *
const typestr{
"SgExpression*"};
27981 static constexpr bool traverse{
true};
27982 static constexpr auto mbr_ptr{&SgProcessControlStatement::p_quiet};
27983 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
27984 using bind = Desc<SgProcessControlStatement, SgExpression* SgProcessControlStatement::*, &SgProcessControlStatement::p_quiet>;
27989 static constexpr char const *
const name{
"ProcessControlStatement"};
27990 static constexpr unsigned long variant{702};
27991 static constexpr bool concrete{
true};
28000 using field_type = SgBitVector;
28001 static constexpr size_t position{0};
28002 static constexpr char const *
const name{
"modifierVector"};
28003 static constexpr char const *
const typestr{
"SgBitVector"};
28004 static constexpr bool traverse{
false};
28005 static constexpr auto mbr_ptr{&SgSpecialFunctionModifier::p_modifierVector};
28006 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28007 using bind = Desc<SgSpecialFunctionModifier, SgBitVector SgSpecialFunctionModifier::*, &SgSpecialFunctionModifier::p_modifierVector>;
28012 static constexpr char const *
const name{
"SpecialFunctionModifier"};
28013 static constexpr unsigned long variant{703};
28014 static constexpr bool concrete{
true};
28024 static constexpr size_t position{0};
28025 static constexpr char const *
const name{
"numeric_label"};
28026 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
28027 static constexpr bool traverse{
false};
28028 static constexpr auto mbr_ptr{&SgStatement::p_numeric_label};
28029 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28030 using bind = Desc<SgStatement, SgLabelRefExp* SgStatement::*, &SgStatement::p_numeric_label>;
28034 using field_type = int;
28035 static constexpr size_t position{1};
28036 static constexpr char const *
const name{
"source_sequence_value"};
28037 static constexpr char const *
const typestr{
"int"};
28038 static constexpr bool traverse{
false};
28039 static constexpr auto mbr_ptr{&SgStatement::p_source_sequence_value};
28040 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28041 using bind = Desc<SgStatement, int SgStatement::*, &SgStatement::p_source_sequence_value>;
28046 static constexpr char const *
const name{
"Statement"};
28047 static constexpr unsigned long variant{704};
28048 static constexpr bool concrete{
false};
28049 using subclasses_t =
mp::List<SgScopeStatement, SgFunctionTypeTable, SgDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgProcessControlStatement, SgIOStatement, SgFortranContinueStmt, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, SgJavaSynchronizedStatement, SgAsyncStmt, SgFinishStmt, SgAtStmt, SgAtomicStmt, SgWhenStmt, SgImageControlStatement, SgAdaExitStmt, SgAdaDelayStmt, SgAdaLoopStmt, SgAdaSelectStmt, SgAdaSelectAlternativeStmt, SgAdaTerminateStmt, SgAdaUnscopedBlock, SgAdaVariantWhenStmt>;
28058 static constexpr size_t position{0};
28059 static constexpr char const *
const name{
"condition"};
28060 static constexpr char const *
const typestr{
"SgExpression*"};
28061 static constexpr bool traverse{
true};
28062 static constexpr auto mbr_ptr{&SgStaticAssertionDeclaration::p_condition};
28063 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28064 using bind = Desc<SgStaticAssertionDeclaration, SgExpression* SgStaticAssertionDeclaration::*, &SgStaticAssertionDeclaration::p_condition>;
28069 static constexpr size_t position{1};
28070 static constexpr char const *
const name{
"string_literal"};
28071 static constexpr char const *
const typestr{
"SgName"};
28072 static constexpr bool traverse{
false};
28073 static constexpr auto mbr_ptr{&SgStaticAssertionDeclaration::p_string_literal};
28074 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28075 using bind = Desc<SgStaticAssertionDeclaration, SgName SgStaticAssertionDeclaration::*, &SgStaticAssertionDeclaration::p_string_literal>;
28080 static constexpr char const *
const name{
"StaticAssertionDeclaration"};
28081 static constexpr unsigned long variant{705};
28082 static constexpr bool concrete{
true};
28092 static constexpr size_t position{0};
28093 static constexpr char const *
const name{
"statement"};
28094 static constexpr char const *
const typestr{
"SgStatement*"};
28095 static constexpr bool traverse{
true};
28097 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28098 using bind = Desc<SgStmtDeclarationStatement, SgStatement* SgStmtDeclarationStatement::*, &SgStmtDeclarationStatement::p_statement>;
28103 static constexpr char const *
const name{
"StmtDeclarationStatement"};
28104 static constexpr unsigned long variant{706};
28105 static constexpr bool concrete{
true};
28115 static constexpr size_t position{0};
28116 static constexpr char const *
const name{
"statement"};
28117 static constexpr char const *
const typestr{
"SgStatement*"};
28118 static constexpr bool traverse{
true};
28120 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28121 using bind = Desc<SgStatementExpression, SgStatement* SgStatementExpression::*, &SgStatementExpression::p_statement>;
28126 static constexpr char const *
const name{
"StatementExpression"};
28127 static constexpr unsigned long variant{707};
28128 static constexpr bool concrete{
true};
28138 static constexpr size_t position{0};
28139 static constexpr char const *
const name{
"function"};
28140 static constexpr char const *
const typestr{
"SgFunctionDeclaration*"};
28141 static constexpr bool traverse{
true};
28142 static constexpr auto mbr_ptr{&SgStatementFunctionStatement::p_function};
28143 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28144 using bind = Desc<SgStatementFunctionStatement, SgFunctionDeclaration* SgStatementFunctionStatement::*, &SgStatementFunctionStatement::p_function>;
28149 static constexpr size_t position{1};
28150 static constexpr char const *
const name{
"expression"};
28151 static constexpr char const *
const typestr{
"SgExpression*"};
28152 static constexpr bool traverse{
true};
28153 static constexpr auto mbr_ptr{&SgStatementFunctionStatement::p_expression};
28154 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28155 using bind = Desc<SgStatementFunctionStatement, SgExpression* SgStatementFunctionStatement::*, &SgStatementFunctionStatement::p_expression>;
28160 static constexpr char const *
const name{
"StatementFunctionStatement"};
28161 static constexpr unsigned long variant{708};
28162 static constexpr bool concrete{
true};
28172 static constexpr size_t position{0};
28173 static constexpr char const *
const name{
"modifier"};
28174 static constexpr char const *
const typestr{
"SgStorageModifier::storage_modifier_enum"};
28175 static constexpr bool traverse{
false};
28176 static constexpr auto mbr_ptr{&SgStorageModifier::p_modifier};
28177 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28178 using bind = Desc<SgStorageModifier, SgStorageModifier::storage_modifier_enum SgStorageModifier::*, &SgStorageModifier::p_modifier>;
28182 using field_type = bool;
28183 static constexpr size_t position{1};
28184 static constexpr char const *
const name{
"thread_local_storage"};
28185 static constexpr char const *
const typestr{
"bool"};
28186 static constexpr bool traverse{
false};
28187 static constexpr auto mbr_ptr{&SgStorageModifier::p_thread_local_storage};
28188 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28189 using bind = Desc<SgStorageModifier, bool SgStorageModifier::*, &SgStorageModifier::p_thread_local_storage>;
28194 static constexpr char const *
const name{
"StorageModifier"};
28195 static constexpr unsigned long variant{709};
28196 static constexpr bool concrete{
true};
28206 static constexpr size_t position{0};
28207 static constexpr char const *
const name{
"expression"};
28208 static constexpr char const *
const typestr{
"SgExpression*"};
28209 static constexpr bool traverse{
true};
28211 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28212 using bind = Desc<SgStringConversion, SgExpression* SgStringConversion::*, &SgStringConversion::p_expression>;
28217 static constexpr char const *
const name{
"StringConversion"};
28218 static constexpr unsigned long variant{710};
28219 static constexpr bool concrete{
true};
28229 static constexpr char const *
const name{
"StringKeyedBidirectionalGraph"};
28230 static constexpr unsigned long variant{711};
28231 static constexpr bool concrete{
true};
28240 using field_type = std::string;
28241 static constexpr size_t position{0};
28242 static constexpr char const *
const name{
"value"};
28243 static constexpr char const *
const typestr{
"std::string"};
28244 static constexpr bool traverse{
false};
28245 static constexpr auto mbr_ptr{&SgStringVal::p_value};
28246 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28247 using bind = Desc<SgStringVal, std::string SgStringVal::*, &SgStringVal::p_value>;
28251 using field_type = bool;
28252 static constexpr size_t position{1};
28253 static constexpr char const *
const name{
"wcharString"};
28254 static constexpr char const *
const typestr{
"bool"};
28255 static constexpr bool traverse{
false};
28256 static constexpr auto mbr_ptr{&SgStringVal::p_wcharString};
28257 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28258 using bind = Desc<SgStringVal, bool SgStringVal::*, &SgStringVal::p_wcharString>;
28262 using field_type = char;
28263 static constexpr size_t position{2};
28264 static constexpr char const *
const name{
"stringDelimiter"};
28265 static constexpr char const *
const typestr{
"char"};
28266 static constexpr bool traverse{
false};
28267 static constexpr auto mbr_ptr{&SgStringVal::p_stringDelimiter};
28268 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28269 using bind = Desc<SgStringVal, char SgStringVal::*, &SgStringVal::p_stringDelimiter>;
28273 using field_type = bool;
28274 static constexpr size_t position{3};
28275 static constexpr char const *
const name{
"is16bitString"};
28276 static constexpr char const *
const typestr{
"bool"};
28277 static constexpr bool traverse{
false};
28278 static constexpr auto mbr_ptr{&SgStringVal::p_is16bitString};
28279 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28280 using bind = Desc<SgStringVal, bool SgStringVal::*, &SgStringVal::p_is16bitString>;
28284 using field_type = bool;
28285 static constexpr size_t position{4};
28286 static constexpr char const *
const name{
"is32bitString"};
28287 static constexpr char const *
const typestr{
"bool"};
28288 static constexpr bool traverse{
false};
28289 static constexpr auto mbr_ptr{&SgStringVal::p_is32bitString};
28290 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28291 using bind = Desc<SgStringVal, bool SgStringVal::*, &SgStringVal::p_is32bitString>;
28295 using field_type = bool;
28296 static constexpr size_t position{5};
28297 static constexpr char const *
const name{
"isRawString"};
28298 static constexpr char const *
const typestr{
"bool"};
28299 static constexpr bool traverse{
false};
28300 static constexpr auto mbr_ptr{&SgStringVal::p_isRawString};
28301 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28302 using bind = Desc<SgStringVal, bool SgStringVal::*, &SgStringVal::p_isRawString>;
28306 using field_type = std::string;
28307 static constexpr size_t position{6};
28308 static constexpr char const *
const name{
"raw_string_value"};
28309 static constexpr char const *
const typestr{
"std::string"};
28310 static constexpr bool traverse{
false};
28311 static constexpr auto mbr_ptr{&SgStringVal::p_raw_string_value};
28312 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28313 using bind = Desc<SgStringVal, std::string SgStringVal::*, &SgStringVal::p_raw_string_value>;
28318 static constexpr char const *
const name{
"StringVal"};
28319 static constexpr unsigned long variant{712};
28320 static constexpr bool concrete{
true};
28322 using fields_t =
mp::List<describe_field_t<SgStringVal,std::string,&SgStringVal::p_value>,
describe_field_t<SgStringVal,bool,&SgStringVal::p_wcharString>,
describe_field_t<SgStringVal,char,&SgStringVal::p_stringDelimiter>,
describe_field_t<SgStringVal,bool,&SgStringVal::p_is16bitString>,
describe_field_t<SgStringVal,bool,&SgStringVal::p_is32bitString>,
describe_field_t<SgStringVal,bool,&SgStringVal::p_isRawString>,
describe_field_t<SgStringVal,std::string,&SgStringVal::p_raw_string_value>>;
28330 static constexpr size_t position{0};
28331 static constexpr char const *
const name{
"modifier"};
28332 static constexpr char const *
const typestr{
"SgStructureModifier::jovial_structure_modifier_enum"};
28333 static constexpr bool traverse{
false};
28334 static constexpr auto mbr_ptr{&SgStructureModifier::p_modifier};
28335 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28336 using bind = Desc<SgStructureModifier, SgStructureModifier::jovial_structure_modifier_enum SgStructureModifier::*, &SgStructureModifier::p_modifier>;
28340 using field_type = int;
28341 static constexpr size_t position{1};
28342 static constexpr char const *
const name{
"bits_per_entry"};
28343 static constexpr char const *
const typestr{
"int"};
28344 static constexpr bool traverse{
false};
28345 static constexpr auto mbr_ptr{&SgStructureModifier::p_bits_per_entry};
28346 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28347 using bind = Desc<SgStructureModifier, int SgStructureModifier::*, &SgStructureModifier::p_bits_per_entry>;
28352 static constexpr char const *
const name{
"StructureModifier"};
28353 static constexpr unsigned long variant{713};
28354 static constexpr bool concrete{
true};
28364 static constexpr size_t position{0};
28365 static constexpr char const *
const name{
"lowerBound"};
28366 static constexpr char const *
const typestr{
"SgExpression*"};
28367 static constexpr bool traverse{
true};
28368 static constexpr auto mbr_ptr{&SgSubscriptExpression::p_lowerBound};
28369 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28370 using bind = Desc<SgSubscriptExpression, SgExpression* SgSubscriptExpression::*, &SgSubscriptExpression::p_lowerBound>;
28375 static constexpr size_t position{1};
28376 static constexpr char const *
const name{
"upperBound"};
28377 static constexpr char const *
const typestr{
"SgExpression*"};
28378 static constexpr bool traverse{
true};
28379 static constexpr auto mbr_ptr{&SgSubscriptExpression::p_upperBound};
28380 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28381 using bind = Desc<SgSubscriptExpression, SgExpression* SgSubscriptExpression::*, &SgSubscriptExpression::p_upperBound>;
28386 static constexpr size_t position{2};
28387 static constexpr char const *
const name{
"stride"};
28388 static constexpr char const *
const typestr{
"SgExpression*"};
28389 static constexpr bool traverse{
true};
28390 static constexpr auto mbr_ptr{&SgSubscriptExpression::p_stride};
28391 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28392 using bind = Desc<SgSubscriptExpression, SgExpression* SgSubscriptExpression::*, &SgSubscriptExpression::p_stride>;
28397 static constexpr char const *
const name{
"SubscriptExpression"};
28398 static constexpr unsigned long variant{714};
28399 static constexpr bool concrete{
true};
28409 static constexpr char const *
const name{
"SubtractOp"};
28410 static constexpr unsigned long variant{715};
28411 static constexpr bool concrete{
true};
28421 static constexpr char const *
const name{
"Support"};
28422 static constexpr unsigned long variant{716};
28423 static constexpr bool concrete{
false};
28424 using subclasses_t =
mp::List<SgModifier, SgName, SgSymbolTable, SgAttribute, Sg_File_Info, SgFile, SgProject, SgOptions, SgUnparse_Info, SgBaseClass, SgTypedefSeq, SgTemplateParameter, SgTemplateArgument, SgDirectory, SgFileList, SgDirectoryList, SgFunctionParameterTypeList, SgQualifiedName, SgTemplateArgumentList, SgTemplateParameterList, SgGraph, SgGraphNode, SgGraphEdge, SgGraphNodeList, SgGraphEdgeList, SgTypeTable, SgNameGroup, SgDimensionObject, SgFormatItem, SgFormatItemList, SgDataStatementGroup, SgDataStatementObject, SgIncludeFile, SgDataStatementValue, SgJavaImportStatementList, SgJavaClassDeclarationList, SgHeaderFileReport>;
28433 static constexpr size_t position{0};
28434 static constexpr char const *
const name{
"item_selector"};
28435 static constexpr char const *
const typestr{
"SgStatement*"};
28436 static constexpr bool traverse{
true};
28437 static constexpr auto mbr_ptr{&SgSwitchStatement::p_item_selector};
28438 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28439 using bind = Desc<SgSwitchStatement, SgStatement* SgSwitchStatement::*, &SgSwitchStatement::p_item_selector>;
28444 static constexpr size_t position{1};
28445 static constexpr char const *
const name{
"body"};
28446 static constexpr char const *
const typestr{
"SgStatement*"};
28447 static constexpr bool traverse{
true};
28449 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28450 using bind = Desc<SgSwitchStatement, SgStatement* SgSwitchStatement::*, &SgSwitchStatement::p_body>;
28455 static constexpr size_t position{2};
28456 static constexpr char const *
const name{
"end_numeric_label"};
28457 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
28458 static constexpr bool traverse{
false};
28459 static constexpr auto mbr_ptr{&SgSwitchStatement::p_end_numeric_label};
28460 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28461 using bind = Desc<SgSwitchStatement, SgLabelRefExp* SgSwitchStatement::*, &SgSwitchStatement::p_end_numeric_label>;
28465 using field_type = std::string;
28466 static constexpr size_t position{3};
28467 static constexpr char const *
const name{
"string_label"};
28468 static constexpr char const *
const typestr{
"std::string"};
28469 static constexpr bool traverse{
false};
28470 static constexpr auto mbr_ptr{&SgSwitchStatement::p_string_label};
28471 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28472 using bind = Desc<SgSwitchStatement, std::string SgSwitchStatement::*, &SgSwitchStatement::p_string_label>;
28477 static constexpr char const *
const name{
"SwitchStatement"};
28478 static constexpr unsigned long variant{717};
28479 static constexpr bool concrete{
true};
28481 using fields_t =
mp::List<describe_field_t<SgSwitchStatement,SgStatement*,&SgSwitchStatement::p_item_selector>,
describe_field_t<SgSwitchStatement,SgStatement*,&SgSwitchStatement::p_body>,
describe_field_t<SgSwitchStatement,SgLabelRefExp*,&SgSwitchStatement::p_end_numeric_label>,
describe_field_t<SgSwitchStatement,std::string,&SgSwitchStatement::p_string_label>>;
28489 static constexpr size_t position{0};
28490 static constexpr char const *
const name{
"attributeMechanism"};
28491 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
28492 static constexpr bool traverse{
false};
28493 static constexpr auto mbr_ptr{&SgSymbol::p_attributeMechanism};
28494 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28495 using bind = Desc<SgSymbol, AstAttributeMechanism* SgSymbol::*, &SgSymbol::p_attributeMechanism>;
28500 static constexpr char const *
const name{
"Symbol"};
28501 static constexpr unsigned long variant{718};
28502 static constexpr bool concrete{
false};
28503 using subclasses_t =
mp::List<SgVariableSymbol, SgNonrealSymbol, SgFunctionSymbol, SgFunctionTypeSymbol, SgClassSymbol, SgTemplateSymbol, SgEnumSymbol, SgEnumFieldSymbol, SgTypedefSymbol, SgLabelSymbol, SgDefaultSymbol, SgNamespaceSymbol, SgIntrinsicSymbol, SgModuleSymbol, SgInterfaceSymbol, SgCommonSymbol, SgAliasSymbol, SgAsmBinaryAddressSymbol, SgAsmBinaryDataSymbol, SgJavaLabelSymbol, SgAdaPackageSymbol, SgAdaTaskSymbol, SgAdaProtectedSymbol, SgAdaRenamingSymbol, SgAdaGenericSymbol, SgAdaGenericInstanceSymbol, SgAdaFormalPackageSymbol>;
28511 using field_type = SgSymbolTable::hash_iterator;
28512 static constexpr size_t position{0};
28513 static constexpr char const *
const name{
"iterator"};
28514 static constexpr char const *
const typestr{
"SgSymbolTable::hash_iterator"};
28515 static constexpr bool traverse{
false};
28517 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28518 using bind = Desc<SgSymbolTable, SgSymbolTable::hash_iterator SgSymbolTable::*, &SgSymbolTable::p_iterator>;
28523 static constexpr size_t position{1};
28524 static constexpr char const *
const name{
"name"};
28525 static constexpr char const *
const typestr{
"SgName"};
28526 static constexpr bool traverse{
false};
28528 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28529 using bind = Desc<SgSymbolTable, SgName SgSymbolTable::*, &SgSymbolTable::p_name>;
28533 using field_type = bool;
28534 static constexpr size_t position{2};
28535 static constexpr char const *
const name{
"no_name"};
28536 static constexpr char const *
const typestr{
"bool"};
28537 static constexpr bool traverse{
false};
28539 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28540 using bind = Desc<SgSymbolTable, bool SgSymbolTable::*, &SgSymbolTable::p_no_name>;
28545 static constexpr size_t position{3};
28546 static constexpr char const *
const name{
"table"};
28547 static constexpr char const *
const typestr{
" rose_hash_multimap*"};
28548 static constexpr bool traverse{
false};
28550 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28551 using bind = Desc<SgSymbolTable, rose_hash_multimap* SgSymbolTable::*, &SgSymbolTable::p_table>;
28555 using field_type = SgNodeSet;
28556 static constexpr size_t position{4};
28557 static constexpr char const *
const name{
"symbolSet"};
28558 static constexpr char const *
const typestr{
"SgNodeSet"};
28559 static constexpr bool traverse{
false};
28560 static constexpr auto mbr_ptr{&SgSymbolTable::p_symbolSet};
28561 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28562 using bind = Desc<SgSymbolTable, SgNodeSet SgSymbolTable::*, &SgSymbolTable::p_symbolSet>;
28566 using field_type = bool;
28567 static constexpr size_t position{5};
28568 static constexpr char const *
const name{
"case_insensitive"};
28569 static constexpr char const *
const typestr{
"bool"};
28570 static constexpr bool traverse{
false};
28571 static constexpr auto mbr_ptr{&SgSymbolTable::p_case_insensitive};
28572 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28573 using bind = Desc<SgSymbolTable, bool SgSymbolTable::*, &SgSymbolTable::p_case_insensitive>;
28578 static constexpr char const *
const name{
"SymbolTable"};
28579 static constexpr unsigned long variant{719};
28580 static constexpr bool concrete{
true};
28582 using fields_t =
mp::List<describe_field_t<SgSymbolTable,SgSymbolTable::hash_iterator,&SgSymbolTable::p_iterator>,
describe_field_t<SgSymbolTable,SgName,&SgSymbolTable::p_name>,
describe_field_t<SgSymbolTable,bool,&SgSymbolTable::p_no_name>,
describe_field_t<SgSymbolTable, rose_hash_multimap*,&SgSymbolTable::p_table>,
describe_field_t<SgSymbolTable,SgNodeSet,&SgSymbolTable::p_symbolSet>,
describe_field_t<SgSymbolTable,bool,&SgSymbolTable::p_case_insensitive>>;
28590 static constexpr size_t position{0};
28591 static constexpr char const *
const name{
"argumentType"};
28592 static constexpr char const *
const typestr{
"SgTemplateArgument::template_argument_enum"};
28593 static constexpr bool traverse{
false};
28594 static constexpr auto mbr_ptr{&SgTemplateArgument::p_argumentType};
28595 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28596 using bind = Desc<SgTemplateArgument, SgTemplateArgument::template_argument_enum SgTemplateArgument::*, &SgTemplateArgument::p_argumentType>;
28600 using field_type = bool;
28601 static constexpr size_t position{1};
28602 static constexpr char const *
const name{
"isArrayBoundUnknownType"};
28603 static constexpr char const *
const typestr{
"bool"};
28604 static constexpr bool traverse{
false};
28606 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28607 using bind = Desc<SgTemplateArgument, bool SgTemplateArgument::*, &SgTemplateArgument::p_isArrayBoundUnknownType>;
28612 static constexpr size_t position{2};
28613 static constexpr char const *
const name{
"type"};
28614 static constexpr char const *
const typestr{
"SgType*"};
28615 static constexpr bool traverse{
false};
28617 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28618 using bind = Desc<SgTemplateArgument, SgType* SgTemplateArgument::*, &SgTemplateArgument::p_type>;
28623 static constexpr size_t position{3};
28624 static constexpr char const *
const name{
"unparsable_type_alias"};
28625 static constexpr char const *
const typestr{
"SgType*"};
28626 static constexpr bool traverse{
false};
28627 static constexpr auto mbr_ptr{&SgTemplateArgument::p_unparsable_type_alias};
28628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28629 using bind = Desc<SgTemplateArgument, SgType* SgTemplateArgument::*, &SgTemplateArgument::p_unparsable_type_alias>;
28634 static constexpr size_t position{4};
28635 static constexpr char const *
const name{
"expression"};
28636 static constexpr char const *
const typestr{
"SgExpression*"};
28637 static constexpr bool traverse{
true};
28639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28640 using bind = Desc<SgTemplateArgument, SgExpression* SgTemplateArgument::*, &SgTemplateArgument::p_expression>;
28645 static constexpr size_t position{5};
28646 static constexpr char const *
const name{
"templateDeclaration"};
28647 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
28648 static constexpr bool traverse{
true};
28649 static constexpr auto mbr_ptr{&SgTemplateArgument::p_templateDeclaration};
28650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28651 using bind = Desc<SgTemplateArgument, SgDeclarationStatement* SgTemplateArgument::*, &SgTemplateArgument::p_templateDeclaration>;
28656 static constexpr size_t position{6};
28657 static constexpr char const *
const name{
"initializedName"};
28658 static constexpr char const *
const typestr{
"SgInitializedName*"};
28659 static constexpr bool traverse{
true};
28660 static constexpr auto mbr_ptr{&SgTemplateArgument::p_initializedName};
28661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28662 using bind = Desc<SgTemplateArgument, SgInitializedName* SgTemplateArgument::*, &SgTemplateArgument::p_initializedName>;
28666 using field_type = bool;
28667 static constexpr size_t position{7};
28668 static constexpr char const *
const name{
"explicitlySpecified"};
28669 static constexpr char const *
const typestr{
"bool"};
28670 static constexpr bool traverse{
false};
28672 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28673 using bind = Desc<SgTemplateArgument, bool SgTemplateArgument::*, &SgTemplateArgument::p_explicitlySpecified>;
28677 using field_type = int;
28678 static constexpr size_t position{8};
28679 static constexpr char const *
const name{
"name_qualification_length"};
28680 static constexpr char const *
const typestr{
"int"};
28681 static constexpr bool traverse{
false};
28682 static constexpr auto mbr_ptr{&SgTemplateArgument::p_name_qualification_length};
28683 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28684 using bind = Desc<SgTemplateArgument, int SgTemplateArgument::*, &SgTemplateArgument::p_name_qualification_length>;
28688 using field_type = bool;
28689 static constexpr size_t position{9};
28690 static constexpr char const *
const name{
"type_elaboration_required"};
28691 static constexpr char const *
const typestr{
"bool"};
28692 static constexpr bool traverse{
false};
28693 static constexpr auto mbr_ptr{&SgTemplateArgument::p_type_elaboration_required};
28694 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28695 using bind = Desc<SgTemplateArgument, bool SgTemplateArgument::*, &SgTemplateArgument::p_type_elaboration_required>;
28699 using field_type = bool;
28700 static constexpr size_t position{10};
28701 static constexpr char const *
const name{
"global_qualification_required"};
28702 static constexpr char const *
const typestr{
"bool"};
28703 static constexpr bool traverse{
false};
28704 static constexpr auto mbr_ptr{&SgTemplateArgument::p_global_qualification_required};
28705 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28706 using bind = Desc<SgTemplateArgument, bool SgTemplateArgument::*, &SgTemplateArgument::p_global_qualification_required>;
28710 using field_type = bool;
28711 static constexpr size_t position{11};
28712 static constexpr char const *
const name{
"requiresGlobalNameQualificationOnType"};
28713 static constexpr char const *
const typestr{
"bool"};
28714 static constexpr bool traverse{
false};
28715 static constexpr auto mbr_ptr{&SgTemplateArgument::p_requiresGlobalNameQualificationOnType};
28716 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28717 using bind = Desc<SgTemplateArgument, bool SgTemplateArgument::*, &SgTemplateArgument::p_requiresGlobalNameQualificationOnType>;
28721 using field_type = int;
28722 static constexpr size_t position{12};
28723 static constexpr char const *
const name{
"name_qualification_length_for_type"};
28724 static constexpr char const *
const typestr{
"int"};
28725 static constexpr bool traverse{
false};
28726 static constexpr auto mbr_ptr{&SgTemplateArgument::p_name_qualification_length_for_type};
28727 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28728 using bind = Desc<SgTemplateArgument, int SgTemplateArgument::*, &SgTemplateArgument::p_name_qualification_length_for_type>;
28732 using field_type = bool;
28733 static constexpr size_t position{13};
28734 static constexpr char const *
const name{
"type_elaboration_required_for_type"};
28735 static constexpr char const *
const typestr{
"bool"};
28736 static constexpr bool traverse{
false};
28737 static constexpr auto mbr_ptr{&SgTemplateArgument::p_type_elaboration_required_for_type};
28738 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28739 using bind = Desc<SgTemplateArgument, bool SgTemplateArgument::*, &SgTemplateArgument::p_type_elaboration_required_for_type>;
28743 using field_type = bool;
28744 static constexpr size_t position{14};
28745 static constexpr char const *
const name{
"global_qualification_required_for_type"};
28746 static constexpr char const *
const typestr{
"bool"};
28747 static constexpr bool traverse{
false};
28748 static constexpr auto mbr_ptr{&SgTemplateArgument::p_global_qualification_required_for_type};
28749 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28750 using bind = Desc<SgTemplateArgument, bool SgTemplateArgument::*, &SgTemplateArgument::p_global_qualification_required_for_type>;
28755 static constexpr size_t position{15};
28756 static constexpr char const *
const name{
"previous_instance"};
28757 static constexpr char const *
const typestr{
"SgTemplateArgument*"};
28758 static constexpr bool traverse{
false};
28759 static constexpr auto mbr_ptr{&SgTemplateArgument::p_previous_instance};
28760 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28761 using bind = Desc<SgTemplateArgument, SgTemplateArgument* SgTemplateArgument::*, &SgTemplateArgument::p_previous_instance>;
28766 static constexpr size_t position{16};
28767 static constexpr char const *
const name{
"next_instance"};
28768 static constexpr char const *
const typestr{
"SgTemplateArgument*"};
28769 static constexpr bool traverse{
false};
28770 static constexpr auto mbr_ptr{&SgTemplateArgument::p_next_instance};
28771 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28772 using bind = Desc<SgTemplateArgument, SgTemplateArgument* SgTemplateArgument::*, &SgTemplateArgument::p_next_instance>;
28776 using field_type = bool;
28777 static constexpr size_t position{17};
28778 static constexpr char const *
const name{
"is_pack_element"};
28779 static constexpr char const *
const typestr{
"bool"};
28780 static constexpr bool traverse{
false};
28781 static constexpr auto mbr_ptr{&SgTemplateArgument::p_is_pack_element};
28782 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28783 using bind = Desc<SgTemplateArgument, bool SgTemplateArgument::*, &SgTemplateArgument::p_is_pack_element>;
28788 static constexpr char const *
const name{
"TemplateArgument"};
28789 static constexpr unsigned long variant{720};
28790 static constexpr bool concrete{
true};
28792 using fields_t =
mp::List<describe_field_t<SgTemplateArgument,SgTemplateArgument::template_argument_enum,&SgTemplateArgument::p_argumentType>,
describe_field_t<SgTemplateArgument,bool,&SgTemplateArgument::p_isArrayBoundUnknownType>,
describe_field_t<SgTemplateArgument,SgType*,&SgTemplateArgument::p_type>,
describe_field_t<SgTemplateArgument,SgType*,&SgTemplateArgument::p_unparsable_type_alias>,
describe_field_t<SgTemplateArgument,SgExpression*,&SgTemplateArgument::p_expression>,
describe_field_t<SgTemplateArgument,SgDeclarationStatement*,&SgTemplateArgument::p_templateDeclaration>,
describe_field_t<SgTemplateArgument,SgInitializedName*,&SgTemplateArgument::p_initializedName>,
describe_field_t<SgTemplateArgument,bool,&SgTemplateArgument::p_explicitlySpecified>,
describe_field_t<SgTemplateArgument,int,&SgTemplateArgument::p_name_qualification_length>,
describe_field_t<SgTemplateArgument,bool,&SgTemplateArgument::p_type_elaboration_required>,
describe_field_t<SgTemplateArgument,bool,&SgTemplateArgument::p_global_qualification_required>,
describe_field_t<SgTemplateArgument,bool,&SgTemplateArgument::p_requiresGlobalNameQualificationOnType>,
describe_field_t<SgTemplateArgument,int,&SgTemplateArgument::p_name_qualification_length_for_type>,
describe_field_t<SgTemplateArgument,bool,&SgTemplateArgument::p_type_elaboration_required_for_type>,
describe_field_t<SgTemplateArgument,bool,&SgTemplateArgument::p_global_qualification_required_for_type>,
describe_field_t<SgTemplateArgument,SgTemplateArgument*,&SgTemplateArgument::p_previous_instance>,
describe_field_t<SgTemplateArgument,SgTemplateArgument*,&SgTemplateArgument::p_next_instance>,
describe_field_t<SgTemplateArgument,bool,&SgTemplateArgument::p_is_pack_element>>;
28799 using field_type = SgTemplateArgumentPtrList;
28800 static constexpr size_t position{0};
28801 static constexpr char const *
const name{
"args"};
28802 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
28803 static constexpr bool traverse{
true};
28804 static constexpr auto mbr_ptr{&SgTemplateArgumentList::p_args};
28805 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28806 using bind = Desc<SgTemplateArgumentList, SgTemplateArgumentPtrList SgTemplateArgumentList::*, &SgTemplateArgumentList::p_args>;
28811 static constexpr char const *
const name{
"TemplateArgumentList"};
28812 static constexpr unsigned long variant{721};
28813 static constexpr bool concrete{
true};
28823 static constexpr size_t position{0};
28824 static constexpr char const *
const name{
"name"};
28825 static constexpr char const *
const typestr{
"SgName"};
28826 static constexpr bool traverse{
false};
28828 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28829 using bind = Desc<SgTemplateDeclaration, SgName SgTemplateDeclaration::*, &SgTemplateDeclaration::p_name>;
28834 static constexpr size_t position{1};
28835 static constexpr char const *
const name{
"string"};
28836 static constexpr char const *
const typestr{
"SgName"};
28837 static constexpr bool traverse{
false};
28839 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28840 using bind = Desc<SgTemplateDeclaration, SgName SgTemplateDeclaration::*, &SgTemplateDeclaration::p_string>;
28845 static constexpr size_t position{2};
28846 static constexpr char const *
const name{
"template_kind"};
28847 static constexpr char const *
const typestr{
"SgTemplateDeclaration::template_type_enum"};
28848 static constexpr bool traverse{
false};
28850 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28851 using bind = Desc<SgTemplateDeclaration, SgTemplateDeclaration::template_type_enum SgTemplateDeclaration::*, &SgTemplateDeclaration::p_template_kind>;
28855 using field_type = SgTemplateParameterPtrList;
28856 static constexpr size_t position{3};
28857 static constexpr char const *
const name{
"templateParameters"};
28858 static constexpr char const *
const typestr{
"SgTemplateParameterPtrList"};
28859 static constexpr bool traverse{
false};
28861 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28862 using bind = Desc<SgTemplateDeclaration, SgTemplateParameterPtrList SgTemplateDeclaration::*, &SgTemplateDeclaration::p_templateParameters>;
28867 static constexpr size_t position{4};
28868 static constexpr char const *
const name{
"scope"};
28869 static constexpr char const *
const typestr{
"SgScopeStatement*"};
28870 static constexpr bool traverse{
false};
28872 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28873 using bind = Desc<SgTemplateDeclaration, SgScopeStatement* SgTemplateDeclaration::*, &SgTemplateDeclaration::p_scope>;
28878 static constexpr size_t position{5};
28879 static constexpr char const *
const name{
"nonreal_decl_scope"};
28880 static constexpr char const *
const typestr{
"SgDeclarationScope*"};
28881 static constexpr bool traverse{
false};
28882 static constexpr auto mbr_ptr{&SgTemplateDeclaration::p_nonreal_decl_scope};
28883 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28884 using bind = Desc<SgTemplateDeclaration, SgDeclarationScope* SgTemplateDeclaration::*, &SgTemplateDeclaration::p_nonreal_decl_scope>;
28889 static constexpr char const *
const name{
"TemplateDeclaration"};
28890 static constexpr unsigned long variant{722};
28891 static constexpr bool concrete{
true};
28893 using fields_t =
mp::List<describe_field_t<SgTemplateDeclaration,SgName,&SgTemplateDeclaration::p_name>,
describe_field_t<SgTemplateDeclaration,SgName,&SgTemplateDeclaration::p_string>,
describe_field_t<SgTemplateDeclaration,SgTemplateDeclaration::template_type_enum,&SgTemplateDeclaration::p_template_kind>,
describe_field_t<SgTemplateDeclaration,SgTemplateParameterPtrList,&SgTemplateDeclaration::p_templateParameters>,
describe_field_t<SgTemplateDeclaration,SgScopeStatement*,&SgTemplateDeclaration::p_scope>,
describe_field_t<SgTemplateDeclaration,SgDeclarationScope*,&SgTemplateDeclaration::p_nonreal_decl_scope>>;
28900 using field_type = SgTemplateParameterPtrList;
28901 static constexpr size_t position{0};
28902 static constexpr char const *
const name{
"templateParameters"};
28903 static constexpr char const *
const typestr{
"SgTemplateParameterPtrList"};
28904 static constexpr bool traverse{
false};
28905 static constexpr auto mbr_ptr{&SgTemplateClassDeclaration::p_templateParameters};
28906 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28907 using bind = Desc<SgTemplateClassDeclaration, SgTemplateParameterPtrList SgTemplateClassDeclaration::*, &SgTemplateClassDeclaration::p_templateParameters>;
28911 using field_type = SgTemplateArgumentPtrList;
28912 static constexpr size_t position{1};
28913 static constexpr char const *
const name{
"templateSpecializationArguments"};
28914 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
28915 static constexpr bool traverse{
false};
28916 static constexpr auto mbr_ptr{&SgTemplateClassDeclaration::p_templateSpecializationArguments};
28917 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28918 using bind = Desc<SgTemplateClassDeclaration, SgTemplateArgumentPtrList SgTemplateClassDeclaration::*, &SgTemplateClassDeclaration::p_templateSpecializationArguments>;
28923 static constexpr size_t position{2};
28924 static constexpr char const *
const name{
"string"};
28925 static constexpr char const *
const typestr{
"SgName"};
28926 static constexpr bool traverse{
false};
28927 static constexpr auto mbr_ptr{&SgTemplateClassDeclaration::p_string};
28928 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28929 using bind = Desc<SgTemplateClassDeclaration, SgName SgTemplateClassDeclaration::*, &SgTemplateClassDeclaration::p_string>;
28934 static constexpr size_t position{3};
28935 static constexpr char const *
const name{
"templateName"};
28936 static constexpr char const *
const typestr{
"SgName"};
28937 static constexpr bool traverse{
false};
28938 static constexpr auto mbr_ptr{&SgTemplateClassDeclaration::p_templateName};
28939 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28940 using bind = Desc<SgTemplateClassDeclaration, SgName SgTemplateClassDeclaration::*, &SgTemplateClassDeclaration::p_templateName>;
28945 static constexpr size_t position{4};
28946 static constexpr char const *
const name{
"nonreal_decl_scope"};
28947 static constexpr char const *
const typestr{
"SgDeclarationScope*"};
28948 static constexpr bool traverse{
false};
28949 static constexpr auto mbr_ptr{&SgTemplateClassDeclaration::p_nonreal_decl_scope};
28950 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28951 using bind = Desc<SgTemplateClassDeclaration, SgDeclarationScope* SgTemplateClassDeclaration::*, &SgTemplateClassDeclaration::p_nonreal_decl_scope>;
28956 static constexpr char const *
const name{
"TemplateClassDeclaration"};
28957 static constexpr unsigned long variant{723};
28958 static constexpr bool concrete{
true};
28960 using fields_t =
mp::List<describe_field_t<SgTemplateClassDeclaration,SgTemplateParameterPtrList,&SgTemplateClassDeclaration::p_templateParameters>,
describe_field_t<SgTemplateClassDeclaration,SgTemplateArgumentPtrList,&SgTemplateClassDeclaration::p_templateSpecializationArguments>,
describe_field_t<SgTemplateClassDeclaration,SgName,&SgTemplateClassDeclaration::p_string>,
describe_field_t<SgTemplateClassDeclaration,SgName,&SgTemplateClassDeclaration::p_templateName>,
describe_field_t<SgTemplateClassDeclaration,SgDeclarationScope*,&SgTemplateClassDeclaration::p_nonreal_decl_scope>>;
28968 static constexpr char const *
const name{
"TemplateClassSymbol"};
28969 static constexpr unsigned long variant{724};
28970 static constexpr bool concrete{
true};
28979 using field_type = SgTemplateParameterPtrList;
28980 static constexpr size_t position{0};
28981 static constexpr char const *
const name{
"templateParameters"};
28982 static constexpr char const *
const typestr{
"SgTemplateParameterPtrList"};
28983 static constexpr bool traverse{
false};
28984 static constexpr auto mbr_ptr{&SgTemplateFunctionDeclaration::p_templateParameters};
28985 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28986 using bind = Desc<SgTemplateFunctionDeclaration, SgTemplateParameterPtrList SgTemplateFunctionDeclaration::*, &SgTemplateFunctionDeclaration::p_templateParameters>;
28990 using field_type = SgTemplateArgumentPtrList;
28991 static constexpr size_t position{1};
28992 static constexpr char const *
const name{
"templateSpecializationArguments"};
28993 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
28994 static constexpr bool traverse{
false};
28995 static constexpr auto mbr_ptr{&SgTemplateFunctionDeclaration::p_templateSpecializationArguments};
28996 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
28997 using bind = Desc<SgTemplateFunctionDeclaration, SgTemplateArgumentPtrList SgTemplateFunctionDeclaration::*, &SgTemplateFunctionDeclaration::p_templateSpecializationArguments>;
29002 static constexpr size_t position{2};
29003 static constexpr char const *
const name{
"string"};
29004 static constexpr char const *
const typestr{
"SgName"};
29005 static constexpr bool traverse{
false};
29006 static constexpr auto mbr_ptr{&SgTemplateFunctionDeclaration::p_string};
29007 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29008 using bind = Desc<SgTemplateFunctionDeclaration, SgName SgTemplateFunctionDeclaration::*, &SgTemplateFunctionDeclaration::p_string>;
29012 using field_type = bool;
29013 static constexpr size_t position{3};
29014 static constexpr char const *
const name{
"string_represents_function_body"};
29015 static constexpr char const *
const typestr{
"bool"};
29016 static constexpr bool traverse{
false};
29017 static constexpr auto mbr_ptr{&SgTemplateFunctionDeclaration::p_string_represents_function_body};
29018 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29019 using bind = Desc<SgTemplateFunctionDeclaration, bool SgTemplateFunctionDeclaration::*, &SgTemplateFunctionDeclaration::p_string_represents_function_body>;
29024 static constexpr size_t position{4};
29025 static constexpr char const *
const name{
"nonreal_decl_scope"};
29026 static constexpr char const *
const typestr{
"SgDeclarationScope*"};
29027 static constexpr bool traverse{
false};
29028 static constexpr auto mbr_ptr{&SgTemplateFunctionDeclaration::p_nonreal_decl_scope};
29029 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29030 using bind = Desc<SgTemplateFunctionDeclaration, SgDeclarationScope* SgTemplateFunctionDeclaration::*, &SgTemplateFunctionDeclaration::p_nonreal_decl_scope>;
29035 static constexpr char const *
const name{
"TemplateFunctionDeclaration"};
29036 static constexpr unsigned long variant{725};
29037 static constexpr bool concrete{
true};
29039 using fields_t =
mp::List<describe_field_t<SgTemplateFunctionDeclaration,SgTemplateParameterPtrList,&SgTemplateFunctionDeclaration::p_templateParameters>,
describe_field_t<SgTemplateFunctionDeclaration,SgTemplateArgumentPtrList,&SgTemplateFunctionDeclaration::p_templateSpecializationArguments>,
describe_field_t<SgTemplateFunctionDeclaration,SgName,&SgTemplateFunctionDeclaration::p_string>,
describe_field_t<SgTemplateFunctionDeclaration,bool,&SgTemplateFunctionDeclaration::p_string_represents_function_body>,
describe_field_t<SgTemplateFunctionDeclaration,SgDeclarationScope*,&SgTemplateFunctionDeclaration::p_nonreal_decl_scope>>;
29047 static constexpr size_t position{0};
29048 static constexpr char const *
const name{
"symbol_i"};
29049 static constexpr char const *
const typestr{
"SgTemplateFunctionSymbol*"};
29050 static constexpr bool traverse{
false};
29051 static constexpr auto mbr_ptr{&SgTemplateFunctionRefExp::p_symbol_i};
29052 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29053 using bind = Desc<SgTemplateFunctionRefExp, SgTemplateFunctionSymbol* SgTemplateFunctionRefExp::*, &SgTemplateFunctionRefExp::p_symbol_i>;
29057 using field_type = int;
29058 static constexpr size_t position{1};
29059 static constexpr char const *
const name{
"name_qualification_length"};
29060 static constexpr char const *
const typestr{
"int"};
29061 static constexpr bool traverse{
false};
29062 static constexpr auto mbr_ptr{&SgTemplateFunctionRefExp::p_name_qualification_length};
29063 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29064 using bind = Desc<SgTemplateFunctionRefExp, int SgTemplateFunctionRefExp::*, &SgTemplateFunctionRefExp::p_name_qualification_length>;
29068 using field_type = bool;
29069 static constexpr size_t position{2};
29070 static constexpr char const *
const name{
"type_elaboration_required"};
29071 static constexpr char const *
const typestr{
"bool"};
29072 static constexpr bool traverse{
false};
29073 static constexpr auto mbr_ptr{&SgTemplateFunctionRefExp::p_type_elaboration_required};
29074 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29075 using bind = Desc<SgTemplateFunctionRefExp, bool SgTemplateFunctionRefExp::*, &SgTemplateFunctionRefExp::p_type_elaboration_required>;
29079 using field_type = bool;
29080 static constexpr size_t position{3};
29081 static constexpr char const *
const name{
"global_qualification_required"};
29082 static constexpr char const *
const typestr{
"bool"};
29083 static constexpr bool traverse{
false};
29084 static constexpr auto mbr_ptr{&SgTemplateFunctionRefExp::p_global_qualification_required};
29085 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29086 using bind = Desc<SgTemplateFunctionRefExp, bool SgTemplateFunctionRefExp::*, &SgTemplateFunctionRefExp::p_global_qualification_required>;
29091 static constexpr char const *
const name{
"TemplateFunctionRefExp"};
29092 static constexpr unsigned long variant{726};
29093 static constexpr bool concrete{
true};
29095 using fields_t =
mp::List<describe_field_t<SgTemplateFunctionRefExp,SgTemplateFunctionSymbol*,&SgTemplateFunctionRefExp::p_symbol_i>,
describe_field_t<SgTemplateFunctionRefExp,int,&SgTemplateFunctionRefExp::p_name_qualification_length>,
describe_field_t<SgTemplateFunctionRefExp,bool,&SgTemplateFunctionRefExp::p_type_elaboration_required>,
describe_field_t<SgTemplateFunctionRefExp,bool,&SgTemplateFunctionRefExp::p_global_qualification_required>>;
29103 static constexpr char const *
const name{
"TemplateFunctionSymbol"};
29104 static constexpr unsigned long variant{727};
29105 static constexpr bool concrete{
true};
29114 using field_type = SgTemplateParameterPtrList;
29115 static constexpr size_t position{0};
29116 static constexpr char const *
const name{
"templateParameters"};
29117 static constexpr char const *
const typestr{
"SgTemplateParameterPtrList"};
29118 static constexpr bool traverse{
false};
29119 static constexpr auto mbr_ptr{&SgTemplateMemberFunctionDeclaration::p_templateParameters};
29120 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29121 using bind = Desc<SgTemplateMemberFunctionDeclaration, SgTemplateParameterPtrList SgTemplateMemberFunctionDeclaration::*, &SgTemplateMemberFunctionDeclaration::p_templateParameters>;
29125 using field_type = SgTemplateArgumentPtrList;
29126 static constexpr size_t position{1};
29127 static constexpr char const *
const name{
"templateSpecializationArguments"};
29128 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
29129 static constexpr bool traverse{
false};
29130 static constexpr auto mbr_ptr{&SgTemplateMemberFunctionDeclaration::p_templateSpecializationArguments};
29131 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29132 using bind = Desc<SgTemplateMemberFunctionDeclaration, SgTemplateArgumentPtrList SgTemplateMemberFunctionDeclaration::*, &SgTemplateMemberFunctionDeclaration::p_templateSpecializationArguments>;
29137 static constexpr size_t position{2};
29138 static constexpr char const *
const name{
"string"};
29139 static constexpr char const *
const typestr{
"SgName"};
29140 static constexpr bool traverse{
false};
29141 static constexpr auto mbr_ptr{&SgTemplateMemberFunctionDeclaration::p_string};
29142 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29143 using bind = Desc<SgTemplateMemberFunctionDeclaration, SgName SgTemplateMemberFunctionDeclaration::*, &SgTemplateMemberFunctionDeclaration::p_string>;
29147 using field_type = bool;
29148 static constexpr size_t position{3};
29149 static constexpr char const *
const name{
"string_represents_function_body"};
29150 static constexpr char const *
const typestr{
"bool"};
29151 static constexpr bool traverse{
false};
29152 static constexpr auto mbr_ptr{&SgTemplateMemberFunctionDeclaration::p_string_represents_function_body};
29153 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29154 using bind = Desc<SgTemplateMemberFunctionDeclaration, bool SgTemplateMemberFunctionDeclaration::*, &SgTemplateMemberFunctionDeclaration::p_string_represents_function_body>;
29159 static constexpr size_t position{4};
29160 static constexpr char const *
const name{
"nonreal_decl_scope"};
29161 static constexpr char const *
const typestr{
"SgDeclarationScope*"};
29162 static constexpr bool traverse{
false};
29163 static constexpr auto mbr_ptr{&SgTemplateMemberFunctionDeclaration::p_nonreal_decl_scope};
29164 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29165 using bind = Desc<SgTemplateMemberFunctionDeclaration, SgDeclarationScope* SgTemplateMemberFunctionDeclaration::*, &SgTemplateMemberFunctionDeclaration::p_nonreal_decl_scope>;
29170 static constexpr char const *
const name{
"TemplateMemberFunctionDeclaration"};
29171 static constexpr unsigned long variant{728};
29172 static constexpr bool concrete{
true};
29174 using fields_t =
mp::List<describe_field_t<SgTemplateMemberFunctionDeclaration,SgTemplateParameterPtrList,&SgTemplateMemberFunctionDeclaration::p_templateParameters>,
describe_field_t<SgTemplateMemberFunctionDeclaration,SgTemplateArgumentPtrList,&SgTemplateMemberFunctionDeclaration::p_templateSpecializationArguments>,
describe_field_t<SgTemplateMemberFunctionDeclaration,SgName,&SgTemplateMemberFunctionDeclaration::p_string>,
describe_field_t<SgTemplateMemberFunctionDeclaration,bool,&SgTemplateMemberFunctionDeclaration::p_string_represents_function_body>,
describe_field_t<SgTemplateMemberFunctionDeclaration,SgDeclarationScope*,&SgTemplateMemberFunctionDeclaration::p_nonreal_decl_scope>>;
29182 static constexpr size_t position{0};
29183 static constexpr char const *
const name{
"symbol_i"};
29184 static constexpr char const *
const typestr{
"SgTemplateMemberFunctionSymbol*"};
29185 static constexpr bool traverse{
false};
29186 static constexpr auto mbr_ptr{&SgTemplateMemberFunctionRefExp::p_symbol_i};
29187 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29188 using bind = Desc<SgTemplateMemberFunctionRefExp, SgTemplateMemberFunctionSymbol* SgTemplateMemberFunctionRefExp::*, &SgTemplateMemberFunctionRefExp::p_symbol_i>;
29192 using field_type = int;
29193 static constexpr size_t position{1};
29194 static constexpr char const *
const name{
"virtual_call"};
29195 static constexpr char const *
const typestr{
"int"};
29196 static constexpr bool traverse{
false};
29197 static constexpr auto mbr_ptr{&SgTemplateMemberFunctionRefExp::p_virtual_call};
29198 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29199 using bind = Desc<SgTemplateMemberFunctionRefExp, int SgTemplateMemberFunctionRefExp::*, &SgTemplateMemberFunctionRefExp::p_virtual_call>;
29203 using field_type = int;
29204 static constexpr size_t position{2};
29205 static constexpr char const *
const name{
"need_qualifier"};
29206 static constexpr char const *
const typestr{
"int"};
29207 static constexpr bool traverse{
false};
29208 static constexpr auto mbr_ptr{&SgTemplateMemberFunctionRefExp::p_need_qualifier};
29209 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29210 using bind = Desc<SgTemplateMemberFunctionRefExp, int SgTemplateMemberFunctionRefExp::*, &SgTemplateMemberFunctionRefExp::p_need_qualifier>;
29214 using field_type = int;
29215 static constexpr size_t position{3};
29216 static constexpr char const *
const name{
"name_qualification_length"};
29217 static constexpr char const *
const typestr{
"int"};
29218 static constexpr bool traverse{
false};
29219 static constexpr auto mbr_ptr{&SgTemplateMemberFunctionRefExp::p_name_qualification_length};
29220 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29221 using bind = Desc<SgTemplateMemberFunctionRefExp, int SgTemplateMemberFunctionRefExp::*, &SgTemplateMemberFunctionRefExp::p_name_qualification_length>;
29225 using field_type = bool;
29226 static constexpr size_t position{4};
29227 static constexpr char const *
const name{
"type_elaboration_required"};
29228 static constexpr char const *
const typestr{
"bool"};
29229 static constexpr bool traverse{
false};
29230 static constexpr auto mbr_ptr{&SgTemplateMemberFunctionRefExp::p_type_elaboration_required};
29231 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29232 using bind = Desc<SgTemplateMemberFunctionRefExp, bool SgTemplateMemberFunctionRefExp::*, &SgTemplateMemberFunctionRefExp::p_type_elaboration_required>;
29236 using field_type = bool;
29237 static constexpr size_t position{5};
29238 static constexpr char const *
const name{
"global_qualification_required"};
29239 static constexpr char const *
const typestr{
"bool"};
29240 static constexpr bool traverse{
false};
29241 static constexpr auto mbr_ptr{&SgTemplateMemberFunctionRefExp::p_global_qualification_required};
29242 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29243 using bind = Desc<SgTemplateMemberFunctionRefExp, bool SgTemplateMemberFunctionRefExp::*, &SgTemplateMemberFunctionRefExp::p_global_qualification_required>;
29248 static constexpr char const *
const name{
"TemplateMemberFunctionRefExp"};
29249 static constexpr unsigned long variant{729};
29250 static constexpr bool concrete{
true};
29252 using fields_t =
mp::List<describe_field_t<SgTemplateMemberFunctionRefExp,SgTemplateMemberFunctionSymbol*,&SgTemplateMemberFunctionRefExp::p_symbol_i>,
describe_field_t<SgTemplateMemberFunctionRefExp,int,&SgTemplateMemberFunctionRefExp::p_virtual_call>,
describe_field_t<SgTemplateMemberFunctionRefExp,int,&SgTemplateMemberFunctionRefExp::p_need_qualifier>,
describe_field_t<SgTemplateMemberFunctionRefExp,int,&SgTemplateMemberFunctionRefExp::p_name_qualification_length>,
describe_field_t<SgTemplateMemberFunctionRefExp,bool,&SgTemplateMemberFunctionRefExp::p_type_elaboration_required>,
describe_field_t<SgTemplateMemberFunctionRefExp,bool,&SgTemplateMemberFunctionRefExp::p_global_qualification_required>>;
29260 static constexpr char const *
const name{
"TemplateMemberFunctionSymbol"};
29261 static constexpr unsigned long variant{730};
29262 static constexpr bool concrete{
true};
29271 using field_type = SgTemplateParameterPtrList;
29272 static constexpr size_t position{0};
29273 static constexpr char const *
const name{
"templateParameters"};
29274 static constexpr char const *
const typestr{
"SgTemplateParameterPtrList"};
29275 static constexpr bool traverse{
false};
29276 static constexpr auto mbr_ptr{&SgTemplateTypedefDeclaration::p_templateParameters};
29277 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29278 using bind = Desc<SgTemplateTypedefDeclaration, SgTemplateParameterPtrList SgTemplateTypedefDeclaration::*, &SgTemplateTypedefDeclaration::p_templateParameters>;
29282 using field_type = SgTemplateArgumentPtrList;
29283 static constexpr size_t position{1};
29284 static constexpr char const *
const name{
"templateSpecializationArguments"};
29285 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
29286 static constexpr bool traverse{
false};
29287 static constexpr auto mbr_ptr{&SgTemplateTypedefDeclaration::p_templateSpecializationArguments};
29288 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29289 using bind = Desc<SgTemplateTypedefDeclaration, SgTemplateArgumentPtrList SgTemplateTypedefDeclaration::*, &SgTemplateTypedefDeclaration::p_templateSpecializationArguments>;
29294 static constexpr size_t position{2};
29295 static constexpr char const *
const name{
"string"};
29296 static constexpr char const *
const typestr{
"SgName"};
29297 static constexpr bool traverse{
false};
29298 static constexpr auto mbr_ptr{&SgTemplateTypedefDeclaration::p_string};
29299 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29300 using bind = Desc<SgTemplateTypedefDeclaration, SgName SgTemplateTypedefDeclaration::*, &SgTemplateTypedefDeclaration::p_string>;
29305 static constexpr size_t position{3};
29306 static constexpr char const *
const name{
"nonreal_decl_scope"};
29307 static constexpr char const *
const typestr{
"SgDeclarationScope*"};
29308 static constexpr bool traverse{
false};
29309 static constexpr auto mbr_ptr{&SgTemplateTypedefDeclaration::p_nonreal_decl_scope};
29310 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29311 using bind = Desc<SgTemplateTypedefDeclaration, SgDeclarationScope* SgTemplateTypedefDeclaration::*, &SgTemplateTypedefDeclaration::p_nonreal_decl_scope>;
29316 static constexpr char const *
const name{
"TemplateTypedefDeclaration"};
29317 static constexpr unsigned long variant{731};
29318 static constexpr bool concrete{
true};
29320 using fields_t =
mp::List<describe_field_t<SgTemplateTypedefDeclaration,SgTemplateParameterPtrList,&SgTemplateTypedefDeclaration::p_templateParameters>,
describe_field_t<SgTemplateTypedefDeclaration,SgTemplateArgumentPtrList,&SgTemplateTypedefDeclaration::p_templateSpecializationArguments>,
describe_field_t<SgTemplateTypedefDeclaration,SgName,&SgTemplateTypedefDeclaration::p_string>,
describe_field_t<SgTemplateTypedefDeclaration,SgDeclarationScope*,&SgTemplateTypedefDeclaration::p_nonreal_decl_scope>>;
29328 static constexpr char const *
const name{
"TemplateTypedefSymbol"};
29329 static constexpr unsigned long variant{732};
29330 static constexpr bool concrete{
true};
29339 using field_type = SgTemplateParameterPtrList;
29340 static constexpr size_t position{0};
29341 static constexpr char const *
const name{
"templateParameters"};
29342 static constexpr char const *
const typestr{
"SgTemplateParameterPtrList"};
29343 static constexpr bool traverse{
false};
29344 static constexpr auto mbr_ptr{&SgTemplateVariableDeclaration::p_templateParameters};
29345 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29346 using bind = Desc<SgTemplateVariableDeclaration, SgTemplateParameterPtrList SgTemplateVariableDeclaration::*, &SgTemplateVariableDeclaration::p_templateParameters>;
29350 using field_type = SgTemplateArgumentPtrList;
29351 static constexpr size_t position{1};
29352 static constexpr char const *
const name{
"templateSpecializationArguments"};
29353 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
29354 static constexpr bool traverse{
false};
29355 static constexpr auto mbr_ptr{&SgTemplateVariableDeclaration::p_templateSpecializationArguments};
29356 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29357 using bind = Desc<SgTemplateVariableDeclaration, SgTemplateArgumentPtrList SgTemplateVariableDeclaration::*, &SgTemplateVariableDeclaration::p_templateSpecializationArguments>;
29362 static constexpr size_t position{2};
29363 static constexpr char const *
const name{
"string"};
29364 static constexpr char const *
const typestr{
"SgName"};
29365 static constexpr bool traverse{
false};
29366 static constexpr auto mbr_ptr{&SgTemplateVariableDeclaration::p_string};
29367 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29368 using bind = Desc<SgTemplateVariableDeclaration, SgName SgTemplateVariableDeclaration::*, &SgTemplateVariableDeclaration::p_string>;
29373 static constexpr size_t position{3};
29374 static constexpr char const *
const name{
"nonreal_decl_scope"};
29375 static constexpr char const *
const typestr{
"SgDeclarationScope*"};
29376 static constexpr bool traverse{
false};
29377 static constexpr auto mbr_ptr{&SgTemplateVariableDeclaration::p_nonreal_decl_scope};
29378 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29379 using bind = Desc<SgTemplateVariableDeclaration, SgDeclarationScope* SgTemplateVariableDeclaration::*, &SgTemplateVariableDeclaration::p_nonreal_decl_scope>;
29384 static constexpr char const *
const name{
"TemplateVariableDeclaration"};
29385 static constexpr unsigned long variant{733};
29386 static constexpr bool concrete{
true};
29388 using fields_t =
mp::List<describe_field_t<SgTemplateVariableDeclaration,SgTemplateParameterPtrList,&SgTemplateVariableDeclaration::p_templateParameters>,
describe_field_t<SgTemplateVariableDeclaration,SgTemplateArgumentPtrList,&SgTemplateVariableDeclaration::p_templateSpecializationArguments>,
describe_field_t<SgTemplateVariableDeclaration,SgName,&SgTemplateVariableDeclaration::p_string>,
describe_field_t<SgTemplateVariableDeclaration,SgDeclarationScope*,&SgTemplateVariableDeclaration::p_nonreal_decl_scope>>;
29396 static constexpr char const *
const name{
"TemplateVariableSymbol"};
29397 static constexpr unsigned long variant{734};
29398 static constexpr bool concrete{
true};
29408 static constexpr char const *
const name{
"TemplateClassDefinition"};
29409 static constexpr unsigned long variant{735};
29410 static constexpr bool concrete{
true};
29420 static constexpr char const *
const name{
"TemplateFunctionDefinition"};
29421 static constexpr unsigned long variant{736};
29422 static constexpr bool concrete{
true};
29432 static constexpr size_t position{0};
29433 static constexpr char const *
const name{
"templateName"};
29434 static constexpr char const *
const typestr{
"SgName"};
29435 static constexpr bool traverse{
false};
29437 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29438 using bind = Desc<SgTemplateInstantiationDecl, SgName SgTemplateInstantiationDecl::*, &SgTemplateInstantiationDecl::p_templateName>;
29443 static constexpr size_t position{1};
29444 static constexpr char const *
const name{
"templateHeader"};
29445 static constexpr char const *
const typestr{
"SgName"};
29446 static constexpr bool traverse{
false};
29448 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29449 using bind = Desc<SgTemplateInstantiationDecl, SgName SgTemplateInstantiationDecl::*, &SgTemplateInstantiationDecl::p_templateHeader>;
29454 static constexpr size_t position{2};
29455 static constexpr char const *
const name{
"templateDeclaration"};
29456 static constexpr char const *
const typestr{
"SgTemplateClassDeclaration*"};
29457 static constexpr bool traverse{
false};
29459 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29460 using bind = Desc<SgTemplateInstantiationDecl, SgTemplateClassDeclaration* SgTemplateInstantiationDecl::*, &SgTemplateInstantiationDecl::p_templateDeclaration>;
29464 using field_type = SgTemplateArgumentPtrList;
29465 static constexpr size_t position{3};
29466 static constexpr char const *
const name{
"templateArguments"};
29467 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
29468 static constexpr bool traverse{
false};
29470 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29471 using bind = Desc<SgTemplateInstantiationDecl, SgTemplateArgumentPtrList SgTemplateInstantiationDecl::*, &SgTemplateInstantiationDecl::p_templateArguments>;
29475 using field_type = bool;
29476 static constexpr size_t position{4};
29477 static constexpr char const *
const name{
"nameResetFromMangledForm"};
29478 static constexpr char const *
const typestr{
"bool"};
29479 static constexpr bool traverse{
false};
29481 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29482 using bind = Desc<SgTemplateInstantiationDecl, bool SgTemplateInstantiationDecl::*, &SgTemplateInstantiationDecl::p_nameResetFromMangledForm>;
29487 static constexpr char const *
const name{
"TemplateInstantiationDecl"};
29488 static constexpr unsigned long variant{737};
29489 static constexpr bool concrete{
true};
29491 using fields_t =
mp::List<describe_field_t<SgTemplateInstantiationDecl,SgName,&SgTemplateInstantiationDecl::p_templateName>,
describe_field_t<SgTemplateInstantiationDecl,SgName,&SgTemplateInstantiationDecl::p_templateHeader>,
describe_field_t<SgTemplateInstantiationDecl,SgTemplateClassDeclaration*,&SgTemplateInstantiationDecl::p_templateDeclaration>,
describe_field_t<SgTemplateInstantiationDecl,SgTemplateArgumentPtrList,&SgTemplateInstantiationDecl::p_templateArguments>,
describe_field_t<SgTemplateInstantiationDecl,bool,&SgTemplateInstantiationDecl::p_nameResetFromMangledForm>>;
29499 static constexpr char const *
const name{
"TemplateInstantiationDefn"};
29500 static constexpr unsigned long variant{738};
29501 static constexpr bool concrete{
true};
29511 static constexpr size_t position{0};
29512 static constexpr char const *
const name{
"declaration"};
29513 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
29514 static constexpr bool traverse{
true};
29516 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29517 using bind = Desc<SgTemplateInstantiationDirectiveStatement, SgDeclarationStatement* SgTemplateInstantiationDirectiveStatement::*, &SgTemplateInstantiationDirectiveStatement::p_declaration>;
29521 using field_type = bool;
29522 static constexpr size_t position{1};
29523 static constexpr char const *
const name{
"do_not_instantiate"};
29524 static constexpr char const *
const typestr{
"bool"};
29525 static constexpr bool traverse{
false};
29526 static constexpr auto mbr_ptr{&SgTemplateInstantiationDirectiveStatement::p_do_not_instantiate};
29527 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29528 using bind = Desc<SgTemplateInstantiationDirectiveStatement, bool SgTemplateInstantiationDirectiveStatement::*, &SgTemplateInstantiationDirectiveStatement::p_do_not_instantiate>;
29533 static constexpr char const *
const name{
"TemplateInstantiationDirectiveStatement"};
29534 static constexpr unsigned long variant{739};
29535 static constexpr bool concrete{
true};
29545 static constexpr size_t position{0};
29546 static constexpr char const *
const name{
"templateName"};
29547 static constexpr char const *
const typestr{
"SgName"};
29548 static constexpr bool traverse{
false};
29550 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29551 using bind = Desc<SgTemplateInstantiationFunctionDecl, SgName SgTemplateInstantiationFunctionDecl::*, &SgTemplateInstantiationFunctionDecl::p_templateName>;
29556 static constexpr size_t position{1};
29557 static constexpr char const *
const name{
"templateDeclaration"};
29558 static constexpr char const *
const typestr{
"SgTemplateFunctionDeclaration*"};
29559 static constexpr bool traverse{
false};
29561 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29562 using bind = Desc<SgTemplateInstantiationFunctionDecl, SgTemplateFunctionDeclaration* SgTemplateInstantiationFunctionDecl::*, &SgTemplateInstantiationFunctionDecl::p_templateDeclaration>;
29566 using field_type = SgTemplateArgumentPtrList;
29567 static constexpr size_t position{2};
29568 static constexpr char const *
const name{
"templateArguments"};
29569 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
29570 static constexpr bool traverse{
false};
29572 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29573 using bind = Desc<SgTemplateInstantiationFunctionDecl, SgTemplateArgumentPtrList SgTemplateInstantiationFunctionDecl::*, &SgTemplateInstantiationFunctionDecl::p_templateArguments>;
29577 using field_type = bool;
29578 static constexpr size_t position{3};
29579 static constexpr char const *
const name{
"nameResetFromMangledForm"};
29580 static constexpr char const *
const typestr{
"bool"};
29581 static constexpr bool traverse{
false};
29583 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29584 using bind = Desc<SgTemplateInstantiationFunctionDecl, bool SgTemplateInstantiationFunctionDecl::*, &SgTemplateInstantiationFunctionDecl::p_nameResetFromMangledForm>;
29588 using field_type = bool;
29589 static constexpr size_t position{4};
29590 static constexpr char const *
const name{
"template_argument_list_is_explicit"};
29591 static constexpr char const *
const typestr{
"bool"};
29592 static constexpr bool traverse{
false};
29593 static constexpr auto mbr_ptr{&SgTemplateInstantiationFunctionDecl::p_template_argument_list_is_explicit};
29594 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29595 using bind = Desc<SgTemplateInstantiationFunctionDecl, bool SgTemplateInstantiationFunctionDecl::*, &SgTemplateInstantiationFunctionDecl::p_template_argument_list_is_explicit>;
29600 static constexpr char const *
const name{
"TemplateInstantiationFunctionDecl"};
29601 static constexpr unsigned long variant{740};
29602 static constexpr bool concrete{
true};
29604 using fields_t =
mp::List<describe_field_t<SgTemplateInstantiationFunctionDecl,SgName,&SgTemplateInstantiationFunctionDecl::p_templateName>,
describe_field_t<SgTemplateInstantiationFunctionDecl,SgTemplateFunctionDeclaration*,&SgTemplateInstantiationFunctionDecl::p_templateDeclaration>,
describe_field_t<SgTemplateInstantiationFunctionDecl,SgTemplateArgumentPtrList,&SgTemplateInstantiationFunctionDecl::p_templateArguments>,
describe_field_t<SgTemplateInstantiationFunctionDecl,bool,&SgTemplateInstantiationFunctionDecl::p_nameResetFromMangledForm>,
describe_field_t<SgTemplateInstantiationFunctionDecl,bool,&SgTemplateInstantiationFunctionDecl::p_template_argument_list_is_explicit>>;
29612 static constexpr size_t position{0};
29613 static constexpr char const *
const name{
"templateName"};
29614 static constexpr char const *
const typestr{
"SgName"};
29615 static constexpr bool traverse{
false};
29617 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29618 using bind = Desc<SgTemplateInstantiationMemberFunctionDecl, SgName SgTemplateInstantiationMemberFunctionDecl::*, &SgTemplateInstantiationMemberFunctionDecl::p_templateName>;
29623 static constexpr size_t position{1};
29624 static constexpr char const *
const name{
"templateDeclaration"};
29625 static constexpr char const *
const typestr{
"SgTemplateMemberFunctionDeclaration*"};
29626 static constexpr bool traverse{
false};
29628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29629 using bind = Desc<SgTemplateInstantiationMemberFunctionDecl, SgTemplateMemberFunctionDeclaration* SgTemplateInstantiationMemberFunctionDecl::*, &SgTemplateInstantiationMemberFunctionDecl::p_templateDeclaration>;
29633 using field_type = SgTemplateArgumentPtrList;
29634 static constexpr size_t position{2};
29635 static constexpr char const *
const name{
"templateArguments"};
29636 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
29637 static constexpr bool traverse{
false};
29639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29640 using bind = Desc<SgTemplateInstantiationMemberFunctionDecl, SgTemplateArgumentPtrList SgTemplateInstantiationMemberFunctionDecl::*, &SgTemplateInstantiationMemberFunctionDecl::p_templateArguments>;
29644 using field_type = bool;
29645 static constexpr size_t position{3};
29646 static constexpr char const *
const name{
"nameResetFromMangledForm"};
29647 static constexpr char const *
const typestr{
"bool"};
29648 static constexpr bool traverse{
false};
29650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29651 using bind = Desc<SgTemplateInstantiationMemberFunctionDecl, bool SgTemplateInstantiationMemberFunctionDecl::*, &SgTemplateInstantiationMemberFunctionDecl::p_nameResetFromMangledForm>;
29655 using field_type = bool;
29656 static constexpr size_t position{4};
29657 static constexpr char const *
const name{
"template_argument_list_is_explicit"};
29658 static constexpr char const *
const typestr{
"bool"};
29659 static constexpr bool traverse{
false};
29660 static constexpr auto mbr_ptr{&SgTemplateInstantiationMemberFunctionDecl::p_template_argument_list_is_explicit};
29661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29662 using bind = Desc<SgTemplateInstantiationMemberFunctionDecl, bool SgTemplateInstantiationMemberFunctionDecl::*, &SgTemplateInstantiationMemberFunctionDecl::p_template_argument_list_is_explicit>;
29667 static constexpr char const *
const name{
"TemplateInstantiationMemberFunctionDecl"};
29668 static constexpr unsigned long variant{741};
29669 static constexpr bool concrete{
true};
29671 using fields_t =
mp::List<describe_field_t<SgTemplateInstantiationMemberFunctionDecl,SgName,&SgTemplateInstantiationMemberFunctionDecl::p_templateName>,
describe_field_t<SgTemplateInstantiationMemberFunctionDecl,SgTemplateMemberFunctionDeclaration*,&SgTemplateInstantiationMemberFunctionDecl::p_templateDeclaration>,
describe_field_t<SgTemplateInstantiationMemberFunctionDecl,SgTemplateArgumentPtrList,&SgTemplateInstantiationMemberFunctionDecl::p_templateArguments>,
describe_field_t<SgTemplateInstantiationMemberFunctionDecl,bool,&SgTemplateInstantiationMemberFunctionDecl::p_nameResetFromMangledForm>,
describe_field_t<SgTemplateInstantiationMemberFunctionDecl,bool,&SgTemplateInstantiationMemberFunctionDecl::p_template_argument_list_is_explicit>>;
29679 static constexpr size_t position{0};
29680 static constexpr char const *
const name{
"templateName"};
29681 static constexpr char const *
const typestr{
"SgName"};
29682 static constexpr bool traverse{
false};
29683 static constexpr auto mbr_ptr{&SgTemplateInstantiationTypedefDeclaration::p_templateName};
29684 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29685 using bind = Desc<SgTemplateInstantiationTypedefDeclaration, SgName SgTemplateInstantiationTypedefDeclaration::*, &SgTemplateInstantiationTypedefDeclaration::p_templateName>;
29690 static constexpr size_t position{1};
29691 static constexpr char const *
const name{
"templateHeader"};
29692 static constexpr char const *
const typestr{
"SgName"};
29693 static constexpr bool traverse{
false};
29694 static constexpr auto mbr_ptr{&SgTemplateInstantiationTypedefDeclaration::p_templateHeader};
29695 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29696 using bind = Desc<SgTemplateInstantiationTypedefDeclaration, SgName SgTemplateInstantiationTypedefDeclaration::*, &SgTemplateInstantiationTypedefDeclaration::p_templateHeader>;
29701 static constexpr size_t position{2};
29702 static constexpr char const *
const name{
"templateDeclaration"};
29703 static constexpr char const *
const typestr{
"SgTemplateTypedefDeclaration*"};
29704 static constexpr bool traverse{
false};
29705 static constexpr auto mbr_ptr{&SgTemplateInstantiationTypedefDeclaration::p_templateDeclaration};
29706 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29707 using bind = Desc<SgTemplateInstantiationTypedefDeclaration, SgTemplateTypedefDeclaration* SgTemplateInstantiationTypedefDeclaration::*, &SgTemplateInstantiationTypedefDeclaration::p_templateDeclaration>;
29711 using field_type = SgTemplateArgumentPtrList;
29712 static constexpr size_t position{3};
29713 static constexpr char const *
const name{
"templateArguments"};
29714 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
29715 static constexpr bool traverse{
false};
29716 static constexpr auto mbr_ptr{&SgTemplateInstantiationTypedefDeclaration::p_templateArguments};
29717 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29718 using bind = Desc<SgTemplateInstantiationTypedefDeclaration, SgTemplateArgumentPtrList SgTemplateInstantiationTypedefDeclaration::*, &SgTemplateInstantiationTypedefDeclaration::p_templateArguments>;
29722 using field_type = bool;
29723 static constexpr size_t position{4};
29724 static constexpr char const *
const name{
"nameResetFromMangledForm"};
29725 static constexpr char const *
const typestr{
"bool"};
29726 static constexpr bool traverse{
false};
29727 static constexpr auto mbr_ptr{&SgTemplateInstantiationTypedefDeclaration::p_nameResetFromMangledForm};
29728 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29729 using bind = Desc<SgTemplateInstantiationTypedefDeclaration, bool SgTemplateInstantiationTypedefDeclaration::*, &SgTemplateInstantiationTypedefDeclaration::p_nameResetFromMangledForm>;
29734 static constexpr char const *
const name{
"TemplateInstantiationTypedefDeclaration"};
29735 static constexpr unsigned long variant{742};
29736 static constexpr bool concrete{
true};
29738 using fields_t =
mp::List<describe_field_t<SgTemplateInstantiationTypedefDeclaration,SgName,&SgTemplateInstantiationTypedefDeclaration::p_templateName>,
describe_field_t<SgTemplateInstantiationTypedefDeclaration,SgName,&SgTemplateInstantiationTypedefDeclaration::p_templateHeader>,
describe_field_t<SgTemplateInstantiationTypedefDeclaration,SgTemplateTypedefDeclaration*,&SgTemplateInstantiationTypedefDeclaration::p_templateDeclaration>,
describe_field_t<SgTemplateInstantiationTypedefDeclaration,SgTemplateArgumentPtrList,&SgTemplateInstantiationTypedefDeclaration::p_templateArguments>,
describe_field_t<SgTemplateInstantiationTypedefDeclaration,bool,&SgTemplateInstantiationTypedefDeclaration::p_nameResetFromMangledForm>>;
29746 static constexpr size_t position{0};
29747 static constexpr char const *
const name{
"parameterType"};
29748 static constexpr char const *
const typestr{
"SgTemplateParameter::template_parameter_enum"};
29749 static constexpr bool traverse{
false};
29750 static constexpr auto mbr_ptr{&SgTemplateParameter::p_parameterType};
29751 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29752 using bind = Desc<SgTemplateParameter, SgTemplateParameter::template_parameter_enum SgTemplateParameter::*, &SgTemplateParameter::p_parameterType>;
29757 static constexpr size_t position{1};
29758 static constexpr char const *
const name{
"type"};
29759 static constexpr char const *
const typestr{
"SgType*"};
29760 static constexpr bool traverse{
false};
29761 static constexpr auto mbr_ptr{&SgTemplateParameter::p_type};
29762 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29763 using bind = Desc<SgTemplateParameter, SgType* SgTemplateParameter::*, &SgTemplateParameter::p_type>;
29768 static constexpr size_t position{2};
29769 static constexpr char const *
const name{
"defaultTypeParameter"};
29770 static constexpr char const *
const typestr{
"SgType*"};
29771 static constexpr bool traverse{
false};
29772 static constexpr auto mbr_ptr{&SgTemplateParameter::p_defaultTypeParameter};
29773 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29774 using bind = Desc<SgTemplateParameter, SgType* SgTemplateParameter::*, &SgTemplateParameter::p_defaultTypeParameter>;
29779 static constexpr size_t position{3};
29780 static constexpr char const *
const name{
"expression"};
29781 static constexpr char const *
const typestr{
"SgExpression*"};
29782 static constexpr bool traverse{
true};
29783 static constexpr auto mbr_ptr{&SgTemplateParameter::p_expression};
29784 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29785 using bind = Desc<SgTemplateParameter, SgExpression* SgTemplateParameter::*, &SgTemplateParameter::p_expression>;
29790 static constexpr size_t position{4};
29791 static constexpr char const *
const name{
"defaultExpressionParameter"};
29792 static constexpr char const *
const typestr{
"SgExpression*"};
29793 static constexpr bool traverse{
true};
29794 static constexpr auto mbr_ptr{&SgTemplateParameter::p_defaultExpressionParameter};
29795 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29796 using bind = Desc<SgTemplateParameter, SgExpression* SgTemplateParameter::*, &SgTemplateParameter::p_defaultExpressionParameter>;
29801 static constexpr size_t position{5};
29802 static constexpr char const *
const name{
"templateDeclaration"};
29803 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
29804 static constexpr bool traverse{
true};
29805 static constexpr auto mbr_ptr{&SgTemplateParameter::p_templateDeclaration};
29806 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29807 using bind = Desc<SgTemplateParameter, SgDeclarationStatement* SgTemplateParameter::*, &SgTemplateParameter::p_templateDeclaration>;
29812 static constexpr size_t position{6};
29813 static constexpr char const *
const name{
"defaultTemplateDeclarationParameter"};
29814 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
29815 static constexpr bool traverse{
true};
29816 static constexpr auto mbr_ptr{&SgTemplateParameter::p_defaultTemplateDeclarationParameter};
29817 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29818 using bind = Desc<SgTemplateParameter, SgDeclarationStatement* SgTemplateParameter::*, &SgTemplateParameter::p_defaultTemplateDeclarationParameter>;
29823 static constexpr size_t position{7};
29824 static constexpr char const *
const name{
"initializedName"};
29825 static constexpr char const *
const typestr{
"SgInitializedName*"};
29826 static constexpr bool traverse{
true};
29827 static constexpr auto mbr_ptr{&SgTemplateParameter::p_initializedName};
29828 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29829 using bind = Desc<SgTemplateParameter, SgInitializedName* SgTemplateParameter::*, &SgTemplateParameter::p_initializedName>;
29834 static constexpr char const *
const name{
"TemplateParameter"};
29835 static constexpr unsigned long variant{743};
29836 static constexpr bool concrete{
true};
29838 using fields_t =
mp::List<describe_field_t<SgTemplateParameter,SgTemplateParameter::template_parameter_enum,&SgTemplateParameter::p_parameterType>,
describe_field_t<SgTemplateParameter,SgType*,&SgTemplateParameter::p_type>,
describe_field_t<SgTemplateParameter,SgType*,&SgTemplateParameter::p_defaultTypeParameter>,
describe_field_t<SgTemplateParameter,SgExpression*,&SgTemplateParameter::p_expression>,
describe_field_t<SgTemplateParameter,SgExpression*,&SgTemplateParameter::p_defaultExpressionParameter>,
describe_field_t<SgTemplateParameter,SgDeclarationStatement*,&SgTemplateParameter::p_templateDeclaration>,
describe_field_t<SgTemplateParameter,SgDeclarationStatement*,&SgTemplateParameter::p_defaultTemplateDeclarationParameter>,
describe_field_t<SgTemplateParameter,SgInitializedName*,&SgTemplateParameter::p_initializedName>>;
29845 using field_type = int;
29846 static constexpr size_t position{0};
29847 static constexpr char const *
const name{
"template_parameter_position"};
29848 static constexpr char const *
const typestr{
"int"};
29849 static constexpr bool traverse{
false};
29850 static constexpr auto mbr_ptr{&SgTemplateParameterVal::p_template_parameter_position};
29851 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29852 using bind = Desc<SgTemplateParameterVal, int SgTemplateParameterVal::*, &SgTemplateParameterVal::p_template_parameter_position>;
29856 using field_type = std::string;
29857 static constexpr size_t position{1};
29858 static constexpr char const *
const name{
"valueString"};
29859 static constexpr char const *
const typestr{
"std::string"};
29860 static constexpr bool traverse{
false};
29861 static constexpr auto mbr_ptr{&SgTemplateParameterVal::p_valueString};
29862 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29863 using bind = Desc<SgTemplateParameterVal, std::string SgTemplateParameterVal::*, &SgTemplateParameterVal::p_valueString>;
29868 static constexpr size_t position{2};
29869 static constexpr char const *
const name{
"valueType"};
29870 static constexpr char const *
const typestr{
"SgType*"};
29871 static constexpr bool traverse{
false};
29872 static constexpr auto mbr_ptr{&SgTemplateParameterVal::p_valueType};
29873 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29874 using bind = Desc<SgTemplateParameterVal, SgType* SgTemplateParameterVal::*, &SgTemplateParameterVal::p_valueType>;
29879 static constexpr char const *
const name{
"TemplateParameterVal"};
29880 static constexpr unsigned long variant{744};
29881 static constexpr bool concrete{
true};
29890 using field_type = SgTemplateParameterPtrList;
29891 static constexpr size_t position{0};
29892 static constexpr char const *
const name{
"args"};
29893 static constexpr char const *
const typestr{
"SgTemplateParameterPtrList"};
29894 static constexpr bool traverse{
true};
29895 static constexpr auto mbr_ptr{&SgTemplateParameterList::p_args};
29896 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29897 using bind = Desc<SgTemplateParameterList, SgTemplateParameterPtrList SgTemplateParameterList::*, &SgTemplateParameterList::p_args>;
29902 static constexpr char const *
const name{
"TemplateParameterList"};
29903 static constexpr unsigned long variant{745};
29904 static constexpr bool concrete{
true};
29914 static constexpr size_t position{0};
29915 static constexpr char const *
const name{
"declaration"};
29916 static constexpr char const *
const typestr{
"SgTemplateDeclaration*"};
29917 static constexpr bool traverse{
true};
29918 static constexpr auto mbr_ptr{&SgTemplateSymbol::p_declaration};
29919 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29920 using bind = Desc<SgTemplateSymbol, SgTemplateDeclaration* SgTemplateSymbol::*, &SgTemplateSymbol::p_declaration>;
29925 static constexpr char const *
const name{
"TemplateSymbol"};
29926 static constexpr unsigned long variant{746};
29927 static constexpr bool concrete{
true};
29937 static constexpr size_t position{0};
29938 static constexpr char const *
const name{
"name"};
29939 static constexpr char const *
const typestr{
"SgName"};
29940 static constexpr bool traverse{
false};
29941 static constexpr auto mbr_ptr{&SgTemplateType::p_name};
29942 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29943 using bind = Desc<SgTemplateType, SgName SgTemplateType::*, &SgTemplateType::p_name>;
29947 using field_type = int;
29948 static constexpr size_t position{1};
29949 static constexpr char const *
const name{
"template_parameter_position"};
29950 static constexpr char const *
const typestr{
"int"};
29951 static constexpr bool traverse{
false};
29952 static constexpr auto mbr_ptr{&SgTemplateType::p_template_parameter_position};
29953 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29954 using bind = Desc<SgTemplateType, int SgTemplateType::*, &SgTemplateType::p_template_parameter_position>;
29958 using field_type = int;
29959 static constexpr size_t position{2};
29960 static constexpr char const *
const name{
"template_parameter_depth"};
29961 static constexpr char const *
const typestr{
"int"};
29962 static constexpr bool traverse{
false};
29963 static constexpr auto mbr_ptr{&SgTemplateType::p_template_parameter_depth};
29964 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29965 using bind = Desc<SgTemplateType, int SgTemplateType::*, &SgTemplateType::p_template_parameter_depth>;
29970 static constexpr size_t position{3};
29971 static constexpr char const *
const name{
"class_type"};
29972 static constexpr char const *
const typestr{
"SgType *"};
29973 static constexpr bool traverse{
true};
29974 static constexpr auto mbr_ptr{&SgTemplateType::p_class_type};
29975 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29976 using bind = Desc<SgTemplateType, SgType * SgTemplateType::*, &SgTemplateType::p_class_type>;
29981 static constexpr size_t position{4};
29982 static constexpr char const *
const name{
"parent_class_type"};
29983 static constexpr char const *
const typestr{
"SgType *"};
29984 static constexpr bool traverse{
true};
29985 static constexpr auto mbr_ptr{&SgTemplateType::p_parent_class_type};
29986 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29987 using bind = Desc<SgTemplateType, SgType * SgTemplateType::*, &SgTemplateType::p_parent_class_type>;
29992 static constexpr size_t position{5};
29993 static constexpr char const *
const name{
"template_parameter"};
29994 static constexpr char const *
const typestr{
"SgTemplateParameter *"};
29995 static constexpr bool traverse{
true};
29996 static constexpr auto mbr_ptr{&SgTemplateType::p_template_parameter};
29997 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
29998 using bind = Desc<SgTemplateType, SgTemplateParameter * SgTemplateType::*, &SgTemplateType::p_template_parameter>;
30002 using field_type = SgTemplateArgumentPtrList;
30003 static constexpr size_t position{6};
30004 static constexpr char const *
const name{
"tpl_args"};
30005 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
30006 static constexpr bool traverse{
false};
30007 static constexpr auto mbr_ptr{&SgTemplateType::p_tpl_args};
30008 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30009 using bind = Desc<SgTemplateType, SgTemplateArgumentPtrList SgTemplateType::*, &SgTemplateType::p_tpl_args>;
30013 using field_type = SgTemplateArgumentPtrList;
30014 static constexpr size_t position{7};
30015 static constexpr char const *
const name{
"part_spec_tpl_args"};
30016 static constexpr char const *
const typestr{
"SgTemplateArgumentPtrList"};
30017 static constexpr bool traverse{
false};
30018 static constexpr auto mbr_ptr{&SgTemplateType::p_part_spec_tpl_args};
30019 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30020 using bind = Desc<SgTemplateType, SgTemplateArgumentPtrList SgTemplateType::*, &SgTemplateType::p_part_spec_tpl_args>;
30024 using field_type = bool;
30025 static constexpr size_t position{8};
30026 static constexpr char const *
const name{
"packed"};
30027 static constexpr char const *
const typestr{
"bool"};
30028 static constexpr bool traverse{
false};
30029 static constexpr auto mbr_ptr{&SgTemplateType::p_packed};
30030 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30031 using bind = Desc<SgTemplateType, bool SgTemplateType::*, &SgTemplateType::p_packed>;
30036 static constexpr char const *
const name{
"TemplateType"};
30037 static constexpr unsigned long variant{747};
30038 static constexpr bool concrete{
true};
30040 using fields_t =
mp::List<describe_field_t<SgTemplateType,SgName,&SgTemplateType::p_name>,
describe_field_t<SgTemplateType,int,&SgTemplateType::p_template_parameter_position>,
describe_field_t<SgTemplateType,int,&SgTemplateType::p_template_parameter_depth>,
describe_field_t<SgTemplateType,SgType *,&SgTemplateType::p_class_type>,
describe_field_t<SgTemplateType,SgType *,&SgTemplateType::p_parent_class_type>,
describe_field_t<SgTemplateType,SgTemplateParameter *,&SgTemplateType::p_template_parameter>,
describe_field_t<SgTemplateType,SgTemplateArgumentPtrList,&SgTemplateType::p_tpl_args>,
describe_field_t<SgTemplateType,SgTemplateArgumentPtrList,&SgTemplateType::p_part_spec_tpl_args>,
describe_field_t<SgTemplateType,bool,&SgTemplateType::p_packed>>;
30048 static constexpr size_t position{0};
30049 static constexpr char const *
const name{
"class_symbol"};
30050 static constexpr char const *
const typestr{
"SgClassSymbol*"};
30051 static constexpr bool traverse{
false};
30053 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30054 using bind = Desc<SgThisExp, SgClassSymbol* SgThisExp::*, &SgThisExp::p_class_symbol>;
30059 static constexpr size_t position{1};
30060 static constexpr char const *
const name{
"nonreal_symbol"};
30061 static constexpr char const *
const typestr{
"SgNonrealSymbol*"};
30062 static constexpr bool traverse{
false};
30063 static constexpr auto mbr_ptr{&SgThisExp::p_nonreal_symbol};
30064 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30065 using bind = Desc<SgThisExp, SgNonrealSymbol* SgThisExp::*, &SgThisExp::p_nonreal_symbol>;
30069 using field_type = int;
30070 static constexpr size_t position{2};
30071 static constexpr char const *
const name{
"pobj_this"};
30072 static constexpr char const *
const typestr{
"int"};
30073 static constexpr bool traverse{
false};
30075 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30076 using bind = Desc<SgThisExp, int SgThisExp::*, &SgThisExp::p_pobj_this>;
30081 static constexpr char const *
const name{
"ThisExp"};
30082 static constexpr unsigned long variant{748};
30083 static constexpr bool concrete{
true};
30093 static constexpr size_t position{0};
30094 static constexpr char const *
const name{
"name"};
30095 static constexpr char const *
const typestr{
"SgName"};
30096 static constexpr bool traverse{
false};
30097 static constexpr auto mbr_ptr{&SgTypeTraitBuiltinOperator::p_name};
30098 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30099 using bind = Desc<SgTypeTraitBuiltinOperator, SgName SgTypeTraitBuiltinOperator::*, &SgTypeTraitBuiltinOperator::p_name>;
30103 using field_type = SgNodePtrList;
30104 static constexpr size_t position{1};
30105 static constexpr char const *
const name{
"args"};
30106 static constexpr char const *
const typestr{
"SgNodePtrList"};
30107 static constexpr bool traverse{
false};
30108 static constexpr auto mbr_ptr{&SgTypeTraitBuiltinOperator::p_args};
30109 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30110 using bind = Desc<SgTypeTraitBuiltinOperator, SgNodePtrList SgTypeTraitBuiltinOperator::*, &SgTypeTraitBuiltinOperator::p_args>;
30115 static constexpr char const *
const name{
"TypeTraitBuiltinOperator"};
30116 static constexpr unsigned long variant{749};
30117 static constexpr bool concrete{
true};
30127 static constexpr size_t position{0};
30128 static constexpr char const *
const name{
"class_symbol"};
30129 static constexpr char const *
const typestr{
"SgClassSymbol*"};
30130 static constexpr bool traverse{
false};
30131 static constexpr auto mbr_ptr{&SgSuperExp::p_class_symbol};
30132 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30133 using bind = Desc<SgSuperExp, SgClassSymbol* SgSuperExp::*, &SgSuperExp::p_class_symbol>;
30137 using field_type = int;
30138 static constexpr size_t position{1};
30139 static constexpr char const *
const name{
"pobj_super"};
30140 static constexpr char const *
const typestr{
"int"};
30141 static constexpr bool traverse{
false};
30142 static constexpr auto mbr_ptr{&SgSuperExp::p_pobj_super};
30143 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30144 using bind = Desc<SgSuperExp, int SgSuperExp::*, &SgSuperExp::p_pobj_super>;
30149 static constexpr char const *
const name{
"SuperExp"};
30150 static constexpr unsigned long variant{750};
30151 static constexpr bool concrete{
true};
30161 static constexpr size_t position{0};
30162 static constexpr char const *
const name{
"throwKind"};
30163 static constexpr char const *
const typestr{
"SgThrowOp::e_throw_kind"};
30164 static constexpr bool traverse{
false};
30166 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30167 using bind = Desc<SgThrowOp, SgThrowOp::e_throw_kind SgThrowOp::*, &SgThrowOp::p_throwKind>;
30172 static constexpr char const *
const name{
"ThrowOp"};
30173 static constexpr unsigned long variant{751};
30174 static constexpr bool concrete{
true};
30183 using field_type = std::string;
30184 static constexpr size_t position{0};
30185 static constexpr char const *
const name{
"lexeme_string"};
30186 static constexpr char const *
const typestr{
"std::string"};
30187 static constexpr bool traverse{
false};
30188 static constexpr auto mbr_ptr{&SgToken::p_lexeme_string};
30189 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30190 using bind = Desc<SgToken, std::string SgToken::*, &SgToken::p_lexeme_string>;
30194 using field_type =
unsigned int;
30195 static constexpr size_t position{1};
30196 static constexpr char const *
const name{
"classification_code"};
30197 static constexpr char const *
const typestr{
"unsigned int"};
30198 static constexpr bool traverse{
false};
30199 static constexpr auto mbr_ptr{&SgToken::p_classification_code};
30200 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30201 using bind = Desc<SgToken, unsigned int SgToken::*, &SgToken::p_classification_code>;
30206 static constexpr char const *
const name{
"Token"};
30207 static constexpr unsigned long variant{752};
30208 static constexpr bool concrete{
true};
30218 static constexpr size_t position{0};
30219 static constexpr char const *
const name{
"body"};
30220 static constexpr char const *
const typestr{
"SgStatement*"};
30221 static constexpr bool traverse{
true};
30223 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30224 using bind = Desc<SgTryStmt, SgStatement* SgTryStmt::*, &SgTryStmt::p_body>;
30229 static constexpr size_t position{1};
30230 static constexpr char const *
const name{
"catch_statement_seq_root"};
30231 static constexpr char const *
const typestr{
"SgCatchStatementSeq*"};
30232 static constexpr bool traverse{
true};
30234 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30235 using bind = Desc<SgTryStmt, SgCatchStatementSeq* SgTryStmt::*, &SgTryStmt::p_catch_statement_seq_root>;
30240 static constexpr size_t position{2};
30241 static constexpr char const *
const name{
"else_body"};
30242 static constexpr char const *
const typestr{
"SgStatement*"};
30243 static constexpr bool traverse{
true};
30245 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30246 using bind = Desc<SgTryStmt, SgStatement* SgTryStmt::*, &SgTryStmt::p_else_body>;
30251 static constexpr size_t position{3};
30252 static constexpr char const *
const name{
"finally_body"};
30253 static constexpr char const *
const typestr{
"SgStatement*"};
30254 static constexpr bool traverse{
true};
30256 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30257 using bind = Desc<SgTryStmt, SgStatement* SgTryStmt::*, &SgTryStmt::p_finally_body>;
30262 static constexpr char const *
const name{
"TryStmt"};
30263 static constexpr unsigned long variant{753};
30264 static constexpr bool concrete{
true};
30266 using fields_t =
mp::List<describe_field_t<SgTryStmt,SgStatement*,&SgTryStmt::p_body>,
describe_field_t<SgTryStmt,SgCatchStatementSeq*,&SgTryStmt::p_catch_statement_seq_root>,
describe_field_t<SgTryStmt,SgStatement*,&SgTryStmt::p_else_body>,
describe_field_t<SgTryStmt,SgStatement*,&SgTryStmt::p_finally_body>>;
30274 static constexpr char const *
const name{
"TupleExp"};
30275 static constexpr unsigned long variant{754};
30276 static constexpr bool concrete{
true};
30285 using field_type = bool;
30286 static constexpr size_t position{0};
30287 static constexpr char const *
const name{
"isCoArray"};
30288 static constexpr char const *
const typestr{
"bool"};
30289 static constexpr bool traverse{
false};
30290 static constexpr auto mbr_ptr{&SgType::p_isCoArray};
30291 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30292 using bind = Desc<SgType, bool SgType::*, &SgType::p_isCoArray>;
30296 using field_type = int;
30297 static constexpr size_t position{1};
30298 static constexpr char const *
const name{
"substitutedForTemplateParam"};
30299 static constexpr char const *
const typestr{
"int"};
30300 static constexpr bool traverse{
false};
30302 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30303 using bind = Desc<SgType, int SgType::*, &SgType::p_substitutedForTemplateParam>;
30308 static constexpr size_t position{2};
30309 static constexpr char const *
const name{
"ref_to"};
30310 static constexpr char const *
const typestr{
"SgReferenceType*"};
30311 static constexpr bool traverse{
false};
30313 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30314 using bind = Desc<SgType, SgReferenceType* SgType::*, &SgType::p_ref_to>;
30319 static constexpr size_t position{3};
30320 static constexpr char const *
const name{
"ptr_to"};
30321 static constexpr char const *
const typestr{
"SgPointerType*"};
30322 static constexpr bool traverse{
false};
30324 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30325 using bind = Desc<SgType, SgPointerType* SgType::*, &SgType::p_ptr_to>;
30330 static constexpr size_t position{4};
30331 static constexpr char const *
const name{
"modifiers"};
30332 static constexpr char const *
const typestr{
"SgModifierNodes*"};
30333 static constexpr bool traverse{
false};
30335 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30336 using bind = Desc<SgType, SgModifierNodes* SgType::*, &SgType::p_modifiers>;
30341 static constexpr size_t position{5};
30342 static constexpr char const *
const name{
"typedefs"};
30343 static constexpr char const *
const typestr{
"SgTypedefSeq*"};
30344 static constexpr bool traverse{
false};
30346 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30347 using bind = Desc<SgType, SgTypedefSeq* SgType::*, &SgType::p_typedefs>;
30352 static constexpr size_t position{6};
30353 static constexpr char const *
const name{
"rvalue_ref_to"};
30354 static constexpr char const *
const typestr{
"SgRvalueReferenceType*"};
30355 static constexpr bool traverse{
false};
30356 static constexpr auto mbr_ptr{&SgType::p_rvalue_ref_to};
30357 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30358 using bind = Desc<SgType, SgRvalueReferenceType* SgType::*, &SgType::p_rvalue_ref_to>;
30363 static constexpr size_t position{7};
30364 static constexpr char const *
const name{
"decltype_ref_to"};
30365 static constexpr char const *
const typestr{
"SgDeclType*"};
30366 static constexpr bool traverse{
false};
30367 static constexpr auto mbr_ptr{&SgType::p_decltype_ref_to};
30368 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30369 using bind = Desc<SgType, SgDeclType* SgType::*, &SgType::p_decltype_ref_to>;
30374 static constexpr size_t position{8};
30375 static constexpr char const *
const name{
"typeof_ref_to"};
30376 static constexpr char const *
const typestr{
"SgTypeOfType*"};
30377 static constexpr bool traverse{
false};
30378 static constexpr auto mbr_ptr{&SgType::p_typeof_ref_to};
30379 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30380 using bind = Desc<SgType, SgTypeOfType* SgType::*, &SgType::p_typeof_ref_to>;
30385 static constexpr size_t position{9};
30386 static constexpr char const *
const name{
"type_kind"};
30387 static constexpr char const *
const typestr{
"SgExpression*"};
30388 static constexpr bool traverse{
true};
30389 static constexpr auto mbr_ptr{&SgType::p_type_kind};
30390 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30391 using bind = Desc<SgType, SgExpression* SgType::*, &SgType::p_type_kind>;
30395 using field_type = bool;
30396 static constexpr size_t position{10};
30397 static constexpr char const *
const name{
"hasTypeKindStar"};
30398 static constexpr char const *
const typestr{
"bool"};
30399 static constexpr bool traverse{
false};
30400 static constexpr auto mbr_ptr{&SgType::p_hasTypeKindStar};
30401 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30402 using bind = Desc<SgType, bool SgType::*, &SgType::p_hasTypeKindStar>;
30407 static constexpr size_t position{11};
30408 static constexpr char const *
const name{
"attributeMechanism"};
30409 static constexpr char const *
const typestr{
"AstAttributeMechanism*"};
30410 static constexpr bool traverse{
false};
30411 static constexpr auto mbr_ptr{&SgType::p_attributeMechanism};
30412 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30413 using bind = Desc<SgType, AstAttributeMechanism* SgType::*, &SgType::p_attributeMechanism>;
30418 static constexpr char const *
const name{
"Type"};
30419 static constexpr unsigned long variant{755};
30420 static constexpr bool concrete{
false};
30421 using subclasses_t =
mp::List<SgTypeUnknown, SgTypeChar, SgTypeSignedChar, SgTypeUnsignedChar, SgTypeShort, SgTypeSignedShort, SgTypeUnsignedShort, SgTypeInt, SgTypeSignedInt, SgTypeUnsignedInt, SgTypeLong, SgTypeSignedLong, SgTypeUnsignedLong, SgTypeVoid, SgTypeGlobalVoid, SgTypeWchar, SgTypeFloat, SgTypeDouble, SgTypeLongLong, SgTypeSignedLongLong, SgTypeUnsignedLongLong, SgTypeSigned128bitInteger, SgTypeUnsigned128bitInteger, SgTypeFloat80, SgTypeLongDouble, SgTypeString, SgTypeBool, SgPointerType, SgReferenceType, SgNamedType, SgModifierType, SgFunctionType, SgArrayType, SgTypeEllipse, SgTemplateType, SgQualifiedNameType, SgTypeComplex, SgTypeImaginary, SgTypeDefault, SgTypeCAFTeam, SgTypeCrayPointer, SgTypeLabel, SgJavaUnionType, SgRvalueReferenceType, SgTypeNullptr, SgDeclType, SgTypeOfType, SgTypeMatrix, SgTypeTuple, SgTypeChar16, SgTypeChar32, SgTypeFloat128, SgTypeFixed, SgAutoType, SgAdaAccessType, SgAdaSubtype, SgAdaDiscreteType, SgAdaModularType, SgAdaDerivedType, SgAdaSubroutineType, SgJovialBitType, SgRangeType>;
30422 using fields_t =
mp::List<describe_field_t<SgType,bool,&SgType::p_isCoArray>,
describe_field_t<SgType,int,&SgType::p_substitutedForTemplateParam>,
describe_field_t<SgType,SgReferenceType*,&SgType::p_ref_to>,
describe_field_t<SgType,SgPointerType*,&SgType::p_ptr_to>,
describe_field_t<SgType,SgModifierNodes*,&SgType::p_modifiers>,
describe_field_t<SgType,SgTypedefSeq*,&SgType::p_typedefs>,
describe_field_t<SgType,SgRvalueReferenceType*,&SgType::p_rvalue_ref_to>,
describe_field_t<SgType,SgDeclType*,&SgType::p_decltype_ref_to>,
describe_field_t<SgType,SgTypeOfType*,&SgType::p_typeof_ref_to>,
describe_field_t<SgType,SgExpression*,&SgType::p_type_kind>,
describe_field_t<SgType,bool,&SgType::p_hasTypeKindStar>,
describe_field_t<SgType,AstAttributeMechanism*,&SgType::p_attributeMechanism>>;
30430 static constexpr char const *
const name{
"TypeBool"};
30431 static constexpr unsigned long variant{756};
30432 static constexpr bool concrete{
true};
30442 static constexpr char const *
const name{
"TypeChar"};
30443 static constexpr unsigned long variant{757};
30444 static constexpr bool concrete{
true};
30454 static constexpr char const *
const name{
"TypeChar16"};
30455 static constexpr unsigned long variant{758};
30456 static constexpr bool concrete{
true};
30466 static constexpr char const *
const name{
"TypeChar32"};
30467 static constexpr unsigned long variant{759};
30468 static constexpr bool concrete{
true};
30478 static constexpr size_t position{0};
30479 static constexpr char const *
const name{
"base_type"};
30480 static constexpr char const *
const typestr{
"SgType*"};
30481 static constexpr bool traverse{
false};
30482 static constexpr auto mbr_ptr{&SgTypeComplex::p_base_type};
30483 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30484 using bind = Desc<SgTypeComplex, SgType* SgTypeComplex::*, &SgTypeComplex::p_base_type>;
30489 static constexpr char const *
const name{
"TypeComplex"};
30490 static constexpr unsigned long variant{760};
30491 static constexpr bool concrete{
true};
30501 static constexpr size_t position{0};
30502 static constexpr char const *
const name{
"name"};
30503 static constexpr char const *
const typestr{
"SgName"};
30504 static constexpr bool traverse{
false};
30505 static constexpr auto mbr_ptr{&SgTypeDefault::p_name};
30506 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30507 using bind = Desc<SgTypeDefault, SgName SgTypeDefault::*, &SgTypeDefault::p_name>;
30512 static constexpr char const *
const name{
"TypeDefault"};
30513 static constexpr unsigned long variant{761};
30514 static constexpr bool concrete{
true};
30524 static constexpr size_t position{0};
30525 static constexpr char const *
const name{
"type"};
30526 static constexpr char const *
const typestr{
"SgType*"};
30527 static constexpr bool traverse{
false};
30528 static constexpr auto mbr_ptr{&SgTypeExpression::p_type};
30529 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30530 using bind = Desc<SgTypeExpression, SgType* SgTypeExpression::*, &SgTypeExpression::p_type>;
30535 static constexpr char const *
const name{
"TypeExpression"};
30536 static constexpr unsigned long variant{762};
30537 static constexpr bool concrete{
true};
30547 static constexpr size_t position{0};
30548 static constexpr char const *
const name{
"name"};
30549 static constexpr char const *
const typestr{
"SgName"};
30550 static constexpr bool traverse{
false};
30551 static constexpr auto mbr_ptr{&SgTypeLabel::p_name};
30552 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30553 using bind = Desc<SgTypeLabel, SgName SgTypeLabel::*, &SgTypeLabel::p_name>;
30558 static constexpr char const *
const name{
"TypeLabel"};
30559 static constexpr unsigned long variant{763};
30560 static constexpr bool concrete{
true};
30570 static constexpr char const *
const name{
"TypeDouble"};
30571 static constexpr unsigned long variant{764};
30572 static constexpr bool concrete{
true};
30582 static constexpr char const *
const name{
"TypeEllipse"};
30583 static constexpr unsigned long variant{765};
30584 static constexpr bool concrete{
true};
30594 static constexpr size_t position{0};
30595 static constexpr char const *
const name{
"scale"};
30596 static constexpr char const *
const typestr{
"SgExpression*"};
30597 static constexpr bool traverse{
true};
30598 static constexpr auto mbr_ptr{&SgTypeFixed::p_scale};
30599 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30600 using bind = Desc<SgTypeFixed, SgExpression* SgTypeFixed::*, &SgTypeFixed::p_scale>;
30605 static constexpr size_t position{1};
30606 static constexpr char const *
const name{
"fraction"};
30607 static constexpr char const *
const typestr{
"SgExpression*"};
30608 static constexpr bool traverse{
true};
30609 static constexpr auto mbr_ptr{&SgTypeFixed::p_fraction};
30610 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30611 using bind = Desc<SgTypeFixed, SgExpression* SgTypeFixed::*, &SgTypeFixed::p_fraction>;
30616 static constexpr char const *
const name{
"TypeFixed"};
30617 static constexpr unsigned long variant{766};
30618 static constexpr bool concrete{
true};
30628 static constexpr char const *
const name{
"TypeFloat"};
30629 static constexpr unsigned long variant{767};
30630 static constexpr bool concrete{
true};
30640 static constexpr char const *
const name{
"TypeFloat128"};
30641 static constexpr unsigned long variant{768};
30642 static constexpr bool concrete{
true};
30652 static constexpr char const *
const name{
"TypeFloat80"};
30653 static constexpr unsigned long variant{769};
30654 static constexpr bool concrete{
true};
30664 static constexpr char const *
const name{
"TypeGlobalVoid"};
30665 static constexpr unsigned long variant{770};
30666 static constexpr bool concrete{
true};
30676 static constexpr size_t position{0};
30677 static constexpr char const *
const name{
"operand_expr"};
30678 static constexpr char const *
const typestr{
"SgExpression*"};
30679 static constexpr bool traverse{
true};
30680 static constexpr auto mbr_ptr{&SgTypeIdOp::p_operand_expr};
30681 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30682 using bind = Desc<SgTypeIdOp, SgExpression* SgTypeIdOp::*, &SgTypeIdOp::p_operand_expr>;
30687 static constexpr size_t position{1};
30688 static constexpr char const *
const name{
"operand_type"};
30689 static constexpr char const *
const typestr{
"SgType*"};
30690 static constexpr bool traverse{
false};
30691 static constexpr auto mbr_ptr{&SgTypeIdOp::p_operand_type};
30692 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30693 using bind = Desc<SgTypeIdOp, SgType* SgTypeIdOp::*, &SgTypeIdOp::p_operand_type>;
30697 using field_type = int;
30698 static constexpr size_t position{2};
30699 static constexpr char const *
const name{
"name_qualification_length"};
30700 static constexpr char const *
const typestr{
"int"};
30701 static constexpr bool traverse{
false};
30702 static constexpr auto mbr_ptr{&SgTypeIdOp::p_name_qualification_length};
30703 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30704 using bind = Desc<SgTypeIdOp, int SgTypeIdOp::*, &SgTypeIdOp::p_name_qualification_length>;
30708 using field_type = bool;
30709 static constexpr size_t position{3};
30710 static constexpr char const *
const name{
"type_elaboration_required"};
30711 static constexpr char const *
const typestr{
"bool"};
30712 static constexpr bool traverse{
false};
30713 static constexpr auto mbr_ptr{&SgTypeIdOp::p_type_elaboration_required};
30714 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30715 using bind = Desc<SgTypeIdOp, bool SgTypeIdOp::*, &SgTypeIdOp::p_type_elaboration_required>;
30719 using field_type = bool;
30720 static constexpr size_t position{4};
30721 static constexpr char const *
const name{
"global_qualification_required"};
30722 static constexpr char const *
const typestr{
"bool"};
30723 static constexpr bool traverse{
false};
30724 static constexpr auto mbr_ptr{&SgTypeIdOp::p_global_qualification_required};
30725 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30726 using bind = Desc<SgTypeIdOp, bool SgTypeIdOp::*, &SgTypeIdOp::p_global_qualification_required>;
30730 using field_type = int;
30731 static constexpr size_t position{5};
30732 static constexpr char const *
const name{
"name_qualification_for_pointer_to_member_class_length"};
30733 static constexpr char const *
const typestr{
"int"};
30734 static constexpr bool traverse{
false};
30735 static constexpr auto mbr_ptr{&SgTypeIdOp::p_name_qualification_for_pointer_to_member_class_length};
30736 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30737 using bind = Desc<SgTypeIdOp, int SgTypeIdOp::*, &SgTypeIdOp::p_name_qualification_for_pointer_to_member_class_length>;
30741 using field_type = bool;
30742 static constexpr size_t position{6};
30743 static constexpr char const *
const name{
"type_elaboration_for_pointer_to_member_class_required"};
30744 static constexpr char const *
const typestr{
"bool"};
30745 static constexpr bool traverse{
false};
30746 static constexpr auto mbr_ptr{&SgTypeIdOp::p_type_elaboration_for_pointer_to_member_class_required};
30747 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30748 using bind = Desc<SgTypeIdOp, bool SgTypeIdOp::*, &SgTypeIdOp::p_type_elaboration_for_pointer_to_member_class_required>;
30752 using field_type = bool;
30753 static constexpr size_t position{7};
30754 static constexpr char const *
const name{
"global_qualification_for_pointer_to_member_class_required"};
30755 static constexpr char const *
const typestr{
"bool"};
30756 static constexpr bool traverse{
false};
30757 static constexpr auto mbr_ptr{&SgTypeIdOp::p_global_qualification_for_pointer_to_member_class_required};
30758 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30759 using bind = Desc<SgTypeIdOp, bool SgTypeIdOp::*, &SgTypeIdOp::p_global_qualification_for_pointer_to_member_class_required>;
30764 static constexpr char const *
const name{
"TypeIdOp"};
30765 static constexpr unsigned long variant{771};
30766 static constexpr bool concrete{
true};
30768 using fields_t =
mp::List<describe_field_t<SgTypeIdOp,SgExpression*,&SgTypeIdOp::p_operand_expr>,
describe_field_t<SgTypeIdOp,SgType*,&SgTypeIdOp::p_operand_type>,
describe_field_t<SgTypeIdOp,int,&SgTypeIdOp::p_name_qualification_length>,
describe_field_t<SgTypeIdOp,bool,&SgTypeIdOp::p_type_elaboration_required>,
describe_field_t<SgTypeIdOp,bool,&SgTypeIdOp::p_global_qualification_required>,
describe_field_t<SgTypeIdOp,int,&SgTypeIdOp::p_name_qualification_for_pointer_to_member_class_length>,
describe_field_t<SgTypeIdOp,bool,&SgTypeIdOp::p_type_elaboration_for_pointer_to_member_class_required>,
describe_field_t<SgTypeIdOp,bool,&SgTypeIdOp::p_global_qualification_for_pointer_to_member_class_required>>;
30776 static constexpr size_t position{0};
30777 static constexpr char const *
const name{
"base_type"};
30778 static constexpr char const *
const typestr{
"SgType*"};
30779 static constexpr bool traverse{
false};
30780 static constexpr auto mbr_ptr{&SgTypeImaginary::p_base_type};
30781 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30782 using bind = Desc<SgTypeImaginary, SgType* SgTypeImaginary::*, &SgTypeImaginary::p_base_type>;
30787 static constexpr char const *
const name{
"TypeImaginary"};
30788 static constexpr unsigned long variant{772};
30789 static constexpr bool concrete{
true};
30798 using field_type = int;
30799 static constexpr size_t position{0};
30800 static constexpr char const *
const name{
"field_size"};
30801 static constexpr char const *
const typestr{
"int"};
30802 static constexpr bool traverse{
false};
30803 static constexpr auto mbr_ptr{&SgTypeInt::p_field_size};
30804 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30805 using bind = Desc<SgTypeInt, int SgTypeInt::*, &SgTypeInt::p_field_size>;
30810 static constexpr char const *
const name{
"TypeInt"};
30811 static constexpr unsigned long variant{773};
30812 static constexpr bool concrete{
true};
30822 static constexpr char const *
const name{
"TypeLong"};
30823 static constexpr unsigned long variant{774};
30824 static constexpr bool concrete{
true};
30834 static constexpr char const *
const name{
"TypeLongDouble"};
30835 static constexpr unsigned long variant{775};
30836 static constexpr bool concrete{
true};
30846 static constexpr char const *
const name{
"TypeLongLong"};
30847 static constexpr unsigned long variant{776};
30848 static constexpr bool concrete{
true};
30857 using field_type = SgBitVector;
30858 static constexpr size_t position{0};
30859 static constexpr char const *
const name{
"modifierVector"};
30860 static constexpr char const *
const typestr{
"SgBitVector"};
30861 static constexpr bool traverse{
false};
30862 static constexpr auto mbr_ptr{&SgTypeModifier::p_modifierVector};
30863 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30864 using bind = Desc<SgTypeModifier, SgBitVector SgTypeModifier::*, &SgTypeModifier::p_modifierVector>;
30869 static constexpr size_t position{1};
30870 static constexpr char const *
const name{
"upcModifier"};
30871 static constexpr char const *
const typestr{
"SgUPC_AccessModifier"};
30872 static constexpr bool traverse{
false};
30873 static constexpr auto mbr_ptr{&SgTypeModifier::p_upcModifier};
30874 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30875 using bind = Desc<SgTypeModifier, SgUPC_AccessModifier SgTypeModifier::*, &SgTypeModifier::p_upcModifier>;
30880 static constexpr size_t position{2};
30881 static constexpr char const *
const name{
"structureModifier"};
30882 static constexpr char const *
const typestr{
"SgStructureModifier"};
30883 static constexpr bool traverse{
false};
30884 static constexpr auto mbr_ptr{&SgTypeModifier::p_structureModifier};
30885 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30886 using bind = Desc<SgTypeModifier, SgStructureModifier SgTypeModifier::*, &SgTypeModifier::p_structureModifier>;
30891 static constexpr size_t position{3};
30892 static constexpr char const *
const name{
"constVolatileModifier"};
30893 static constexpr char const *
const typestr{
"SgConstVolatileModifier"};
30894 static constexpr bool traverse{
false};
30895 static constexpr auto mbr_ptr{&SgTypeModifier::p_constVolatileModifier};
30896 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30897 using bind = Desc<SgTypeModifier, SgConstVolatileModifier SgTypeModifier::*, &SgTypeModifier::p_constVolatileModifier>;
30902 static constexpr size_t position{4};
30903 static constexpr char const *
const name{
"elaboratedTypeModifier"};
30904 static constexpr char const *
const typestr{
"SgElaboratedTypeModifier"};
30905 static constexpr bool traverse{
false};
30906 static constexpr auto mbr_ptr{&SgTypeModifier::p_elaboratedTypeModifier};
30907 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30908 using bind = Desc<SgTypeModifier, SgElaboratedTypeModifier SgTypeModifier::*, &SgTypeModifier::p_elaboratedTypeModifier>;
30913 static constexpr size_t position{5};
30914 static constexpr char const *
const name{
"gnu_extension_machine_mode"};
30915 static constexpr char const *
const typestr{
"SgTypeModifier::gnu_extension_machine_mode_enum"};
30916 static constexpr bool traverse{
false};
30917 static constexpr auto mbr_ptr{&SgTypeModifier::p_gnu_extension_machine_mode};
30918 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30919 using bind = Desc<SgTypeModifier, SgTypeModifier::gnu_extension_machine_mode_enum SgTypeModifier::*, &SgTypeModifier::p_gnu_extension_machine_mode>;
30923 using field_type = int;
30924 static constexpr size_t position{6};
30925 static constexpr char const *
const name{
"gnu_attribute_alignment"};
30926 static constexpr char const *
const typestr{
"int"};
30927 static constexpr bool traverse{
false};
30928 static constexpr auto mbr_ptr{&SgTypeModifier::p_gnu_attribute_alignment};
30929 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30930 using bind = Desc<SgTypeModifier, int SgTypeModifier::*, &SgTypeModifier::p_gnu_attribute_alignment>;
30934 using field_type = long;
30935 static constexpr size_t position{7};
30936 static constexpr char const *
const name{
"gnu_attribute_sentinel"};
30937 static constexpr char const *
const typestr{
"long"};
30938 static constexpr bool traverse{
false};
30939 static constexpr auto mbr_ptr{&SgTypeModifier::p_gnu_attribute_sentinel};
30940 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30941 using bind = Desc<SgTypeModifier, long SgTypeModifier::*, &SgTypeModifier::p_gnu_attribute_sentinel>;
30945 using field_type = unsigned;
30946 static constexpr size_t position{8};
30947 static constexpr char const *
const name{
"address_space_value"};
30948 static constexpr char const *
const typestr{
"unsigned"};
30949 static constexpr bool traverse{
false};
30950 static constexpr auto mbr_ptr{&SgTypeModifier::p_address_space_value};
30951 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30952 using bind = Desc<SgTypeModifier, unsigned SgTypeModifier::*, &SgTypeModifier::p_address_space_value>;
30956 using field_type = unsigned;
30957 static constexpr size_t position{9};
30958 static constexpr char const *
const name{
"vector_size"};
30959 static constexpr char const *
const typestr{
"unsigned"};
30960 static constexpr bool traverse{
false};
30961 static constexpr auto mbr_ptr{&SgTypeModifier::p_vector_size};
30962 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30963 using bind = Desc<SgTypeModifier, unsigned SgTypeModifier::*, &SgTypeModifier::p_vector_size>;
30968 static constexpr char const *
const name{
"TypeModifier"};
30969 static constexpr unsigned long variant{777};
30970 static constexpr bool concrete{
true};
30972 using fields_t =
mp::List<describe_field_t<SgTypeModifier,SgBitVector,&SgTypeModifier::p_modifierVector>,
describe_field_t<SgTypeModifier,SgUPC_AccessModifier,&SgTypeModifier::p_upcModifier>,
describe_field_t<SgTypeModifier,SgStructureModifier,&SgTypeModifier::p_structureModifier>,
describe_field_t<SgTypeModifier,SgConstVolatileModifier,&SgTypeModifier::p_constVolatileModifier>,
describe_field_t<SgTypeModifier,SgElaboratedTypeModifier,&SgTypeModifier::p_elaboratedTypeModifier>,
describe_field_t<SgTypeModifier,SgTypeModifier::gnu_extension_machine_mode_enum,&SgTypeModifier::p_gnu_extension_machine_mode>,
describe_field_t<SgTypeModifier,int,&SgTypeModifier::p_gnu_attribute_alignment>,
describe_field_t<SgTypeModifier,long,&SgTypeModifier::p_gnu_attribute_sentinel>,
describe_field_t<SgTypeModifier,unsigned,&SgTypeModifier::p_address_space_value>,
describe_field_t<SgTypeModifier,unsigned,&SgTypeModifier::p_vector_size>>;
30980 static constexpr size_t position{0};
30981 static constexpr char const *
const name{
"base_type"};
30982 static constexpr char const *
const typestr{
"SgType*"};
30983 static constexpr bool traverse{
false};
30984 static constexpr auto mbr_ptr{&SgTypeMatrix::p_base_type};
30985 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
30986 using bind = Desc<SgTypeMatrix, SgType* SgTypeMatrix::*, &SgTypeMatrix::p_base_type>;
30991 static constexpr char const *
const name{
"TypeMatrix"};
30992 static constexpr unsigned long variant{778};
30993 static constexpr bool concrete{
true};
31002 using field_type = SgTypePtrList;
31003 static constexpr size_t position{0};
31004 static constexpr char const *
const name{
"types"};
31005 static constexpr char const *
const typestr{
"SgTypePtrList"};
31006 static constexpr bool traverse{
false};
31007 static constexpr auto mbr_ptr{&SgTypeTuple::p_types};
31008 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31009 using bind = Desc<SgTypeTuple, SgTypePtrList SgTypeTuple::*, &SgTypeTuple::p_types>;
31014 static constexpr char const *
const name{
"TypeTuple"};
31015 static constexpr unsigned long variant{779};
31016 static constexpr bool concrete{
true};
31026 static constexpr char const *
const name{
"TypeNullptr"};
31027 static constexpr unsigned long variant{780};
31028 static constexpr bool concrete{
true};
31038 static constexpr size_t position{0};
31039 static constexpr char const *
const name{
"base_expression"};
31040 static constexpr char const *
const typestr{
"SgExpression*"};
31041 static constexpr bool traverse{
false};
31042 static constexpr auto mbr_ptr{&SgTypeOfType::p_base_expression};
31043 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31044 using bind = Desc<SgTypeOfType, SgExpression* SgTypeOfType::*, &SgTypeOfType::p_base_expression>;
31049 static constexpr size_t position{1};
31050 static constexpr char const *
const name{
"base_type"};
31051 static constexpr char const *
const typestr{
"SgType*"};
31052 static constexpr bool traverse{
false};
31053 static constexpr auto mbr_ptr{&SgTypeOfType::p_base_type};
31054 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31055 using bind = Desc<SgTypeOfType, SgType* SgTypeOfType::*, &SgTypeOfType::p_base_type>;
31060 static constexpr char const *
const name{
"TypeOfType"};
31061 static constexpr unsigned long variant{781};
31062 static constexpr bool concrete{
true};
31072 static constexpr char const *
const name{
"TypeShort"};
31073 static constexpr unsigned long variant{782};
31074 static constexpr bool concrete{
true};
31084 static constexpr char const *
const name{
"TypeSigned128bitInteger"};
31085 static constexpr unsigned long variant{783};
31086 static constexpr bool concrete{
true};
31096 static constexpr char const *
const name{
"TypeSignedChar"};
31097 static constexpr unsigned long variant{784};
31098 static constexpr bool concrete{
true};
31108 static constexpr char const *
const name{
"TypeSignedInt"};
31109 static constexpr unsigned long variant{785};
31110 static constexpr bool concrete{
true};
31120 static constexpr char const *
const name{
"TypeSignedLong"};
31121 static constexpr unsigned long variant{786};
31122 static constexpr bool concrete{
true};
31132 static constexpr char const *
const name{
"TypeSignedLongLong"};
31133 static constexpr unsigned long variant{787};
31134 static constexpr bool concrete{
true};
31144 static constexpr char const *
const name{
"TypeSignedShort"};
31145 static constexpr unsigned long variant{788};
31146 static constexpr bool concrete{
true};
31156 static constexpr size_t position{0};
31157 static constexpr char const *
const name{
"lengthExpression"};
31158 static constexpr char const *
const typestr{
"SgExpression*"};
31159 static constexpr bool traverse{
true};
31160 static constexpr auto mbr_ptr{&SgTypeString::p_lengthExpression};
31161 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31162 using bind = Desc<SgTypeString, SgExpression* SgTypeString::*, &SgTypeString::p_lengthExpression>;
31167 static constexpr char const *
const name{
"TypeString"};
31168 static constexpr unsigned long variant{789};
31169 static constexpr bool concrete{
true};
31178 using field_type = std::string;
31179 static constexpr size_t position{0};
31180 static constexpr char const *
const name{
"type_name"};
31181 static constexpr char const *
const typestr{
"std::string"};
31182 static constexpr bool traverse{
false};
31183 static constexpr auto mbr_ptr{&SgTypeUnknown::p_type_name};
31184 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31185 using bind = Desc<SgTypeUnknown, std::string SgTypeUnknown::*, &SgTypeUnknown::p_type_name>;
31189 using field_type = bool;
31190 static constexpr size_t position{1};
31191 static constexpr char const *
const name{
"has_type_name"};
31192 static constexpr char const *
const typestr{
"bool"};
31193 static constexpr bool traverse{
false};
31194 static constexpr auto mbr_ptr{&SgTypeUnknown::p_has_type_name};
31195 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31196 using bind = Desc<SgTypeUnknown, bool SgTypeUnknown::*, &SgTypeUnknown::p_has_type_name>;
31201 static constexpr char const *
const name{
"TypeUnknown"};
31202 static constexpr unsigned long variant{790};
31203 static constexpr bool concrete{
true};
31213 static constexpr char const *
const name{
"TypeUnsigned128bitInteger"};
31214 static constexpr unsigned long variant{791};
31215 static constexpr bool concrete{
true};
31225 static constexpr char const *
const name{
"TypeUnsignedChar"};
31226 static constexpr unsigned long variant{792};
31227 static constexpr bool concrete{
true};
31237 static constexpr char const *
const name{
"TypeUnsignedInt"};
31238 static constexpr unsigned long variant{793};
31239 static constexpr bool concrete{
true};
31249 static constexpr char const *
const name{
"TypeUnsignedLong"};
31250 static constexpr unsigned long variant{794};
31251 static constexpr bool concrete{
true};
31261 static constexpr char const *
const name{
"TypeUnsignedLongLong"};
31262 static constexpr unsigned long variant{795};
31263 static constexpr bool concrete{
true};
31273 static constexpr char const *
const name{
"TypeUnsignedShort"};
31274 static constexpr unsigned long variant{796};
31275 static constexpr bool concrete{
true};
31285 static constexpr char const *
const name{
"TypeVoid"};
31286 static constexpr unsigned long variant{797};
31287 static constexpr bool concrete{
true};
31297 static constexpr char const *
const name{
"TypeWchar"};
31298 static constexpr unsigned long variant{798};
31299 static constexpr bool concrete{
true};
31309 static constexpr size_t position{0};
31310 static constexpr char const *
const name{
"name"};
31311 static constexpr char const *
const typestr{
"SgName"};
31312 static constexpr bool traverse{
false};
31314 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31315 using bind = Desc<SgTypedefDeclaration, SgName SgTypedefDeclaration::*, &SgTypedefDeclaration::p_name>;
31320 static constexpr size_t position{1};
31321 static constexpr char const *
const name{
"base_type"};
31322 static constexpr char const *
const typestr{
"SgType*"};
31323 static constexpr bool traverse{
false};
31325 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31326 using bind = Desc<SgTypedefDeclaration, SgType* SgTypedefDeclaration::*, &SgTypedefDeclaration::p_base_type>;
31331 static constexpr size_t position{2};
31332 static constexpr char const *
const name{
"type"};
31333 static constexpr char const *
const typestr{
"SgTypedefType*"};
31334 static constexpr bool traverse{
false};
31336 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31337 using bind = Desc<SgTypedefDeclaration, SgTypedefType* SgTypedefDeclaration::*, &SgTypedefDeclaration::p_type>;
31342 static constexpr size_t position{3};
31343 static constexpr char const *
const name{
"declaration"};
31344 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
31345 static constexpr bool traverse{
true};
31347 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31348 using bind = Desc<SgTypedefDeclaration, SgDeclarationStatement* SgTypedefDeclaration::*, &SgTypedefDeclaration::p_declaration>;
31353 static constexpr size_t position{4};
31354 static constexpr char const *
const name{
"parent_scope"};
31355 static constexpr char const *
const typestr{
"SgSymbol*"};
31356 static constexpr bool traverse{
false};
31358 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31359 using bind = Desc<SgTypedefDeclaration, SgSymbol* SgTypedefDeclaration::*, &SgTypedefDeclaration::p_parent_scope>;
31363 using field_type = bool;
31364 static constexpr size_t position{5};
31365 static constexpr char const *
const name{
"typedefBaseTypeContainsDefiningDeclaration"};
31366 static constexpr char const *
const typestr{
"bool"};
31367 static constexpr bool traverse{
false};
31369 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31370 using bind = Desc<SgTypedefDeclaration, bool SgTypedefDeclaration::*, &SgTypedefDeclaration::p_typedefBaseTypeContainsDefiningDeclaration>;
31375 static constexpr size_t position{6};
31376 static constexpr char const *
const name{
"scope"};
31377 static constexpr char const *
const typestr{
"SgScopeStatement*"};
31378 static constexpr bool traverse{
false};
31380 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31381 using bind = Desc<SgTypedefDeclaration, SgScopeStatement* SgTypedefDeclaration::*, &SgTypedefDeclaration::p_scope>;
31385 using field_type = bool;
31386 static constexpr size_t position{7};
31387 static constexpr char const *
const name{
"requiresGlobalNameQualificationOnType"};
31388 static constexpr char const *
const typestr{
"bool"};
31389 static constexpr bool traverse{
false};
31390 static constexpr auto mbr_ptr{&SgTypedefDeclaration::p_requiresGlobalNameQualificationOnType};
31391 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31392 using bind = Desc<SgTypedefDeclaration, bool SgTypedefDeclaration::*, &SgTypedefDeclaration::p_requiresGlobalNameQualificationOnType>;
31396 using field_type = int;
31397 static constexpr size_t position{8};
31398 static constexpr char const *
const name{
"name_qualification_length_for_base_type"};
31399 static constexpr char const *
const typestr{
"int"};
31400 static constexpr bool traverse{
false};
31401 static constexpr auto mbr_ptr{&SgTypedefDeclaration::p_name_qualification_length_for_base_type};
31402 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31403 using bind = Desc<SgTypedefDeclaration, int SgTypedefDeclaration::*, &SgTypedefDeclaration::p_name_qualification_length_for_base_type>;
31407 using field_type = bool;
31408 static constexpr size_t position{9};
31409 static constexpr char const *
const name{
"type_elaboration_required_for_base_type"};
31410 static constexpr char const *
const typestr{
"bool"};
31411 static constexpr bool traverse{
false};
31412 static constexpr auto mbr_ptr{&SgTypedefDeclaration::p_type_elaboration_required_for_base_type};
31413 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31414 using bind = Desc<SgTypedefDeclaration, bool SgTypedefDeclaration::*, &SgTypedefDeclaration::p_type_elaboration_required_for_base_type>;
31418 using field_type = bool;
31419 static constexpr size_t position{10};
31420 static constexpr char const *
const name{
"global_qualification_required_for_base_type"};
31421 static constexpr char const *
const typestr{
"bool"};
31422 static constexpr bool traverse{
false};
31423 static constexpr auto mbr_ptr{&SgTypedefDeclaration::p_global_qualification_required_for_base_type};
31424 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31425 using bind = Desc<SgTypedefDeclaration, bool SgTypedefDeclaration::*, &SgTypedefDeclaration::p_global_qualification_required_for_base_type>;
31429 using field_type = bool;
31430 static constexpr size_t position{11};
31431 static constexpr char const *
const name{
"isAutonomousDeclaration"};
31432 static constexpr char const *
const typestr{
"bool"};
31433 static constexpr bool traverse{
false};
31434 static constexpr auto mbr_ptr{&SgTypedefDeclaration::p_isAutonomousDeclaration};
31435 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31436 using bind = Desc<SgTypedefDeclaration, bool SgTypedefDeclaration::*, &SgTypedefDeclaration::p_isAutonomousDeclaration>;
31440 using field_type = bool;
31441 static constexpr size_t position{12};
31442 static constexpr char const *
const name{
"isAssociatedWithDeclarationList"};
31443 static constexpr char const *
const typestr{
"bool"};
31444 static constexpr bool traverse{
false};
31445 static constexpr auto mbr_ptr{&SgTypedefDeclaration::p_isAssociatedWithDeclarationList};
31446 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31447 using bind = Desc<SgTypedefDeclaration, bool SgTypedefDeclaration::*, &SgTypedefDeclaration::p_isAssociatedWithDeclarationList>;
31451 using field_type = bool;
31452 static constexpr size_t position{13};
31453 static constexpr char const *
const name{
"isFirstDeclarationOfDeclarationList"};
31454 static constexpr char const *
const typestr{
"bool"};
31455 static constexpr bool traverse{
false};
31456 static constexpr auto mbr_ptr{&SgTypedefDeclaration::p_isFirstDeclarationOfDeclarationList};
31457 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31458 using bind = Desc<SgTypedefDeclaration, bool SgTypedefDeclaration::*, &SgTypedefDeclaration::p_isFirstDeclarationOfDeclarationList>;
31462 using field_type = int;
31463 static constexpr size_t position{14};
31464 static constexpr char const *
const name{
"name_qualification_length"};
31465 static constexpr char const *
const typestr{
"int"};
31466 static constexpr bool traverse{
false};
31467 static constexpr auto mbr_ptr{&SgTypedefDeclaration::p_name_qualification_length};
31468 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31469 using bind = Desc<SgTypedefDeclaration, int SgTypedefDeclaration::*, &SgTypedefDeclaration::p_name_qualification_length>;
31473 using field_type = bool;
31474 static constexpr size_t position{15};
31475 static constexpr char const *
const name{
"type_elaboration_required"};
31476 static constexpr char const *
const typestr{
"bool"};
31477 static constexpr bool traverse{
false};
31478 static constexpr auto mbr_ptr{&SgTypedefDeclaration::p_type_elaboration_required};
31479 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31480 using bind = Desc<SgTypedefDeclaration, bool SgTypedefDeclaration::*, &SgTypedefDeclaration::p_type_elaboration_required>;
31484 using field_type = bool;
31485 static constexpr size_t position{16};
31486 static constexpr char const *
const name{
"global_qualification_required"};
31487 static constexpr char const *
const typestr{
"bool"};
31488 static constexpr bool traverse{
false};
31489 static constexpr auto mbr_ptr{&SgTypedefDeclaration::p_global_qualification_required};
31490 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31491 using bind = Desc<SgTypedefDeclaration, bool SgTypedefDeclaration::*, &SgTypedefDeclaration::p_global_qualification_required>;
31496 static constexpr char const *
const name{
"TypedefDeclaration"};
31497 static constexpr unsigned long variant{799};
31498 static constexpr bool concrete{
true};
31500 using fields_t =
mp::List<describe_field_t<SgTypedefDeclaration,SgName,&SgTypedefDeclaration::p_name>,
describe_field_t<SgTypedefDeclaration,SgType*,&SgTypedefDeclaration::p_base_type>,
describe_field_t<SgTypedefDeclaration,SgTypedefType*,&SgTypedefDeclaration::p_type>,
describe_field_t<SgTypedefDeclaration,SgDeclarationStatement*,&SgTypedefDeclaration::p_declaration>,
describe_field_t<SgTypedefDeclaration,SgSymbol*,&SgTypedefDeclaration::p_parent_scope>,
describe_field_t<SgTypedefDeclaration,bool,&SgTypedefDeclaration::p_typedefBaseTypeContainsDefiningDeclaration>,
describe_field_t<SgTypedefDeclaration,SgScopeStatement*,&SgTypedefDeclaration::p_scope>,
describe_field_t<SgTypedefDeclaration,bool,&SgTypedefDeclaration::p_requiresGlobalNameQualificationOnType>,
describe_field_t<SgTypedefDeclaration,int,&SgTypedefDeclaration::p_name_qualification_length_for_base_type>,
describe_field_t<SgTypedefDeclaration,bool,&SgTypedefDeclaration::p_type_elaboration_required_for_base_type>,
describe_field_t<SgTypedefDeclaration,bool,&SgTypedefDeclaration::p_global_qualification_required_for_base_type>,
describe_field_t<SgTypedefDeclaration,bool,&SgTypedefDeclaration::p_isAutonomousDeclaration>,
describe_field_t<SgTypedefDeclaration,bool,&SgTypedefDeclaration::p_isAssociatedWithDeclarationList>,
describe_field_t<SgTypedefDeclaration,bool,&SgTypedefDeclaration::p_isFirstDeclarationOfDeclarationList>,
describe_field_t<SgTypedefDeclaration,int,&SgTypedefDeclaration::p_name_qualification_length>,
describe_field_t<SgTypedefDeclaration,bool,&SgTypedefDeclaration::p_type_elaboration_required>,
describe_field_t<SgTypedefDeclaration,bool,&SgTypedefDeclaration::p_global_qualification_required>>;
31507 using field_type = SgTypePtrList;
31508 static constexpr size_t position{0};
31509 static constexpr char const *
const name{
"typedefs"};
31510 static constexpr char const *
const typestr{
"SgTypePtrList"};
31511 static constexpr bool traverse{
false};
31513 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31514 using bind = Desc<SgTypedefSeq, SgTypePtrList SgTypedefSeq::*, &SgTypedefSeq::p_typedefs>;
31519 static constexpr char const *
const name{
"TypedefSeq"};
31520 static constexpr unsigned long variant{800};
31521 static constexpr bool concrete{
true};
31531 static constexpr size_t position{0};
31532 static constexpr char const *
const name{
"declaration"};
31533 static constexpr char const *
const typestr{
"SgTypedefDeclaration*"};
31534 static constexpr bool traverse{
true};
31535 static constexpr auto mbr_ptr{&SgTypedefSymbol::p_declaration};
31536 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31537 using bind = Desc<SgTypedefSymbol, SgTypedefDeclaration* SgTypedefSymbol::*, &SgTypedefSymbol::p_declaration>;
31542 static constexpr char const *
const name{
"TypedefSymbol"};
31543 static constexpr unsigned long variant{801};
31544 static constexpr bool concrete{
true};
31554 static constexpr size_t position{0};
31555 static constexpr char const *
const name{
"parent_scope"};
31556 static constexpr char const *
const typestr{
"SgSymbol*"};
31557 static constexpr bool traverse{
false};
31558 static constexpr auto mbr_ptr{&SgTypedefType::p_parent_scope};
31559 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31560 using bind = Desc<SgTypedefType, SgSymbol* SgTypedefType::*, &SgTypedefType::p_parent_scope>;
31565 static constexpr char const *
const name{
"TypedefType"};
31566 static constexpr unsigned long variant{802};
31567 static constexpr bool concrete{
true};
31577 static constexpr size_t position{0};
31578 static constexpr char const *
const name{
"modifier"};
31579 static constexpr char const *
const typestr{
"SgUPC_AccessModifier::upc_access_modifier_enum"};
31580 static constexpr bool traverse{
false};
31581 static constexpr auto mbr_ptr{&SgUPC_AccessModifier::p_modifier};
31582 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31583 using bind = Desc<SgUPC_AccessModifier, SgUPC_AccessModifier::upc_access_modifier_enum SgUPC_AccessModifier::*, &SgUPC_AccessModifier::p_modifier>;
31587 using field_type = bool;
31588 static constexpr size_t position{1};
31589 static constexpr char const *
const name{
"isShared"};
31590 static constexpr char const *
const typestr{
"bool"};
31591 static constexpr bool traverse{
false};
31592 static constexpr auto mbr_ptr{&SgUPC_AccessModifier::p_isShared};
31593 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31594 using bind = Desc<SgUPC_AccessModifier, bool SgUPC_AccessModifier::*, &SgUPC_AccessModifier::p_isShared>;
31598 using field_type = long;
31599 static constexpr size_t position{2};
31600 static constexpr char const *
const name{
"layout"};
31601 static constexpr char const *
const typestr{
"long"};
31602 static constexpr bool traverse{
false};
31603 static constexpr auto mbr_ptr{&SgUPC_AccessModifier::p_layout};
31604 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31605 using bind = Desc<SgUPC_AccessModifier, long SgUPC_AccessModifier::*, &SgUPC_AccessModifier::p_layout>;
31610 static constexpr char const *
const name{
"UPC_AccessModifier"};
31611 static constexpr unsigned long variant{803};
31612 static constexpr bool concrete{
true};
31622 static constexpr char const *
const name{
"UnaryAddOp"};
31623 static constexpr unsigned long variant{804};
31624 static constexpr bool concrete{
true};
31634 static constexpr size_t position{0};
31635 static constexpr char const *
const name{
"operand_i"};
31636 static constexpr char const *
const typestr{
"SgExpression*"};
31637 static constexpr bool traverse{
true};
31639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31640 using bind = Desc<SgUnaryOp, SgExpression* SgUnaryOp::*, &SgUnaryOp::p_operand_i>;
31645 static constexpr size_t position{1};
31646 static constexpr char const *
const name{
"expression_type"};
31647 static constexpr char const *
const typestr{
"SgType*"};
31648 static constexpr bool traverse{
false};
31650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31651 using bind = Desc<SgUnaryOp, SgType* SgUnaryOp::*, &SgUnaryOp::p_expression_type>;
31656 static constexpr size_t position{2};
31657 static constexpr char const *
const name{
"mode"};
31658 static constexpr char const *
const typestr{
"SgUnaryOp::Sgop_mode"};
31659 static constexpr bool traverse{
false};
31661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31662 using bind = Desc<SgUnaryOp, SgUnaryOp::Sgop_mode SgUnaryOp::*, &SgUnaryOp::p_mode>;
31667 static constexpr char const *
const name{
"UnaryOp"};
31668 static constexpr unsigned long variant{805};
31669 static constexpr bool concrete{
false};
31670 using subclasses_t =
mp::List<SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgMatrixTransposeOp, SgAbsOp>;
31679 static constexpr char const *
const name{
"UndefDirectiveStatement"};
31680 static constexpr unsigned long variant{806};
31681 static constexpr bool concrete{
true};
31691 static constexpr char const *
const name{
"UndirectedGraphEdge"};
31692 static constexpr unsigned long variant{807};
31693 static constexpr bool concrete{
true};
31702 using field_type = std::string;
31703 static constexpr size_t position{0};
31704 static constexpr char const *
const name{
"name"};
31705 static constexpr char const *
const typestr{
"std::string"};
31706 static constexpr bool traverse{
false};
31707 static constexpr auto mbr_ptr{&SgUnknownArrayOrFunctionReference::p_name};
31708 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31709 using bind = Desc<SgUnknownArrayOrFunctionReference, std::string SgUnknownArrayOrFunctionReference::*, &SgUnknownArrayOrFunctionReference::p_name>;
31714 static constexpr size_t position{1};
31715 static constexpr char const *
const name{
"named_reference"};
31716 static constexpr char const *
const typestr{
"SgExpression*"};
31717 static constexpr bool traverse{
true};
31718 static constexpr auto mbr_ptr{&SgUnknownArrayOrFunctionReference::p_named_reference};
31719 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31720 using bind = Desc<SgUnknownArrayOrFunctionReference, SgExpression* SgUnknownArrayOrFunctionReference::*, &SgUnknownArrayOrFunctionReference::p_named_reference>;
31725 static constexpr size_t position{2};
31726 static constexpr char const *
const name{
"expression_list"};
31727 static constexpr char const *
const typestr{
"SgExprListExp*"};
31728 static constexpr bool traverse{
true};
31729 static constexpr auto mbr_ptr{&SgUnknownArrayOrFunctionReference::p_expression_list};
31730 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31731 using bind = Desc<SgUnknownArrayOrFunctionReference, SgExprListExp* SgUnknownArrayOrFunctionReference::*, &SgUnknownArrayOrFunctionReference::p_expression_list>;
31736 static constexpr char const *
const name{
"UnknownArrayOrFunctionReference"};
31737 static constexpr unsigned long variant{808};
31738 static constexpr bool concrete{
true};
31748 static constexpr size_t position{0};
31749 static constexpr char const *
const name{
"globalScope"};
31750 static constexpr char const *
const typestr{
"SgGlobal*"};
31751 static constexpr bool traverse{
true};
31752 static constexpr auto mbr_ptr{&SgUnknownFile::p_globalScope};
31753 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31754 using bind = Desc<SgUnknownFile, SgGlobal* SgUnknownFile::*, &SgUnknownFile::p_globalScope>;
31759 static constexpr char const *
const name{
"UnknownFile"};
31760 static constexpr unsigned long variant{809};
31761 static constexpr bool concrete{
true};
31770 using field_type = SgBitVector;
31771 static constexpr size_t position{0};
31772 static constexpr char const *
const name{
"unparse_attribute"};
31773 static constexpr char const *
const typestr{
"SgBitVector"};
31774 static constexpr bool traverse{
false};
31775 static constexpr auto mbr_ptr{&SgUnparse_Info::p_unparse_attribute};
31776 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31777 using bind = Desc<SgUnparse_Info, SgBitVector SgUnparse_Info::*, &SgUnparse_Info::p_unparse_attribute>;
31781 using field_type = int;
31782 static constexpr size_t position{1};
31783 static constexpr char const *
const name{
"access_attribute"};
31784 static constexpr char const *
const typestr{
"int"};
31785 static constexpr bool traverse{
false};
31786 static constexpr auto mbr_ptr{&SgUnparse_Info::p_access_attribute};
31787 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31788 using bind = Desc<SgUnparse_Info, int SgUnparse_Info::*, &SgUnparse_Info::p_access_attribute>;
31792 using field_type = int;
31793 static constexpr size_t position{2};
31794 static constexpr char const *
const name{
"nested_expression"};
31795 static constexpr char const *
const typestr{
"int"};
31796 static constexpr bool traverse{
false};
31797 static constexpr auto mbr_ptr{&SgUnparse_Info::p_nested_expression};
31798 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31799 using bind = Desc<SgUnparse_Info, int SgUnparse_Info::*, &SgUnparse_Info::p_nested_expression>;
31803 using field_type = std::string;
31804 static constexpr size_t position{3};
31805 static constexpr char const *
const name{
"operator_name"};
31806 static constexpr char const *
const typestr{
"std::string"};
31807 static constexpr bool traverse{
false};
31808 static constexpr auto mbr_ptr{&SgUnparse_Info::p_operator_name};
31809 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31810 using bind = Desc<SgUnparse_Info, std::string SgUnparse_Info::*, &SgUnparse_Info::p_operator_name>;
31815 static constexpr size_t position{4};
31816 static constexpr char const *
const name{
"var_name"};
31817 static constexpr char const *
const typestr{
"SgName"};
31818 static constexpr bool traverse{
false};
31819 static constexpr auto mbr_ptr{&SgUnparse_Info::p_var_name};
31820 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31821 using bind = Desc<SgUnparse_Info, SgName SgUnparse_Info::*, &SgUnparse_Info::p_var_name>;
31826 static constexpr size_t position{5};
31827 static constexpr char const *
const name{
"declstatement_ptr"};
31828 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
31829 static constexpr bool traverse{
false};
31830 static constexpr auto mbr_ptr{&SgUnparse_Info::p_declstatement_ptr};
31831 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31832 using bind = Desc<SgUnparse_Info, SgDeclarationStatement* SgUnparse_Info::*, &SgUnparse_Info::p_declstatement_ptr>;
31837 static constexpr size_t position{6};
31838 static constexpr char const *
const name{
"declaration_of_context"};
31839 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
31840 static constexpr bool traverse{
false};
31841 static constexpr auto mbr_ptr{&SgUnparse_Info::p_declaration_of_context};
31842 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31843 using bind = Desc<SgUnparse_Info, SgDeclarationStatement* SgUnparse_Info::*, &SgUnparse_Info::p_declaration_of_context>;
31848 static constexpr size_t position{7};
31849 static constexpr char const *
const name{
"current_context"};
31850 static constexpr char const *
const typestr{
"SgNamedType*"};
31851 static constexpr bool traverse{
false};
31852 static constexpr auto mbr_ptr{&SgUnparse_Info::p_current_context};
31853 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31854 using bind = Desc<SgUnparse_Info, SgNamedType* SgUnparse_Info::*, &SgUnparse_Info::p_current_context>;
31859 static constexpr size_t position{8};
31860 static constexpr char const *
const name{
"array_index_list"};
31861 static constexpr char const *
const typestr{
"SgName"};
31862 static constexpr bool traverse{
false};
31863 static constexpr auto mbr_ptr{&SgUnparse_Info::p_array_index_list};
31864 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31865 using bind = Desc<SgUnparse_Info, SgName SgUnparse_Info::*, &SgUnparse_Info::p_array_index_list>;
31870 static constexpr size_t position{9};
31871 static constexpr char const *
const name{
"current_namespace"};
31872 static constexpr char const *
const typestr{
"SgNamespaceDeclarationStatement*"};
31873 static constexpr bool traverse{
false};
31874 static constexpr auto mbr_ptr{&SgUnparse_Info::p_current_namespace};
31875 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31876 using bind = Desc<SgUnparse_Info, SgNamespaceDeclarationStatement* SgUnparse_Info::*, &SgUnparse_Info::p_current_namespace>;
31880 using field_type = bool;
31881 static constexpr size_t position{10};
31882 static constexpr char const *
const name{
"outputCodeGenerationFormatDelimiters"};
31883 static constexpr char const *
const typestr{
"bool"};
31884 static constexpr bool traverse{
false};
31885 static constexpr auto mbr_ptr{&SgUnparse_Info::p_outputCodeGenerationFormatDelimiters};
31886 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31887 using bind = Desc<SgUnparse_Info, bool SgUnparse_Info::*, &SgUnparse_Info::p_outputCodeGenerationFormatDelimiters>;
31891 using field_type = SgQualifiedNamePtrList;
31892 static constexpr size_t position{11};
31893 static constexpr char const *
const name{
"qualifiedNameList"};
31894 static constexpr char const *
const typestr{
"SgQualifiedNamePtrList"};
31895 static constexpr bool traverse{
false};
31896 static constexpr auto mbr_ptr{&SgUnparse_Info::p_qualifiedNameList};
31897 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31898 using bind = Desc<SgUnparse_Info, SgQualifiedNamePtrList SgUnparse_Info::*, &SgUnparse_Info::p_qualifiedNameList>;
31903 static constexpr size_t position{12};
31904 static constexpr char const *
const name{
"current_function_call"};
31905 static constexpr char const *
const typestr{
"SgFunctionCallExp*"};
31906 static constexpr bool traverse{
false};
31907 static constexpr auto mbr_ptr{&SgUnparse_Info::p_current_function_call};
31908 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31909 using bind = Desc<SgUnparse_Info, SgFunctionCallExp* SgUnparse_Info::*, &SgUnparse_Info::p_current_function_call>;
31914 static constexpr size_t position{13};
31915 static constexpr char const *
const name{
"current_scope"};
31916 static constexpr char const *
const typestr{
"SgScopeStatement*"};
31917 static constexpr bool traverse{
false};
31918 static constexpr auto mbr_ptr{&SgUnparse_Info::p_current_scope};
31919 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31920 using bind = Desc<SgUnparse_Info, SgScopeStatement* SgUnparse_Info::*, &SgUnparse_Info::p_current_scope>;
31925 static constexpr size_t position{14};
31926 static constexpr char const *
const name{
"reference_node_for_qualification"};
31927 static constexpr char const *
const typestr{
"SgNode*"};
31928 static constexpr bool traverse{
false};
31929 static constexpr auto mbr_ptr{&SgUnparse_Info::p_reference_node_for_qualification};
31930 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31931 using bind = Desc<SgUnparse_Info, SgNode* SgUnparse_Info::*, &SgUnparse_Info::p_reference_node_for_qualification>;
31935 using field_type = int;
31936 static constexpr size_t position{15};
31937 static constexpr char const *
const name{
"name_qualification_length"};
31938 static constexpr char const *
const typestr{
"int"};
31939 static constexpr bool traverse{
false};
31940 static constexpr auto mbr_ptr{&SgUnparse_Info::p_name_qualification_length};
31941 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31942 using bind = Desc<SgUnparse_Info, int SgUnparse_Info::*, &SgUnparse_Info::p_name_qualification_length>;
31946 using field_type = bool;
31947 static constexpr size_t position{16};
31948 static constexpr char const *
const name{
"type_elaboration_required"};
31949 static constexpr char const *
const typestr{
"bool"};
31950 static constexpr bool traverse{
false};
31951 static constexpr auto mbr_ptr{&SgUnparse_Info::p_type_elaboration_required};
31952 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31953 using bind = Desc<SgUnparse_Info, bool SgUnparse_Info::*, &SgUnparse_Info::p_type_elaboration_required>;
31957 using field_type = bool;
31958 static constexpr size_t position{17};
31959 static constexpr char const *
const name{
"global_qualification_required"};
31960 static constexpr char const *
const typestr{
"bool"};
31961 static constexpr bool traverse{
false};
31962 static constexpr auto mbr_ptr{&SgUnparse_Info::p_global_qualification_required};
31963 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31964 using bind = Desc<SgUnparse_Info, bool SgUnparse_Info::*, &SgUnparse_Info::p_global_qualification_required>;
31968 using field_type = int;
31969 static constexpr size_t position{18};
31970 static constexpr char const *
const name{
"nestingLevel"};
31971 static constexpr char const *
const typestr{
"int"};
31972 static constexpr bool traverse{
false};
31973 static constexpr auto mbr_ptr{&SgUnparse_Info::p_nestingLevel};
31974 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31975 using bind = Desc<SgUnparse_Info, int SgUnparse_Info::*, &SgUnparse_Info::p_nestingLevel>;
31980 static constexpr size_t position{19};
31981 static constexpr char const *
const name{
"language"};
31982 static constexpr char const *
const typestr{
"SgFile::languageOption_enum"};
31983 static constexpr bool traverse{
false};
31984 static constexpr auto mbr_ptr{&SgUnparse_Info::p_language};
31985 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31986 using bind = Desc<SgUnparse_Info, SgFile::languageOption_enum SgUnparse_Info::*, &SgUnparse_Info::p_language>;
31991 static constexpr size_t position{20};
31992 static constexpr char const *
const name{
"current_source_file"};
31993 static constexpr char const *
const typestr{
"SgSourceFile*"};
31994 static constexpr bool traverse{
false};
31995 static constexpr auto mbr_ptr{&SgUnparse_Info::p_current_source_file};
31996 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
31997 using bind = Desc<SgUnparse_Info, SgSourceFile* SgUnparse_Info::*, &SgUnparse_Info::p_current_source_file>;
32001 using field_type = bool;
32002 static constexpr size_t position{21};
32003 static constexpr char const *
const name{
"use_generated_name_for_template_arguments"};
32004 static constexpr char const *
const typestr{
"bool"};
32005 static constexpr bool traverse{
false};
32006 static constexpr auto mbr_ptr{&SgUnparse_Info::p_use_generated_name_for_template_arguments};
32007 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32008 using bind = Desc<SgUnparse_Info, bool SgUnparse_Info::*, &SgUnparse_Info::p_use_generated_name_for_template_arguments>;
32012 using field_type = bool;
32013 static constexpr size_t position{22};
32014 static constexpr char const *
const name{
"user_defined_literal"};
32015 static constexpr char const *
const typestr{
"bool"};
32016 static constexpr bool traverse{
false};
32017 static constexpr auto mbr_ptr{&SgUnparse_Info::p_user_defined_literal};
32018 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32019 using bind = Desc<SgUnparse_Info, bool SgUnparse_Info::*, &SgUnparse_Info::p_user_defined_literal>;
32024 static constexpr size_t position{23};
32025 static constexpr char const *
const name{
"declstatement_associated_with_type"};
32026 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
32027 static constexpr bool traverse{
false};
32028 static constexpr auto mbr_ptr{&SgUnparse_Info::p_declstatement_associated_with_type};
32029 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32030 using bind = Desc<SgUnparse_Info, SgDeclarationStatement* SgUnparse_Info::*, &SgUnparse_Info::p_declstatement_associated_with_type>;
32034 using field_type = bool;
32035 static constexpr size_t position{24};
32036 static constexpr char const *
const name{
"context_for_added_parentheses"};
32037 static constexpr char const *
const typestr{
"bool"};
32038 static constexpr bool traverse{
false};
32039 static constexpr auto mbr_ptr{&SgUnparse_Info::p_context_for_added_parentheses};
32040 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32041 using bind = Desc<SgUnparse_Info, bool SgUnparse_Info::*, &SgUnparse_Info::p_context_for_added_parentheses>;
32046 static constexpr char const *
const name{
"Unparse_Info"};
32047 static constexpr unsigned long variant{811};
32048 static constexpr bool concrete{
true};
32050 using fields_t =
mp::List<describe_field_t<SgUnparse_Info,SgBitVector,&SgUnparse_Info::p_unparse_attribute>,
describe_field_t<SgUnparse_Info,int,&SgUnparse_Info::p_access_attribute>,
describe_field_t<SgUnparse_Info,int,&SgUnparse_Info::p_nested_expression>,
describe_field_t<SgUnparse_Info,std::string,&SgUnparse_Info::p_operator_name>,
describe_field_t<SgUnparse_Info,SgName,&SgUnparse_Info::p_var_name>,
describe_field_t<SgUnparse_Info,SgDeclarationStatement*,&SgUnparse_Info::p_declstatement_ptr>,
describe_field_t<SgUnparse_Info,SgDeclarationStatement*,&SgUnparse_Info::p_declaration_of_context>,
describe_field_t<SgUnparse_Info,SgNamedType*,&SgUnparse_Info::p_current_context>,
describe_field_t<SgUnparse_Info,SgName,&SgUnparse_Info::p_array_index_list>,
describe_field_t<SgUnparse_Info,SgNamespaceDeclarationStatement*,&SgUnparse_Info::p_current_namespace>,
describe_field_t<SgUnparse_Info,bool,&SgUnparse_Info::p_outputCodeGenerationFormatDelimiters>,
describe_field_t<SgUnparse_Info,SgQualifiedNamePtrList,&SgUnparse_Info::p_qualifiedNameList>,
describe_field_t<SgUnparse_Info,SgFunctionCallExp*,&SgUnparse_Info::p_current_function_call>,
describe_field_t<SgUnparse_Info,SgScopeStatement*,&SgUnparse_Info::p_current_scope>,
describe_field_t<SgUnparse_Info,SgNode*,&SgUnparse_Info::p_reference_node_for_qualification>,
describe_field_t<SgUnparse_Info,int,&SgUnparse_Info::p_name_qualification_length>,
describe_field_t<SgUnparse_Info,bool,&SgUnparse_Info::p_type_elaboration_required>,
describe_field_t<SgUnparse_Info,bool,&SgUnparse_Info::p_global_qualification_required>,
describe_field_t<SgUnparse_Info,int,&SgUnparse_Info::p_nestingLevel>,
describe_field_t<SgUnparse_Info,SgFile::languageOption_enum,&SgUnparse_Info::p_language>,
describe_field_t<SgUnparse_Info,SgSourceFile*,&SgUnparse_Info::p_current_source_file>,
describe_field_t<SgUnparse_Info,bool,&SgUnparse_Info::p_use_generated_name_for_template_arguments>,
describe_field_t<SgUnparse_Info,bool,&SgUnparse_Info::p_user_defined_literal>,
describe_field_t<SgUnparse_Info,SgDeclarationStatement*,&SgUnparse_Info::p_declstatement_associated_with_type>,
describe_field_t<SgUnparse_Info,bool,&SgUnparse_Info::p_context_for_added_parentheses>>;
32057 using field_type =
unsigned char;
32058 static constexpr size_t position{0};
32059 static constexpr char const *
const name{
"value"};
32060 static constexpr char const *
const typestr{
"unsigned char"};
32061 static constexpr bool traverse{
false};
32062 static constexpr auto mbr_ptr{&SgUnsignedCharVal::p_value};
32063 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32064 using bind = Desc<SgUnsignedCharVal, unsigned char SgUnsignedCharVal::*, &SgUnsignedCharVal::p_value>;
32068 using field_type = std::string;
32069 static constexpr size_t position{1};
32070 static constexpr char const *
const name{
"valueString"};
32071 static constexpr char const *
const typestr{
"std::string"};
32072 static constexpr bool traverse{
false};
32073 static constexpr auto mbr_ptr{&SgUnsignedCharVal::p_valueString};
32074 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32075 using bind = Desc<SgUnsignedCharVal, std::string SgUnsignedCharVal::*, &SgUnsignedCharVal::p_valueString>;
32080 static constexpr char const *
const name{
"UnsignedCharVal"};
32081 static constexpr unsigned long variant{812};
32082 static constexpr bool concrete{
true};
32091 using field_type =
unsigned int;
32092 static constexpr size_t position{0};
32093 static constexpr char const *
const name{
"value"};
32094 static constexpr char const *
const typestr{
"unsigned int"};
32095 static constexpr bool traverse{
false};
32096 static constexpr auto mbr_ptr{&SgUnsignedIntVal::p_value};
32097 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32098 using bind = Desc<SgUnsignedIntVal, unsigned int SgUnsignedIntVal::*, &SgUnsignedIntVal::p_value>;
32102 using field_type = std::string;
32103 static constexpr size_t position{1};
32104 static constexpr char const *
const name{
"valueString"};
32105 static constexpr char const *
const typestr{
"std::string"};
32106 static constexpr bool traverse{
false};
32107 static constexpr auto mbr_ptr{&SgUnsignedIntVal::p_valueString};
32108 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32109 using bind = Desc<SgUnsignedIntVal, std::string SgUnsignedIntVal::*, &SgUnsignedIntVal::p_valueString>;
32114 static constexpr char const *
const name{
"UnsignedIntVal"};
32115 static constexpr unsigned long variant{813};
32116 static constexpr bool concrete{
true};
32125 using field_type =
unsigned long long int;
32126 static constexpr size_t position{0};
32127 static constexpr char const *
const name{
"value"};
32128 static constexpr char const *
const typestr{
"unsigned long long int"};
32129 static constexpr bool traverse{
false};
32130 static constexpr auto mbr_ptr{&SgUnsignedLongLongIntVal::p_value};
32131 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32132 using bind = Desc<SgUnsignedLongLongIntVal, unsigned long long int SgUnsignedLongLongIntVal::*, &SgUnsignedLongLongIntVal::p_value>;
32136 using field_type = std::string;
32137 static constexpr size_t position{1};
32138 static constexpr char const *
const name{
"valueString"};
32139 static constexpr char const *
const typestr{
"std::string"};
32140 static constexpr bool traverse{
false};
32141 static constexpr auto mbr_ptr{&SgUnsignedLongLongIntVal::p_valueString};
32142 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32143 using bind = Desc<SgUnsignedLongLongIntVal, std::string SgUnsignedLongLongIntVal::*, &SgUnsignedLongLongIntVal::p_valueString>;
32148 static constexpr char const *
const name{
"UnsignedLongLongIntVal"};
32149 static constexpr unsigned long variant{814};
32150 static constexpr bool concrete{
true};
32159 using field_type =
unsigned long;
32160 static constexpr size_t position{0};
32161 static constexpr char const *
const name{
"value"};
32162 static constexpr char const *
const typestr{
"unsigned long"};
32163 static constexpr bool traverse{
false};
32164 static constexpr auto mbr_ptr{&SgUnsignedLongVal::p_value};
32165 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32166 using bind = Desc<SgUnsignedLongVal, unsigned long SgUnsignedLongVal::*, &SgUnsignedLongVal::p_value>;
32170 using field_type = std::string;
32171 static constexpr size_t position{1};
32172 static constexpr char const *
const name{
"valueString"};
32173 static constexpr char const *
const typestr{
"std::string"};
32174 static constexpr bool traverse{
false};
32175 static constexpr auto mbr_ptr{&SgUnsignedLongVal::p_valueString};
32176 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32177 using bind = Desc<SgUnsignedLongVal, std::string SgUnsignedLongVal::*, &SgUnsignedLongVal::p_valueString>;
32182 static constexpr char const *
const name{
"UnsignedLongVal"};
32183 static constexpr unsigned long variant{815};
32184 static constexpr bool concrete{
true};
32193 using field_type =
unsigned short;
32194 static constexpr size_t position{0};
32195 static constexpr char const *
const name{
"value"};
32196 static constexpr char const *
const typestr{
"unsigned short"};
32197 static constexpr bool traverse{
false};
32198 static constexpr auto mbr_ptr{&SgUnsignedShortVal::p_value};
32199 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32200 using bind = Desc<SgUnsignedShortVal, unsigned short SgUnsignedShortVal::*, &SgUnsignedShortVal::p_value>;
32204 using field_type = std::string;
32205 static constexpr size_t position{1};
32206 static constexpr char const *
const name{
"valueString"};
32207 static constexpr char const *
const typestr{
"std::string"};
32208 static constexpr bool traverse{
false};
32209 static constexpr auto mbr_ptr{&SgUnsignedShortVal::p_valueString};
32210 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32211 using bind = Desc<SgUnsignedShortVal, std::string SgUnsignedShortVal::*, &SgUnsignedShortVal::p_valueString>;
32216 static constexpr char const *
const name{
"UnsignedShortVal"};
32217 static constexpr unsigned long variant{816};
32218 static constexpr bool concrete{
true};
32228 static constexpr size_t position{0};
32229 static constexpr char const *
const name{
"barrier_expression"};
32230 static constexpr char const *
const typestr{
"SgExpression*"};
32231 static constexpr bool traverse{
true};
32232 static constexpr auto mbr_ptr{&SgUpcBarrierStatement::p_barrier_expression};
32233 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32234 using bind = Desc<SgUpcBarrierStatement, SgExpression* SgUpcBarrierStatement::*, &SgUpcBarrierStatement::p_barrier_expression>;
32239 static constexpr char const *
const name{
"UpcBarrierStatement"};
32240 static constexpr unsigned long variant{817};
32241 static constexpr bool concrete{
true};
32251 static constexpr size_t position{0};
32252 static constexpr char const *
const name{
"expression"};
32253 static constexpr char const *
const typestr{
"SgExpression*"};
32254 static constexpr bool traverse{
true};
32255 static constexpr auto mbr_ptr{&SgUpcBlocksizeofExpression::p_expression};
32256 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32257 using bind = Desc<SgUpcBlocksizeofExpression, SgExpression* SgUpcBlocksizeofExpression::*, &SgUpcBlocksizeofExpression::p_expression>;
32262 static constexpr size_t position{1};
32263 static constexpr char const *
const name{
"operand_type"};
32264 static constexpr char const *
const typestr{
"SgType*"};
32265 static constexpr bool traverse{
false};
32266 static constexpr auto mbr_ptr{&SgUpcBlocksizeofExpression::p_operand_type};
32267 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32268 using bind = Desc<SgUpcBlocksizeofExpression, SgType* SgUpcBlocksizeofExpression::*, &SgUpcBlocksizeofExpression::p_operand_type>;
32273 static constexpr size_t position{2};
32274 static constexpr char const *
const name{
"expression_type"};
32275 static constexpr char const *
const typestr{
"SgType*"};
32276 static constexpr bool traverse{
false};
32277 static constexpr auto mbr_ptr{&SgUpcBlocksizeofExpression::p_expression_type};
32278 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32279 using bind = Desc<SgUpcBlocksizeofExpression, SgType* SgUpcBlocksizeofExpression::*, &SgUpcBlocksizeofExpression::p_expression_type>;
32284 static constexpr char const *
const name{
"UpcBlocksizeofExpression"};
32285 static constexpr unsigned long variant{818};
32286 static constexpr bool concrete{
true};
32296 static constexpr size_t position{0};
32297 static constexpr char const *
const name{
"expression"};
32298 static constexpr char const *
const typestr{
"SgExpression*"};
32299 static constexpr bool traverse{
true};
32300 static constexpr auto mbr_ptr{&SgUpcElemsizeofExpression::p_expression};
32301 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32302 using bind = Desc<SgUpcElemsizeofExpression, SgExpression* SgUpcElemsizeofExpression::*, &SgUpcElemsizeofExpression::p_expression>;
32307 static constexpr size_t position{1};
32308 static constexpr char const *
const name{
"operand_type"};
32309 static constexpr char const *
const typestr{
"SgType*"};
32310 static constexpr bool traverse{
false};
32311 static constexpr auto mbr_ptr{&SgUpcElemsizeofExpression::p_operand_type};
32312 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32313 using bind = Desc<SgUpcElemsizeofExpression, SgType* SgUpcElemsizeofExpression::*, &SgUpcElemsizeofExpression::p_operand_type>;
32318 static constexpr size_t position{2};
32319 static constexpr char const *
const name{
"expression_type"};
32320 static constexpr char const *
const typestr{
"SgType*"};
32321 static constexpr bool traverse{
false};
32322 static constexpr auto mbr_ptr{&SgUpcElemsizeofExpression::p_expression_type};
32323 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32324 using bind = Desc<SgUpcElemsizeofExpression, SgType* SgUpcElemsizeofExpression::*, &SgUpcElemsizeofExpression::p_expression_type>;
32329 static constexpr char const *
const name{
"UpcElemsizeofExpression"};
32330 static constexpr unsigned long variant{819};
32331 static constexpr bool concrete{
true};
32341 static constexpr char const *
const name{
"UpcFenceStatement"};
32342 static constexpr unsigned long variant{820};
32343 static constexpr bool concrete{
true};
32353 static constexpr size_t position{0};
32354 static constexpr char const *
const name{
"for_init_stmt"};
32355 static constexpr char const *
const typestr{
"SgForInitStatement*"};
32356 static constexpr bool traverse{
true};
32357 static constexpr auto mbr_ptr{&SgUpcForAllStatement::p_for_init_stmt};
32358 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32359 using bind = Desc<SgUpcForAllStatement, SgForInitStatement* SgUpcForAllStatement::*, &SgUpcForAllStatement::p_for_init_stmt>;
32364 static constexpr size_t position{1};
32365 static constexpr char const *
const name{
"test"};
32366 static constexpr char const *
const typestr{
"SgStatement*"};
32367 static constexpr bool traverse{
true};
32368 static constexpr auto mbr_ptr{&SgUpcForAllStatement::p_test};
32369 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32370 using bind = Desc<SgUpcForAllStatement, SgStatement* SgUpcForAllStatement::*, &SgUpcForAllStatement::p_test>;
32375 static constexpr size_t position{2};
32376 static constexpr char const *
const name{
"increment"};
32377 static constexpr char const *
const typestr{
"SgExpression*"};
32378 static constexpr bool traverse{
true};
32379 static constexpr auto mbr_ptr{&SgUpcForAllStatement::p_increment};
32380 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32381 using bind = Desc<SgUpcForAllStatement, SgExpression* SgUpcForAllStatement::*, &SgUpcForAllStatement::p_increment>;
32386 static constexpr size_t position{3};
32387 static constexpr char const *
const name{
"affinity"};
32388 static constexpr char const *
const typestr{
"SgExpression*"};
32389 static constexpr bool traverse{
true};
32390 static constexpr auto mbr_ptr{&SgUpcForAllStatement::p_affinity};
32391 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32392 using bind = Desc<SgUpcForAllStatement, SgExpression* SgUpcForAllStatement::*, &SgUpcForAllStatement::p_affinity>;
32397 static constexpr size_t position{4};
32398 static constexpr char const *
const name{
"loop_body"};
32399 static constexpr char const *
const typestr{
"SgStatement*"};
32400 static constexpr bool traverse{
true};
32401 static constexpr auto mbr_ptr{&SgUpcForAllStatement::p_loop_body};
32402 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32403 using bind = Desc<SgUpcForAllStatement, SgStatement* SgUpcForAllStatement::*, &SgUpcForAllStatement::p_loop_body>;
32408 static constexpr char const *
const name{
"UpcForAllStatement"};
32409 static constexpr unsigned long variant{821};
32410 static constexpr bool concrete{
true};
32412 using fields_t =
mp::List<describe_field_t<SgUpcForAllStatement,SgForInitStatement*,&SgUpcForAllStatement::p_for_init_stmt>,
describe_field_t<SgUpcForAllStatement,SgStatement*,&SgUpcForAllStatement::p_test>,
describe_field_t<SgUpcForAllStatement,SgExpression*,&SgUpcForAllStatement::p_increment>,
describe_field_t<SgUpcForAllStatement,SgExpression*,&SgUpcForAllStatement::p_affinity>,
describe_field_t<SgUpcForAllStatement,SgStatement*,&SgUpcForAllStatement::p_loop_body>>;
32420 static constexpr size_t position{0};
32421 static constexpr char const *
const name{
"expression"};
32422 static constexpr char const *
const typestr{
"SgExpression*"};
32423 static constexpr bool traverse{
true};
32424 static constexpr auto mbr_ptr{&SgUpcLocalsizeofExpression::p_expression};
32425 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32426 using bind = Desc<SgUpcLocalsizeofExpression, SgExpression* SgUpcLocalsizeofExpression::*, &SgUpcLocalsizeofExpression::p_expression>;
32431 static constexpr size_t position{1};
32432 static constexpr char const *
const name{
"operand_type"};
32433 static constexpr char const *
const typestr{
"SgType*"};
32434 static constexpr bool traverse{
false};
32435 static constexpr auto mbr_ptr{&SgUpcLocalsizeofExpression::p_operand_type};
32436 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32437 using bind = Desc<SgUpcLocalsizeofExpression, SgType* SgUpcLocalsizeofExpression::*, &SgUpcLocalsizeofExpression::p_operand_type>;
32442 static constexpr size_t position{2};
32443 static constexpr char const *
const name{
"expression_type"};
32444 static constexpr char const *
const typestr{
"SgType*"};
32445 static constexpr bool traverse{
false};
32446 static constexpr auto mbr_ptr{&SgUpcLocalsizeofExpression::p_expression_type};
32447 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32448 using bind = Desc<SgUpcLocalsizeofExpression, SgType* SgUpcLocalsizeofExpression::*, &SgUpcLocalsizeofExpression::p_expression_type>;
32453 static constexpr char const *
const name{
"UpcLocalsizeofExpression"};
32454 static constexpr unsigned long variant{822};
32455 static constexpr bool concrete{
true};
32464 using field_type = int;
32465 static constexpr size_t position{0};
32466 static constexpr char const *
const name{
"value"};
32467 static constexpr char const *
const typestr{
"int"};
32468 static constexpr bool traverse{
false};
32469 static constexpr auto mbr_ptr{&SgUpcMythread::p_value};
32470 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32471 using bind = Desc<SgUpcMythread, int SgUpcMythread::*, &SgUpcMythread::p_value>;
32475 using field_type = std::string;
32476 static constexpr size_t position{1};
32477 static constexpr char const *
const name{
"valueString"};
32478 static constexpr char const *
const typestr{
"std::string"};
32479 static constexpr bool traverse{
false};
32480 static constexpr auto mbr_ptr{&SgUpcMythread::p_valueString};
32481 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32482 using bind = Desc<SgUpcMythread, std::string SgUpcMythread::*, &SgUpcMythread::p_valueString>;
32487 static constexpr char const *
const name{
"UpcMythread"};
32488 static constexpr unsigned long variant{823};
32489 static constexpr bool concrete{
true};
32499 static constexpr size_t position{0};
32500 static constexpr char const *
const name{
"notify_expression"};
32501 static constexpr char const *
const typestr{
"SgExpression*"};
32502 static constexpr bool traverse{
true};
32503 static constexpr auto mbr_ptr{&SgUpcNotifyStatement::p_notify_expression};
32504 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32505 using bind = Desc<SgUpcNotifyStatement, SgExpression* SgUpcNotifyStatement::*, &SgUpcNotifyStatement::p_notify_expression>;
32510 static constexpr char const *
const name{
"UpcNotifyStatement"};
32511 static constexpr unsigned long variant{824};
32512 static constexpr bool concrete{
true};
32521 using field_type = int;
32522 static constexpr size_t position{0};
32523 static constexpr char const *
const name{
"value"};
32524 static constexpr char const *
const typestr{
"int"};
32525 static constexpr bool traverse{
false};
32526 static constexpr auto mbr_ptr{&SgUpcThreads::p_value};
32527 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32528 using bind = Desc<SgUpcThreads, int SgUpcThreads::*, &SgUpcThreads::p_value>;
32532 using field_type = std::string;
32533 static constexpr size_t position{1};
32534 static constexpr char const *
const name{
"valueString"};
32535 static constexpr char const *
const typestr{
"std::string"};
32536 static constexpr bool traverse{
false};
32537 static constexpr auto mbr_ptr{&SgUpcThreads::p_valueString};
32538 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32539 using bind = Desc<SgUpcThreads, std::string SgUpcThreads::*, &SgUpcThreads::p_valueString>;
32544 static constexpr char const *
const name{
"UpcThreads"};
32545 static constexpr unsigned long variant{825};
32546 static constexpr bool concrete{
true};
32556 static constexpr size_t position{0};
32557 static constexpr char const *
const name{
"wait_expression"};
32558 static constexpr char const *
const typestr{
"SgExpression*"};
32559 static constexpr bool traverse{
true};
32560 static constexpr auto mbr_ptr{&SgUpcWaitStatement::p_wait_expression};
32561 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32562 using bind = Desc<SgUpcWaitStatement, SgExpression* SgUpcWaitStatement::*, &SgUpcWaitStatement::p_wait_expression>;
32567 static constexpr char const *
const name{
"UpcWaitStatement"};
32568 static constexpr unsigned long variant{826};
32569 static constexpr bool concrete{
true};
32579 static constexpr size_t position{0};
32580 static constexpr char const *
const name{
"name"};
32581 static constexpr char const *
const typestr{
"SgName"};
32582 static constexpr bool traverse{
false};
32583 static constexpr auto mbr_ptr{&SgUseStatement::p_name};
32584 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32585 using bind = Desc<SgUseStatement, SgName SgUseStatement::*, &SgUseStatement::p_name>;
32589 using field_type = bool;
32590 static constexpr size_t position{1};
32591 static constexpr char const *
const name{
"only_option"};
32592 static constexpr char const *
const typestr{
"bool"};
32593 static constexpr bool traverse{
false};
32594 static constexpr auto mbr_ptr{&SgUseStatement::p_only_option};
32595 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32596 using bind = Desc<SgUseStatement, bool SgUseStatement::*, &SgUseStatement::p_only_option>;
32600 using field_type = std::string;
32601 static constexpr size_t position{2};
32602 static constexpr char const *
const name{
"module_nature"};
32603 static constexpr char const *
const typestr{
"std::string"};
32604 static constexpr bool traverse{
false};
32605 static constexpr auto mbr_ptr{&SgUseStatement::p_module_nature};
32606 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32607 using bind = Desc<SgUseStatement, std::string SgUseStatement::*, &SgUseStatement::p_module_nature>;
32611 using field_type = SgRenamePairPtrList;
32612 static constexpr size_t position{3};
32613 static constexpr char const *
const name{
"rename_list"};
32614 static constexpr char const *
const typestr{
"SgRenamePairPtrList"};
32615 static constexpr bool traverse{
true};
32616 static constexpr auto mbr_ptr{&SgUseStatement::p_rename_list};
32617 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32618 using bind = Desc<SgUseStatement, SgRenamePairPtrList SgUseStatement::*, &SgUseStatement::p_rename_list>;
32623 static constexpr size_t position{4};
32624 static constexpr char const *
const name{
"module"};
32625 static constexpr char const *
const typestr{
"SgModuleStatement*"};
32626 static constexpr bool traverse{
false};
32627 static constexpr auto mbr_ptr{&SgUseStatement::p_module};
32628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32629 using bind = Desc<SgUseStatement, SgModuleStatement* SgUseStatement::*, &SgUseStatement::p_module>;
32634 static constexpr char const *
const name{
"UseStatement"};
32635 static constexpr unsigned long variant{827};
32636 static constexpr bool concrete{
true};
32638 using fields_t =
mp::List<describe_field_t<SgUseStatement,SgName,&SgUseStatement::p_name>,
describe_field_t<SgUseStatement,bool,&SgUseStatement::p_only_option>,
describe_field_t<SgUseStatement,std::string,&SgUseStatement::p_module_nature>,
describe_field_t<SgUseStatement,SgRenamePairPtrList,&SgUseStatement::p_rename_list>,
describe_field_t<SgUseStatement,SgModuleStatement*,&SgUseStatement::p_module>>;
32646 static constexpr size_t position{0};
32647 static constexpr char const *
const name{
"operator_name"};
32648 static constexpr char const *
const typestr{
"SgName"};
32649 static constexpr bool traverse{
false};
32650 static constexpr auto mbr_ptr{&SgUserDefinedBinaryOp::p_operator_name};
32651 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32652 using bind = Desc<SgUserDefinedBinaryOp, SgName SgUserDefinedBinaryOp::*, &SgUserDefinedBinaryOp::p_operator_name>;
32657 static constexpr size_t position{1};
32658 static constexpr char const *
const name{
"symbol"};
32659 static constexpr char const *
const typestr{
"SgFunctionSymbol*"};
32660 static constexpr bool traverse{
false};
32661 static constexpr auto mbr_ptr{&SgUserDefinedBinaryOp::p_symbol};
32662 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32663 using bind = Desc<SgUserDefinedBinaryOp, SgFunctionSymbol* SgUserDefinedBinaryOp::*, &SgUserDefinedBinaryOp::p_symbol>;
32668 static constexpr char const *
const name{
"UserDefinedBinaryOp"};
32669 static constexpr unsigned long variant{828};
32670 static constexpr bool concrete{
true};
32680 static constexpr size_t position{0};
32681 static constexpr char const *
const name{
"operator_name"};
32682 static constexpr char const *
const typestr{
"SgName"};
32683 static constexpr bool traverse{
false};
32684 static constexpr auto mbr_ptr{&SgUserDefinedUnaryOp::p_operator_name};
32685 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32686 using bind = Desc<SgUserDefinedUnaryOp, SgName SgUserDefinedUnaryOp::*, &SgUserDefinedUnaryOp::p_operator_name>;
32691 static constexpr size_t position{1};
32692 static constexpr char const *
const name{
"symbol"};
32693 static constexpr char const *
const typestr{
"SgFunctionSymbol*"};
32694 static constexpr bool traverse{
false};
32695 static constexpr auto mbr_ptr{&SgUserDefinedUnaryOp::p_symbol};
32696 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32697 using bind = Desc<SgUserDefinedUnaryOp, SgFunctionSymbol* SgUserDefinedUnaryOp::*, &SgUserDefinedUnaryOp::p_symbol>;
32702 static constexpr char const *
const name{
"UserDefinedUnaryOp"};
32703 static constexpr unsigned long variant{829};
32704 static constexpr bool concrete{
true};
32714 static constexpr size_t position{0};
32715 static constexpr char const *
const name{
"declaration"};
32716 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
32717 static constexpr bool traverse{
false};
32719 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32720 using bind = Desc<SgUsingDeclarationStatement, SgDeclarationStatement* SgUsingDeclarationStatement::*, &SgUsingDeclarationStatement::p_declaration>;
32725 static constexpr size_t position{1};
32726 static constexpr char const *
const name{
"initializedName"};
32727 static constexpr char const *
const typestr{
"SgInitializedName*"};
32728 static constexpr bool traverse{
false};
32730 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32731 using bind = Desc<SgUsingDeclarationStatement, SgInitializedName* SgUsingDeclarationStatement::*, &SgUsingDeclarationStatement::p_initializedName>;
32735 using field_type = int;
32736 static constexpr size_t position{2};
32737 static constexpr char const *
const name{
"name_qualification_length"};
32738 static constexpr char const *
const typestr{
"int"};
32739 static constexpr bool traverse{
false};
32740 static constexpr auto mbr_ptr{&SgUsingDeclarationStatement::p_name_qualification_length};
32741 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32742 using bind = Desc<SgUsingDeclarationStatement, int SgUsingDeclarationStatement::*, &SgUsingDeclarationStatement::p_name_qualification_length>;
32746 using field_type = bool;
32747 static constexpr size_t position{3};
32748 static constexpr char const *
const name{
"type_elaboration_required"};
32749 static constexpr char const *
const typestr{
"bool"};
32750 static constexpr bool traverse{
false};
32751 static constexpr auto mbr_ptr{&SgUsingDeclarationStatement::p_type_elaboration_required};
32752 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32753 using bind = Desc<SgUsingDeclarationStatement, bool SgUsingDeclarationStatement::*, &SgUsingDeclarationStatement::p_type_elaboration_required>;
32757 using field_type = bool;
32758 static constexpr size_t position{4};
32759 static constexpr char const *
const name{
"global_qualification_required"};
32760 static constexpr char const *
const typestr{
"bool"};
32761 static constexpr bool traverse{
false};
32762 static constexpr auto mbr_ptr{&SgUsingDeclarationStatement::p_global_qualification_required};
32763 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32764 using bind = Desc<SgUsingDeclarationStatement, bool SgUsingDeclarationStatement::*, &SgUsingDeclarationStatement::p_global_qualification_required>;
32768 using field_type = bool;
32769 static constexpr size_t position{5};
32770 static constexpr char const *
const name{
"is_inheriting_constructor"};
32771 static constexpr char const *
const typestr{
"bool"};
32772 static constexpr bool traverse{
false};
32773 static constexpr auto mbr_ptr{&SgUsingDeclarationStatement::p_is_inheriting_constructor};
32774 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32775 using bind = Desc<SgUsingDeclarationStatement, bool SgUsingDeclarationStatement::*, &SgUsingDeclarationStatement::p_is_inheriting_constructor>;
32780 static constexpr size_t position{6};
32781 static constexpr char const *
const name{
"adaTypeAttribute"};
32782 static constexpr char const *
const typestr{
"SgName"};
32783 static constexpr bool traverse{
false};
32784 static constexpr auto mbr_ptr{&SgUsingDeclarationStatement::p_adaTypeAttribute};
32785 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32786 using bind = Desc<SgUsingDeclarationStatement, SgName SgUsingDeclarationStatement::*, &SgUsingDeclarationStatement::p_adaTypeAttribute>;
32791 static constexpr char const *
const name{
"UsingDeclarationStatement"};
32792 static constexpr unsigned long variant{830};
32793 static constexpr bool concrete{
true};
32795 using fields_t =
mp::List<describe_field_t<SgUsingDeclarationStatement,SgDeclarationStatement*,&SgUsingDeclarationStatement::p_declaration>,
describe_field_t<SgUsingDeclarationStatement,SgInitializedName*,&SgUsingDeclarationStatement::p_initializedName>,
describe_field_t<SgUsingDeclarationStatement,int,&SgUsingDeclarationStatement::p_name_qualification_length>,
describe_field_t<SgUsingDeclarationStatement,bool,&SgUsingDeclarationStatement::p_type_elaboration_required>,
describe_field_t<SgUsingDeclarationStatement,bool,&SgUsingDeclarationStatement::p_global_qualification_required>,
describe_field_t<SgUsingDeclarationStatement,bool,&SgUsingDeclarationStatement::p_is_inheriting_constructor>,
describe_field_t<SgUsingDeclarationStatement,SgName,&SgUsingDeclarationStatement::p_adaTypeAttribute>>;
32803 static constexpr size_t position{0};
32804 static constexpr char const *
const name{
"namespaceDeclaration"};
32805 static constexpr char const *
const typestr{
"SgNamespaceDeclarationStatement*"};
32806 static constexpr bool traverse{
false};
32808 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32809 using bind = Desc<SgUsingDirectiveStatement, SgNamespaceDeclarationStatement* SgUsingDirectiveStatement::*, &SgUsingDirectiveStatement::p_namespaceDeclaration>;
32813 using field_type = int;
32814 static constexpr size_t position{1};
32815 static constexpr char const *
const name{
"name_qualification_length"};
32816 static constexpr char const *
const typestr{
"int"};
32817 static constexpr bool traverse{
false};
32818 static constexpr auto mbr_ptr{&SgUsingDirectiveStatement::p_name_qualification_length};
32819 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32820 using bind = Desc<SgUsingDirectiveStatement, int SgUsingDirectiveStatement::*, &SgUsingDirectiveStatement::p_name_qualification_length>;
32824 using field_type = bool;
32825 static constexpr size_t position{2};
32826 static constexpr char const *
const name{
"type_elaboration_required"};
32827 static constexpr char const *
const typestr{
"bool"};
32828 static constexpr bool traverse{
false};
32829 static constexpr auto mbr_ptr{&SgUsingDirectiveStatement::p_type_elaboration_required};
32830 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32831 using bind = Desc<SgUsingDirectiveStatement, bool SgUsingDirectiveStatement::*, &SgUsingDirectiveStatement::p_type_elaboration_required>;
32835 using field_type = bool;
32836 static constexpr size_t position{3};
32837 static constexpr char const *
const name{
"global_qualification_required"};
32838 static constexpr char const *
const typestr{
"bool"};
32839 static constexpr bool traverse{
false};
32840 static constexpr auto mbr_ptr{&SgUsingDirectiveStatement::p_global_qualification_required};
32841 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32842 using bind = Desc<SgUsingDirectiveStatement, bool SgUsingDirectiveStatement::*, &SgUsingDirectiveStatement::p_global_qualification_required>;
32847 static constexpr char const *
const name{
"UsingDirectiveStatement"};
32848 static constexpr unsigned long variant{831};
32849 static constexpr bool concrete{
true};
32851 using fields_t =
mp::List<describe_field_t<SgUsingDirectiveStatement,SgNamespaceDeclarationStatement*,&SgUsingDirectiveStatement::p_namespaceDeclaration>,
describe_field_t<SgUsingDirectiveStatement,int,&SgUsingDirectiveStatement::p_name_qualification_length>,
describe_field_t<SgUsingDirectiveStatement,bool,&SgUsingDirectiveStatement::p_type_elaboration_required>,
describe_field_t<SgUsingDirectiveStatement,bool,&SgUsingDirectiveStatement::p_global_qualification_required>>;
32859 static constexpr size_t position{0};
32860 static constexpr char const *
const name{
"originalExpressionTree"};
32861 static constexpr char const *
const typestr{
"SgExpression*"};
32862 static constexpr bool traverse{
false};
32863 static constexpr auto mbr_ptr{&SgValueExp::p_originalExpressionTree};
32864 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32865 using bind = Desc<SgValueExp, SgExpression* SgValueExp::*, &SgValueExp::p_originalExpressionTree>;
32870 static constexpr char const *
const name{
"ValueExp"};
32871 static constexpr unsigned long variant{832};
32872 static constexpr bool concrete{
false};
32873 using subclasses_t =
mp::List<SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgTemplateParameterVal, SgNullptrValExp, SgChar16Val, SgChar32Val, SgFloat80Val, SgFloat128Val, SgVoidVal, SgAdaFloatVal, SgJovialBitVal>;
32882 static constexpr size_t position{0};
32883 static constexpr char const *
const name{
"lhs_operand"};
32884 static constexpr char const *
const typestr{
"SgExpression*"};
32885 static constexpr bool traverse{
true};
32886 static constexpr auto mbr_ptr{&SgVarArgCopyOp::p_lhs_operand};
32887 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32888 using bind = Desc<SgVarArgCopyOp, SgExpression* SgVarArgCopyOp::*, &SgVarArgCopyOp::p_lhs_operand>;
32893 static constexpr size_t position{1};
32894 static constexpr char const *
const name{
"rhs_operand"};
32895 static constexpr char const *
const typestr{
"SgExpression*"};
32896 static constexpr bool traverse{
true};
32897 static constexpr auto mbr_ptr{&SgVarArgCopyOp::p_rhs_operand};
32898 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32899 using bind = Desc<SgVarArgCopyOp, SgExpression* SgVarArgCopyOp::*, &SgVarArgCopyOp::p_rhs_operand>;
32904 static constexpr size_t position{2};
32905 static constexpr char const *
const name{
"expression_type"};
32906 static constexpr char const *
const typestr{
"SgType*"};
32907 static constexpr bool traverse{
false};
32908 static constexpr auto mbr_ptr{&SgVarArgCopyOp::p_expression_type};
32909 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32910 using bind = Desc<SgVarArgCopyOp, SgType* SgVarArgCopyOp::*, &SgVarArgCopyOp::p_expression_type>;
32915 static constexpr char const *
const name{
"VarArgCopyOp"};
32916 static constexpr unsigned long variant{833};
32917 static constexpr bool concrete{
true};
32927 static constexpr size_t position{0};
32928 static constexpr char const *
const name{
"operand_expr"};
32929 static constexpr char const *
const typestr{
"SgExpression*"};
32930 static constexpr bool traverse{
true};
32931 static constexpr auto mbr_ptr{&SgVarArgEndOp::p_operand_expr};
32932 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32933 using bind = Desc<SgVarArgEndOp, SgExpression* SgVarArgEndOp::*, &SgVarArgEndOp::p_operand_expr>;
32938 static constexpr size_t position{1};
32939 static constexpr char const *
const name{
"expression_type"};
32940 static constexpr char const *
const typestr{
"SgType*"};
32941 static constexpr bool traverse{
false};
32942 static constexpr auto mbr_ptr{&SgVarArgEndOp::p_expression_type};
32943 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32944 using bind = Desc<SgVarArgEndOp, SgType* SgVarArgEndOp::*, &SgVarArgEndOp::p_expression_type>;
32949 static constexpr char const *
const name{
"VarArgEndOp"};
32950 static constexpr unsigned long variant{834};
32951 static constexpr bool concrete{
true};
32961 static constexpr size_t position{0};
32962 static constexpr char const *
const name{
"operand_expr"};
32963 static constexpr char const *
const typestr{
"SgExpression*"};
32964 static constexpr bool traverse{
true};
32965 static constexpr auto mbr_ptr{&SgVarArgOp::p_operand_expr};
32966 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32967 using bind = Desc<SgVarArgOp, SgExpression* SgVarArgOp::*, &SgVarArgOp::p_operand_expr>;
32972 static constexpr size_t position{1};
32973 static constexpr char const *
const name{
"expression_type"};
32974 static constexpr char const *
const typestr{
"SgType*"};
32975 static constexpr bool traverse{
false};
32976 static constexpr auto mbr_ptr{&SgVarArgOp::p_expression_type};
32977 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
32978 using bind = Desc<SgVarArgOp, SgType* SgVarArgOp::*, &SgVarArgOp::p_expression_type>;
32983 static constexpr char const *
const name{
"VarArgOp"};
32984 static constexpr unsigned long variant{835};
32985 static constexpr bool concrete{
true};
32995 static constexpr size_t position{0};
32996 static constexpr char const *
const name{
"operand_expr"};
32997 static constexpr char const *
const typestr{
"SgExpression*"};
32998 static constexpr bool traverse{
true};
32999 static constexpr auto mbr_ptr{&SgVarArgStartOneOperandOp::p_operand_expr};
33000 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33001 using bind = Desc<SgVarArgStartOneOperandOp, SgExpression* SgVarArgStartOneOperandOp::*, &SgVarArgStartOneOperandOp::p_operand_expr>;
33006 static constexpr size_t position{1};
33007 static constexpr char const *
const name{
"expression_type"};
33008 static constexpr char const *
const typestr{
"SgType*"};
33009 static constexpr bool traverse{
false};
33010 static constexpr auto mbr_ptr{&SgVarArgStartOneOperandOp::p_expression_type};
33011 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33012 using bind = Desc<SgVarArgStartOneOperandOp, SgType* SgVarArgStartOneOperandOp::*, &SgVarArgStartOneOperandOp::p_expression_type>;
33017 static constexpr char const *
const name{
"VarArgStartOneOperandOp"};
33018 static constexpr unsigned long variant{836};
33019 static constexpr bool concrete{
true};
33029 static constexpr size_t position{0};
33030 static constexpr char const *
const name{
"lhs_operand"};
33031 static constexpr char const *
const typestr{
"SgExpression*"};
33032 static constexpr bool traverse{
true};
33033 static constexpr auto mbr_ptr{&SgVarArgStartOp::p_lhs_operand};
33034 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33035 using bind = Desc<SgVarArgStartOp, SgExpression* SgVarArgStartOp::*, &SgVarArgStartOp::p_lhs_operand>;
33040 static constexpr size_t position{1};
33041 static constexpr char const *
const name{
"rhs_operand"};
33042 static constexpr char const *
const typestr{
"SgExpression*"};
33043 static constexpr bool traverse{
true};
33044 static constexpr auto mbr_ptr{&SgVarArgStartOp::p_rhs_operand};
33045 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33046 using bind = Desc<SgVarArgStartOp, SgExpression* SgVarArgStartOp::*, &SgVarArgStartOp::p_rhs_operand>;
33051 static constexpr size_t position{2};
33052 static constexpr char const *
const name{
"expression_type"};
33053 static constexpr char const *
const typestr{
"SgType*"};
33054 static constexpr bool traverse{
false};
33055 static constexpr auto mbr_ptr{&SgVarArgStartOp::p_expression_type};
33056 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33057 using bind = Desc<SgVarArgStartOp, SgType* SgVarArgStartOp::*, &SgVarArgStartOp::p_expression_type>;
33062 static constexpr char const *
const name{
"VarArgStartOp"};
33063 static constexpr unsigned long variant{837};
33064 static constexpr bool concrete{
true};
33074 static constexpr size_t position{0};
33075 static constexpr char const *
const name{
"symbol"};
33076 static constexpr char const *
const typestr{
"SgVariableSymbol*"};
33077 static constexpr bool traverse{
false};
33078 static constexpr auto mbr_ptr{&SgVarRefExp::p_symbol};
33079 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33080 using bind = Desc<SgVarRefExp, SgVariableSymbol* SgVarRefExp::*, &SgVarRefExp::p_symbol>;
33085 static constexpr size_t position{1};
33086 static constexpr char const *
const name{
"originalExpressionTree"};
33087 static constexpr char const *
const typestr{
"SgExpression*"};
33088 static constexpr bool traverse{
false};
33089 static constexpr auto mbr_ptr{&SgVarRefExp::p_originalExpressionTree};
33090 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33091 using bind = Desc<SgVarRefExp, SgExpression* SgVarRefExp::*, &SgVarRefExp::p_originalExpressionTree>;
33095 using field_type = int;
33096 static constexpr size_t position{2};
33097 static constexpr char const *
const name{
"name_qualification_length"};
33098 static constexpr char const *
const typestr{
"int"};
33099 static constexpr bool traverse{
false};
33100 static constexpr auto mbr_ptr{&SgVarRefExp::p_name_qualification_length};
33101 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33102 using bind = Desc<SgVarRefExp, int SgVarRefExp::*, &SgVarRefExp::p_name_qualification_length>;
33106 using field_type = bool;
33107 static constexpr size_t position{3};
33108 static constexpr char const *
const name{
"type_elaboration_required"};
33109 static constexpr char const *
const typestr{
"bool"};
33110 static constexpr bool traverse{
false};
33111 static constexpr auto mbr_ptr{&SgVarRefExp::p_type_elaboration_required};
33112 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33113 using bind = Desc<SgVarRefExp, bool SgVarRefExp::*, &SgVarRefExp::p_type_elaboration_required>;
33117 using field_type = bool;
33118 static constexpr size_t position{4};
33119 static constexpr char const *
const name{
"global_qualification_required"};
33120 static constexpr char const *
const typestr{
"bool"};
33121 static constexpr bool traverse{
false};
33122 static constexpr auto mbr_ptr{&SgVarRefExp::p_global_qualification_required};
33123 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33124 using bind = Desc<SgVarRefExp, bool SgVarRefExp::*, &SgVarRefExp::p_global_qualification_required>;
33129 static constexpr char const *
const name{
"VarRefExp"};
33130 static constexpr unsigned long variant{838};
33131 static constexpr bool concrete{
true};
33133 using fields_t =
mp::List<describe_field_t<SgVarRefExp,SgVariableSymbol*,&SgVarRefExp::p_symbol>,
describe_field_t<SgVarRefExp,SgExpression*,&SgVarRefExp::p_originalExpressionTree>,
describe_field_t<SgVarRefExp,int,&SgVarRefExp::p_name_qualification_length>,
describe_field_t<SgVarRefExp,bool,&SgVarRefExp::p_type_elaboration_required>,
describe_field_t<SgVarRefExp,bool,&SgVarRefExp::p_global_qualification_required>>;
33141 static constexpr size_t position{0};
33142 static constexpr char const *
const name{
"baseTypeDefiningDeclaration"};
33143 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
33144 static constexpr bool traverse{
true};
33146 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33147 using bind = Desc<SgVariableDeclaration, SgDeclarationStatement* SgVariableDeclaration::*, &SgVariableDeclaration::p_baseTypeDefiningDeclaration>;
33151 using field_type = SgInitializedNamePtrList;
33152 static constexpr size_t position{1};
33153 static constexpr char const *
const name{
"variables"};
33154 static constexpr char const *
const typestr{
"SgInitializedNamePtrList"};
33155 static constexpr bool traverse{
true};
33157 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33158 using bind = Desc<SgVariableDeclaration, SgInitializedNamePtrList SgVariableDeclaration::*, &SgVariableDeclaration::p_variables>;
33162 using field_type = bool;
33163 static constexpr size_t position{2};
33164 static constexpr char const *
const name{
"variableDeclarationContainsBaseTypeDefiningDeclaration"};
33165 static constexpr char const *
const typestr{
"bool"};
33166 static constexpr bool traverse{
false};
33168 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33169 using bind = Desc<SgVariableDeclaration, bool SgVariableDeclaration::*, &SgVariableDeclaration::p_variableDeclarationContainsBaseTypeDefiningDeclaration>;
33174 static constexpr size_t position{3};
33175 static constexpr char const *
const name{
"specialization"};
33176 static constexpr char const *
const typestr{
"SgDeclarationStatement::template_specialization_enum"};
33177 static constexpr bool traverse{
false};
33179 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33180 using bind = Desc<SgVariableDeclaration, SgDeclarationStatement::template_specialization_enum SgVariableDeclaration::*, &SgVariableDeclaration::p_specialization>;
33184 using field_type = bool;
33185 static constexpr size_t position{4};
33186 static constexpr char const *
const name{
"requiresGlobalNameQualificationOnType"};
33187 static constexpr char const *
const typestr{
"bool"};
33188 static constexpr bool traverse{
false};
33189 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_requiresGlobalNameQualificationOnType};
33190 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33191 using bind = Desc<SgVariableDeclaration, bool SgVariableDeclaration::*, &SgVariableDeclaration::p_requiresGlobalNameQualificationOnType>;
33195 using field_type = std::string;
33196 static constexpr size_t position{5};
33197 static constexpr char const *
const name{
"gnu_extension_section"};
33198 static constexpr char const *
const typestr{
"std::string"};
33199 static constexpr bool traverse{
false};
33200 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_gnu_extension_section};
33201 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33202 using bind = Desc<SgVariableDeclaration, std::string SgVariableDeclaration::*, &SgVariableDeclaration::p_gnu_extension_section>;
33206 using field_type = std::string;
33207 static constexpr size_t position{6};
33208 static constexpr char const *
const name{
"gnu_extension_alias"};
33209 static constexpr char const *
const typestr{
"std::string"};
33210 static constexpr bool traverse{
false};
33211 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_gnu_extension_alias};
33212 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33213 using bind = Desc<SgVariableDeclaration, std::string SgVariableDeclaration::*, &SgVariableDeclaration::p_gnu_extension_alias>;
33217 using field_type =
unsigned short;
33218 static constexpr size_t position{7};
33219 static constexpr char const *
const name{
"gnu_extension_initialization_priority"};
33220 static constexpr char const *
const typestr{
"unsigned short"};
33221 static constexpr bool traverse{
false};
33222 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_gnu_extension_initialization_priority};
33223 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33224 using bind = Desc<SgVariableDeclaration, unsigned short SgVariableDeclaration::*, &SgVariableDeclaration::p_gnu_extension_initialization_priority>;
33229 static constexpr size_t position{8};
33230 static constexpr char const *
const name{
"gnu_extension_visability"};
33231 static constexpr char const *
const typestr{
"SgDeclarationStatement::gnu_extension_visability_attribute_enum"};
33232 static constexpr bool traverse{
false};
33233 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_gnu_extension_visability};
33234 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33235 using bind = Desc<SgVariableDeclaration, SgDeclarationStatement::gnu_extension_visability_attribute_enum SgVariableDeclaration::*, &SgVariableDeclaration::p_gnu_extension_visability>;
33240 static constexpr size_t position{9};
33241 static constexpr char const *
const name{
"gnu_extension_declaration_attribute"};
33242 static constexpr char const *
const typestr{
"SgVariableDeclaration::gnu_extension_declaration_attributes_enum"};
33243 static constexpr bool traverse{
false};
33244 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_gnu_extension_declaration_attribute};
33245 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33246 using bind = Desc<SgVariableDeclaration, SgVariableDeclaration::gnu_extension_declaration_attributes_enum SgVariableDeclaration::*, &SgVariableDeclaration::p_gnu_extension_declaration_attribute>;
33250 using field_type = int;
33251 static constexpr size_t position{10};
33252 static constexpr char const *
const name{
"name_qualification_length"};
33253 static constexpr char const *
const typestr{
"int"};
33254 static constexpr bool traverse{
false};
33255 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_name_qualification_length};
33256 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33257 using bind = Desc<SgVariableDeclaration, int SgVariableDeclaration::*, &SgVariableDeclaration::p_name_qualification_length>;
33261 using field_type = bool;
33262 static constexpr size_t position{11};
33263 static constexpr char const *
const name{
"type_elaboration_required"};
33264 static constexpr char const *
const typestr{
"bool"};
33265 static constexpr bool traverse{
false};
33266 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_type_elaboration_required};
33267 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33268 using bind = Desc<SgVariableDeclaration, bool SgVariableDeclaration::*, &SgVariableDeclaration::p_type_elaboration_required>;
33272 using field_type = bool;
33273 static constexpr size_t position{12};
33274 static constexpr char const *
const name{
"global_qualification_required"};
33275 static constexpr char const *
const typestr{
"bool"};
33276 static constexpr bool traverse{
false};
33277 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_global_qualification_required};
33278 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33279 using bind = Desc<SgVariableDeclaration, bool SgVariableDeclaration::*, &SgVariableDeclaration::p_global_qualification_required>;
33283 using field_type = bool;
33284 static constexpr size_t position{13};
33285 static constexpr char const *
const name{
"isAssociatedWithDeclarationList"};
33286 static constexpr char const *
const typestr{
"bool"};
33287 static constexpr bool traverse{
false};
33288 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_isAssociatedWithDeclarationList};
33289 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33290 using bind = Desc<SgVariableDeclaration, bool SgVariableDeclaration::*, &SgVariableDeclaration::p_isAssociatedWithDeclarationList>;
33294 using field_type = bool;
33295 static constexpr size_t position{14};
33296 static constexpr char const *
const name{
"isFirstDeclarationOfDeclarationList"};
33297 static constexpr char const *
const typestr{
"bool"};
33298 static constexpr bool traverse{
false};
33299 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_isFirstDeclarationOfDeclarationList};
33300 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33301 using bind = Desc<SgVariableDeclaration, bool SgVariableDeclaration::*, &SgVariableDeclaration::p_isFirstDeclarationOfDeclarationList>;
33305 using field_type = bool;
33306 static constexpr size_t position{15};
33307 static constexpr char const *
const name{
"is_thread_local"};
33308 static constexpr char const *
const typestr{
"bool"};
33309 static constexpr bool traverse{
false};
33310 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_is_thread_local};
33311 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33312 using bind = Desc<SgVariableDeclaration, bool SgVariableDeclaration::*, &SgVariableDeclaration::p_is_thread_local>;
33316 using field_type = bool;
33317 static constexpr size_t position{16};
33318 static constexpr char const *
const name{
"is_constexpr"};
33319 static constexpr char const *
const typestr{
"bool"};
33320 static constexpr bool traverse{
false};
33321 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_is_constexpr};
33322 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33323 using bind = Desc<SgVariableDeclaration, bool SgVariableDeclaration::*, &SgVariableDeclaration::p_is_constexpr>;
33327 using field_type = bool;
33328 static constexpr size_t position{17};
33329 static constexpr char const *
const name{
"builtFromUseOnly"};
33330 static constexpr char const *
const typestr{
"bool"};
33331 static constexpr bool traverse{
false};
33332 static constexpr auto mbr_ptr{&SgVariableDeclaration::p_builtFromUseOnly};
33333 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33334 using bind = Desc<SgVariableDeclaration, bool SgVariableDeclaration::*, &SgVariableDeclaration::p_builtFromUseOnly>;
33339 static constexpr char const *
const name{
"VariableDeclaration"};
33340 static constexpr unsigned long variant{839};
33341 static constexpr bool concrete{
true};
33343 using fields_t =
mp::List<describe_field_t<SgVariableDeclaration,SgDeclarationStatement*,&SgVariableDeclaration::p_baseTypeDefiningDeclaration>,
describe_field_t<SgVariableDeclaration,SgInitializedNamePtrList,&SgVariableDeclaration::p_variables>,
describe_field_t<SgVariableDeclaration,bool,&SgVariableDeclaration::p_variableDeclarationContainsBaseTypeDefiningDeclaration>,
describe_field_t<SgVariableDeclaration,SgDeclarationStatement::template_specialization_enum,&SgVariableDeclaration::p_specialization>,
describe_field_t<SgVariableDeclaration,bool,&SgVariableDeclaration::p_requiresGlobalNameQualificationOnType>,
describe_field_t<SgVariableDeclaration,std::string,&SgVariableDeclaration::p_gnu_extension_section>,
describe_field_t<SgVariableDeclaration,std::string,&SgVariableDeclaration::p_gnu_extension_alias>,
describe_field_t<SgVariableDeclaration,unsigned short,&SgVariableDeclaration::p_gnu_extension_initialization_priority>,
describe_field_t<SgVariableDeclaration,SgDeclarationStatement::gnu_extension_visability_attribute_enum,&SgVariableDeclaration::p_gnu_extension_visability>,
describe_field_t<SgVariableDeclaration,SgVariableDeclaration::gnu_extension_declaration_attributes_enum,&SgVariableDeclaration::p_gnu_extension_declaration_attribute>,
describe_field_t<SgVariableDeclaration,int,&SgVariableDeclaration::p_name_qualification_length>,
describe_field_t<SgVariableDeclaration,bool,&SgVariableDeclaration::p_type_elaboration_required>,
describe_field_t<SgVariableDeclaration,bool,&SgVariableDeclaration::p_global_qualification_required>,
describe_field_t<SgVariableDeclaration,bool,&SgVariableDeclaration::p_isAssociatedWithDeclarationList>,
describe_field_t<SgVariableDeclaration,bool,&SgVariableDeclaration::p_isFirstDeclarationOfDeclarationList>,
describe_field_t<SgVariableDeclaration,bool,&SgVariableDeclaration::p_is_thread_local>,
describe_field_t<SgVariableDeclaration,bool,&SgVariableDeclaration::p_is_constexpr>,
describe_field_t<SgVariableDeclaration,bool,&SgVariableDeclaration::p_builtFromUseOnly>>;
33351 static constexpr size_t position{0};
33352 static constexpr char const *
const name{
"vardefn"};
33353 static constexpr char const *
const typestr{
"SgInitializedName*"};
33354 static constexpr bool traverse{
true};
33356 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33357 using bind = Desc<SgVariableDefinition, SgInitializedName* SgVariableDefinition::*, &SgVariableDefinition::p_vardefn>;
33362 static constexpr size_t position{1};
33363 static constexpr char const *
const name{
"bitfield"};
33364 static constexpr char const *
const typestr{
"SgExpression*"};
33365 static constexpr bool traverse{
true};
33367 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33368 using bind = Desc<SgVariableDefinition, SgExpression* SgVariableDefinition::*, &SgVariableDefinition::p_bitfield>;
33373 static constexpr char const *
const name{
"VariableDefinition"};
33374 static constexpr unsigned long variant{840};
33375 static constexpr bool concrete{
true};
33385 static constexpr size_t position{0};
33386 static constexpr char const *
const name{
"declaration"};
33387 static constexpr char const *
const typestr{
"SgInitializedName*"};
33388 static constexpr bool traverse{
false};
33389 static constexpr auto mbr_ptr{&SgVariableSymbol::p_declaration};
33390 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33391 using bind = Desc<SgVariableSymbol, SgInitializedName* SgVariableSymbol::*, &SgVariableSymbol::p_declaration>;
33396 static constexpr char const *
const name{
"VariableSymbol"};
33397 static constexpr unsigned long variant{841};
33398 static constexpr bool concrete{
true};
33408 static constexpr char const *
const name{
"VariantExpression"};
33409 static constexpr unsigned long variant{842};
33410 static constexpr bool concrete{
true};
33420 static constexpr char const *
const name{
"VariantStatement"};
33421 static constexpr unsigned long variant{843};
33422 static constexpr bool concrete{
true};
33432 static constexpr char const *
const name{
"VoidVal"};
33433 static constexpr unsigned long variant{844};
33434 static constexpr bool concrete{
true};
33444 static constexpr char const *
const name{
"WaitStatement"};
33445 static constexpr unsigned long variant{845};
33446 static constexpr bool concrete{
true};
33456 static constexpr char const *
const name{
"WarningDirectiveStatement"};
33457 static constexpr unsigned long variant{846};
33458 static constexpr bool concrete{
true};
33468 static constexpr size_t position{0};
33469 static constexpr char const *
const name{
"expression"};
33470 static constexpr char const *
const typestr{
"SgExpression*"};
33471 static constexpr bool traverse{
true};
33472 static constexpr auto mbr_ptr{&SgWithStatement::p_expression};
33473 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33474 using bind = Desc<SgWithStatement, SgExpression* SgWithStatement::*, &SgWithStatement::p_expression>;
33479 static constexpr size_t position{1};
33480 static constexpr char const *
const name{
"body"};
33481 static constexpr char const *
const typestr{
"SgStatement*"};
33482 static constexpr bool traverse{
true};
33483 static constexpr auto mbr_ptr{&SgWithStatement::p_body};
33484 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33485 using bind = Desc<SgWithStatement, SgStatement* SgWithStatement::*, &SgWithStatement::p_body>;
33490 static constexpr char const *
const name{
"WithStatement"};
33491 static constexpr unsigned long variant{847};
33492 static constexpr bool concrete{
true};
33501 using field_type =
unsigned long;
33502 static constexpr size_t position{0};
33503 static constexpr char const *
const name{
"valueUL"};
33504 static constexpr char const *
const typestr{
"unsigned long"};
33505 static constexpr bool traverse{
false};
33506 static constexpr auto mbr_ptr{&SgWcharVal::p_valueUL};
33507 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33508 using bind = Desc<SgWcharVal, unsigned long SgWcharVal::*, &SgWcharVal::p_valueUL>;
33512 using field_type = std::string;
33513 static constexpr size_t position{1};
33514 static constexpr char const *
const name{
"valueString"};
33515 static constexpr char const *
const typestr{
"std::string"};
33516 static constexpr bool traverse{
false};
33517 static constexpr auto mbr_ptr{&SgWcharVal::p_valueString};
33518 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33519 using bind = Desc<SgWcharVal, std::string SgWcharVal::*, &SgWcharVal::p_valueString>;
33524 static constexpr char const *
const name{
"WcharVal"};
33525 static constexpr unsigned long variant{848};
33526 static constexpr bool concrete{
true};
33536 static constexpr size_t position{0};
33537 static constexpr char const *
const name{
"condition"};
33538 static constexpr char const *
const typestr{
"SgExpression*"};
33539 static constexpr bool traverse{
true};
33540 static constexpr auto mbr_ptr{&SgWhereStatement::p_condition};
33541 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33542 using bind = Desc<SgWhereStatement, SgExpression* SgWhereStatement::*, &SgWhereStatement::p_condition>;
33547 static constexpr size_t position{1};
33548 static constexpr char const *
const name{
"body"};
33549 static constexpr char const *
const typestr{
"SgBasicBlock*"};
33550 static constexpr bool traverse{
true};
33551 static constexpr auto mbr_ptr{&SgWhereStatement::p_body};
33552 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33553 using bind = Desc<SgWhereStatement, SgBasicBlock* SgWhereStatement::*, &SgWhereStatement::p_body>;
33558 static constexpr size_t position{2};
33559 static constexpr char const *
const name{
"elsewhere"};
33560 static constexpr char const *
const typestr{
"SgElseWhereStatement*"};
33561 static constexpr bool traverse{
true};
33562 static constexpr auto mbr_ptr{&SgWhereStatement::p_elsewhere};
33563 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33564 using bind = Desc<SgWhereStatement, SgElseWhereStatement* SgWhereStatement::*, &SgWhereStatement::p_elsewhere>;
33569 static constexpr size_t position{3};
33570 static constexpr char const *
const name{
"end_numeric_label"};
33571 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
33572 static constexpr bool traverse{
false};
33573 static constexpr auto mbr_ptr{&SgWhereStatement::p_end_numeric_label};
33574 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33575 using bind = Desc<SgWhereStatement, SgLabelRefExp* SgWhereStatement::*, &SgWhereStatement::p_end_numeric_label>;
33579 using field_type = std::string;
33580 static constexpr size_t position{4};
33581 static constexpr char const *
const name{
"string_label"};
33582 static constexpr char const *
const typestr{
"std::string"};
33583 static constexpr bool traverse{
false};
33584 static constexpr auto mbr_ptr{&SgWhereStatement::p_string_label};
33585 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33586 using bind = Desc<SgWhereStatement, std::string SgWhereStatement::*, &SgWhereStatement::p_string_label>;
33590 using field_type = bool;
33591 static constexpr size_t position{5};
33592 static constexpr char const *
const name{
"has_end_statement"};
33593 static constexpr char const *
const typestr{
"bool"};
33594 static constexpr bool traverse{
false};
33595 static constexpr auto mbr_ptr{&SgWhereStatement::p_has_end_statement};
33596 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33597 using bind = Desc<SgWhereStatement, bool SgWhereStatement::*, &SgWhereStatement::p_has_end_statement>;
33602 static constexpr char const *
const name{
"WhereStatement"};
33603 static constexpr unsigned long variant{849};
33604 static constexpr bool concrete{
true};
33606 using fields_t =
mp::List<describe_field_t<SgWhereStatement,SgExpression*,&SgWhereStatement::p_condition>,
describe_field_t<SgWhereStatement,SgBasicBlock*,&SgWhereStatement::p_body>,
describe_field_t<SgWhereStatement,SgElseWhereStatement*,&SgWhereStatement::p_elsewhere>,
describe_field_t<SgWhereStatement,SgLabelRefExp*,&SgWhereStatement::p_end_numeric_label>,
describe_field_t<SgWhereStatement,std::string,&SgWhereStatement::p_string_label>,
describe_field_t<SgWhereStatement,bool,&SgWhereStatement::p_has_end_statement>>;
33614 static constexpr size_t position{0};
33615 static constexpr char const *
const name{
"condition"};
33616 static constexpr char const *
const typestr{
"SgStatement*"};
33617 static constexpr bool traverse{
true};
33619 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33620 using bind = Desc<SgWhileStmt, SgStatement* SgWhileStmt::*, &SgWhileStmt::p_condition>;
33625 static constexpr size_t position{1};
33626 static constexpr char const *
const name{
"body"};
33627 static constexpr char const *
const typestr{
"SgStatement*"};
33628 static constexpr bool traverse{
true};
33630 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33631 using bind = Desc<SgWhileStmt, SgStatement* SgWhileStmt::*, &SgWhileStmt::p_body>;
33636 static constexpr size_t position{2};
33637 static constexpr char const *
const name{
"else_body"};
33638 static constexpr char const *
const typestr{
"SgStatement*"};
33639 static constexpr bool traverse{
true};
33641 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33642 using bind = Desc<SgWhileStmt, SgStatement* SgWhileStmt::*, &SgWhileStmt::p_else_body>;
33647 static constexpr size_t position{3};
33648 static constexpr char const *
const name{
"end_numeric_label"};
33649 static constexpr char const *
const typestr{
"SgLabelRefExp*"};
33650 static constexpr bool traverse{
false};
33651 static constexpr auto mbr_ptr{&SgWhileStmt::p_end_numeric_label};
33652 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33653 using bind = Desc<SgWhileStmt, SgLabelRefExp* SgWhileStmt::*, &SgWhileStmt::p_end_numeric_label>;
33657 using field_type = std::string;
33658 static constexpr size_t position{4};
33659 static constexpr char const *
const name{
"string_label"};
33660 static constexpr char const *
const typestr{
"std::string"};
33661 static constexpr bool traverse{
false};
33662 static constexpr auto mbr_ptr{&SgWhileStmt::p_string_label};
33663 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33664 using bind = Desc<SgWhileStmt, std::string SgWhileStmt::*, &SgWhileStmt::p_string_label>;
33668 using field_type = bool;
33669 static constexpr size_t position{5};
33670 static constexpr char const *
const name{
"has_end_statement"};
33671 static constexpr char const *
const typestr{
"bool"};
33672 static constexpr bool traverse{
false};
33673 static constexpr auto mbr_ptr{&SgWhileStmt::p_has_end_statement};
33674 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33675 using bind = Desc<SgWhileStmt, bool SgWhileStmt::*, &SgWhileStmt::p_has_end_statement>;
33680 static constexpr char const *
const name{
"WhileStmt"};
33681 static constexpr unsigned long variant{850};
33682 static constexpr bool concrete{
true};
33684 using fields_t =
mp::List<describe_field_t<SgWhileStmt,SgStatement*,&SgWhileStmt::p_condition>,
describe_field_t<SgWhileStmt,SgStatement*,&SgWhileStmt::p_body>,
describe_field_t<SgWhileStmt,SgStatement*,&SgWhileStmt::p_else_body>,
describe_field_t<SgWhileStmt,SgLabelRefExp*,&SgWhileStmt::p_end_numeric_label>,
describe_field_t<SgWhileStmt,std::string,&SgWhileStmt::p_string_label>,
describe_field_t<SgWhileStmt,bool,&SgWhileStmt::p_has_end_statement>>;
33692 static constexpr size_t position{0};
33693 static constexpr char const *
const name{
"format"};
33694 static constexpr char const *
const typestr{
"SgExpression*"};
33695 static constexpr bool traverse{
true};
33696 static constexpr auto mbr_ptr{&SgWriteStatement::p_format};
33697 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33698 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_format>;
33703 static constexpr size_t position{1};
33704 static constexpr char const *
const name{
"namelist"};
33705 static constexpr char const *
const typestr{
"SgExpression*"};
33706 static constexpr bool traverse{
true};
33707 static constexpr auto mbr_ptr{&SgWriteStatement::p_namelist};
33708 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33709 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_namelist>;
33714 static constexpr size_t position{2};
33715 static constexpr char const *
const name{
"advance"};
33716 static constexpr char const *
const typestr{
"SgExpression*"};
33717 static constexpr bool traverse{
true};
33718 static constexpr auto mbr_ptr{&SgWriteStatement::p_advance};
33719 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33720 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_advance>;
33725 static constexpr size_t position{3};
33726 static constexpr char const *
const name{
"asynchronous"};
33727 static constexpr char const *
const typestr{
"SgExpression*"};
33728 static constexpr bool traverse{
true};
33729 static constexpr auto mbr_ptr{&SgWriteStatement::p_asynchronous};
33730 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33731 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_asynchronous>;
33736 static constexpr size_t position{4};
33737 static constexpr char const *
const name{
"blank"};
33738 static constexpr char const *
const typestr{
"SgExpression*"};
33739 static constexpr bool traverse{
true};
33740 static constexpr auto mbr_ptr{&SgWriteStatement::p_blank};
33741 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33742 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_blank>;
33747 static constexpr size_t position{5};
33748 static constexpr char const *
const name{
"decimal"};
33749 static constexpr char const *
const typestr{
"SgExpression*"};
33750 static constexpr bool traverse{
true};
33751 static constexpr auto mbr_ptr{&SgWriteStatement::p_decimal};
33752 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33753 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_decimal>;
33758 static constexpr size_t position{6};
33759 static constexpr char const *
const name{
"delim"};
33760 static constexpr char const *
const typestr{
"SgExpression*"};
33761 static constexpr bool traverse{
true};
33762 static constexpr auto mbr_ptr{&SgWriteStatement::p_delim};
33763 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33764 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_delim>;
33769 static constexpr size_t position{7};
33770 static constexpr char const *
const name{
"end"};
33771 static constexpr char const *
const typestr{
"SgExpression*"};
33772 static constexpr bool traverse{
true};
33773 static constexpr auto mbr_ptr{&SgWriteStatement::p_end};
33774 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33775 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_end>;
33780 static constexpr size_t position{8};
33781 static constexpr char const *
const name{
"eor"};
33782 static constexpr char const *
const typestr{
"SgExpression*"};
33783 static constexpr bool traverse{
true};
33784 static constexpr auto mbr_ptr{&SgWriteStatement::p_eor};
33785 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33786 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_eor>;
33791 static constexpr size_t position{9};
33792 static constexpr char const *
const name{
"id"};
33793 static constexpr char const *
const typestr{
"SgExpression*"};
33794 static constexpr bool traverse{
true};
33795 static constexpr auto mbr_ptr{&SgWriteStatement::p_id};
33796 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33797 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_id>;
33802 static constexpr size_t position{10};
33803 static constexpr char const *
const name{
"pad"};
33804 static constexpr char const *
const typestr{
"SgExpression*"};
33805 static constexpr bool traverse{
true};
33806 static constexpr auto mbr_ptr{&SgWriteStatement::p_pad};
33807 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33808 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_pad>;
33813 static constexpr size_t position{11};
33814 static constexpr char const *
const name{
"pos"};
33815 static constexpr char const *
const typestr{
"SgExpression*"};
33816 static constexpr bool traverse{
true};
33817 static constexpr auto mbr_ptr{&SgWriteStatement::p_pos};
33818 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33819 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_pos>;
33824 static constexpr size_t position{12};
33825 static constexpr char const *
const name{
"rec"};
33826 static constexpr char const *
const typestr{
"SgExpression*"};
33827 static constexpr bool traverse{
true};
33828 static constexpr auto mbr_ptr{&SgWriteStatement::p_rec};
33829 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33830 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_rec>;
33835 static constexpr size_t position{13};
33836 static constexpr char const *
const name{
"round"};
33837 static constexpr char const *
const typestr{
"SgExpression*"};
33838 static constexpr bool traverse{
true};
33839 static constexpr auto mbr_ptr{&SgWriteStatement::p_round};
33840 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33841 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_round>;
33846 static constexpr size_t position{14};
33847 static constexpr char const *
const name{
"sign"};
33848 static constexpr char const *
const typestr{
"SgExpression*"};
33849 static constexpr bool traverse{
true};
33850 static constexpr auto mbr_ptr{&SgWriteStatement::p_sign};
33851 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33852 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_sign>;
33857 static constexpr size_t position{15};
33858 static constexpr char const *
const name{
"size"};
33859 static constexpr char const *
const typestr{
"SgExpression*"};
33860 static constexpr bool traverse{
true};
33861 static constexpr auto mbr_ptr{&SgWriteStatement::p_size};
33862 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33863 using bind = Desc<SgWriteStatement, SgExpression* SgWriteStatement::*, &SgWriteStatement::p_size>;
33868 static constexpr char const *
const name{
"WriteStatement"};
33869 static constexpr unsigned long variant{851};
33870 static constexpr bool concrete{
true};
33872 using fields_t =
mp::List<describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_format>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_namelist>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_advance>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_asynchronous>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_blank>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_decimal>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_delim>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_end>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_eor>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_id>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_pad>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_pos>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_rec>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_round>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_sign>,
describe_field_t<SgWriteStatement,SgExpression*,&SgWriteStatement::p_size>>;
33880 static constexpr char const *
const name{
"XorAssignOp"};
33881 static constexpr unsigned long variant{852};
33882 static constexpr bool concrete{
true};
33892 static constexpr size_t position{0};
33893 static constexpr char const *
const name{
"value"};
33894 static constexpr char const *
const typestr{
"SgExpression*"};
33895 static constexpr bool traverse{
true};
33896 static constexpr auto mbr_ptr{&SgYieldExpression::p_value};
33897 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33898 using bind = Desc<SgYieldExpression, SgExpression* SgYieldExpression::*, &SgYieldExpression::p_value>;
33903 static constexpr char const *
const name{
"YieldExpression"};
33904 static constexpr unsigned long variant{853};
33905 static constexpr bool concrete{
true};
33914 using field_type = int;
33915 static constexpr size_t position{0};
33916 static constexpr char const *
const name{
"file_id"};
33917 static constexpr char const *
const typestr{
"int"};
33918 static constexpr bool traverse{
false};
33920 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33921 using bind = Desc<Sg_File_Info, int Sg_File_Info::*, &Sg_File_Info::p_file_id>;
33925 using field_type = int;
33926 static constexpr size_t position{1};
33927 static constexpr char const *
const name{
"line"};
33928 static constexpr char const *
const typestr{
"int"};
33929 static constexpr bool traverse{
false};
33931 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33932 using bind = Desc<Sg_File_Info, int Sg_File_Info::*, &Sg_File_Info::p_line>;
33936 using field_type = int;
33937 static constexpr size_t position{2};
33938 static constexpr char const *
const name{
"col"};
33939 static constexpr char const *
const typestr{
"int"};
33940 static constexpr bool traverse{
false};
33942 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33943 using bind = Desc<Sg_File_Info, int Sg_File_Info::*, &Sg_File_Info::p_col>;
33947 using field_type =
unsigned int;
33948 static constexpr size_t position{3};
33949 static constexpr char const *
const name{
"classificationBitField"};
33950 static constexpr char const *
const typestr{
"unsigned int"};
33951 static constexpr bool traverse{
false};
33953 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33954 using bind = Desc<Sg_File_Info, unsigned int Sg_File_Info::*, &Sg_File_Info::p_classificationBitField>;
33958 using field_type = int;
33959 static constexpr size_t position{4};
33960 static constexpr char const *
const name{
"physical_file_id"};
33961 static constexpr char const *
const typestr{
"int"};
33962 static constexpr bool traverse{
false};
33963 static constexpr auto mbr_ptr{&Sg_File_Info::p_physical_file_id};
33964 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33965 using bind = Desc<Sg_File_Info, int Sg_File_Info::*, &Sg_File_Info::p_physical_file_id>;
33969 using field_type = int;
33970 static constexpr size_t position{5};
33971 static constexpr char const *
const name{
"physical_line"};
33972 static constexpr char const *
const typestr{
"int"};
33973 static constexpr bool traverse{
false};
33974 static constexpr auto mbr_ptr{&Sg_File_Info::p_physical_line};
33975 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33976 using bind = Desc<Sg_File_Info, int Sg_File_Info::*, &Sg_File_Info::p_physical_line>;
33980 using field_type =
unsigned int;
33981 static constexpr size_t position{6};
33982 static constexpr char const *
const name{
"source_sequence_number"};
33983 static constexpr char const *
const typestr{
"unsigned int"};
33984 static constexpr bool traverse{
false};
33985 static constexpr auto mbr_ptr{&Sg_File_Info::p_source_sequence_number};
33986 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33987 using bind = Desc<Sg_File_Info, unsigned int Sg_File_Info::*, &Sg_File_Info::p_source_sequence_number>;
33991 using field_type = SgFileIdList;
33992 static constexpr size_t position{7};
33993 static constexpr char const *
const name{
"fileIDsToUnparse"};
33994 static constexpr char const *
const typestr{
"SgFileIdList"};
33995 static constexpr bool traverse{
false};
33997 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
33998 using bind = Desc<Sg_File_Info, SgFileIdList Sg_File_Info::*, &Sg_File_Info::p_fileIDsToUnparse>;
34002 using field_type = SgFileLineNumberList;
34003 static constexpr size_t position{8};
34004 static constexpr char const *
const name{
"fileLineNumbersToUnparse"};
34005 static constexpr char const *
const typestr{
"SgFileLineNumberList"};
34006 static constexpr bool traverse{
false};
34007 static constexpr auto mbr_ptr{&Sg_File_Info::p_fileLineNumbersToUnparse};
34008 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34009 using bind = Desc<Sg_File_Info, SgFileLineNumberList Sg_File_Info::*, &Sg_File_Info::p_fileLineNumbersToUnparse>;
34014 static constexpr char const *
const name{
"_File_Info"};
34015 static constexpr unsigned long variant{854};
34016 static constexpr bool concrete{
true};
34018 using fields_t =
mp::List<describe_field_t<Sg_File_Info,int,&Sg_File_Info::p_file_id>,
describe_field_t<Sg_File_Info,int,&Sg_File_Info::p_line>,
describe_field_t<Sg_File_Info,int,&Sg_File_Info::p_col>,
describe_field_t<Sg_File_Info,unsigned int,&Sg_File_Info::p_classificationBitField>,
describe_field_t<Sg_File_Info,int,&Sg_File_Info::p_physical_file_id>,
describe_field_t<Sg_File_Info,int,&Sg_File_Info::p_physical_line>,
describe_field_t<Sg_File_Info,unsigned int,&Sg_File_Info::p_source_sequence_number>,
describe_field_t<Sg_File_Info,SgFileIdList,&Sg_File_Info::p_fileIDsToUnparse>,
describe_field_t<Sg_File_Info,SgFileLineNumberList,&Sg_File_Info::p_fileLineNumbersToUnparse>>;
34026 static constexpr char const *
const name{
"TypeCAFTeam"};
34027 static constexpr unsigned long variant{855};
34028 static constexpr bool concrete{
true};
34038 static constexpr size_t position{0};
34039 static constexpr char const *
const name{
"teamId"};
34040 static constexpr char const *
const typestr{
"SgVarRefExp*"};
34041 static constexpr bool traverse{
false};
34042 static constexpr auto mbr_ptr{&SgCAFWithTeamStatement::p_teamId};
34043 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34044 using bind = Desc<SgCAFWithTeamStatement, SgVarRefExp* SgCAFWithTeamStatement::*, &SgCAFWithTeamStatement::p_teamId>;
34049 static constexpr size_t position{1};
34050 static constexpr char const *
const name{
"body"};
34051 static constexpr char const *
const typestr{
"SgBasicBlock*"};
34052 static constexpr bool traverse{
true};
34053 static constexpr auto mbr_ptr{&SgCAFWithTeamStatement::p_body};
34054 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34055 using bind = Desc<SgCAFWithTeamStatement, SgBasicBlock* SgCAFWithTeamStatement::*, &SgCAFWithTeamStatement::p_body>;
34059 using field_type = bool;
34060 static constexpr size_t position{2};
34061 static constexpr char const *
const name{
"endHasTeamId"};
34062 static constexpr char const *
const typestr{
"bool"};
34063 static constexpr bool traverse{
false};
34064 static constexpr auto mbr_ptr{&SgCAFWithTeamStatement::p_endHasTeamId};
34065 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34066 using bind = Desc<SgCAFWithTeamStatement, bool SgCAFWithTeamStatement::*, &SgCAFWithTeamStatement::p_endHasTeamId>;
34071 static constexpr char const *
const name{
"CAFWithTeamStatement"};
34072 static constexpr unsigned long variant{856};
34073 static constexpr bool concrete{
true};
34083 static constexpr size_t position{0};
34084 static constexpr char const *
const name{
"teamId"};
34085 static constexpr char const *
const typestr{
"SgVarRefExp*"};
34086 static constexpr bool traverse{
false};
34087 static constexpr auto mbr_ptr{&SgCAFCoExpression::p_teamId};
34088 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34089 using bind = Desc<SgCAFCoExpression, SgVarRefExp* SgCAFCoExpression::*, &SgCAFCoExpression::p_teamId>;
34094 static constexpr size_t position{1};
34095 static constexpr char const *
const name{
"teamRank"};
34096 static constexpr char const *
const typestr{
"SgExpression*"};
34097 static constexpr bool traverse{
false};
34098 static constexpr auto mbr_ptr{&SgCAFCoExpression::p_teamRank};
34099 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34100 using bind = Desc<SgCAFCoExpression, SgExpression* SgCAFCoExpression::*, &SgCAFCoExpression::p_teamRank>;
34105 static constexpr size_t position{2};
34106 static constexpr char const *
const name{
"referData"};
34107 static constexpr char const *
const typestr{
"SgExpression*"};
34108 static constexpr bool traverse{
true};
34109 static constexpr auto mbr_ptr{&SgCAFCoExpression::p_referData};
34110 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34111 using bind = Desc<SgCAFCoExpression, SgExpression* SgCAFCoExpression::*, &SgCAFCoExpression::p_referData>;
34116 static constexpr char const *
const name{
"CAFCoExpression"};
34117 static constexpr unsigned long variant{857};
34118 static constexpr bool concrete{
true};
34128 static constexpr size_t position{0};
34129 static constexpr char const *
const name{
"function"};
34130 static constexpr char const *
const typestr{
"SgExpression*"};
34131 static constexpr bool traverse{
true};
34133 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34134 using bind = Desc<SgCallExpression, SgExpression* SgCallExpression::*, &SgCallExpression::p_function>;
34139 static constexpr size_t position{1};
34140 static constexpr char const *
const name{
"args"};
34141 static constexpr char const *
const typestr{
"SgExprListExp*"};
34142 static constexpr bool traverse{
true};
34144 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34145 using bind = Desc<SgCallExpression, SgExprListExp* SgCallExpression::*, &SgCallExpression::p_args>;
34150 static constexpr size_t position{2};
34151 static constexpr char const *
const name{
"expression_type"};
34152 static constexpr char const *
const typestr{
"SgType*"};
34153 static constexpr bool traverse{
false};
34155 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34156 using bind = Desc<SgCallExpression, SgType* SgCallExpression::*, &SgCallExpression::p_expression_type>;
34161 static constexpr char const *
const name{
"CallExpression"};
34162 static constexpr unsigned long variant{858};
34163 static constexpr bool concrete{
true};
34173 static constexpr char const *
const name{
"TypeCrayPointer"};
34174 static constexpr unsigned long variant{859};
34175 static constexpr bool concrete{
true};
34185 static constexpr size_t position{0};
34186 static constexpr char const *
const name{
"path"};
34187 static constexpr char const *
const typestr{
"SgName"};
34188 static constexpr bool traverse{
false};
34189 static constexpr auto mbr_ptr{&SgJavaImportStatement::p_path};
34190 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34191 using bind = Desc<SgJavaImportStatement, SgName SgJavaImportStatement::*, &SgJavaImportStatement::p_path>;
34195 using field_type = bool;
34196 static constexpr size_t position{1};
34197 static constexpr char const *
const name{
"containsWildCard"};
34198 static constexpr char const *
const typestr{
"bool"};
34199 static constexpr bool traverse{
false};
34200 static constexpr auto mbr_ptr{&SgJavaImportStatement::p_containsWildCard};
34201 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34202 using bind = Desc<SgJavaImportStatement, bool SgJavaImportStatement::*, &SgJavaImportStatement::p_containsWildCard>;
34207 static constexpr char const *
const name{
"JavaImportStatement"};
34208 static constexpr unsigned long variant{860};
34209 static constexpr bool concrete{
true};
34219 static constexpr char const *
const name{
"JavaPackageDeclaration"};
34220 static constexpr unsigned long variant{861};
34221 static constexpr bool concrete{
true};
34231 static constexpr size_t position{0};
34232 static constexpr char const *
const name{
"name"};
34233 static constexpr char const *
const typestr{
"SgName"};
34234 static constexpr bool traverse{
false};
34235 static constexpr auto mbr_ptr{&SgJavaPackageStatement::p_name};
34236 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34237 using bind = Desc<SgJavaPackageStatement, SgName SgJavaPackageStatement::*, &SgJavaPackageStatement::p_name>;
34242 static constexpr char const *
const name{
"JavaPackageStatement"};
34243 static constexpr unsigned long variant{862};
34244 static constexpr bool concrete{
true};
34253 using field_type = SgJavaImportStatementPtrList;
34254 static constexpr size_t position{0};
34255 static constexpr char const *
const name{
"java_import_list"};
34256 static constexpr char const *
const typestr{
"SgJavaImportStatementPtrList"};
34257 static constexpr bool traverse{
true};
34258 static constexpr auto mbr_ptr{&SgJavaImportStatementList::p_java_import_list};
34259 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34260 using bind = Desc<SgJavaImportStatementList, SgJavaImportStatementPtrList SgJavaImportStatementList::*, &SgJavaImportStatementList::p_java_import_list>;
34265 static constexpr char const *
const name{
"JavaImportStatementList"};
34266 static constexpr unsigned long variant{863};
34267 static constexpr bool concrete{
true};
34276 using field_type = SgClassDeclarationPtrList;
34277 static constexpr size_t position{0};
34278 static constexpr char const *
const name{
"java_class_list"};
34279 static constexpr char const *
const typestr{
"SgClassDeclarationPtrList"};
34280 static constexpr bool traverse{
true};
34281 static constexpr auto mbr_ptr{&SgJavaClassDeclarationList::p_java_class_list};
34282 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34283 using bind = Desc<SgJavaClassDeclarationList, SgClassDeclarationPtrList SgJavaClassDeclarationList::*, &SgJavaClassDeclarationList::p_java_class_list>;
34288 static constexpr char const *
const name{
"JavaClassDeclarationList"};
34289 static constexpr unsigned long variant{864};
34290 static constexpr bool concrete{
true};
34300 static constexpr size_t position{0};
34301 static constexpr char const *
const name{
"name"};
34302 static constexpr char const *
const typestr{
"SgName"};
34303 static constexpr bool traverse{
false};
34304 static constexpr auto mbr_ptr{&SgJavaMemberValuePair::p_name};
34305 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34306 using bind = Desc<SgJavaMemberValuePair, SgName SgJavaMemberValuePair::*, &SgJavaMemberValuePair::p_name>;
34311 static constexpr size_t position{1};
34312 static constexpr char const *
const name{
"value"};
34313 static constexpr char const *
const typestr{
"SgExpression*"};
34314 static constexpr bool traverse{
true};
34315 static constexpr auto mbr_ptr{&SgJavaMemberValuePair::p_value};
34316 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34317 using bind = Desc<SgJavaMemberValuePair, SgExpression* SgJavaMemberValuePair::*, &SgJavaMemberValuePair::p_value>;
34322 static constexpr char const *
const name{
"JavaMemberValuePair"};
34323 static constexpr unsigned long variant{865};
34324 static constexpr bool concrete{
true};
34334 static constexpr size_t position{0};
34335 static constexpr char const *
const name{
"expression_type"};
34336 static constexpr char const *
const typestr{
"SgType*"};
34337 static constexpr bool traverse{
false};
34338 static constexpr auto mbr_ptr{&SgJavaAnnotation::p_expression_type};
34339 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34340 using bind = Desc<SgJavaAnnotation, SgType* SgJavaAnnotation::*, &SgJavaAnnotation::p_expression_type>;
34345 static constexpr char const *
const name{
"JavaAnnotation"};
34346 static constexpr unsigned long variant{866};
34347 static constexpr bool concrete{
false};
34357 static constexpr char const *
const name{
"JavaMarkerAnnotation"};
34358 static constexpr unsigned long variant{867};
34359 static constexpr bool concrete{
true};
34369 static constexpr size_t position{0};
34370 static constexpr char const *
const name{
"value"};
34371 static constexpr char const *
const typestr{
"SgExpression*"};
34372 static constexpr bool traverse{
true};
34373 static constexpr auto mbr_ptr{&SgJavaSingleMemberAnnotation::p_value};
34374 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34375 using bind = Desc<SgJavaSingleMemberAnnotation, SgExpression* SgJavaSingleMemberAnnotation::*, &SgJavaSingleMemberAnnotation::p_value>;
34380 static constexpr char const *
const name{
"JavaSingleMemberAnnotation"};
34381 static constexpr unsigned long variant{868};
34382 static constexpr bool concrete{
true};
34391 using field_type = SgJavaMemberValuePairPtrList;
34392 static constexpr size_t position{0};
34393 static constexpr char const *
const name{
"value_pair_list"};
34394 static constexpr char const *
const typestr{
"SgJavaMemberValuePairPtrList"};
34395 static constexpr bool traverse{
true};
34396 static constexpr auto mbr_ptr{&SgJavaNormalAnnotation::p_value_pair_list};
34397 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34398 using bind = Desc<SgJavaNormalAnnotation, SgJavaMemberValuePairPtrList SgJavaNormalAnnotation::*, &SgJavaNormalAnnotation::p_value_pair_list>;
34403 static constexpr char const *
const name{
"JavaNormalAnnotation"};
34404 static constexpr unsigned long variant{869};
34405 static constexpr bool concrete{
true};
34415 static constexpr size_t position{0};
34416 static constexpr char const *
const name{
"type"};
34417 static constexpr char const *
const typestr{
"SgType*"};
34418 static constexpr bool traverse{
false};
34419 static constexpr auto mbr_ptr{&SgJavaTypeExpression::p_type};
34420 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34421 using bind = Desc<SgJavaTypeExpression, SgType* SgJavaTypeExpression::*, &SgJavaTypeExpression::p_type>;
34426 static constexpr char const *
const name{
"JavaTypeExpression"};
34427 static constexpr unsigned long variant{870};
34428 static constexpr bool concrete{
true};
34438 static constexpr size_t position{0};
34439 static constexpr char const *
const name{
"parent_type"};
34440 static constexpr char const *
const typestr{
"SgNamedType *"};
34441 static constexpr bool traverse{
false};
34442 static constexpr auto mbr_ptr{&SgJavaQualifiedType::p_parent_type};
34443 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34444 using bind = Desc<SgJavaQualifiedType, SgNamedType * SgJavaQualifiedType::*, &SgJavaQualifiedType::p_parent_type>;
34449 static constexpr size_t position{1};
34450 static constexpr char const *
const name{
"type"};
34451 static constexpr char const *
const typestr{
"SgNamedType *"};
34452 static constexpr bool traverse{
false};
34453 static constexpr auto mbr_ptr{&SgJavaQualifiedType::p_type};
34454 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34455 using bind = Desc<SgJavaQualifiedType, SgNamedType * SgJavaQualifiedType::*, &SgJavaQualifiedType::p_type>;
34460 static constexpr char const *
const name{
"JavaQualifiedType"};
34461 static constexpr unsigned long variant{871};
34462 static constexpr bool concrete{
true};
34472 static constexpr size_t position{0};
34473 static constexpr char const *
const name{
"class_symbol"};
34474 static constexpr char const *
const typestr{
"SgClassSymbol*"};
34475 static constexpr bool traverse{
false};
34476 static constexpr auto mbr_ptr{&SgClassExp::p_class_symbol};
34477 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34478 using bind = Desc<SgClassExp, SgClassSymbol* SgClassExp::*, &SgClassExp::p_class_symbol>;
34482 using field_type = int;
34483 static constexpr size_t position{1};
34484 static constexpr char const *
const name{
"pobj_class"};
34485 static constexpr char const *
const typestr{
"int"};
34486 static constexpr bool traverse{
false};
34487 static constexpr auto mbr_ptr{&SgClassExp::p_pobj_class};
34488 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34489 using bind = Desc<SgClassExp, int SgClassExp::*, &SgClassExp::p_pobj_class>;
34494 static constexpr char const *
const name{
"ClassExp"};
34495 static constexpr unsigned long variant{872};
34496 static constexpr bool concrete{
true};
34505 using field_type = SgTypePtrList;
34506 static constexpr size_t position{0};
34507 static constexpr char const *
const name{
"type_list"};
34508 static constexpr char const *
const typestr{
"SgTypePtrList"};
34509 static constexpr bool traverse{
false};
34510 static constexpr auto mbr_ptr{&SgJavaUnionType::p_type_list};
34511 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34512 using bind = Desc<SgJavaUnionType, SgTypePtrList SgJavaUnionType::*, &SgJavaUnionType::p_type_list>;
34517 static constexpr char const *
const name{
"JavaUnionType"};
34518 static constexpr unsigned long variant{873};
34519 static constexpr bool concrete{
true};
34529 static constexpr char const *
const name{
"JavaParameterType"};
34530 static constexpr unsigned long variant{874};
34531 static constexpr bool concrete{
true};
34541 static constexpr size_t position{0};
34542 static constexpr char const *
const name{
"body"};
34543 static constexpr char const *
const typestr{
"SgStatement*"};
34544 static constexpr bool traverse{
true};
34545 static constexpr auto mbr_ptr{&SgAsyncStmt::p_body};
34546 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34547 using bind = Desc<SgAsyncStmt, SgStatement* SgAsyncStmt::*, &SgAsyncStmt::p_body>;
34552 static constexpr char const *
const name{
"AsyncStmt"};
34553 static constexpr unsigned long variant{875};
34554 static constexpr bool concrete{
true};
34564 static constexpr size_t position{0};
34565 static constexpr char const *
const name{
"body"};
34566 static constexpr char const *
const typestr{
"SgStatement*"};
34567 static constexpr bool traverse{
true};
34568 static constexpr auto mbr_ptr{&SgFinishStmt::p_body};
34569 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34570 using bind = Desc<SgFinishStmt, SgStatement* SgFinishStmt::*, &SgFinishStmt::p_body>;
34575 static constexpr char const *
const name{
"FinishStmt"};
34576 static constexpr unsigned long variant{876};
34577 static constexpr bool concrete{
true};
34587 static constexpr size_t position{0};
34588 static constexpr char const *
const name{
"expression"};
34589 static constexpr char const *
const typestr{
"SgExpression*"};
34590 static constexpr bool traverse{
true};
34591 static constexpr auto mbr_ptr{&SgAtStmt::p_expression};
34592 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34593 using bind = Desc<SgAtStmt, SgExpression* SgAtStmt::*, &SgAtStmt::p_expression>;
34598 static constexpr size_t position{1};
34599 static constexpr char const *
const name{
"body"};
34600 static constexpr char const *
const typestr{
"SgStatement*"};
34601 static constexpr bool traverse{
true};
34602 static constexpr auto mbr_ptr{&SgAtStmt::p_body};
34603 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34604 using bind = Desc<SgAtStmt, SgStatement* SgAtStmt::*, &SgAtStmt::p_body>;
34609 static constexpr char const *
const name{
"AtStmt"};
34610 static constexpr unsigned long variant{877};
34611 static constexpr bool concrete{
true};
34621 static constexpr size_t position{0};
34622 static constexpr char const *
const name{
"body"};
34623 static constexpr char const *
const typestr{
"SgStatement*"};
34624 static constexpr bool traverse{
true};
34625 static constexpr auto mbr_ptr{&SgAtomicStmt::p_body};
34626 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34627 using bind = Desc<SgAtomicStmt, SgStatement* SgAtomicStmt::*, &SgAtomicStmt::p_body>;
34632 static constexpr char const *
const name{
"AtomicStmt"};
34633 static constexpr unsigned long variant{878};
34634 static constexpr bool concrete{
true};
34644 static constexpr size_t position{0};
34645 static constexpr char const *
const name{
"expression"};
34646 static constexpr char const *
const typestr{
"SgExpression*"};
34647 static constexpr bool traverse{
true};
34648 static constexpr auto mbr_ptr{&SgWhenStmt::p_expression};
34649 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34650 using bind = Desc<SgWhenStmt, SgExpression* SgWhenStmt::*, &SgWhenStmt::p_expression>;
34655 static constexpr size_t position{1};
34656 static constexpr char const *
const name{
"body"};
34657 static constexpr char const *
const typestr{
"SgStatement*"};
34658 static constexpr bool traverse{
true};
34659 static constexpr auto mbr_ptr{&SgWhenStmt::p_body};
34660 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34661 using bind = Desc<SgWhenStmt, SgStatement* SgWhenStmt::*, &SgWhenStmt::p_body>;
34666 static constexpr char const *
const name{
"WhenStmt"};
34667 static constexpr unsigned long variant{880};
34668 static constexpr bool concrete{
true};
34678 static constexpr size_t position{0};
34679 static constexpr char const *
const name{
"expression"};
34680 static constexpr char const *
const typestr{
"SgExpression*"};
34681 static constexpr bool traverse{
true};
34682 static constexpr auto mbr_ptr{&SgAtExp::p_expression};
34683 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34684 using bind = Desc<SgAtExp, SgExpression* SgAtExp::*, &SgAtExp::p_expression>;
34689 static constexpr size_t position{1};
34690 static constexpr char const *
const name{
"body"};
34691 static constexpr char const *
const typestr{
"SgStatement*"};
34692 static constexpr bool traverse{
true};
34693 static constexpr auto mbr_ptr{&SgAtExp::p_body};
34694 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34695 using bind = Desc<SgAtExp, SgStatement* SgAtExp::*, &SgAtExp::p_body>;
34700 static constexpr char const *
const name{
"AtExp"};
34701 static constexpr unsigned long variant{881};
34702 static constexpr bool concrete{
true};
34712 static constexpr size_t position{0};
34713 static constexpr char const *
const name{
"expression"};
34714 static constexpr char const *
const typestr{
"SgExpression*"};
34715 static constexpr bool traverse{
true};
34716 static constexpr auto mbr_ptr{&SgFinishExp::p_expression};
34717 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34718 using bind = Desc<SgFinishExp, SgExpression* SgFinishExp::*, &SgFinishExp::p_expression>;
34723 static constexpr size_t position{1};
34724 static constexpr char const *
const name{
"body"};
34725 static constexpr char const *
const typestr{
"SgStatement*"};
34726 static constexpr bool traverse{
true};
34727 static constexpr auto mbr_ptr{&SgFinishExp::p_body};
34728 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34729 using bind = Desc<SgFinishExp, SgStatement* SgFinishExp::*, &SgFinishExp::p_body>;
34734 static constexpr char const *
const name{
"FinishExp"};
34735 static constexpr unsigned long variant{882};
34736 static constexpr bool concrete{
true};
34746 static constexpr size_t position{0};
34747 static constexpr char const *
const name{
"expression_type"};
34748 static constexpr char const *
const typestr{
"SgType*"};
34749 static constexpr bool traverse{
false};
34750 static constexpr auto mbr_ptr{&SgHereExp::p_expression_type};
34751 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34752 using bind = Desc<SgHereExp, SgType* SgHereExp::*, &SgHereExp::p_expression_type>;
34757 static constexpr size_t position{1};
34758 static constexpr char const *
const name{
"expression"};
34759 static constexpr char const *
const typestr{
"SgExpression*"};
34760 static constexpr bool traverse{
true};
34761 static constexpr auto mbr_ptr{&SgHereExp::p_expression};
34762 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34763 using bind = Desc<SgHereExp, SgExpression* SgHereExp::*, &SgHereExp::p_expression>;
34768 static constexpr char const *
const name{
"HereExp"};
34769 static constexpr unsigned long variant{883};
34770 static constexpr bool concrete{
true};
34780 static constexpr char const *
const name{
"DotDotExp"};
34781 static constexpr unsigned long variant{884};
34782 static constexpr bool concrete{
true};
34792 static constexpr char const *
const name{
"AsmNullInstruction"};
34793 static constexpr unsigned long variant{885};
34794 static constexpr bool concrete{
true};
34804 static constexpr size_t position{0};
34805 static constexpr char const *
const name{
"component"};
34806 static constexpr char const *
const typestr{
"SgVarRefExp*"};
34807 static constexpr bool traverse{
true};
34808 static constexpr auto mbr_ptr{&SgAdaComponentClause::p_component};
34809 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34810 using bind = Desc<SgAdaComponentClause, SgVarRefExp* SgAdaComponentClause::*, &SgAdaComponentClause::p_component>;
34815 static constexpr size_t position{1};
34816 static constexpr char const *
const name{
"offset"};
34817 static constexpr char const *
const typestr{
"SgExpression*"};
34818 static constexpr bool traverse{
true};
34819 static constexpr auto mbr_ptr{&SgAdaComponentClause::p_offset};
34820 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34821 using bind = Desc<SgAdaComponentClause, SgExpression* SgAdaComponentClause::*, &SgAdaComponentClause::p_offset>;
34826 static constexpr size_t position{2};
34827 static constexpr char const *
const name{
"range"};
34828 static constexpr char const *
const typestr{
"SgRangeExp*"};
34829 static constexpr bool traverse{
true};
34830 static constexpr auto mbr_ptr{&SgAdaComponentClause::p_range};
34831 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34832 using bind = Desc<SgAdaComponentClause, SgRangeExp* SgAdaComponentClause::*, &SgAdaComponentClause::p_range>;
34837 static constexpr char const *
const name{
"AdaComponentClause"};
34838 static constexpr unsigned long variant{886};
34839 static constexpr bool concrete{
true};
34848 using field_type = SgExpressionPtrList;
34849 static constexpr size_t position{0};
34850 static constexpr char const *
const name{
"indexRanges"};
34851 static constexpr char const *
const typestr{
"SgExpressionPtrList"};
34852 static constexpr bool traverse{
true};
34853 static constexpr auto mbr_ptr{&SgAdaIndexConstraint::p_indexRanges};
34854 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34855 using bind = Desc<SgAdaIndexConstraint, SgExpressionPtrList SgAdaIndexConstraint::*, &SgAdaIndexConstraint::p_indexRanges>;
34860 static constexpr char const *
const name{
"AdaIndexConstraint"};
34861 static constexpr unsigned long variant{887};
34862 static constexpr bool concrete{
true};
34872 static constexpr size_t position{0};
34873 static constexpr char const *
const name{
"modexpr"};
34874 static constexpr char const *
const typestr{
"SgExpression*"};
34875 static constexpr bool traverse{
true};
34876 static constexpr auto mbr_ptr{&SgAdaModularType::p_modexpr};
34877 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34878 using bind = Desc<SgAdaModularType, SgExpression* SgAdaModularType::*, &SgAdaModularType::p_modexpr>;
34883 static constexpr char const *
const name{
"AdaModularType"};
34884 static constexpr unsigned long variant{888};
34885 static constexpr bool concrete{
true};
34895 static constexpr size_t position{0};
34896 static constexpr char const *
const name{
"recordType"};
34897 static constexpr char const *
const typestr{
"SgType*"};
34898 static constexpr bool traverse{
false};
34899 static constexpr auto mbr_ptr{&SgAdaRepresentationClause::p_recordType};
34900 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34901 using bind = Desc<SgAdaRepresentationClause, SgType* SgAdaRepresentationClause::*, &SgAdaRepresentationClause::p_recordType>;
34906 static constexpr size_t position{1};
34907 static constexpr char const *
const name{
"alignment"};
34908 static constexpr char const *
const typestr{
"SgExpression*"};
34909 static constexpr bool traverse{
true};
34910 static constexpr auto mbr_ptr{&SgAdaRepresentationClause::p_alignment};
34911 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34912 using bind = Desc<SgAdaRepresentationClause, SgExpression* SgAdaRepresentationClause::*, &SgAdaRepresentationClause::p_alignment>;
34917 static constexpr size_t position{2};
34918 static constexpr char const *
const name{
"components"};
34919 static constexpr char const *
const typestr{
"SgBasicBlock*"};
34920 static constexpr bool traverse{
true};
34921 static constexpr auto mbr_ptr{&SgAdaRepresentationClause::p_components};
34922 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34923 using bind = Desc<SgAdaRepresentationClause, SgBasicBlock* SgAdaRepresentationClause::*, &SgAdaRepresentationClause::p_components>;
34928 static constexpr char const *
const name{
"AdaRepresentationClause"};
34929 static constexpr unsigned long variant{889};
34930 static constexpr bool concrete{
true};
34940 static constexpr size_t position{0};
34941 static constexpr char const *
const name{
"renamed_function"};
34942 static constexpr char const *
const typestr{
"SgExpression*"};
34943 static constexpr bool traverse{
true};
34944 static constexpr auto mbr_ptr{&SgAdaFunctionRenamingDecl::p_renamed_function};
34945 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34946 using bind = Desc<SgAdaFunctionRenamingDecl, SgExpression* SgAdaFunctionRenamingDecl::*, &SgAdaFunctionRenamingDecl::p_renamed_function>;
34951 static constexpr char const *
const name{
"AdaFunctionRenamingDecl"};
34952 static constexpr unsigned long variant{890};
34953 static constexpr bool concrete{
true};
34963 static constexpr size_t position{0};
34964 static constexpr char const *
const name{
"select_path"};
34965 static constexpr char const *
const typestr{
"SgAdaSelectAlternativeStmt*"};
34966 static constexpr bool traverse{
true};
34967 static constexpr auto mbr_ptr{&SgAdaSelectStmt::p_select_path};
34968 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34969 using bind = Desc<SgAdaSelectStmt, SgAdaSelectAlternativeStmt* SgAdaSelectStmt::*, &SgAdaSelectStmt::p_select_path>;
34974 static constexpr size_t position{1};
34975 static constexpr char const *
const name{
"or_path"};
34976 static constexpr char const *
const typestr{
"SgAdaSelectAlternativeStmt*"};
34977 static constexpr bool traverse{
true};
34978 static constexpr auto mbr_ptr{&SgAdaSelectStmt::p_or_path};
34979 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34980 using bind = Desc<SgAdaSelectStmt, SgAdaSelectAlternativeStmt* SgAdaSelectStmt::*, &SgAdaSelectStmt::p_or_path>;
34985 static constexpr size_t position{2};
34986 static constexpr char const *
const name{
"else_path"};
34987 static constexpr char const *
const typestr{
"SgBasicBlock*"};
34988 static constexpr bool traverse{
true};
34989 static constexpr auto mbr_ptr{&SgAdaSelectStmt::p_else_path};
34990 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
34991 using bind = Desc<SgAdaSelectStmt, SgBasicBlock* SgAdaSelectStmt::*, &SgAdaSelectStmt::p_else_path>;
34996 static constexpr size_t position{3};
34997 static constexpr char const *
const name{
"abort_path"};
34998 static constexpr char const *
const typestr{
"SgBasicBlock*"};
34999 static constexpr bool traverse{
true};
35000 static constexpr auto mbr_ptr{&SgAdaSelectStmt::p_abort_path};
35001 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35002 using bind = Desc<SgAdaSelectStmt, SgBasicBlock* SgAdaSelectStmt::*, &SgAdaSelectStmt::p_abort_path>;
35006 using field_type = SgAdaSelectStmt::select_type_enum;
35007 static constexpr size_t position{4};
35008 static constexpr char const *
const name{
"select_type"};
35009 static constexpr char const *
const typestr{
"SgAdaSelectStmt::select_type_enum"};
35010 static constexpr bool traverse{
false};
35011 static constexpr auto mbr_ptr{&SgAdaSelectStmt::p_select_type};
35012 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35013 using bind = Desc<SgAdaSelectStmt, SgAdaSelectStmt::select_type_enum SgAdaSelectStmt::*, &SgAdaSelectStmt::p_select_type>;
35018 static constexpr char const *
const name{
"AdaSelectStmt"};
35019 static constexpr unsigned long variant{891};
35020 static constexpr bool concrete{
true};
35022 using fields_t =
mp::List<describe_field_t<SgAdaSelectStmt,SgAdaSelectAlternativeStmt*,&SgAdaSelectStmt::p_select_path>,
describe_field_t<SgAdaSelectStmt,SgAdaSelectAlternativeStmt*,&SgAdaSelectStmt::p_or_path>,
describe_field_t<SgAdaSelectStmt,SgBasicBlock*,&SgAdaSelectStmt::p_else_path>,
describe_field_t<SgAdaSelectStmt,SgBasicBlock*,&SgAdaSelectStmt::p_abort_path>,
describe_field_t<SgAdaSelectStmt,SgAdaSelectStmt::select_type_enum,&SgAdaSelectStmt::p_select_type>>;
35030 static constexpr size_t position{0};
35031 static constexpr char const *
const name{
"body"};
35032 static constexpr char const *
const typestr{
"SgBasicBlock*"};
35033 static constexpr bool traverse{
true};
35034 static constexpr auto mbr_ptr{&SgAdaSelectAlternativeStmt::p_body};
35035 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35036 using bind = Desc<SgAdaSelectAlternativeStmt, SgBasicBlock* SgAdaSelectAlternativeStmt::*, &SgAdaSelectAlternativeStmt::p_body>;
35041 static constexpr size_t position{1};
35042 static constexpr char const *
const name{
"guard"};
35043 static constexpr char const *
const typestr{
"SgExpression*"};
35044 static constexpr bool traverse{
true};
35045 static constexpr auto mbr_ptr{&SgAdaSelectAlternativeStmt::p_guard};
35046 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35047 using bind = Desc<SgAdaSelectAlternativeStmt, SgExpression* SgAdaSelectAlternativeStmt::*, &SgAdaSelectAlternativeStmt::p_guard>;
35052 static constexpr size_t position{2};
35053 static constexpr char const *
const name{
"next"};
35054 static constexpr char const *
const typestr{
"SgAdaSelectAlternativeStmt*"};
35055 static constexpr bool traverse{
true};
35056 static constexpr auto mbr_ptr{&SgAdaSelectAlternativeStmt::p_next};
35057 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35058 using bind = Desc<SgAdaSelectAlternativeStmt, SgAdaSelectAlternativeStmt* SgAdaSelectAlternativeStmt::*, &SgAdaSelectAlternativeStmt::p_next>;
35063 static constexpr char const *
const name{
"AdaSelectAlternativeStmt"};
35064 static constexpr unsigned long variant{892};
35065 static constexpr bool concrete{
true};
35075 static constexpr char const *
const name{
"AdaTerminateStmt"};
35076 static constexpr unsigned long variant{893};
35077 static constexpr bool concrete{
true};
35087 static constexpr char const *
const name{
"AsmAarch32Coprocessor"};
35088 static constexpr unsigned long variant{895};
35089 static constexpr bool concrete{
true};
35099 static constexpr size_t position{0};
35100 static constexpr char const *
const name{
"attribute"};
35101 static constexpr char const *
const typestr{
"SgAdaAttributeExp*"};
35102 static constexpr bool traverse{
true};
35103 static constexpr auto mbr_ptr{&SgAdaAttributeClause::p_attribute};
35104 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35105 using bind = Desc<SgAdaAttributeClause, SgAdaAttributeExp* SgAdaAttributeClause::*, &SgAdaAttributeClause::p_attribute>;
35110 static constexpr size_t position{1};
35111 static constexpr char const *
const name{
"size"};
35112 static constexpr char const *
const typestr{
"SgExpression*"};
35113 static constexpr bool traverse{
true};
35114 static constexpr auto mbr_ptr{&SgAdaAttributeClause::p_size};
35115 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35116 using bind = Desc<SgAdaAttributeClause, SgExpression* SgAdaAttributeClause::*, &SgAdaAttributeClause::p_size>;
35121 static constexpr char const *
const name{
"AdaAttributeClause"};
35122 static constexpr unsigned long variant{896};
35123 static constexpr bool concrete{
true};
35133 static constexpr char const *
const name{
"AsmBinaryConcat"};
35134 static constexpr unsigned long variant{897};
35135 static constexpr bool concrete{
true};
35145 static constexpr char const *
const name{
"AsmByteOrder"};
35146 static constexpr unsigned long variant{898};
35147 static constexpr bool concrete{
true};
35157 static constexpr size_t position{0};
35158 static constexpr char const *
const name{
"base_type"};
35159 static constexpr char const *
const typestr{
"SgType*"};
35160 static constexpr bool traverse{
true};
35161 static constexpr auto mbr_ptr{&SgAdaDerivedType::p_base_type};
35162 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35163 using bind = Desc<SgAdaDerivedType, SgType* SgAdaDerivedType::*, &SgAdaDerivedType::p_base_type>;
35168 static constexpr char const *
const name{
"AdaDerivedType"};
35169 static constexpr unsigned long variant{899};
35170 static constexpr bool concrete{
true};
35180 static constexpr size_t position{0};
35181 static constexpr char const *
const name{
"attribute"};
35182 static constexpr char const *
const typestr{
"SgName"};
35183 static constexpr bool traverse{
false};
35184 static constexpr auto mbr_ptr{&SgAdaAttributeExp::p_attribute};
35185 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35186 using bind = Desc<SgAdaAttributeExp, SgName SgAdaAttributeExp::*, &SgAdaAttributeExp::p_attribute>;
35191 static constexpr size_t position{1};
35192 static constexpr char const *
const name{
"object"};
35193 static constexpr char const *
const typestr{
"SgExpression*"};
35194 static constexpr bool traverse{
true};
35195 static constexpr auto mbr_ptr{&SgAdaAttributeExp::p_object};
35196 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35197 using bind = Desc<SgAdaAttributeExp, SgExpression* SgAdaAttributeExp::*, &SgAdaAttributeExp::p_object>;
35202 static constexpr size_t position{2};
35203 static constexpr char const *
const name{
"args"};
35204 static constexpr char const *
const typestr{
"SgExprListExp*"};
35205 static constexpr bool traverse{
true};
35206 static constexpr auto mbr_ptr{&SgAdaAttributeExp::p_args};
35207 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35208 using bind = Desc<SgAdaAttributeExp, SgExprListExp* SgAdaAttributeExp::*, &SgAdaAttributeExp::p_args>;
35213 static constexpr size_t position{3};
35214 static constexpr char const *
const name{
"attrType"};
35215 static constexpr char const *
const typestr{
"SgType*"};
35216 static constexpr bool traverse{
false};
35217 static constexpr auto mbr_ptr{&SgAdaAttributeExp::p_attrType};
35218 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35219 using bind = Desc<SgAdaAttributeExp, SgType* SgAdaAttributeExp::*, &SgAdaAttributeExp::p_attrType>;
35224 static constexpr char const *
const name{
"AdaAttributeExp"};
35225 static constexpr unsigned long variant{900};
35226 static constexpr bool concrete{
true};
35228 using fields_t =
mp::List<describe_field_t<SgAdaAttributeExp,SgName,&SgAdaAttributeExp::p_attribute>,
describe_field_t<SgAdaAttributeExp,SgExpression*,&SgAdaAttributeExp::p_object>,
describe_field_t<SgAdaAttributeExp,SgExprListExp*,&SgAdaAttributeExp::p_args>,
describe_field_t<SgAdaAttributeExp,SgType*,&SgAdaAttributeExp::p_attrType>>;
35236 static constexpr size_t position{0};
35237 static constexpr char const *
const name{
"enumType"};
35238 static constexpr char const *
const typestr{
"SgType*"};
35239 static constexpr bool traverse{
false};
35240 static constexpr auto mbr_ptr{&SgAdaEnumRepresentationClause::p_enumType};
35241 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35242 using bind = Desc<SgAdaEnumRepresentationClause, SgType* SgAdaEnumRepresentationClause::*, &SgAdaEnumRepresentationClause::p_enumType>;
35247 static constexpr size_t position{1};
35248 static constexpr char const *
const name{
"components"};
35249 static constexpr char const *
const typestr{
"SgExprListExp*"};
35250 static constexpr bool traverse{
true};
35251 static constexpr auto mbr_ptr{&SgAdaEnumRepresentationClause::p_components};
35252 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35253 using bind = Desc<SgAdaEnumRepresentationClause, SgExprListExp* SgAdaEnumRepresentationClause::*, &SgAdaEnumRepresentationClause::p_components>;
35258 static constexpr char const *
const name{
"AdaEnumRepresentationClause"};
35259 static constexpr unsigned long variant{901};
35260 static constexpr bool concrete{
true};
35270 static constexpr char const *
const name{
"AsmBinaryPreupdate"};
35271 static constexpr unsigned long variant{902};
35272 static constexpr bool concrete{
true};
35282 static constexpr char const *
const name{
"AsmBinaryPostupdate"};
35283 static constexpr unsigned long variant{903};
35284 static constexpr bool concrete{
true};
35294 static constexpr char const *
const name{
"AdaOthersExp"};
35295 static constexpr unsigned long variant{904};
35296 static constexpr bool concrete{
true};
35306 static constexpr size_t position{0};
35307 static constexpr char const *
const name{
"declaration"};
35308 static constexpr char const *
const typestr{
"SgAdaRenamingDecl*"};
35309 static constexpr bool traverse{
true};
35310 static constexpr auto mbr_ptr{&SgAdaRenamingSymbol::p_declaration};
35311 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35312 using bind = Desc<SgAdaRenamingSymbol, SgAdaRenamingDecl* SgAdaRenamingSymbol::*, &SgAdaRenamingSymbol::p_declaration>;
35317 static constexpr char const *
const name{
"AdaRenamingSymbol"};
35318 static constexpr unsigned long variant{905};
35319 static constexpr bool concrete{
true};
35329 static constexpr size_t position{0};
35330 static constexpr char const *
const name{
"symbol"};
35331 static constexpr char const *
const typestr{
"SgAdaRenamingSymbol*"};
35332 static constexpr bool traverse{
false};
35333 static constexpr auto mbr_ptr{&SgAdaRenamingRefExp::p_symbol};
35334 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35335 using bind = Desc<SgAdaRenamingRefExp, SgAdaRenamingSymbol* SgAdaRenamingRefExp::*, &SgAdaRenamingRefExp::p_symbol>;
35340 static constexpr char const *
const name{
"AdaRenamingRefExp"};
35341 static constexpr unsigned long variant{906};
35342 static constexpr bool concrete{
true};
35352 static constexpr size_t position{0};
35353 static constexpr char const *
const name{
"name"};
35354 static constexpr char const *
const typestr{
"SgName"};
35355 static constexpr bool traverse{
false};
35356 static constexpr auto mbr_ptr{&SgAdaGenericDecl::p_name};
35357 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35358 using bind = Desc<SgAdaGenericDecl, SgName SgAdaGenericDecl::*, &SgAdaGenericDecl::p_name>;
35363 static constexpr size_t position{1};
35364 static constexpr char const *
const name{
"definition"};
35365 static constexpr char const *
const typestr{
"SgAdaGenericDefn*"};
35366 static constexpr bool traverse{
true};
35367 static constexpr auto mbr_ptr{&SgAdaGenericDecl::p_definition};
35368 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35369 using bind = Desc<SgAdaGenericDecl, SgAdaGenericDefn* SgAdaGenericDecl::*, &SgAdaGenericDecl::p_definition>;
35374 static constexpr size_t position{2};
35375 static constexpr char const *
const name{
"declaration"};
35376 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
35377 static constexpr bool traverse{
true};
35378 static constexpr auto mbr_ptr{&SgAdaGenericDecl::p_declaration};
35379 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35380 using bind = Desc<SgAdaGenericDecl, SgDeclarationStatement* SgAdaGenericDecl::*, &SgAdaGenericDecl::p_declaration>;
35385 static constexpr size_t position{3};
35386 static constexpr char const *
const name{
"scope"};
35387 static constexpr char const *
const typestr{
"SgScopeStatement*"};
35388 static constexpr bool traverse{
false};
35389 static constexpr auto mbr_ptr{&SgAdaGenericDecl::p_scope};
35390 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35391 using bind = Desc<SgAdaGenericDecl, SgScopeStatement* SgAdaGenericDecl::*, &SgAdaGenericDecl::p_scope>;
35396 static constexpr char const *
const name{
"AdaGenericDecl"};
35397 static constexpr unsigned long variant{907};
35398 static constexpr bool concrete{
true};
35400 using fields_t =
mp::List<describe_field_t<SgAdaGenericDecl,SgName,&SgAdaGenericDecl::p_name>,
describe_field_t<SgAdaGenericDecl,SgAdaGenericDefn*,&SgAdaGenericDecl::p_definition>,
describe_field_t<SgAdaGenericDecl,SgDeclarationStatement*,&SgAdaGenericDecl::p_declaration>,
describe_field_t<SgAdaGenericDecl,SgScopeStatement*,&SgAdaGenericDecl::p_scope>>;
35407 using field_type = SgDeclarationStatementPtrList;
35408 static constexpr size_t position{0};
35409 static constexpr char const *
const name{
"declarations"};
35410 static constexpr char const *
const typestr{
"SgDeclarationStatementPtrList"};
35411 static constexpr bool traverse{
true};
35412 static constexpr auto mbr_ptr{&SgAdaGenericDefn::p_declarations};
35413 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35414 using bind = Desc<SgAdaGenericDefn, SgDeclarationStatementPtrList SgAdaGenericDefn::*, &SgAdaGenericDefn::p_declarations>;
35419 static constexpr char const *
const name{
"AdaGenericDefn"};
35420 static constexpr unsigned long variant{908};
35421 static constexpr bool concrete{
true};
35430 using field_type = bool;
35431 static constexpr size_t position{0};
35432 static constexpr char const *
const name{
"is_private"};
35433 static constexpr char const *
const typestr{
"bool"};
35434 static constexpr bool traverse{
false};
35435 static constexpr auto mbr_ptr{&SgAdaFormalType::p_is_private};
35436 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35437 using bind = Desc<SgAdaFormalType, bool SgAdaFormalType::*, &SgAdaFormalType::p_is_private>;
35442 static constexpr size_t position{1};
35443 static constexpr char const *
const name{
"formal_type"};
35444 static constexpr char const *
const typestr{
"SgType*"};
35445 static constexpr bool traverse{
false};
35446 static constexpr auto mbr_ptr{&SgAdaFormalType::p_formal_type};
35447 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35448 using bind = Desc<SgAdaFormalType, SgType* SgAdaFormalType::*, &SgAdaFormalType::p_formal_type>;
35453 static constexpr char const *
const name{
"AdaFormalType"};
35454 static constexpr unsigned long variant{909};
35455 static constexpr bool concrete{
true};
35465 static constexpr size_t position{0};
35466 static constexpr char const *
const name{
"declaration"};
35467 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
35468 static constexpr bool traverse{
true};
35469 static constexpr auto mbr_ptr{&SgAdaGenericSymbol::p_declaration};
35470 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35471 using bind = Desc<SgAdaGenericSymbol, SgDeclarationStatement* SgAdaGenericSymbol::*, &SgAdaGenericSymbol::p_declaration>;
35476 static constexpr char const *
const name{
"AdaGenericSymbol"};
35477 static constexpr unsigned long variant{910};
35478 static constexpr bool concrete{
true};
35488 static constexpr size_t position{0};
35489 static constexpr char const *
const name{
"name"};
35490 static constexpr char const *
const typestr{
"SgName"};
35491 static constexpr bool traverse{
false};
35492 static constexpr auto mbr_ptr{&SgAdaFormalTypeDecl::p_name};
35493 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35494 using bind = Desc<SgAdaFormalTypeDecl, SgName SgAdaFormalTypeDecl::*, &SgAdaFormalTypeDecl::p_name>;
35499 static constexpr size_t position{1};
35500 static constexpr char const *
const name{
"type"};
35501 static constexpr char const *
const typestr{
"SgAdaFormalType*"};
35502 static constexpr bool traverse{
false};
35503 static constexpr auto mbr_ptr{&SgAdaFormalTypeDecl::p_type};
35504 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35505 using bind = Desc<SgAdaFormalTypeDecl, SgAdaFormalType* SgAdaFormalTypeDecl::*, &SgAdaFormalTypeDecl::p_type>;
35510 static constexpr size_t position{2};
35511 static constexpr char const *
const name{
"discriminants"};
35512 static constexpr char const *
const typestr{
"SgAdaParameterList*"};
35513 static constexpr bool traverse{
true};
35514 static constexpr auto mbr_ptr{&SgAdaFormalTypeDecl::p_discriminants};
35515 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35516 using bind = Desc<SgAdaFormalTypeDecl, SgAdaParameterList* SgAdaFormalTypeDecl::*, &SgAdaFormalTypeDecl::p_discriminants>;
35521 static constexpr char const *
const name{
"AdaFormalTypeDecl"};
35522 static constexpr unsigned long variant{911};
35523 static constexpr bool concrete{
true};
35533 static constexpr size_t position{0};
35534 static constexpr char const *
const name{
"symbol"};
35535 static constexpr char const *
const typestr{
"SgSymbol*"};
35536 static constexpr bool traverse{
false};
35537 static constexpr auto mbr_ptr{&SgAdaUnitRefExp::p_symbol};
35538 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35539 using bind = Desc<SgAdaUnitRefExp, SgSymbol* SgAdaUnitRefExp::*, &SgAdaUnitRefExp::p_symbol>;
35544 static constexpr char const *
const name{
"AdaUnitRefExp"};
35545 static constexpr unsigned long variant{912};
35546 static constexpr bool concrete{
true};
35556 static constexpr size_t position{0};
35557 static constexpr char const *
const name{
"discriminantScope"};
35558 static constexpr char const *
const typestr{
"SgDeclarationScope*"};
35559 static constexpr bool traverse{
false};
35560 static constexpr auto mbr_ptr{&SgAdaDiscriminatedTypeDecl::p_discriminantScope};
35561 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35562 using bind = Desc<SgAdaDiscriminatedTypeDecl, SgDeclarationScope* SgAdaDiscriminatedTypeDecl::*, &SgAdaDiscriminatedTypeDecl::p_discriminantScope>;
35567 static constexpr size_t position{1};
35568 static constexpr char const *
const name{
"discriminants"};
35569 static constexpr char const *
const typestr{
"SgAdaParameterList*"};
35570 static constexpr bool traverse{
true};
35571 static constexpr auto mbr_ptr{&SgAdaDiscriminatedTypeDecl::p_discriminants};
35572 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35573 using bind = Desc<SgAdaDiscriminatedTypeDecl, SgAdaParameterList* SgAdaDiscriminatedTypeDecl::*, &SgAdaDiscriminatedTypeDecl::p_discriminants>;
35578 static constexpr size_t position{2};
35579 static constexpr char const *
const name{
"discriminatedDecl"};
35580 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
35581 static constexpr bool traverse{
true};
35582 static constexpr auto mbr_ptr{&SgAdaDiscriminatedTypeDecl::p_discriminatedDecl};
35583 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35584 using bind = Desc<SgAdaDiscriminatedTypeDecl, SgDeclarationStatement* SgAdaDiscriminatedTypeDecl::*, &SgAdaDiscriminatedTypeDecl::p_discriminatedDecl>;
35589 static constexpr size_t position{3};
35590 static constexpr char const *
const name{
"type"};
35591 static constexpr char const *
const typestr{
"SgAdaDiscriminatedType*"};
35592 static constexpr bool traverse{
false};
35593 static constexpr auto mbr_ptr{&SgAdaDiscriminatedTypeDecl::p_type};
35594 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35595 using bind = Desc<SgAdaDiscriminatedTypeDecl, SgAdaDiscriminatedType* SgAdaDiscriminatedTypeDecl::*, &SgAdaDiscriminatedTypeDecl::p_type>;
35600 static constexpr char const *
const name{
"AdaDiscriminatedTypeDecl"};
35601 static constexpr unsigned long variant{913};
35602 static constexpr bool concrete{
true};
35604 using fields_t =
mp::List<describe_field_t<SgAdaDiscriminatedTypeDecl,SgDeclarationScope*,&SgAdaDiscriminatedTypeDecl::p_discriminantScope>,
describe_field_t<SgAdaDiscriminatedTypeDecl,SgAdaParameterList*,&SgAdaDiscriminatedTypeDecl::p_discriminants>,
describe_field_t<SgAdaDiscriminatedTypeDecl,SgDeclarationStatement*,&SgAdaDiscriminatedTypeDecl::p_discriminatedDecl>,
describe_field_t<SgAdaDiscriminatedTypeDecl,SgAdaDiscriminatedType*,&SgAdaDiscriminatedTypeDecl::p_type>>;
35612 static constexpr char const *
const name{
"AdaDiscriminatedType"};
35613 static constexpr unsigned long variant{914};
35614 static constexpr bool concrete{
true};
35623 using field_type = SgExpressionPtrList;
35624 static constexpr size_t position{0};
35625 static constexpr char const *
const name{
"discriminants"};
35626 static constexpr char const *
const typestr{
"SgExpressionPtrList"};
35627 static constexpr bool traverse{
true};
35628 static constexpr auto mbr_ptr{&SgAdaDiscriminantConstraint::p_discriminants};
35629 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35630 using bind = Desc<SgAdaDiscriminantConstraint, SgExpressionPtrList SgAdaDiscriminantConstraint::*, &SgAdaDiscriminantConstraint::p_discriminants>;
35635 static constexpr char const *
const name{
"AdaDiscriminantConstraint"};
35636 static constexpr unsigned long variant{915};
35637 static constexpr bool concrete{
true};
35647 static constexpr size_t position{0};
35648 static constexpr char const *
const name{
"name"};
35649 static constexpr char const *
const typestr{
"SgName"};
35650 static constexpr bool traverse{
false};
35651 static constexpr auto mbr_ptr{&SgAdaGenericInstanceDecl::p_name};
35652 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35653 using bind = Desc<SgAdaGenericInstanceDecl, SgName SgAdaGenericInstanceDecl::*, &SgAdaGenericInstanceDecl::p_name>;
35658 static constexpr size_t position{1};
35659 static constexpr char const *
const name{
"genericDeclaration"};
35660 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
35661 static constexpr bool traverse{
false};
35662 static constexpr auto mbr_ptr{&SgAdaGenericInstanceDecl::p_genericDeclaration};
35663 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35664 using bind = Desc<SgAdaGenericInstanceDecl, SgDeclarationStatement* SgAdaGenericInstanceDecl::*, &SgAdaGenericInstanceDecl::p_genericDeclaration>;
35669 static constexpr size_t position{2};
35670 static constexpr char const *
const name{
"instantiatedScope"};
35671 static constexpr char const *
const typestr{
"SgScopeStatement*"};
35672 static constexpr bool traverse{
true};
35673 static constexpr auto mbr_ptr{&SgAdaGenericInstanceDecl::p_instantiatedScope};
35674 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35675 using bind = Desc<SgAdaGenericInstanceDecl, SgScopeStatement* SgAdaGenericInstanceDecl::*, &SgAdaGenericInstanceDecl::p_instantiatedScope>;
35680 static constexpr size_t position{3};
35681 static constexpr char const *
const name{
"actual_parameters"};
35682 static constexpr char const *
const typestr{
"SgExprListExp*"};
35683 static constexpr bool traverse{
true};
35684 static constexpr auto mbr_ptr{&SgAdaGenericInstanceDecl::p_actual_parameters};
35685 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35686 using bind = Desc<SgAdaGenericInstanceDecl, SgExprListExp* SgAdaGenericInstanceDecl::*, &SgAdaGenericInstanceDecl::p_actual_parameters>;
35691 static constexpr size_t position{4};
35692 static constexpr char const *
const name{
"scope"};
35693 static constexpr char const *
const typestr{
"SgScopeStatement*"};
35694 static constexpr bool traverse{
false};
35695 static constexpr auto mbr_ptr{&SgAdaGenericInstanceDecl::p_scope};
35696 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35697 using bind = Desc<SgAdaGenericInstanceDecl, SgScopeStatement* SgAdaGenericInstanceDecl::*, &SgAdaGenericInstanceDecl::p_scope>;
35702 static constexpr char const *
const name{
"AdaGenericInstanceDecl"};
35703 static constexpr unsigned long variant{916};
35704 static constexpr bool concrete{
true};
35706 using fields_t =
mp::List<describe_field_t<SgAdaGenericInstanceDecl,SgName,&SgAdaGenericInstanceDecl::p_name>,
describe_field_t<SgAdaGenericInstanceDecl,SgDeclarationStatement*,&SgAdaGenericInstanceDecl::p_genericDeclaration>,
describe_field_t<SgAdaGenericInstanceDecl,SgScopeStatement*,&SgAdaGenericInstanceDecl::p_instantiatedScope>,
describe_field_t<SgAdaGenericInstanceDecl,SgExprListExp*,&SgAdaGenericInstanceDecl::p_actual_parameters>,
describe_field_t<SgAdaGenericInstanceDecl,SgScopeStatement*,&SgAdaGenericInstanceDecl::p_scope>>;
35713 using field_type = SgStatementPtrList;
35714 static constexpr size_t position{0};
35715 static constexpr char const *
const name{
"statements"};
35716 static constexpr char const *
const typestr{
"SgStatementPtrList"};
35717 static constexpr bool traverse{
true};
35718 static constexpr auto mbr_ptr{&SgAdaUnscopedBlock::p_statements};
35719 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35720 using bind = Desc<SgAdaUnscopedBlock, SgStatementPtrList SgAdaUnscopedBlock::*, &SgAdaUnscopedBlock::p_statements>;
35725 static constexpr char const *
const name{
"AdaUnscopedBlock"};
35726 static constexpr unsigned long variant{917};
35727 static constexpr bool concrete{
true};
35737 static constexpr size_t position{0};
35738 static constexpr char const *
const name{
"derivedFunctionType"};
35739 static constexpr char const *
const typestr{
"SgFunctionType*"};
35740 static constexpr bool traverse{
false};
35741 static constexpr auto mbr_ptr{&SgAdaInheritedFunctionSymbol::p_derivedFunctionType};
35742 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35743 using bind = Desc<SgAdaInheritedFunctionSymbol, SgFunctionType* SgAdaInheritedFunctionSymbol::*, &SgAdaInheritedFunctionSymbol::p_derivedFunctionType>;
35748 static constexpr size_t position{1};
35749 static constexpr char const *
const name{
"associatedDerivedType"};
35750 static constexpr char const *
const typestr{
"SgNamedType*"};
35751 static constexpr bool traverse{
false};
35752 static constexpr auto mbr_ptr{&SgAdaInheritedFunctionSymbol::p_associatedDerivedType};
35753 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35754 using bind = Desc<SgAdaInheritedFunctionSymbol, SgNamedType* SgAdaInheritedFunctionSymbol::*, &SgAdaInheritedFunctionSymbol::p_associatedDerivedType>;
35759 static constexpr size_t position{2};
35760 static constexpr char const *
const name{
"publiclyVisibleFunctionSymbol"};
35761 static constexpr char const *
const typestr{
"SgFunctionSymbol*"};
35762 static constexpr bool traverse{
false};
35763 static constexpr auto mbr_ptr{&SgAdaInheritedFunctionSymbol::p_publiclyVisibleFunctionSymbol};
35764 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35765 using bind = Desc<SgAdaInheritedFunctionSymbol, SgFunctionSymbol* SgAdaInheritedFunctionSymbol::*, &SgAdaInheritedFunctionSymbol::p_publiclyVisibleFunctionSymbol>;
35770 static constexpr char const *
const name{
"AdaInheritedFunctionSymbol"};
35771 static constexpr unsigned long variant{918};
35772 static constexpr bool concrete{
true};
35782 static constexpr size_t position{0};
35783 static constexpr char const *
const name{
"spec"};
35784 static constexpr char const *
const typestr{
"SgAdaProtectedSpec*"};
35785 static constexpr bool traverse{
false};
35786 static constexpr auto mbr_ptr{&SgAdaProtectedBody::p_spec};
35787 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35788 using bind = Desc<SgAdaProtectedBody, SgAdaProtectedSpec* SgAdaProtectedBody::*, &SgAdaProtectedBody::p_spec>;
35792 using field_type = SgStatementPtrList;
35793 static constexpr size_t position{1};
35794 static constexpr char const *
const name{
"statements"};
35795 static constexpr char const *
const typestr{
"SgStatementPtrList"};
35796 static constexpr bool traverse{
true};
35797 static constexpr auto mbr_ptr{&SgAdaProtectedBody::p_statements};
35798 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35799 using bind = Desc<SgAdaProtectedBody, SgStatementPtrList SgAdaProtectedBody::*, &SgAdaProtectedBody::p_statements>;
35804 static constexpr char const *
const name{
"AdaProtectedBody"};
35805 static constexpr unsigned long variant{919};
35806 static constexpr bool concrete{
true};
35816 static constexpr size_t position{0};
35817 static constexpr char const *
const name{
"name"};
35818 static constexpr char const *
const typestr{
"SgName"};
35819 static constexpr bool traverse{
false};
35820 static constexpr auto mbr_ptr{&SgAdaProtectedBodyDecl::p_name};
35821 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35822 using bind = Desc<SgAdaProtectedBodyDecl, SgName SgAdaProtectedBodyDecl::*, &SgAdaProtectedBodyDecl::p_name>;
35827 static constexpr size_t position{1};
35828 static constexpr char const *
const name{
"specificationDeclaration"};
35829 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
35830 static constexpr bool traverse{
false};
35831 static constexpr auto mbr_ptr{&SgAdaProtectedBodyDecl::p_specificationDeclaration};
35832 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35833 using bind = Desc<SgAdaProtectedBodyDecl, SgDeclarationStatement* SgAdaProtectedBodyDecl::*, &SgAdaProtectedBodyDecl::p_specificationDeclaration>;
35838 static constexpr size_t position{2};
35839 static constexpr char const *
const name{
"definition"};
35840 static constexpr char const *
const typestr{
"SgAdaProtectedBody*"};
35841 static constexpr bool traverse{
true};
35842 static constexpr auto mbr_ptr{&SgAdaProtectedBodyDecl::p_definition};
35843 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35844 using bind = Desc<SgAdaProtectedBodyDecl, SgAdaProtectedBody* SgAdaProtectedBodyDecl::*, &SgAdaProtectedBodyDecl::p_definition>;
35849 static constexpr char const *
const name{
"AdaProtectedBodyDecl"};
35850 static constexpr unsigned long variant{920};
35851 static constexpr bool concrete{
true};
35861 static constexpr size_t position{0};
35862 static constexpr char const *
const name{
"body"};
35863 static constexpr char const *
const typestr{
"SgAdaProtectedBody*"};
35864 static constexpr bool traverse{
false};
35865 static constexpr auto mbr_ptr{&SgAdaProtectedSpec::p_body};
35866 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35867 using bind = Desc<SgAdaProtectedSpec, SgAdaProtectedBody* SgAdaProtectedSpec::*, &SgAdaProtectedSpec::p_body>;
35871 using field_type = SgDeclarationStatementPtrList;
35872 static constexpr size_t position{1};
35873 static constexpr char const *
const name{
"declarations"};
35874 static constexpr char const *
const typestr{
"SgDeclarationStatementPtrList"};
35875 static constexpr bool traverse{
true};
35876 static constexpr auto mbr_ptr{&SgAdaProtectedSpec::p_declarations};
35877 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35878 using bind = Desc<SgAdaProtectedSpec, SgDeclarationStatementPtrList SgAdaProtectedSpec::*, &SgAdaProtectedSpec::p_declarations>;
35882 using field_type = bool;
35883 static constexpr size_t position{2};
35884 static constexpr char const *
const name{
"hasPrivate"};
35885 static constexpr char const *
const typestr{
"bool"};
35886 static constexpr bool traverse{
false};
35887 static constexpr auto mbr_ptr{&SgAdaProtectedSpec::p_hasPrivate};
35888 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35889 using bind = Desc<SgAdaProtectedSpec, bool SgAdaProtectedSpec::*, &SgAdaProtectedSpec::p_hasPrivate>;
35894 static constexpr char const *
const name{
"AdaProtectedSpec"};
35895 static constexpr unsigned long variant{921};
35896 static constexpr bool concrete{
true};
35906 static constexpr size_t position{0};
35907 static constexpr char const *
const name{
"name"};
35908 static constexpr char const *
const typestr{
"SgName"};
35909 static constexpr bool traverse{
false};
35910 static constexpr auto mbr_ptr{&SgAdaProtectedSpecDecl::p_name};
35911 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35912 using bind = Desc<SgAdaProtectedSpecDecl, SgName SgAdaProtectedSpecDecl::*, &SgAdaProtectedSpecDecl::p_name>;
35917 static constexpr size_t position{1};
35918 static constexpr char const *
const name{
"definition"};
35919 static constexpr char const *
const typestr{
"SgAdaProtectedSpec*"};
35920 static constexpr bool traverse{
true};
35921 static constexpr auto mbr_ptr{&SgAdaProtectedSpecDecl::p_definition};
35922 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35923 using bind = Desc<SgAdaProtectedSpecDecl, SgAdaProtectedSpec* SgAdaProtectedSpecDecl::*, &SgAdaProtectedSpecDecl::p_definition>;
35928 static constexpr size_t position{2};
35929 static constexpr char const *
const name{
"type"};
35930 static constexpr char const *
const typestr{
"SgAdaProtectedType*"};
35931 static constexpr bool traverse{
false};
35932 static constexpr auto mbr_ptr{&SgAdaProtectedSpecDecl::p_type};
35933 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35934 using bind = Desc<SgAdaProtectedSpecDecl, SgAdaProtectedType* SgAdaProtectedSpecDecl::*, &SgAdaProtectedSpecDecl::p_type>;
35939 static constexpr char const *
const name{
"AdaProtectedSpecDecl"};
35940 static constexpr unsigned long variant{922};
35941 static constexpr bool concrete{
true};
35951 static constexpr size_t position{0};
35952 static constexpr char const *
const name{
"declaration"};
35953 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
35954 static constexpr bool traverse{
true};
35955 static constexpr auto mbr_ptr{&SgAdaProtectedSymbol::p_declaration};
35956 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35957 using bind = Desc<SgAdaProtectedSymbol, SgDeclarationStatement* SgAdaProtectedSymbol::*, &SgAdaProtectedSymbol::p_declaration>;
35962 static constexpr char const *
const name{
"AdaProtectedSymbol"};
35963 static constexpr unsigned long variant{923};
35964 static constexpr bool concrete{
true};
35974 static constexpr size_t position{0};
35975 static constexpr char const *
const name{
"symbol"};
35976 static constexpr char const *
const typestr{
"SgAdaProtectedSymbol*"};
35977 static constexpr bool traverse{
false};
35978 static constexpr auto mbr_ptr{&SgAdaProtectedRefExp::p_symbol};
35979 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
35980 using bind = Desc<SgAdaProtectedRefExp, SgAdaProtectedSymbol* SgAdaProtectedRefExp::*, &SgAdaProtectedRefExp::p_symbol>;
35985 static constexpr char const *
const name{
"AdaProtectedRefExp"};
35986 static constexpr unsigned long variant{924};
35987 static constexpr bool concrete{
true};
35997 static constexpr char const *
const name{
"AdaProtectedType"};
35998 static constexpr unsigned long variant{925};
35999 static constexpr bool concrete{
true};
36009 static constexpr size_t position{0};
36010 static constexpr char const *
const name{
"name"};
36011 static constexpr char const *
const typestr{
"SgName"};
36012 static constexpr bool traverse{
false};
36013 static constexpr auto mbr_ptr{&SgAdaProtectedTypeDecl::p_name};
36014 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36015 using bind = Desc<SgAdaProtectedTypeDecl, SgName SgAdaProtectedTypeDecl::*, &SgAdaProtectedTypeDecl::p_name>;
36020 static constexpr size_t position{1};
36021 static constexpr char const *
const name{
"definition"};
36022 static constexpr char const *
const typestr{
"SgAdaProtectedSpec*"};
36023 static constexpr bool traverse{
true};
36024 static constexpr auto mbr_ptr{&SgAdaProtectedTypeDecl::p_definition};
36025 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36026 using bind = Desc<SgAdaProtectedTypeDecl, SgAdaProtectedSpec* SgAdaProtectedTypeDecl::*, &SgAdaProtectedTypeDecl::p_definition>;
36031 static constexpr size_t position{2};
36032 static constexpr char const *
const name{
"type"};
36033 static constexpr char const *
const typestr{
"SgAdaProtectedType*"};
36034 static constexpr bool traverse{
false};
36035 static constexpr auto mbr_ptr{&SgAdaProtectedTypeDecl::p_type};
36036 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36037 using bind = Desc<SgAdaProtectedTypeDecl, SgAdaProtectedType* SgAdaProtectedTypeDecl::*, &SgAdaProtectedTypeDecl::p_type>;
36042 static constexpr size_t position{3};
36043 static constexpr char const *
const name{
"scope"};
36044 static constexpr char const *
const typestr{
"SgScopeStatement*"};
36045 static constexpr bool traverse{
false};
36046 static constexpr auto mbr_ptr{&SgAdaProtectedTypeDecl::p_scope};
36047 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36048 using bind = Desc<SgAdaProtectedTypeDecl, SgScopeStatement* SgAdaProtectedTypeDecl::*, &SgAdaProtectedTypeDecl::p_scope>;
36053 static constexpr char const *
const name{
"AdaProtectedTypeDecl"};
36054 static constexpr unsigned long variant{926};
36055 static constexpr bool concrete{
true};
36057 using fields_t =
mp::List<describe_field_t<SgAdaProtectedTypeDecl,SgName,&SgAdaProtectedTypeDecl::p_name>,
describe_field_t<SgAdaProtectedTypeDecl,SgAdaProtectedSpec*,&SgAdaProtectedTypeDecl::p_definition>,
describe_field_t<SgAdaProtectedTypeDecl,SgAdaProtectedType*,&SgAdaProtectedTypeDecl::p_type>,
describe_field_t<SgAdaProtectedTypeDecl,SgScopeStatement*,&SgAdaProtectedTypeDecl::p_scope>>;
36065 static constexpr size_t position{0};
36066 static constexpr char const *
const name{
"digits"};
36067 static constexpr char const *
const typestr{
"SgExpression*"};
36068 static constexpr bool traverse{
true};
36069 static constexpr auto mbr_ptr{&SgAdaDigitsConstraint::p_digits};
36070 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36071 using bind = Desc<SgAdaDigitsConstraint, SgExpression* SgAdaDigitsConstraint::*, &SgAdaDigitsConstraint::p_digits>;
36076 static constexpr size_t position{1};
36077 static constexpr char const *
const name{
"subConstraint"};
36078 static constexpr char const *
const typestr{
"SgAdaTypeConstraint*"};
36079 static constexpr bool traverse{
true};
36080 static constexpr auto mbr_ptr{&SgAdaDigitsConstraint::p_subConstraint};
36081 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36082 using bind = Desc<SgAdaDigitsConstraint, SgAdaTypeConstraint* SgAdaDigitsConstraint::*, &SgAdaDigitsConstraint::p_subConstraint>;
36087 static constexpr char const *
const name{
"AdaDigitsConstraint"};
36088 static constexpr unsigned long variant{927};
36089 static constexpr bool concrete{
true};
36099 static constexpr size_t position{0};
36100 static constexpr char const *
const name{
"ancestor"};
36101 static constexpr char const *
const typestr{
"SgExpression*"};
36102 static constexpr bool traverse{
true};
36103 static constexpr auto mbr_ptr{&SgAdaAncestorInitializer::p_ancestor};
36104 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36105 using bind = Desc<SgAdaAncestorInitializer, SgExpression* SgAdaAncestorInitializer::*, &SgAdaAncestorInitializer::p_ancestor>;
36110 static constexpr char const *
const name{
"AdaAncestorInitializer"};
36111 static constexpr unsigned long variant{928};
36112 static constexpr bool concrete{
true};
36122 static constexpr size_t position{0};
36123 static constexpr char const *
const name{
"delta"};
36124 static constexpr char const *
const typestr{
"SgExpression*"};
36125 static constexpr bool traverse{
true};
36126 static constexpr auto mbr_ptr{&SgAdaDeltaConstraint::p_delta};
36127 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36128 using bind = Desc<SgAdaDeltaConstraint, SgExpression* SgAdaDeltaConstraint::*, &SgAdaDeltaConstraint::p_delta>;
36133 static constexpr size_t position{1};
36134 static constexpr char const *
const name{
"subConstraint"};
36135 static constexpr char const *
const typestr{
"SgAdaTypeConstraint*"};
36136 static constexpr bool traverse{
true};
36137 static constexpr auto mbr_ptr{&SgAdaDeltaConstraint::p_subConstraint};
36138 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36139 using bind = Desc<SgAdaDeltaConstraint, SgAdaTypeConstraint* SgAdaDeltaConstraint::*, &SgAdaDeltaConstraint::p_subConstraint>;
36143 using field_type = bool;
36144 static constexpr size_t position{2};
36145 static constexpr char const *
const name{
"isDecimal"};
36146 static constexpr char const *
const typestr{
"bool"};
36147 static constexpr bool traverse{
false};
36148 static constexpr auto mbr_ptr{&SgAdaDeltaConstraint::p_isDecimal};
36149 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36150 using bind = Desc<SgAdaDeltaConstraint, bool SgAdaDeltaConstraint::*, &SgAdaDeltaConstraint::p_isDecimal>;
36155 static constexpr char const *
const name{
"AdaDeltaConstraint"};
36156 static constexpr unsigned long variant{929};
36157 static constexpr bool concrete{
true};
36167 static constexpr size_t position{0};
36168 static constexpr char const *
const name{
"parameterList"};
36169 static constexpr char const *
const typestr{
"SgFunctionParameterList*"};
36170 static constexpr bool traverse{
true};
36171 static constexpr auto mbr_ptr{&SgAdaSubroutineType::p_parameterList};
36172 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36173 using bind = Desc<SgAdaSubroutineType, SgFunctionParameterList* SgAdaSubroutineType::*, &SgAdaSubroutineType::p_parameterList>;
36178 static constexpr size_t position{1};
36179 static constexpr char const *
const name{
"functionParameterScope"};
36180 static constexpr char const *
const typestr{
"SgFunctionParameterScope*"};
36181 static constexpr bool traverse{
false};
36182 static constexpr auto mbr_ptr{&SgAdaSubroutineType::p_functionParameterScope};
36183 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36184 using bind = Desc<SgAdaSubroutineType, SgFunctionParameterScope* SgAdaSubroutineType::*, &SgAdaSubroutineType::p_functionParameterScope>;
36189 static constexpr size_t position{2};
36190 static constexpr char const *
const name{
"return_type"};
36191 static constexpr char const *
const typestr{
"SgType*"};
36192 static constexpr bool traverse{
true};
36193 static constexpr auto mbr_ptr{&SgAdaSubroutineType::p_return_type};
36194 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36195 using bind = Desc<SgAdaSubroutineType, SgType* SgAdaSubroutineType::*, &SgAdaSubroutineType::p_return_type>;
36199 using field_type = bool;
36200 static constexpr size_t position{3};
36201 static constexpr char const *
const name{
"is_protected"};
36202 static constexpr char const *
const typestr{
"bool"};
36203 static constexpr bool traverse{
false};
36204 static constexpr auto mbr_ptr{&SgAdaSubroutineType::p_is_protected};
36205 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36206 using bind = Desc<SgAdaSubroutineType, bool SgAdaSubroutineType::*, &SgAdaSubroutineType::p_is_protected>;
36211 static constexpr char const *
const name{
"AdaSubroutineType"};
36212 static constexpr unsigned long variant{930};
36213 static constexpr bool concrete{
true};
36215 using fields_t =
mp::List<describe_field_t<SgAdaSubroutineType,SgFunctionParameterList*,&SgAdaSubroutineType::p_parameterList>,
describe_field_t<SgAdaSubroutineType,SgFunctionParameterScope*,&SgAdaSubroutineType::p_functionParameterScope>,
describe_field_t<SgAdaSubroutineType,SgType*,&SgAdaSubroutineType::p_return_type>,
describe_field_t<SgAdaSubroutineType,bool,&SgAdaSubroutineType::p_is_protected>>;
36223 static constexpr size_t position{0};
36224 static constexpr char const *
const name{
"declaration"};
36225 static constexpr char const *
const typestr{
"SgAdaGenericInstanceDecl*"};
36226 static constexpr bool traverse{
true};
36227 static constexpr auto mbr_ptr{&SgAdaGenericInstanceSymbol::p_declaration};
36228 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36229 using bind = Desc<SgAdaGenericInstanceSymbol, SgAdaGenericInstanceDecl* SgAdaGenericInstanceSymbol::*, &SgAdaGenericInstanceSymbol::p_declaration>;
36234 static constexpr char const *
const name{
"AdaGenericInstanceSymbol"};
36235 static constexpr unsigned long variant{931};
36236 static constexpr bool concrete{
true};
36246 static constexpr size_t position{0};
36247 static constexpr char const *
const name{
"name"};
36248 static constexpr char const *
const typestr{
"SgName"};
36249 static constexpr bool traverse{
false};
36250 static constexpr auto mbr_ptr{&SgAdaFormalPackageDecl::p_name};
36251 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36252 using bind = Desc<SgAdaFormalPackageDecl, SgName SgAdaFormalPackageDecl::*, &SgAdaFormalPackageDecl::p_name>;
36257 static constexpr size_t position{1};
36258 static constexpr char const *
const name{
"declaration"};
36259 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
36260 static constexpr bool traverse{
false};
36261 static constexpr auto mbr_ptr{&SgAdaFormalPackageDecl::p_declaration};
36262 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36263 using bind = Desc<SgAdaFormalPackageDecl, SgDeclarationStatement* SgAdaFormalPackageDecl::*, &SgAdaFormalPackageDecl::p_declaration>;
36268 static constexpr size_t position{2};
36269 static constexpr char const *
const name{
"actual_parameters"};
36270 static constexpr char const *
const typestr{
"SgExprListExp*"};
36271 static constexpr bool traverse{
false};
36272 static constexpr auto mbr_ptr{&SgAdaFormalPackageDecl::p_actual_parameters};
36273 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36274 using bind = Desc<SgAdaFormalPackageDecl, SgExprListExp* SgAdaFormalPackageDecl::*, &SgAdaFormalPackageDecl::p_actual_parameters>;
36279 static constexpr size_t position{3};
36280 static constexpr char const *
const name{
"prototype"};
36281 static constexpr char const *
const typestr{
"SgDeclarationStatement*"};
36282 static constexpr bool traverse{
false};
36283 static constexpr auto mbr_ptr{&SgAdaFormalPackageDecl::p_prototype};
36284 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36285 using bind = Desc<SgAdaFormalPackageDecl, SgDeclarationStatement* SgAdaFormalPackageDecl::*, &SgAdaFormalPackageDecl::p_prototype>;
36290 static constexpr size_t position{4};
36291 static constexpr char const *
const name{
"prototypeScope"};
36292 static constexpr char const *
const typestr{
"SgScopeStatement*"};
36293 static constexpr bool traverse{
false};
36294 static constexpr auto mbr_ptr{&SgAdaFormalPackageDecl::p_prototypeScope};
36295 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36296 using bind = Desc<SgAdaFormalPackageDecl, SgScopeStatement* SgAdaFormalPackageDecl::*, &SgAdaFormalPackageDecl::p_prototypeScope>;
36301 static constexpr char const *
const name{
"AdaFormalPackageDecl"};
36302 static constexpr unsigned long variant{932};
36303 static constexpr bool concrete{
true};
36305 using fields_t =
mp::List<describe_field_t<SgAdaFormalPackageDecl,SgName,&SgAdaFormalPackageDecl::p_name>,
describe_field_t<SgAdaFormalPackageDecl,SgDeclarationStatement*,&SgAdaFormalPackageDecl::p_declaration>,
describe_field_t<SgAdaFormalPackageDecl,SgExprListExp*,&SgAdaFormalPackageDecl::p_actual_parameters>,
describe_field_t<SgAdaFormalPackageDecl,SgDeclarationStatement*,&SgAdaFormalPackageDecl::p_prototype>,
describe_field_t<SgAdaFormalPackageDecl,SgScopeStatement*,&SgAdaFormalPackageDecl::p_prototypeScope>>;
36313 static constexpr size_t position{0};
36314 static constexpr char const *
const name{
"declaration"};
36315 static constexpr char const *
const typestr{
"SgAdaFormalPackageDecl*"};
36316 static constexpr bool traverse{
true};
36317 static constexpr auto mbr_ptr{&SgAdaFormalPackageSymbol::p_declaration};
36318 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36319 using bind = Desc<SgAdaFormalPackageSymbol, SgAdaFormalPackageDecl* SgAdaFormalPackageSymbol::*, &SgAdaFormalPackageSymbol::p_declaration>;
36324 static constexpr char const *
const name{
"AdaFormalPackageSymbol"};
36325 static constexpr unsigned long variant{933};
36326 static constexpr bool concrete{
true};
36335 using field_type = SgAsmJvmAttributePtrList;
36336 static constexpr size_t position{0};
36337 static constexpr char const *
const name{
"attributes"};
36338 static constexpr char const *
const typestr{
"SgAsmJvmAttributePtrList"};
36339 static constexpr bool traverse{
true};
36340 static constexpr auto mbr_ptr{&SgAsmJvmAttributeTable::p_attributes};
36341 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36342 using bind = Desc<SgAsmJvmAttributeTable, SgAsmJvmAttributePtrList SgAsmJvmAttributeTable::*, &SgAsmJvmAttributeTable::p_attributes>;
36347 static constexpr char const *
const name{
"AsmJvmAttributeTable"};
36348 static constexpr unsigned long variant{934};
36349 static constexpr bool concrete{
true};
36358 using field_type = SgAsmJvmMethodPtrList;
36359 static constexpr size_t position{0};
36360 static constexpr char const *
const name{
"methods"};
36361 static constexpr char const *
const typestr{
"SgAsmJvmMethodPtrList"};
36362 static constexpr bool traverse{
true};
36363 static constexpr auto mbr_ptr{&SgAsmJvmMethodTable::p_methods};
36364 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36365 using bind = Desc<SgAsmJvmMethodTable, SgAsmJvmMethodPtrList SgAsmJvmMethodTable::*, &SgAsmJvmMethodTable::p_methods>;
36370 static constexpr char const *
const name{
"AsmJvmMethodTable"};
36371 static constexpr unsigned long variant{935};
36372 static constexpr bool concrete{
true};
36381 using field_type = uint16_t;
36382 static constexpr size_t position{0};
36383 static constexpr char const *
const name{
"access_flags"};
36384 static constexpr char const *
const typestr{
"uint16_t"};
36385 static constexpr bool traverse{
false};
36386 static constexpr auto mbr_ptr{&SgAsmJvmField::p_access_flags};
36387 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36388 using bind = Desc<SgAsmJvmField, uint16_t SgAsmJvmField::*, &SgAsmJvmField::p_access_flags>;
36392 using field_type = uint16_t;
36393 static constexpr size_t position{1};
36394 static constexpr char const *
const name{
"name_index"};
36395 static constexpr char const *
const typestr{
"uint16_t"};
36396 static constexpr bool traverse{
false};
36397 static constexpr auto mbr_ptr{&SgAsmJvmField::p_name_index};
36398 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36399 using bind = Desc<SgAsmJvmField, uint16_t SgAsmJvmField::*, &SgAsmJvmField::p_name_index>;
36403 using field_type = uint16_t;
36404 static constexpr size_t position{2};
36405 static constexpr char const *
const name{
"descriptor_index"};
36406 static constexpr char const *
const typestr{
"uint16_t"};
36407 static constexpr bool traverse{
false};
36408 static constexpr auto mbr_ptr{&SgAsmJvmField::p_descriptor_index};
36409 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36410 using bind = Desc<SgAsmJvmField, uint16_t SgAsmJvmField::*, &SgAsmJvmField::p_descriptor_index>;
36415 static constexpr size_t position{3};
36416 static constexpr char const *
const name{
"attribute_table"};
36417 static constexpr char const *
const typestr{
"SgAsmJvmAttributeTable*"};
36418 static constexpr bool traverse{
true};
36419 static constexpr auto mbr_ptr{&SgAsmJvmField::p_attribute_table};
36420 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36421 using bind = Desc<SgAsmJvmField, SgAsmJvmAttributeTable* SgAsmJvmField::*, &SgAsmJvmField::p_attribute_table>;
36426 static constexpr char const *
const name{
"AsmJvmField"};
36427 static constexpr unsigned long variant{936};
36428 static constexpr bool concrete{
true};
36430 using fields_t =
mp::List<describe_field_t<SgAsmJvmField,uint16_t,&SgAsmJvmField::p_access_flags>,
describe_field_t<SgAsmJvmField,uint16_t,&SgAsmJvmField::p_name_index>,
describe_field_t<SgAsmJvmField,uint16_t,&SgAsmJvmField::p_descriptor_index>,
describe_field_t<SgAsmJvmField,SgAsmJvmAttributeTable*,&SgAsmJvmField::p_attribute_table>>;
36437 using field_type = SgAsmJvmFieldPtrList;
36438 static constexpr size_t position{0};
36439 static constexpr char const *
const name{
"fields"};
36440 static constexpr char const *
const typestr{
"SgAsmJvmFieldPtrList"};
36441 static constexpr bool traverse{
true};
36442 static constexpr auto mbr_ptr{&SgAsmJvmFieldTable::p_fields};
36443 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36444 using bind = Desc<SgAsmJvmFieldTable, SgAsmJvmFieldPtrList SgAsmJvmFieldTable::*, &SgAsmJvmFieldTable::p_fields>;
36449 static constexpr char const *
const name{
"AsmJvmFieldTable"};
36450 static constexpr unsigned long variant{937};
36451 static constexpr bool concrete{
true};
36460 using field_type = uint16_t;
36461 static constexpr size_t position{0};
36462 static constexpr char const *
const name{
"start_pc"};
36463 static constexpr char const *
const typestr{
"uint16_t"};
36464 static constexpr bool traverse{
false};
36465 static constexpr auto mbr_ptr{&SgAsmJvmExceptionHandler::p_start_pc};
36466 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36467 using bind = Desc<SgAsmJvmExceptionHandler, uint16_t SgAsmJvmExceptionHandler::*, &SgAsmJvmExceptionHandler::p_start_pc>;
36471 using field_type = uint16_t;
36472 static constexpr size_t position{1};
36473 static constexpr char const *
const name{
"end_pc"};
36474 static constexpr char const *
const typestr{
"uint16_t"};
36475 static constexpr bool traverse{
false};
36476 static constexpr auto mbr_ptr{&SgAsmJvmExceptionHandler::p_end_pc};
36477 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36478 using bind = Desc<SgAsmJvmExceptionHandler, uint16_t SgAsmJvmExceptionHandler::*, &SgAsmJvmExceptionHandler::p_end_pc>;
36482 using field_type = uint16_t;
36483 static constexpr size_t position{2};
36484 static constexpr char const *
const name{
"handler_pc"};
36485 static constexpr char const *
const typestr{
"uint16_t"};
36486 static constexpr bool traverse{
false};
36487 static constexpr auto mbr_ptr{&SgAsmJvmExceptionHandler::p_handler_pc};
36488 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36489 using bind = Desc<SgAsmJvmExceptionHandler, uint16_t SgAsmJvmExceptionHandler::*, &SgAsmJvmExceptionHandler::p_handler_pc>;
36493 using field_type = uint16_t;
36494 static constexpr size_t position{3};
36495 static constexpr char const *
const name{
"catch_type"};
36496 static constexpr char const *
const typestr{
"uint16_t"};
36497 static constexpr bool traverse{
false};
36498 static constexpr auto mbr_ptr{&SgAsmJvmExceptionHandler::p_catch_type};
36499 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36500 using bind = Desc<SgAsmJvmExceptionHandler, uint16_t SgAsmJvmExceptionHandler::*, &SgAsmJvmExceptionHandler::p_catch_type>;
36505 static constexpr char const *
const name{
"AsmJvmExceptionHandler"};
36506 static constexpr unsigned long variant{938};
36507 static constexpr bool concrete{
true};
36509 using fields_t =
mp::List<describe_field_t<SgAsmJvmExceptionHandler,uint16_t,&SgAsmJvmExceptionHandler::p_start_pc>,
describe_field_t<SgAsmJvmExceptionHandler,uint16_t,&SgAsmJvmExceptionHandler::p_end_pc>,
describe_field_t<SgAsmJvmExceptionHandler,uint16_t,&SgAsmJvmExceptionHandler::p_handler_pc>,
describe_field_t<SgAsmJvmExceptionHandler,uint16_t,&SgAsmJvmExceptionHandler::p_catch_type>>;
36516 using field_type = SgAsmJvmExceptionHandlerPtrList;
36517 static constexpr size_t position{0};
36518 static constexpr char const *
const name{
"handlers"};
36519 static constexpr char const *
const typestr{
"SgAsmJvmExceptionHandlerPtrList"};
36520 static constexpr bool traverse{
false};
36521 static constexpr auto mbr_ptr{&SgAsmJvmExceptionTable::p_handlers};
36522 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36523 using bind = Desc<SgAsmJvmExceptionTable, SgAsmJvmExceptionHandlerPtrList SgAsmJvmExceptionTable::*, &SgAsmJvmExceptionTable::p_handlers>;
36528 static constexpr char const *
const name{
"AsmJvmExceptionTable"};
36529 static constexpr unsigned long variant{939};
36530 static constexpr bool concrete{
true};
36540 static constexpr char const *
const name{
"AsmJvmClass"};
36541 static constexpr unsigned long variant{940};
36542 static constexpr bool concrete{
true};
36551 using field_type = uint16_t;
36552 static constexpr size_t position{0};
36553 static constexpr char const *
const name{
"start_pc"};
36554 static constexpr char const *
const typestr{
"uint16_t"};
36555 static constexpr bool traverse{
false};
36556 static constexpr auto mbr_ptr{&SgAsmJvmLineNumberEntry::p_start_pc};
36557 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36558 using bind = Desc<SgAsmJvmLineNumberEntry, uint16_t SgAsmJvmLineNumberEntry::*, &SgAsmJvmLineNumberEntry::p_start_pc>;
36562 using field_type = uint16_t;
36563 static constexpr size_t position{1};
36564 static constexpr char const *
const name{
"line_number"};
36565 static constexpr char const *
const typestr{
"uint16_t"};
36566 static constexpr bool traverse{
false};
36567 static constexpr auto mbr_ptr{&SgAsmJvmLineNumberEntry::p_line_number};
36568 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36569 using bind = Desc<SgAsmJvmLineNumberEntry, uint16_t SgAsmJvmLineNumberEntry::*, &SgAsmJvmLineNumberEntry::p_line_number>;
36574 static constexpr char const *
const name{
"AsmJvmLineNumberEntry"};
36575 static constexpr unsigned long variant{941};
36576 static constexpr bool concrete{
true};
36585 using field_type = SgAsmJvmLineNumberEntryPtrList;
36586 static constexpr size_t position{0};
36587 static constexpr char const *
const name{
"line_number_table"};
36588 static constexpr char const *
const typestr{
"SgAsmJvmLineNumberEntryPtrList"};
36589 static constexpr bool traverse{
false};
36590 static constexpr auto mbr_ptr{&SgAsmJvmLineNumberTable::p_line_number_table};
36591 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36592 using bind = Desc<SgAsmJvmLineNumberTable, SgAsmJvmLineNumberEntryPtrList SgAsmJvmLineNumberTable::*, &SgAsmJvmLineNumberTable::p_line_number_table>;
36597 static constexpr char const *
const name{
"AsmJvmLineNumberTable"};
36598 static constexpr unsigned long variant{942};
36599 static constexpr bool concrete{
true};
36608 using field_type = uint16_t;
36609 static constexpr size_t position{0};
36610 static constexpr char const *
const name{
"inner_class_info_index"};
36611 static constexpr char const *
const typestr{
"uint16_t"};
36612 static constexpr bool traverse{
false};
36613 static constexpr auto mbr_ptr{&SgAsmJvmInnerClassesEntry::p_inner_class_info_index};
36614 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36615 using bind = Desc<SgAsmJvmInnerClassesEntry, uint16_t SgAsmJvmInnerClassesEntry::*, &SgAsmJvmInnerClassesEntry::p_inner_class_info_index>;
36619 using field_type = uint16_t;
36620 static constexpr size_t position{1};
36621 static constexpr char const *
const name{
"outer_class_info_index"};
36622 static constexpr char const *
const typestr{
"uint16_t"};
36623 static constexpr bool traverse{
false};
36624 static constexpr auto mbr_ptr{&SgAsmJvmInnerClassesEntry::p_outer_class_info_index};
36625 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36626 using bind = Desc<SgAsmJvmInnerClassesEntry, uint16_t SgAsmJvmInnerClassesEntry::*, &SgAsmJvmInnerClassesEntry::p_outer_class_info_index>;
36630 using field_type = uint16_t;
36631 static constexpr size_t position{2};
36632 static constexpr char const *
const name{
"inner_name_index"};
36633 static constexpr char const *
const typestr{
"uint16_t"};
36634 static constexpr bool traverse{
false};
36635 static constexpr auto mbr_ptr{&SgAsmJvmInnerClassesEntry::p_inner_name_index};
36636 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36637 using bind = Desc<SgAsmJvmInnerClassesEntry, uint16_t SgAsmJvmInnerClassesEntry::*, &SgAsmJvmInnerClassesEntry::p_inner_name_index>;
36641 using field_type = uint16_t;
36642 static constexpr size_t position{3};
36643 static constexpr char const *
const name{
"inner_class_access_flags"};
36644 static constexpr char const *
const typestr{
"uint16_t"};
36645 static constexpr bool traverse{
false};
36646 static constexpr auto mbr_ptr{&SgAsmJvmInnerClassesEntry::p_inner_class_access_flags};
36647 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36648 using bind = Desc<SgAsmJvmInnerClassesEntry, uint16_t SgAsmJvmInnerClassesEntry::*, &SgAsmJvmInnerClassesEntry::p_inner_class_access_flags>;
36653 static constexpr char const *
const name{
"AsmJvmInnerClassesEntry"};
36654 static constexpr unsigned long variant{943};
36655 static constexpr bool concrete{
true};
36657 using fields_t =
mp::List<describe_field_t<SgAsmJvmInnerClassesEntry,uint16_t,&SgAsmJvmInnerClassesEntry::p_inner_class_info_index>,
describe_field_t<SgAsmJvmInnerClassesEntry,uint16_t,&SgAsmJvmInnerClassesEntry::p_outer_class_info_index>,
describe_field_t<SgAsmJvmInnerClassesEntry,uint16_t,&SgAsmJvmInnerClassesEntry::p_inner_name_index>,
describe_field_t<SgAsmJvmInnerClassesEntry,uint16_t,&SgAsmJvmInnerClassesEntry::p_inner_class_access_flags>>;
36664 using field_type = SgAsmJvmInnerClassesEntryPtrList;
36665 static constexpr size_t position{0};
36666 static constexpr char const *
const name{
"classes"};
36667 static constexpr char const *
const typestr{
"SgAsmJvmInnerClassesEntryPtrList"};
36668 static constexpr bool traverse{
false};
36669 static constexpr auto mbr_ptr{&SgAsmJvmInnerClasses::p_classes};
36670 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36671 using bind = Desc<SgAsmJvmInnerClasses, SgAsmJvmInnerClassesEntryPtrList SgAsmJvmInnerClasses::*, &SgAsmJvmInnerClasses::p_classes>;
36676 static constexpr char const *
const name{
"AsmJvmInnerClasses"};
36677 static constexpr unsigned long variant{944};
36678 static constexpr bool concrete{
true};
36687 using field_type = Rose::BinaryAnalysis::CilInstructionKind;
36688 static constexpr size_t position{0};
36689 static constexpr char const *
const name{
"kind"};
36690 static constexpr char const *
const typestr{
"Rose::BinaryAnalysis::CilInstructionKind"};
36691 static constexpr bool traverse{
false};
36692 static constexpr auto mbr_ptr{&SgAsmCilInstruction::p_kind};
36693 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36694 using bind = Desc<SgAsmCilInstruction, Rose::BinaryAnalysis::CilInstructionKind SgAsmCilInstruction::*, &SgAsmCilInstruction::p_kind>;
36699 static constexpr char const *
const name{
"AsmCilInstruction"};
36700 static constexpr unsigned long variant{945};
36701 static constexpr bool concrete{
true};
36710 using field_type = int;
36711 static constexpr size_t position{0};
36712 static constexpr char const *
const name{
"stackPosition"};
36713 static constexpr char const *
const typestr{
"int"};
36714 static constexpr bool traverse{
false};
36715 static constexpr auto mbr_ptr{&SgAsmStackExpression::p_stackPosition};
36716 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36717 using bind = Desc<SgAsmStackExpression, int SgAsmStackExpression::*, &SgAsmStackExpression::p_stackPosition>;
36722 static constexpr char const *
const name{
"AsmStackExpression"};
36723 static constexpr unsigned long variant{946};
36724 static constexpr bool concrete{
true};
36733 using field_type = uint16_t;
36734 static constexpr size_t position{0};
36735 static constexpr char const *
const name{
"class_index"};
36736 static constexpr char const *
const typestr{
"uint16_t"};
36737 static constexpr bool traverse{
false};
36738 static constexpr auto mbr_ptr{&SgAsmJvmEnclosingMethod::p_class_index};
36739 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36740 using bind = Desc<SgAsmJvmEnclosingMethod, uint16_t SgAsmJvmEnclosingMethod::*, &SgAsmJvmEnclosingMethod::p_class_index>;
36744 using field_type = uint16_t;
36745 static constexpr size_t position{1};
36746 static constexpr char const *
const name{
"method_index"};
36747 static constexpr char const *
const typestr{
"uint16_t"};
36748 static constexpr bool traverse{
false};
36749 static constexpr auto mbr_ptr{&SgAsmJvmEnclosingMethod::p_method_index};
36750 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36751 using bind = Desc<SgAsmJvmEnclosingMethod, uint16_t SgAsmJvmEnclosingMethod::*, &SgAsmJvmEnclosingMethod::p_method_index>;
36756 static constexpr char const *
const name{
"AsmJvmEnclosingMethod"};
36757 static constexpr unsigned long variant{947};
36758 static constexpr bool concrete{
true};
36768 static constexpr char const *
const name{
"AdaNullConstraint"};
36769 static constexpr unsigned long variant{948};
36770 static constexpr bool concrete{
true};
36779 using field_type = uint16_t;
36780 static constexpr size_t position{0};
36781 static constexpr char const *
const name{
"main_class_index"};
36782 static constexpr char const *
const typestr{
"uint16_t"};
36783 static constexpr bool traverse{
false};
36784 static constexpr auto mbr_ptr{&SgAsmJvmModuleMainClass::p_main_class_index};
36785 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36786 using bind = Desc<SgAsmJvmModuleMainClass, uint16_t SgAsmJvmModuleMainClass::*, &SgAsmJvmModuleMainClass::p_main_class_index>;
36791 static constexpr char const *
const name{
"AsmJvmModuleMainClass"};
36792 static constexpr unsigned long variant{949};
36793 static constexpr bool concrete{
true};
36802 using field_type = SgAsmInstructionPtrList;
36803 static constexpr size_t position{0};
36804 static constexpr char const *
const name{
"instructions"};
36805 static constexpr char const *
const typestr{
"SgAsmInstructionPtrList"};
36806 static constexpr bool traverse{
false};
36807 static constexpr auto mbr_ptr{&SgAsmInstructionList::p_instructions};
36808 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36809 using bind = Desc<SgAsmInstructionList, SgAsmInstructionPtrList SgAsmInstructionList::*, &SgAsmInstructionList::p_instructions>;
36814 static constexpr char const *
const name{
"AsmInstructionList"};
36815 static constexpr unsigned long variant{950};
36816 static constexpr bool concrete{
true};
36826 static constexpr char const *
const name{
"AsmCilNode"};
36827 static constexpr unsigned long variant{951};
36828 static constexpr bool concrete{
false};
36837 using field_type = uint32_t;
36838 static constexpr size_t position{0};
36839 static constexpr char const *
const name{
"HashAlgId"};
36840 static constexpr char const *
const typestr{
"uint32_t"};
36841 static constexpr bool traverse{
false};
36842 static constexpr auto mbr_ptr{&SgAsmCilAssembly::p_HashAlgId};
36843 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36844 using bind = Desc<SgAsmCilAssembly, uint32_t SgAsmCilAssembly::*, &SgAsmCilAssembly::p_HashAlgId>;
36848 using field_type = uint16_t;
36849 static constexpr size_t position{1};
36850 static constexpr char const *
const name{
"MajorVersion"};
36851 static constexpr char const *
const typestr{
"uint16_t"};
36852 static constexpr bool traverse{
false};
36853 static constexpr auto mbr_ptr{&SgAsmCilAssembly::p_MajorVersion};
36854 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36855 using bind = Desc<SgAsmCilAssembly, uint16_t SgAsmCilAssembly::*, &SgAsmCilAssembly::p_MajorVersion>;
36859 using field_type = uint16_t;
36860 static constexpr size_t position{2};
36861 static constexpr char const *
const name{
"MinorVersion"};
36862 static constexpr char const *
const typestr{
"uint16_t"};
36863 static constexpr bool traverse{
false};
36864 static constexpr auto mbr_ptr{&SgAsmCilAssembly::p_MinorVersion};
36865 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36866 using bind = Desc<SgAsmCilAssembly, uint16_t SgAsmCilAssembly::*, &SgAsmCilAssembly::p_MinorVersion>;
36870 using field_type = uint16_t;
36871 static constexpr size_t position{3};
36872 static constexpr char const *
const name{
"BuildNumber"};
36873 static constexpr char const *
const typestr{
"uint16_t"};
36874 static constexpr bool traverse{
false};
36875 static constexpr auto mbr_ptr{&SgAsmCilAssembly::p_BuildNumber};
36876 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36877 using bind = Desc<SgAsmCilAssembly, uint16_t SgAsmCilAssembly::*, &SgAsmCilAssembly::p_BuildNumber>;
36881 using field_type = uint16_t;
36882 static constexpr size_t position{4};
36883 static constexpr char const *
const name{
"RevisionNumber"};
36884 static constexpr char const *
const typestr{
"uint16_t"};
36885 static constexpr bool traverse{
false};
36886 static constexpr auto mbr_ptr{&SgAsmCilAssembly::p_RevisionNumber};
36887 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36888 using bind = Desc<SgAsmCilAssembly, uint16_t SgAsmCilAssembly::*, &SgAsmCilAssembly::p_RevisionNumber>;
36892 using field_type = uint32_t;
36893 static constexpr size_t position{5};
36894 static constexpr char const *
const name{
"Flags"};
36895 static constexpr char const *
const typestr{
"uint32_t"};
36896 static constexpr bool traverse{
false};
36897 static constexpr auto mbr_ptr{&SgAsmCilAssembly::p_Flags};
36898 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36899 using bind = Desc<SgAsmCilAssembly, uint32_t SgAsmCilAssembly::*, &SgAsmCilAssembly::p_Flags>;
36903 using field_type = uint32_t;
36904 static constexpr size_t position{6};
36905 static constexpr char const *
const name{
"PublicKey"};
36906 static constexpr char const *
const typestr{
"uint32_t"};
36907 static constexpr bool traverse{
false};
36908 static constexpr auto mbr_ptr{&SgAsmCilAssembly::p_PublicKey};
36909 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36910 using bind = Desc<SgAsmCilAssembly, uint32_t SgAsmCilAssembly::*, &SgAsmCilAssembly::p_PublicKey>;
36914 using field_type = uint32_t;
36915 static constexpr size_t position{7};
36916 static constexpr char const *
const name{
"Name"};
36917 static constexpr char const *
const typestr{
"uint32_t"};
36918 static constexpr bool traverse{
false};
36919 static constexpr auto mbr_ptr{&SgAsmCilAssembly::p_Name};
36920 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36921 using bind = Desc<SgAsmCilAssembly, uint32_t SgAsmCilAssembly::*, &SgAsmCilAssembly::p_Name>;
36925 using field_type = uint32_t;
36926 static constexpr size_t position{8};
36927 static constexpr char const *
const name{
"Culture"};
36928 static constexpr char const *
const typestr{
"uint32_t"};
36929 static constexpr bool traverse{
false};
36930 static constexpr auto mbr_ptr{&SgAsmCilAssembly::p_Culture};
36931 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36932 using bind = Desc<SgAsmCilAssembly, uint32_t SgAsmCilAssembly::*, &SgAsmCilAssembly::p_Culture>;
36937 static constexpr char const *
const name{
"AsmCilAssembly"};
36938 static constexpr unsigned long variant{952};
36939 static constexpr bool concrete{
true};
36941 using fields_t =
mp::List<describe_field_t<SgAsmCilAssembly,uint32_t,&SgAsmCilAssembly::p_HashAlgId>,
describe_field_t<SgAsmCilAssembly,uint16_t,&SgAsmCilAssembly::p_MajorVersion>,
describe_field_t<SgAsmCilAssembly,uint16_t,&SgAsmCilAssembly::p_MinorVersion>,
describe_field_t<SgAsmCilAssembly,uint16_t,&SgAsmCilAssembly::p_BuildNumber>,
describe_field_t<SgAsmCilAssembly,uint16_t,&SgAsmCilAssembly::p_RevisionNumber>,
describe_field_t<SgAsmCilAssembly,uint32_t,&SgAsmCilAssembly::p_Flags>,
describe_field_t<SgAsmCilAssembly,uint32_t,&SgAsmCilAssembly::p_PublicKey>,
describe_field_t<SgAsmCilAssembly,uint32_t,&SgAsmCilAssembly::p_Name>,
describe_field_t<SgAsmCilAssembly,uint32_t,&SgAsmCilAssembly::p_Culture>>;
36948 using field_type = uint32_t;
36949 static constexpr size_t position{0};
36950 static constexpr char const *
const name{
"OSPlatformID"};
36951 static constexpr char const *
const typestr{
"uint32_t"};
36952 static constexpr bool traverse{
false};
36953 static constexpr auto mbr_ptr{&SgAsmCilAssemblyOS::p_OSPlatformID};
36954 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36955 using bind = Desc<SgAsmCilAssemblyOS, uint32_t SgAsmCilAssemblyOS::*, &SgAsmCilAssemblyOS::p_OSPlatformID>;
36959 using field_type = uint32_t;
36960 static constexpr size_t position{1};
36961 static constexpr char const *
const name{
"OSMajorVersion"};
36962 static constexpr char const *
const typestr{
"uint32_t"};
36963 static constexpr bool traverse{
false};
36964 static constexpr auto mbr_ptr{&SgAsmCilAssemblyOS::p_OSMajorVersion};
36965 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36966 using bind = Desc<SgAsmCilAssemblyOS, uint32_t SgAsmCilAssemblyOS::*, &SgAsmCilAssemblyOS::p_OSMajorVersion>;
36970 using field_type = uint32_t;
36971 static constexpr size_t position{2};
36972 static constexpr char const *
const name{
"OSMinorVersion"};
36973 static constexpr char const *
const typestr{
"uint32_t"};
36974 static constexpr bool traverse{
false};
36975 static constexpr auto mbr_ptr{&SgAsmCilAssemblyOS::p_OSMinorVersion};
36976 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
36977 using bind = Desc<SgAsmCilAssemblyOS, uint32_t SgAsmCilAssemblyOS::*, &SgAsmCilAssemblyOS::p_OSMinorVersion>;
36982 static constexpr char const *
const name{
"AsmCilAssemblyOS"};
36983 static constexpr unsigned long variant{953};
36984 static constexpr bool concrete{
true};
36993 using field_type = uint32_t;
36994 static constexpr size_t position{0};
36995 static constexpr char const *
const name{
"Processor"};
36996 static constexpr char const *
const typestr{
"uint32_t"};
36997 static constexpr bool traverse{
false};
36998 static constexpr auto mbr_ptr{&SgAsmCilAssemblyProcessor::p_Processor};
36999 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37000 using bind = Desc<SgAsmCilAssemblyProcessor, uint32_t SgAsmCilAssemblyProcessor::*, &SgAsmCilAssemblyProcessor::p_Processor>;
37005 static constexpr char const *
const name{
"AsmCilAssemblyProcessor"};
37006 static constexpr unsigned long variant{954};
37007 static constexpr bool concrete{
true};
37016 using field_type = uint16_t;
37017 static constexpr size_t position{0};
37018 static constexpr char const *
const name{
"MajorVersion"};
37019 static constexpr char const *
const typestr{
"uint16_t"};
37020 static constexpr bool traverse{
false};
37021 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRef::p_MajorVersion};
37022 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37023 using bind = Desc<SgAsmCilAssemblyRef, uint16_t SgAsmCilAssemblyRef::*, &SgAsmCilAssemblyRef::p_MajorVersion>;
37027 using field_type = uint16_t;
37028 static constexpr size_t position{1};
37029 static constexpr char const *
const name{
"MinorVersion"};
37030 static constexpr char const *
const typestr{
"uint16_t"};
37031 static constexpr bool traverse{
false};
37032 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRef::p_MinorVersion};
37033 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37034 using bind = Desc<SgAsmCilAssemblyRef, uint16_t SgAsmCilAssemblyRef::*, &SgAsmCilAssemblyRef::p_MinorVersion>;
37038 using field_type = uint16_t;
37039 static constexpr size_t position{2};
37040 static constexpr char const *
const name{
"BuildNumber"};
37041 static constexpr char const *
const typestr{
"uint16_t"};
37042 static constexpr bool traverse{
false};
37043 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRef::p_BuildNumber};
37044 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37045 using bind = Desc<SgAsmCilAssemblyRef, uint16_t SgAsmCilAssemblyRef::*, &SgAsmCilAssemblyRef::p_BuildNumber>;
37049 using field_type = uint16_t;
37050 static constexpr size_t position{3};
37051 static constexpr char const *
const name{
"RevisionNumber"};
37052 static constexpr char const *
const typestr{
"uint16_t"};
37053 static constexpr bool traverse{
false};
37054 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRef::p_RevisionNumber};
37055 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37056 using bind = Desc<SgAsmCilAssemblyRef, uint16_t SgAsmCilAssemblyRef::*, &SgAsmCilAssemblyRef::p_RevisionNumber>;
37060 using field_type = uint32_t;
37061 static constexpr size_t position{4};
37062 static constexpr char const *
const name{
"Flags"};
37063 static constexpr char const *
const typestr{
"uint32_t"};
37064 static constexpr bool traverse{
false};
37065 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRef::p_Flags};
37066 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37067 using bind = Desc<SgAsmCilAssemblyRef, uint32_t SgAsmCilAssemblyRef::*, &SgAsmCilAssemblyRef::p_Flags>;
37071 using field_type = uint32_t;
37072 static constexpr size_t position{5};
37073 static constexpr char const *
const name{
"PublicKeyOrToken"};
37074 static constexpr char const *
const typestr{
"uint32_t"};
37075 static constexpr bool traverse{
false};
37076 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRef::p_PublicKeyOrToken};
37077 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37078 using bind = Desc<SgAsmCilAssemblyRef, uint32_t SgAsmCilAssemblyRef::*, &SgAsmCilAssemblyRef::p_PublicKeyOrToken>;
37082 using field_type = uint32_t;
37083 static constexpr size_t position{6};
37084 static constexpr char const *
const name{
"Name"};
37085 static constexpr char const *
const typestr{
"uint32_t"};
37086 static constexpr bool traverse{
false};
37087 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRef::p_Name};
37088 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37089 using bind = Desc<SgAsmCilAssemblyRef, uint32_t SgAsmCilAssemblyRef::*, &SgAsmCilAssemblyRef::p_Name>;
37093 using field_type = uint32_t;
37094 static constexpr size_t position{7};
37095 static constexpr char const *
const name{
"Culture"};
37096 static constexpr char const *
const typestr{
"uint32_t"};
37097 static constexpr bool traverse{
false};
37098 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRef::p_Culture};
37099 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37100 using bind = Desc<SgAsmCilAssemblyRef, uint32_t SgAsmCilAssemblyRef::*, &SgAsmCilAssemblyRef::p_Culture>;
37104 using field_type = uint32_t;
37105 static constexpr size_t position{8};
37106 static constexpr char const *
const name{
"HashValue"};
37107 static constexpr char const *
const typestr{
"uint32_t"};
37108 static constexpr bool traverse{
false};
37109 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRef::p_HashValue};
37110 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37111 using bind = Desc<SgAsmCilAssemblyRef, uint32_t SgAsmCilAssemblyRef::*, &SgAsmCilAssemblyRef::p_HashValue>;
37116 static constexpr char const *
const name{
"AsmCilAssemblyRef"};
37117 static constexpr unsigned long variant{955};
37118 static constexpr bool concrete{
true};
37120 using fields_t =
mp::List<describe_field_t<SgAsmCilAssemblyRef,uint16_t,&SgAsmCilAssemblyRef::p_MajorVersion>,
describe_field_t<SgAsmCilAssemblyRef,uint16_t,&SgAsmCilAssemblyRef::p_MinorVersion>,
describe_field_t<SgAsmCilAssemblyRef,uint16_t,&SgAsmCilAssemblyRef::p_BuildNumber>,
describe_field_t<SgAsmCilAssemblyRef,uint16_t,&SgAsmCilAssemblyRef::p_RevisionNumber>,
describe_field_t<SgAsmCilAssemblyRef,uint32_t,&SgAsmCilAssemblyRef::p_Flags>,
describe_field_t<SgAsmCilAssemblyRef,uint32_t,&SgAsmCilAssemblyRef::p_PublicKeyOrToken>,
describe_field_t<SgAsmCilAssemblyRef,uint32_t,&SgAsmCilAssemblyRef::p_Name>,
describe_field_t<SgAsmCilAssemblyRef,uint32_t,&SgAsmCilAssemblyRef::p_Culture>,
describe_field_t<SgAsmCilAssemblyRef,uint32_t,&SgAsmCilAssemblyRef::p_HashValue>>;
37127 using field_type = uint32_t;
37128 static constexpr size_t position{0};
37129 static constexpr char const *
const name{
"OSPlatformID"};
37130 static constexpr char const *
const typestr{
"uint32_t"};
37131 static constexpr bool traverse{
false};
37132 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRefOS::p_OSPlatformID};
37133 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37134 using bind = Desc<SgAsmCilAssemblyRefOS, uint32_t SgAsmCilAssemblyRefOS::*, &SgAsmCilAssemblyRefOS::p_OSPlatformID>;
37138 using field_type = uint32_t;
37139 static constexpr size_t position{1};
37140 static constexpr char const *
const name{
"OSMajorVersion"};
37141 static constexpr char const *
const typestr{
"uint32_t"};
37142 static constexpr bool traverse{
false};
37143 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRefOS::p_OSMajorVersion};
37144 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37145 using bind = Desc<SgAsmCilAssemblyRefOS, uint32_t SgAsmCilAssemblyRefOS::*, &SgAsmCilAssemblyRefOS::p_OSMajorVersion>;
37149 using field_type = uint32_t;
37150 static constexpr size_t position{2};
37151 static constexpr char const *
const name{
"OSMinorVersion"};
37152 static constexpr char const *
const typestr{
"uint32_t"};
37153 static constexpr bool traverse{
false};
37154 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRefOS::p_OSMinorVersion};
37155 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37156 using bind = Desc<SgAsmCilAssemblyRefOS, uint32_t SgAsmCilAssemblyRefOS::*, &SgAsmCilAssemblyRefOS::p_OSMinorVersion>;
37160 using field_type = uint32_t;
37161 static constexpr size_t position{3};
37162 static constexpr char const *
const name{
"AssemblyRefOS"};
37163 static constexpr char const *
const typestr{
"uint32_t"};
37164 static constexpr bool traverse{
false};
37165 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRefOS::p_AssemblyRefOS};
37166 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37167 using bind = Desc<SgAsmCilAssemblyRefOS, uint32_t SgAsmCilAssemblyRefOS::*, &SgAsmCilAssemblyRefOS::p_AssemblyRefOS>;
37172 static constexpr char const *
const name{
"AsmCilAssemblyRefOS"};
37173 static constexpr unsigned long variant{956};
37174 static constexpr bool concrete{
true};
37176 using fields_t =
mp::List<describe_field_t<SgAsmCilAssemblyRefOS,uint32_t,&SgAsmCilAssemblyRefOS::p_OSPlatformID>,
describe_field_t<SgAsmCilAssemblyRefOS,uint32_t,&SgAsmCilAssemblyRefOS::p_OSMajorVersion>,
describe_field_t<SgAsmCilAssemblyRefOS,uint32_t,&SgAsmCilAssemblyRefOS::p_OSMinorVersion>,
describe_field_t<SgAsmCilAssemblyRefOS,uint32_t,&SgAsmCilAssemblyRefOS::p_AssemblyRefOS>>;
37183 using field_type = uint32_t;
37184 static constexpr size_t position{0};
37185 static constexpr char const *
const name{
"Processor"};
37186 static constexpr char const *
const typestr{
"uint32_t"};
37187 static constexpr bool traverse{
false};
37188 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRefProcessor::p_Processor};
37189 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37190 using bind = Desc<SgAsmCilAssemblyRefProcessor, uint32_t SgAsmCilAssemblyRefProcessor::*, &SgAsmCilAssemblyRefProcessor::p_Processor>;
37194 using field_type = uint32_t;
37195 static constexpr size_t position{1};
37196 static constexpr char const *
const name{
"AssemblyRef"};
37197 static constexpr char const *
const typestr{
"uint32_t"};
37198 static constexpr bool traverse{
false};
37199 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRefProcessor::p_AssemblyRef};
37200 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37201 using bind = Desc<SgAsmCilAssemblyRefProcessor, uint32_t SgAsmCilAssemblyRefProcessor::*, &SgAsmCilAssemblyRefProcessor::p_AssemblyRef>;
37206 static constexpr char const *
const name{
"AsmCilAssemblyRefProcessor"};
37207 static constexpr unsigned long variant{957};
37208 static constexpr bool concrete{
true};
37217 using field_type = uint16_t;
37218 static constexpr size_t position{0};
37219 static constexpr char const *
const name{
"PackingSize"};
37220 static constexpr char const *
const typestr{
"uint16_t"};
37221 static constexpr bool traverse{
false};
37222 static constexpr auto mbr_ptr{&SgAsmCilClassLayout::p_PackingSize};
37223 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37224 using bind = Desc<SgAsmCilClassLayout, uint16_t SgAsmCilClassLayout::*, &SgAsmCilClassLayout::p_PackingSize>;
37228 using field_type = uint32_t;
37229 static constexpr size_t position{1};
37230 static constexpr char const *
const name{
"ClassSize"};
37231 static constexpr char const *
const typestr{
"uint32_t"};
37232 static constexpr bool traverse{
false};
37233 static constexpr auto mbr_ptr{&SgAsmCilClassLayout::p_ClassSize};
37234 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37235 using bind = Desc<SgAsmCilClassLayout, uint32_t SgAsmCilClassLayout::*, &SgAsmCilClassLayout::p_ClassSize>;
37239 using field_type = uint32_t;
37240 static constexpr size_t position{2};
37241 static constexpr char const *
const name{
"Parent"};
37242 static constexpr char const *
const typestr{
"uint32_t"};
37243 static constexpr bool traverse{
false};
37244 static constexpr auto mbr_ptr{&SgAsmCilClassLayout::p_Parent};
37245 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37246 using bind = Desc<SgAsmCilClassLayout, uint32_t SgAsmCilClassLayout::*, &SgAsmCilClassLayout::p_Parent>;
37251 static constexpr char const *
const name{
"AsmCilClassLayout"};
37252 static constexpr unsigned long variant{958};
37253 static constexpr bool concrete{
true};
37262 using field_type = uint8_t;
37263 static constexpr size_t position{0};
37264 static constexpr char const *
const name{
"Type"};
37265 static constexpr char const *
const typestr{
"uint8_t"};
37266 static constexpr bool traverse{
false};
37267 static constexpr auto mbr_ptr{&SgAsmCilConstant::p_Type};
37268 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37269 using bind = Desc<SgAsmCilConstant, uint8_t SgAsmCilConstant::*, &SgAsmCilConstant::p_Type>;
37273 using field_type = uint8_t;
37274 static constexpr size_t position{1};
37275 static constexpr char const *
const name{
"Padding"};
37276 static constexpr char const *
const typestr{
"uint8_t"};
37277 static constexpr bool traverse{
false};
37278 static constexpr auto mbr_ptr{&SgAsmCilConstant::p_Padding};
37279 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37280 using bind = Desc<SgAsmCilConstant, uint8_t SgAsmCilConstant::*, &SgAsmCilConstant::p_Padding>;
37284 using field_type = uint32_t;
37285 static constexpr size_t position{2};
37286 static constexpr char const *
const name{
"Parent"};
37287 static constexpr char const *
const typestr{
"uint32_t"};
37288 static constexpr bool traverse{
false};
37289 static constexpr auto mbr_ptr{&SgAsmCilConstant::p_Parent};
37290 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37291 using bind = Desc<SgAsmCilConstant, uint32_t SgAsmCilConstant::*, &SgAsmCilConstant::p_Parent>;
37295 using field_type = uint32_t;
37296 static constexpr size_t position{3};
37297 static constexpr char const *
const name{
"Value"};
37298 static constexpr char const *
const typestr{
"uint32_t"};
37299 static constexpr bool traverse{
false};
37300 static constexpr auto mbr_ptr{&SgAsmCilConstant::p_Value};
37301 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37302 using bind = Desc<SgAsmCilConstant, uint32_t SgAsmCilConstant::*, &SgAsmCilConstant::p_Value>;
37307 static constexpr char const *
const name{
"AsmCilConstant"};
37308 static constexpr unsigned long variant{959};
37309 static constexpr bool concrete{
true};
37311 using fields_t =
mp::List<describe_field_t<SgAsmCilConstant,uint8_t,&SgAsmCilConstant::p_Type>,
describe_field_t<SgAsmCilConstant,uint8_t,&SgAsmCilConstant::p_Padding>,
describe_field_t<SgAsmCilConstant,uint32_t,&SgAsmCilConstant::p_Parent>,
describe_field_t<SgAsmCilConstant,uint32_t,&SgAsmCilConstant::p_Value>>;
37318 using field_type = uint32_t;
37319 static constexpr size_t position{0};
37320 static constexpr char const *
const name{
"Parent"};
37321 static constexpr char const *
const typestr{
"uint32_t"};
37322 static constexpr bool traverse{
false};
37323 static constexpr auto mbr_ptr{&SgAsmCilCustomAttribute::p_Parent};
37324 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37325 using bind = Desc<SgAsmCilCustomAttribute, uint32_t SgAsmCilCustomAttribute::*, &SgAsmCilCustomAttribute::p_Parent>;
37329 using field_type = uint32_t;
37330 static constexpr size_t position{1};
37331 static constexpr char const *
const name{
"Type"};
37332 static constexpr char const *
const typestr{
"uint32_t"};
37333 static constexpr bool traverse{
false};
37334 static constexpr auto mbr_ptr{&SgAsmCilCustomAttribute::p_Type};
37335 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37336 using bind = Desc<SgAsmCilCustomAttribute, uint32_t SgAsmCilCustomAttribute::*, &SgAsmCilCustomAttribute::p_Type>;
37340 using field_type = uint32_t;
37341 static constexpr size_t position{2};
37342 static constexpr char const *
const name{
"Value"};
37343 static constexpr char const *
const typestr{
"uint32_t"};
37344 static constexpr bool traverse{
false};
37345 static constexpr auto mbr_ptr{&SgAsmCilCustomAttribute::p_Value};
37346 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37347 using bind = Desc<SgAsmCilCustomAttribute, uint32_t SgAsmCilCustomAttribute::*, &SgAsmCilCustomAttribute::p_Value>;
37352 static constexpr char const *
const name{
"AsmCilCustomAttribute"};
37353 static constexpr unsigned long variant{960};
37354 static constexpr bool concrete{
true};
37363 using field_type = uint16_t;
37364 static constexpr size_t position{0};
37365 static constexpr char const *
const name{
"Action"};
37366 static constexpr char const *
const typestr{
"uint16_t"};
37367 static constexpr bool traverse{
false};
37368 static constexpr auto mbr_ptr{&SgAsmCilDeclSecurity::p_Action};
37369 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37370 using bind = Desc<SgAsmCilDeclSecurity, uint16_t SgAsmCilDeclSecurity::*, &SgAsmCilDeclSecurity::p_Action>;
37374 using field_type = uint32_t;
37375 static constexpr size_t position{1};
37376 static constexpr char const *
const name{
"Parent"};
37377 static constexpr char const *
const typestr{
"uint32_t"};
37378 static constexpr bool traverse{
false};
37379 static constexpr auto mbr_ptr{&SgAsmCilDeclSecurity::p_Parent};
37380 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37381 using bind = Desc<SgAsmCilDeclSecurity, uint32_t SgAsmCilDeclSecurity::*, &SgAsmCilDeclSecurity::p_Parent>;
37385 using field_type = uint32_t;
37386 static constexpr size_t position{2};
37387 static constexpr char const *
const name{
"PermissionSet"};
37388 static constexpr char const *
const typestr{
"uint32_t"};
37389 static constexpr bool traverse{
false};
37390 static constexpr auto mbr_ptr{&SgAsmCilDeclSecurity::p_PermissionSet};
37391 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37392 using bind = Desc<SgAsmCilDeclSecurity, uint32_t SgAsmCilDeclSecurity::*, &SgAsmCilDeclSecurity::p_PermissionSet>;
37397 static constexpr char const *
const name{
"AsmCilDeclSecurity"};
37398 static constexpr unsigned long variant{961};
37399 static constexpr bool concrete{
true};
37408 using field_type = uint16_t;
37409 static constexpr size_t position{0};
37410 static constexpr char const *
const name{
"EventFlags"};
37411 static constexpr char const *
const typestr{
"uint16_t"};
37412 static constexpr bool traverse{
false};
37413 static constexpr auto mbr_ptr{&SgAsmCilEvent::p_EventFlags};
37414 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37415 using bind = Desc<SgAsmCilEvent, uint16_t SgAsmCilEvent::*, &SgAsmCilEvent::p_EventFlags>;
37419 using field_type = uint32_t;
37420 static constexpr size_t position{1};
37421 static constexpr char const *
const name{
"Name"};
37422 static constexpr char const *
const typestr{
"uint32_t"};
37423 static constexpr bool traverse{
false};
37424 static constexpr auto mbr_ptr{&SgAsmCilEvent::p_Name};
37425 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37426 using bind = Desc<SgAsmCilEvent, uint32_t SgAsmCilEvent::*, &SgAsmCilEvent::p_Name>;
37430 using field_type = uint32_t;
37431 static constexpr size_t position{2};
37432 static constexpr char const *
const name{
"EventType"};
37433 static constexpr char const *
const typestr{
"uint32_t"};
37434 static constexpr bool traverse{
false};
37435 static constexpr auto mbr_ptr{&SgAsmCilEvent::p_EventType};
37436 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37437 using bind = Desc<SgAsmCilEvent, uint32_t SgAsmCilEvent::*, &SgAsmCilEvent::p_EventType>;
37442 static constexpr char const *
const name{
"AsmCilEvent"};
37443 static constexpr unsigned long variant{962};
37444 static constexpr bool concrete{
true};
37453 using field_type = uint32_t;
37454 static constexpr size_t position{0};
37455 static constexpr char const *
const name{
"Parent"};
37456 static constexpr char const *
const typestr{
"uint32_t"};
37457 static constexpr bool traverse{
false};
37458 static constexpr auto mbr_ptr{&SgAsmCilEventMap::p_Parent};
37459 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37460 using bind = Desc<SgAsmCilEventMap, uint32_t SgAsmCilEventMap::*, &SgAsmCilEventMap::p_Parent>;
37464 using field_type = uint32_t;
37465 static constexpr size_t position{1};
37466 static constexpr char const *
const name{
"EventList"};
37467 static constexpr char const *
const typestr{
"uint32_t"};
37468 static constexpr bool traverse{
false};
37469 static constexpr auto mbr_ptr{&SgAsmCilEventMap::p_EventList};
37470 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37471 using bind = Desc<SgAsmCilEventMap, uint32_t SgAsmCilEventMap::*, &SgAsmCilEventMap::p_EventList>;
37476 static constexpr char const *
const name{
"AsmCilEventMap"};
37477 static constexpr unsigned long variant{963};
37478 static constexpr bool concrete{
true};
37487 using field_type = uint32_t;
37488 static constexpr size_t position{0};
37489 static constexpr char const *
const name{
"EventFlags"};
37490 static constexpr char const *
const typestr{
"uint32_t"};
37491 static constexpr bool traverse{
false};
37492 static constexpr auto mbr_ptr{&SgAsmCilExportedType::p_EventFlags};
37493 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37494 using bind = Desc<SgAsmCilExportedType, uint32_t SgAsmCilExportedType::*, &SgAsmCilExportedType::p_EventFlags>;
37498 using field_type = uint32_t;
37499 static constexpr size_t position{1};
37500 static constexpr char const *
const name{
"TypeDefIdName"};
37501 static constexpr char const *
const typestr{
"uint32_t"};
37502 static constexpr bool traverse{
false};
37503 static constexpr auto mbr_ptr{&SgAsmCilExportedType::p_TypeDefIdName};
37504 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37505 using bind = Desc<SgAsmCilExportedType, uint32_t SgAsmCilExportedType::*, &SgAsmCilExportedType::p_TypeDefIdName>;
37509 using field_type = uint32_t;
37510 static constexpr size_t position{2};
37511 static constexpr char const *
const name{
"TypeName"};
37512 static constexpr char const *
const typestr{
"uint32_t"};
37513 static constexpr bool traverse{
false};
37514 static constexpr auto mbr_ptr{&SgAsmCilExportedType::p_TypeName};
37515 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37516 using bind = Desc<SgAsmCilExportedType, uint32_t SgAsmCilExportedType::*, &SgAsmCilExportedType::p_TypeName>;
37520 using field_type = uint32_t;
37521 static constexpr size_t position{3};
37522 static constexpr char const *
const name{
"TypeNamespace"};
37523 static constexpr char const *
const typestr{
"uint32_t"};
37524 static constexpr bool traverse{
false};
37525 static constexpr auto mbr_ptr{&SgAsmCilExportedType::p_TypeNamespace};
37526 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37527 using bind = Desc<SgAsmCilExportedType, uint32_t SgAsmCilExportedType::*, &SgAsmCilExportedType::p_TypeNamespace>;
37531 using field_type = uint32_t;
37532 static constexpr size_t position{4};
37533 static constexpr char const *
const name{
"Implementation"};
37534 static constexpr char const *
const typestr{
"uint32_t"};
37535 static constexpr bool traverse{
false};
37536 static constexpr auto mbr_ptr{&SgAsmCilExportedType::p_Implementation};
37537 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37538 using bind = Desc<SgAsmCilExportedType, uint32_t SgAsmCilExportedType::*, &SgAsmCilExportedType::p_Implementation>;
37543 static constexpr char const *
const name{
"AsmCilExportedType"};
37544 static constexpr unsigned long variant{964};
37545 static constexpr bool concrete{
true};
37547 using fields_t =
mp::List<describe_field_t<SgAsmCilExportedType,uint32_t,&SgAsmCilExportedType::p_EventFlags>,
describe_field_t<SgAsmCilExportedType,uint32_t,&SgAsmCilExportedType::p_TypeDefIdName>,
describe_field_t<SgAsmCilExportedType,uint32_t,&SgAsmCilExportedType::p_TypeName>,
describe_field_t<SgAsmCilExportedType,uint32_t,&SgAsmCilExportedType::p_TypeNamespace>,
describe_field_t<SgAsmCilExportedType,uint32_t,&SgAsmCilExportedType::p_Implementation>>;
37554 using field_type = uint16_t;
37555 static constexpr size_t position{0};
37556 static constexpr char const *
const name{
"Flags"};
37557 static constexpr char const *
const typestr{
"uint16_t"};
37558 static constexpr bool traverse{
false};
37559 static constexpr auto mbr_ptr{&SgAsmCilField::p_Flags};
37560 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37561 using bind = Desc<SgAsmCilField, uint16_t SgAsmCilField::*, &SgAsmCilField::p_Flags>;
37565 using field_type = uint32_t;
37566 static constexpr size_t position{1};
37567 static constexpr char const *
const name{
"Name"};
37568 static constexpr char const *
const typestr{
"uint32_t"};
37569 static constexpr bool traverse{
false};
37570 static constexpr auto mbr_ptr{&SgAsmCilField::p_Name};
37571 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37572 using bind = Desc<SgAsmCilField, uint32_t SgAsmCilField::*, &SgAsmCilField::p_Name>;
37576 using field_type = uint32_t;
37577 static constexpr size_t position{2};
37578 static constexpr char const *
const name{
"Signature"};
37579 static constexpr char const *
const typestr{
"uint32_t"};
37580 static constexpr bool traverse{
false};
37581 static constexpr auto mbr_ptr{&SgAsmCilField::p_Signature};
37582 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37583 using bind = Desc<SgAsmCilField, uint32_t SgAsmCilField::*, &SgAsmCilField::p_Signature>;
37588 static constexpr char const *
const name{
"AsmCilField"};
37589 static constexpr unsigned long variant{965};
37590 static constexpr bool concrete{
true};
37599 using field_type = uint32_t;
37600 static constexpr size_t position{0};
37601 static constexpr char const *
const name{
"Offset"};
37602 static constexpr char const *
const typestr{
"uint32_t"};
37603 static constexpr bool traverse{
false};
37604 static constexpr auto mbr_ptr{&SgAsmCilFieldLayout::p_Offset};
37605 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37606 using bind = Desc<SgAsmCilFieldLayout, uint32_t SgAsmCilFieldLayout::*, &SgAsmCilFieldLayout::p_Offset>;
37610 using field_type = uint32_t;
37611 static constexpr size_t position{1};
37612 static constexpr char const *
const name{
"Field"};
37613 static constexpr char const *
const typestr{
"uint32_t"};
37614 static constexpr bool traverse{
false};
37615 static constexpr auto mbr_ptr{&SgAsmCilFieldLayout::p_Field};
37616 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37617 using bind = Desc<SgAsmCilFieldLayout, uint32_t SgAsmCilFieldLayout::*, &SgAsmCilFieldLayout::p_Field>;
37622 static constexpr char const *
const name{
"AsmCilFieldLayout"};
37623 static constexpr unsigned long variant{966};
37624 static constexpr bool concrete{
true};
37633 using field_type = uint32_t;
37634 static constexpr size_t position{0};
37635 static constexpr char const *
const name{
"Parent"};
37636 static constexpr char const *
const typestr{
"uint32_t"};
37637 static constexpr bool traverse{
false};
37638 static constexpr auto mbr_ptr{&SgAsmCilFieldMarshal::p_Parent};
37639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37640 using bind = Desc<SgAsmCilFieldMarshal, uint32_t SgAsmCilFieldMarshal::*, &SgAsmCilFieldMarshal::p_Parent>;
37644 using field_type = uint32_t;
37645 static constexpr size_t position{1};
37646 static constexpr char const *
const name{
"NativeType"};
37647 static constexpr char const *
const typestr{
"uint32_t"};
37648 static constexpr bool traverse{
false};
37649 static constexpr auto mbr_ptr{&SgAsmCilFieldMarshal::p_NativeType};
37650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37651 using bind = Desc<SgAsmCilFieldMarshal, uint32_t SgAsmCilFieldMarshal::*, &SgAsmCilFieldMarshal::p_NativeType>;
37656 static constexpr char const *
const name{
"AsmCilFieldMarshal"};
37657 static constexpr unsigned long variant{967};
37658 static constexpr bool concrete{
true};
37667 using field_type = uint32_t;
37668 static constexpr size_t position{0};
37669 static constexpr char const *
const name{
"RVA"};
37670 static constexpr char const *
const typestr{
"uint32_t"};
37671 static constexpr bool traverse{
false};
37672 static constexpr auto mbr_ptr{&SgAsmCilFieldRVA::p_RVA};
37673 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37674 using bind = Desc<SgAsmCilFieldRVA, uint32_t SgAsmCilFieldRVA::*, &SgAsmCilFieldRVA::p_RVA>;
37678 using field_type = uint32_t;
37679 static constexpr size_t position{1};
37680 static constexpr char const *
const name{
"Field"};
37681 static constexpr char const *
const typestr{
"uint32_t"};
37682 static constexpr bool traverse{
false};
37683 static constexpr auto mbr_ptr{&SgAsmCilFieldRVA::p_Field};
37684 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37685 using bind = Desc<SgAsmCilFieldRVA, uint32_t SgAsmCilFieldRVA::*, &SgAsmCilFieldRVA::p_Field>;
37690 static constexpr char const *
const name{
"AsmCilFieldRVA"};
37691 static constexpr unsigned long variant{968};
37692 static constexpr bool concrete{
true};
37701 using field_type = uint32_t;
37702 static constexpr size_t position{0};
37703 static constexpr char const *
const name{
"Flags"};
37704 static constexpr char const *
const typestr{
"uint32_t"};
37705 static constexpr bool traverse{
false};
37706 static constexpr auto mbr_ptr{&SgAsmCilFile::p_Flags};
37707 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37708 using bind = Desc<SgAsmCilFile, uint32_t SgAsmCilFile::*, &SgAsmCilFile::p_Flags>;
37712 using field_type = uint32_t;
37713 static constexpr size_t position{1};
37714 static constexpr char const *
const name{
"Name"};
37715 static constexpr char const *
const typestr{
"uint32_t"};
37716 static constexpr bool traverse{
false};
37717 static constexpr auto mbr_ptr{&SgAsmCilFile::p_Name};
37718 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37719 using bind = Desc<SgAsmCilFile, uint32_t SgAsmCilFile::*, &SgAsmCilFile::p_Name>;
37723 using field_type = uint32_t;
37724 static constexpr size_t position{2};
37725 static constexpr char const *
const name{
"HashValue"};
37726 static constexpr char const *
const typestr{
"uint32_t"};
37727 static constexpr bool traverse{
false};
37728 static constexpr auto mbr_ptr{&SgAsmCilFile::p_HashValue};
37729 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37730 using bind = Desc<SgAsmCilFile, uint32_t SgAsmCilFile::*, &SgAsmCilFile::p_HashValue>;
37735 static constexpr char const *
const name{
"AsmCilFile"};
37736 static constexpr unsigned long variant{969};
37737 static constexpr bool concrete{
true};
37746 using field_type = uint16_t;
37747 static constexpr size_t position{0};
37748 static constexpr char const *
const name{
"Number"};
37749 static constexpr char const *
const typestr{
"uint16_t"};
37750 static constexpr bool traverse{
false};
37751 static constexpr auto mbr_ptr{&SgAsmCilGenericParam::p_Number};
37752 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37753 using bind = Desc<SgAsmCilGenericParam, uint16_t SgAsmCilGenericParam::*, &SgAsmCilGenericParam::p_Number>;
37757 using field_type = uint16_t;
37758 static constexpr size_t position{1};
37759 static constexpr char const *
const name{
"Flags"};
37760 static constexpr char const *
const typestr{
"uint16_t"};
37761 static constexpr bool traverse{
false};
37762 static constexpr auto mbr_ptr{&SgAsmCilGenericParam::p_Flags};
37763 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37764 using bind = Desc<SgAsmCilGenericParam, uint16_t SgAsmCilGenericParam::*, &SgAsmCilGenericParam::p_Flags>;
37768 using field_type = uint32_t;
37769 static constexpr size_t position{2};
37770 static constexpr char const *
const name{
"Owner"};
37771 static constexpr char const *
const typestr{
"uint32_t"};
37772 static constexpr bool traverse{
false};
37773 static constexpr auto mbr_ptr{&SgAsmCilGenericParam::p_Owner};
37774 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37775 using bind = Desc<SgAsmCilGenericParam, uint32_t SgAsmCilGenericParam::*, &SgAsmCilGenericParam::p_Owner>;
37779 using field_type = uint32_t;
37780 static constexpr size_t position{3};
37781 static constexpr char const *
const name{
"Name"};
37782 static constexpr char const *
const typestr{
"uint32_t"};
37783 static constexpr bool traverse{
false};
37784 static constexpr auto mbr_ptr{&SgAsmCilGenericParam::p_Name};
37785 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37786 using bind = Desc<SgAsmCilGenericParam, uint32_t SgAsmCilGenericParam::*, &SgAsmCilGenericParam::p_Name>;
37791 static constexpr char const *
const name{
"AsmCilGenericParam"};
37792 static constexpr unsigned long variant{970};
37793 static constexpr bool concrete{
true};
37795 using fields_t =
mp::List<describe_field_t<SgAsmCilGenericParam,uint16_t,&SgAsmCilGenericParam::p_Number>,
describe_field_t<SgAsmCilGenericParam,uint16_t,&SgAsmCilGenericParam::p_Flags>,
describe_field_t<SgAsmCilGenericParam,uint32_t,&SgAsmCilGenericParam::p_Owner>,
describe_field_t<SgAsmCilGenericParam,uint32_t,&SgAsmCilGenericParam::p_Name>>;
37802 using field_type = uint32_t;
37803 static constexpr size_t position{0};
37804 static constexpr char const *
const name{
"Owner"};
37805 static constexpr char const *
const typestr{
"uint32_t"};
37806 static constexpr bool traverse{
false};
37807 static constexpr auto mbr_ptr{&SgAsmCilGenericParamConstraint::p_Owner};
37808 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37809 using bind = Desc<SgAsmCilGenericParamConstraint, uint32_t SgAsmCilGenericParamConstraint::*, &SgAsmCilGenericParamConstraint::p_Owner>;
37813 using field_type = uint32_t;
37814 static constexpr size_t position{1};
37815 static constexpr char const *
const name{
"Constraint"};
37816 static constexpr char const *
const typestr{
"uint32_t"};
37817 static constexpr bool traverse{
false};
37818 static constexpr auto mbr_ptr{&SgAsmCilGenericParamConstraint::p_Constraint};
37819 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37820 using bind = Desc<SgAsmCilGenericParamConstraint, uint32_t SgAsmCilGenericParamConstraint::*, &SgAsmCilGenericParamConstraint::p_Constraint>;
37825 static constexpr char const *
const name{
"AsmCilGenericParamConstraint"};
37826 static constexpr unsigned long variant{971};
37827 static constexpr bool concrete{
true};
37836 using field_type = uint16_t;
37837 static constexpr size_t position{0};
37838 static constexpr char const *
const name{
"MappingFlags"};
37839 static constexpr char const *
const typestr{
"uint16_t"};
37840 static constexpr bool traverse{
false};
37841 static constexpr auto mbr_ptr{&SgAsmCilImplMap::p_MappingFlags};
37842 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37843 using bind = Desc<SgAsmCilImplMap, uint16_t SgAsmCilImplMap::*, &SgAsmCilImplMap::p_MappingFlags>;
37847 using field_type = uint32_t;
37848 static constexpr size_t position{1};
37849 static constexpr char const *
const name{
"MemberForwarded"};
37850 static constexpr char const *
const typestr{
"uint32_t"};
37851 static constexpr bool traverse{
false};
37852 static constexpr auto mbr_ptr{&SgAsmCilImplMap::p_MemberForwarded};
37853 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37854 using bind = Desc<SgAsmCilImplMap, uint32_t SgAsmCilImplMap::*, &SgAsmCilImplMap::p_MemberForwarded>;
37858 using field_type = uint32_t;
37859 static constexpr size_t position{2};
37860 static constexpr char const *
const name{
"ImportName"};
37861 static constexpr char const *
const typestr{
"uint32_t"};
37862 static constexpr bool traverse{
false};
37863 static constexpr auto mbr_ptr{&SgAsmCilImplMap::p_ImportName};
37864 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37865 using bind = Desc<SgAsmCilImplMap, uint32_t SgAsmCilImplMap::*, &SgAsmCilImplMap::p_ImportName>;
37869 using field_type = uint32_t;
37870 static constexpr size_t position{3};
37871 static constexpr char const *
const name{
"ImportScope"};
37872 static constexpr char const *
const typestr{
"uint32_t"};
37873 static constexpr bool traverse{
false};
37874 static constexpr auto mbr_ptr{&SgAsmCilImplMap::p_ImportScope};
37875 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37876 using bind = Desc<SgAsmCilImplMap, uint32_t SgAsmCilImplMap::*, &SgAsmCilImplMap::p_ImportScope>;
37881 static constexpr char const *
const name{
"AsmCilImplMap"};
37882 static constexpr unsigned long variant{972};
37883 static constexpr bool concrete{
true};
37885 using fields_t =
mp::List<describe_field_t<SgAsmCilImplMap,uint16_t,&SgAsmCilImplMap::p_MappingFlags>,
describe_field_t<SgAsmCilImplMap,uint32_t,&SgAsmCilImplMap::p_MemberForwarded>,
describe_field_t<SgAsmCilImplMap,uint32_t,&SgAsmCilImplMap::p_ImportName>,
describe_field_t<SgAsmCilImplMap,uint32_t,&SgAsmCilImplMap::p_ImportScope>>;
37892 using field_type = uint32_t;
37893 static constexpr size_t position{0};
37894 static constexpr char const *
const name{
"Class"};
37895 static constexpr char const *
const typestr{
"uint32_t"};
37896 static constexpr bool traverse{
false};
37897 static constexpr auto mbr_ptr{&SgAsmCilInterfaceImpl::p_Class};
37898 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37899 using bind = Desc<SgAsmCilInterfaceImpl, uint32_t SgAsmCilInterfaceImpl::*, &SgAsmCilInterfaceImpl::p_Class>;
37903 using field_type = uint32_t;
37904 static constexpr size_t position{1};
37905 static constexpr char const *
const name{
"Interface"};
37906 static constexpr char const *
const typestr{
"uint32_t"};
37907 static constexpr bool traverse{
false};
37908 static constexpr auto mbr_ptr{&SgAsmCilInterfaceImpl::p_Interface};
37909 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37910 using bind = Desc<SgAsmCilInterfaceImpl, uint32_t SgAsmCilInterfaceImpl::*, &SgAsmCilInterfaceImpl::p_Interface>;
37915 static constexpr char const *
const name{
"AsmCilInterfaceImpl"};
37916 static constexpr unsigned long variant{973};
37917 static constexpr bool concrete{
true};
37926 using field_type = uint32_t;
37927 static constexpr size_t position{0};
37928 static constexpr char const *
const name{
"Offset"};
37929 static constexpr char const *
const typestr{
"uint32_t"};
37930 static constexpr bool traverse{
false};
37931 static constexpr auto mbr_ptr{&SgAsmCilManifestResource::p_Offset};
37932 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37933 using bind = Desc<SgAsmCilManifestResource, uint32_t SgAsmCilManifestResource::*, &SgAsmCilManifestResource::p_Offset>;
37937 using field_type = uint32_t;
37938 static constexpr size_t position{1};
37939 static constexpr char const *
const name{
"Flags"};
37940 static constexpr char const *
const typestr{
"uint32_t"};
37941 static constexpr bool traverse{
false};
37942 static constexpr auto mbr_ptr{&SgAsmCilManifestResource::p_Flags};
37943 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37944 using bind = Desc<SgAsmCilManifestResource, uint32_t SgAsmCilManifestResource::*, &SgAsmCilManifestResource::p_Flags>;
37948 using field_type = uint32_t;
37949 static constexpr size_t position{2};
37950 static constexpr char const *
const name{
"Name"};
37951 static constexpr char const *
const typestr{
"uint32_t"};
37952 static constexpr bool traverse{
false};
37953 static constexpr auto mbr_ptr{&SgAsmCilManifestResource::p_Name};
37954 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37955 using bind = Desc<SgAsmCilManifestResource, uint32_t SgAsmCilManifestResource::*, &SgAsmCilManifestResource::p_Name>;
37959 using field_type = uint32_t;
37960 static constexpr size_t position{3};
37961 static constexpr char const *
const name{
"Implementation"};
37962 static constexpr char const *
const typestr{
"uint32_t"};
37963 static constexpr bool traverse{
false};
37964 static constexpr auto mbr_ptr{&SgAsmCilManifestResource::p_Implementation};
37965 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37966 using bind = Desc<SgAsmCilManifestResource, uint32_t SgAsmCilManifestResource::*, &SgAsmCilManifestResource::p_Implementation>;
37971 static constexpr char const *
const name{
"AsmCilManifestResource"};
37972 static constexpr unsigned long variant{974};
37973 static constexpr bool concrete{
true};
37975 using fields_t =
mp::List<describe_field_t<SgAsmCilManifestResource,uint32_t,&SgAsmCilManifestResource::p_Offset>,
describe_field_t<SgAsmCilManifestResource,uint32_t,&SgAsmCilManifestResource::p_Flags>,
describe_field_t<SgAsmCilManifestResource,uint32_t,&SgAsmCilManifestResource::p_Name>,
describe_field_t<SgAsmCilManifestResource,uint32_t,&SgAsmCilManifestResource::p_Implementation>>;
37982 using field_type = uint32_t;
37983 static constexpr size_t position{0};
37984 static constexpr char const *
const name{
"Class"};
37985 static constexpr char const *
const typestr{
"uint32_t"};
37986 static constexpr bool traverse{
false};
37987 static constexpr auto mbr_ptr{&SgAsmCilMemberRef::p_Class};
37988 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
37989 using bind = Desc<SgAsmCilMemberRef, uint32_t SgAsmCilMemberRef::*, &SgAsmCilMemberRef::p_Class>;
37993 using field_type = uint32_t;
37994 static constexpr size_t position{1};
37995 static constexpr char const *
const name{
"Name"};
37996 static constexpr char const *
const typestr{
"uint32_t"};
37997 static constexpr bool traverse{
false};
37998 static constexpr auto mbr_ptr{&SgAsmCilMemberRef::p_Name};
37999 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38000 using bind = Desc<SgAsmCilMemberRef, uint32_t SgAsmCilMemberRef::*, &SgAsmCilMemberRef::p_Name>;
38004 using field_type = uint32_t;
38005 static constexpr size_t position{2};
38006 static constexpr char const *
const name{
"Signature"};
38007 static constexpr char const *
const typestr{
"uint32_t"};
38008 static constexpr bool traverse{
false};
38009 static constexpr auto mbr_ptr{&SgAsmCilMemberRef::p_Signature};
38010 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38011 using bind = Desc<SgAsmCilMemberRef, uint32_t SgAsmCilMemberRef::*, &SgAsmCilMemberRef::p_Signature>;
38016 static constexpr char const *
const name{
"AsmCilMemberRef"};
38017 static constexpr unsigned long variant{975};
38018 static constexpr bool concrete{
true};
38027 using field_type = uint32_t;
38028 static constexpr size_t position{0};
38029 static constexpr char const *
const name{
"RVA"};
38030 static constexpr char const *
const typestr{
"uint32_t"};
38031 static constexpr bool traverse{
false};
38032 static constexpr auto mbr_ptr{&SgAsmCilMethodDef::p_RVA};
38033 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38034 using bind = Desc<SgAsmCilMethodDef, uint32_t SgAsmCilMethodDef::*, &SgAsmCilMethodDef::p_RVA>;
38038 using field_type = uint32_t;
38039 static constexpr size_t position{1};
38040 static constexpr char const *
const name{
"ImplFlags"};
38041 static constexpr char const *
const typestr{
"uint32_t"};
38042 static constexpr bool traverse{
false};
38043 static constexpr auto mbr_ptr{&SgAsmCilMethodDef::p_ImplFlags};
38044 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38045 using bind = Desc<SgAsmCilMethodDef, uint32_t SgAsmCilMethodDef::*, &SgAsmCilMethodDef::p_ImplFlags>;
38049 using field_type = uint16_t;
38050 static constexpr size_t position{2};
38051 static constexpr char const *
const name{
"Flags"};
38052 static constexpr char const *
const typestr{
"uint16_t"};
38053 static constexpr bool traverse{
false};
38054 static constexpr auto mbr_ptr{&SgAsmCilMethodDef::p_Flags};
38055 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38056 using bind = Desc<SgAsmCilMethodDef, uint16_t SgAsmCilMethodDef::*, &SgAsmCilMethodDef::p_Flags>;
38060 using field_type = uint32_t;
38061 static constexpr size_t position{3};
38062 static constexpr char const *
const name{
"Name"};
38063 static constexpr char const *
const typestr{
"uint32_t"};
38064 static constexpr bool traverse{
false};
38065 static constexpr auto mbr_ptr{&SgAsmCilMethodDef::p_Name};
38066 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38067 using bind = Desc<SgAsmCilMethodDef, uint32_t SgAsmCilMethodDef::*, &SgAsmCilMethodDef::p_Name>;
38071 using field_type = uint32_t;
38072 static constexpr size_t position{4};
38073 static constexpr char const *
const name{
"Signature"};
38074 static constexpr char const *
const typestr{
"uint32_t"};
38075 static constexpr bool traverse{
false};
38076 static constexpr auto mbr_ptr{&SgAsmCilMethodDef::p_Signature};
38077 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38078 using bind = Desc<SgAsmCilMethodDef, uint32_t SgAsmCilMethodDef::*, &SgAsmCilMethodDef::p_Signature>;
38082 using field_type = uint32_t;
38083 static constexpr size_t position{5};
38084 static constexpr char const *
const name{
"ParamList"};
38085 static constexpr char const *
const typestr{
"uint32_t"};
38086 static constexpr bool traverse{
false};
38087 static constexpr auto mbr_ptr{&SgAsmCilMethodDef::p_ParamList};
38088 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38089 using bind = Desc<SgAsmCilMethodDef, uint32_t SgAsmCilMethodDef::*, &SgAsmCilMethodDef::p_ParamList>;
38094 static constexpr size_t position{6};
38095 static constexpr char const *
const name{
"body"};
38096 static constexpr char const *
const typestr{
"SgAsmBlock*"};
38097 static constexpr bool traverse{
false};
38098 static constexpr auto mbr_ptr{&SgAsmCilMethodDef::p_body};
38099 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38100 using bind = Desc<SgAsmCilMethodDef, SgAsmBlock* SgAsmCilMethodDef::*, &SgAsmCilMethodDef::p_body>;
38104 using field_type = bool;
38105 static constexpr size_t position{7};
38106 static constexpr char const *
const name{
"initLocals"};
38107 static constexpr char const *
const typestr{
"bool"};
38108 static constexpr bool traverse{
false};
38109 static constexpr auto mbr_ptr{&SgAsmCilMethodDef::p_initLocals};
38110 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38111 using bind = Desc<SgAsmCilMethodDef, bool SgAsmCilMethodDef::*, &SgAsmCilMethodDef::p_initLocals>;
38115 using field_type = uint32_t;
38116 static constexpr size_t position{8};
38117 static constexpr char const *
const name{
"stackSize"};
38118 static constexpr char const *
const typestr{
"uint32_t"};
38119 static constexpr bool traverse{
false};
38120 static constexpr auto mbr_ptr{&SgAsmCilMethodDef::p_stackSize};
38121 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38122 using bind = Desc<SgAsmCilMethodDef, uint32_t SgAsmCilMethodDef::*, &SgAsmCilMethodDef::p_stackSize>;
38126 using field_type = bool;
38127 static constexpr size_t position{9};
38128 static constexpr char const *
const name{
"hasMoreSections"};
38129 static constexpr char const *
const typestr{
"bool"};
38130 static constexpr bool traverse{
false};
38131 static constexpr auto mbr_ptr{&SgAsmCilMethodDef::p_hasMoreSections};
38132 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38133 using bind = Desc<SgAsmCilMethodDef, bool SgAsmCilMethodDef::*, &SgAsmCilMethodDef::p_hasMoreSections>;
38138 static constexpr char const *
const name{
"AsmCilMethodDef"};
38139 static constexpr unsigned long variant{976};
38140 static constexpr bool concrete{
true};
38142 using fields_t =
mp::List<describe_field_t<SgAsmCilMethodDef,uint32_t,&SgAsmCilMethodDef::p_RVA>,
describe_field_t<SgAsmCilMethodDef,uint32_t,&SgAsmCilMethodDef::p_ImplFlags>,
describe_field_t<SgAsmCilMethodDef,uint16_t,&SgAsmCilMethodDef::p_Flags>,
describe_field_t<SgAsmCilMethodDef,uint32_t,&SgAsmCilMethodDef::p_Name>,
describe_field_t<SgAsmCilMethodDef,uint32_t,&SgAsmCilMethodDef::p_Signature>,
describe_field_t<SgAsmCilMethodDef,uint32_t,&SgAsmCilMethodDef::p_ParamList>,
describe_field_t<SgAsmCilMethodDef,SgAsmBlock*,&SgAsmCilMethodDef::p_body>,
describe_field_t<SgAsmCilMethodDef,bool,&SgAsmCilMethodDef::p_initLocals>,
describe_field_t<SgAsmCilMethodDef,uint32_t,&SgAsmCilMethodDef::p_stackSize>,
describe_field_t<SgAsmCilMethodDef,bool,&SgAsmCilMethodDef::p_hasMoreSections>>;
38149 using field_type = uint32_t;
38150 static constexpr size_t position{0};
38151 static constexpr char const *
const name{
"Class"};
38152 static constexpr char const *
const typestr{
"uint32_t"};
38153 static constexpr bool traverse{
false};
38154 static constexpr auto mbr_ptr{&SgAsmCilMethodImpl::p_Class};
38155 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38156 using bind = Desc<SgAsmCilMethodImpl, uint32_t SgAsmCilMethodImpl::*, &SgAsmCilMethodImpl::p_Class>;
38160 using field_type = uint32_t;
38161 static constexpr size_t position{1};
38162 static constexpr char const *
const name{
"MethodBody"};
38163 static constexpr char const *
const typestr{
"uint32_t"};
38164 static constexpr bool traverse{
false};
38165 static constexpr auto mbr_ptr{&SgAsmCilMethodImpl::p_MethodBody};
38166 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38167 using bind = Desc<SgAsmCilMethodImpl, uint32_t SgAsmCilMethodImpl::*, &SgAsmCilMethodImpl::p_MethodBody>;
38171 using field_type = uint32_t;
38172 static constexpr size_t position{2};
38173 static constexpr char const *
const name{
"MethodDeclaration"};
38174 static constexpr char const *
const typestr{
"uint32_t"};
38175 static constexpr bool traverse{
false};
38176 static constexpr auto mbr_ptr{&SgAsmCilMethodImpl::p_MethodDeclaration};
38177 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38178 using bind = Desc<SgAsmCilMethodImpl, uint32_t SgAsmCilMethodImpl::*, &SgAsmCilMethodImpl::p_MethodDeclaration>;
38183 static constexpr char const *
const name{
"AsmCilMethodImpl"};
38184 static constexpr unsigned long variant{977};
38185 static constexpr bool concrete{
true};
38194 using field_type = uint16_t;
38195 static constexpr size_t position{0};
38196 static constexpr char const *
const name{
"Semantics"};
38197 static constexpr char const *
const typestr{
"uint16_t"};
38198 static constexpr bool traverse{
false};
38199 static constexpr auto mbr_ptr{&SgAsmCilMethodSemantics::p_Semantics};
38200 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38201 using bind = Desc<SgAsmCilMethodSemantics, uint16_t SgAsmCilMethodSemantics::*, &SgAsmCilMethodSemantics::p_Semantics>;
38205 using field_type = uint32_t;
38206 static constexpr size_t position{1};
38207 static constexpr char const *
const name{
"Method"};
38208 static constexpr char const *
const typestr{
"uint32_t"};
38209 static constexpr bool traverse{
false};
38210 static constexpr auto mbr_ptr{&SgAsmCilMethodSemantics::p_Method};
38211 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38212 using bind = Desc<SgAsmCilMethodSemantics, uint32_t SgAsmCilMethodSemantics::*, &SgAsmCilMethodSemantics::p_Method>;
38216 using field_type = uint32_t;
38217 static constexpr size_t position{2};
38218 static constexpr char const *
const name{
"Association"};
38219 static constexpr char const *
const typestr{
"uint32_t"};
38220 static constexpr bool traverse{
false};
38221 static constexpr auto mbr_ptr{&SgAsmCilMethodSemantics::p_Association};
38222 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38223 using bind = Desc<SgAsmCilMethodSemantics, uint32_t SgAsmCilMethodSemantics::*, &SgAsmCilMethodSemantics::p_Association>;
38228 static constexpr char const *
const name{
"AsmCilMethodSemantics"};
38229 static constexpr unsigned long variant{978};
38230 static constexpr bool concrete{
true};
38239 using field_type = uint32_t;
38240 static constexpr size_t position{0};
38241 static constexpr char const *
const name{
"Method"};
38242 static constexpr char const *
const typestr{
"uint32_t"};
38243 static constexpr bool traverse{
false};
38244 static constexpr auto mbr_ptr{&SgAsmCilMethodSpec::p_Method};
38245 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38246 using bind = Desc<SgAsmCilMethodSpec, uint32_t SgAsmCilMethodSpec::*, &SgAsmCilMethodSpec::p_Method>;
38250 using field_type = uint32_t;
38251 static constexpr size_t position{1};
38252 static constexpr char const *
const name{
"Instantiation"};
38253 static constexpr char const *
const typestr{
"uint32_t"};
38254 static constexpr bool traverse{
false};
38255 static constexpr auto mbr_ptr{&SgAsmCilMethodSpec::p_Instantiation};
38256 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38257 using bind = Desc<SgAsmCilMethodSpec, uint32_t SgAsmCilMethodSpec::*, &SgAsmCilMethodSpec::p_Instantiation>;
38262 static constexpr char const *
const name{
"AsmCilMethodSpec"};
38263 static constexpr unsigned long variant{979};
38264 static constexpr bool concrete{
true};
38273 using field_type = uint16_t;
38274 static constexpr size_t position{0};
38275 static constexpr char const *
const name{
"Generation"};
38276 static constexpr char const *
const typestr{
"uint16_t"};
38277 static constexpr bool traverse{
false};
38278 static constexpr auto mbr_ptr{&SgAsmCilModule::p_Generation};
38279 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38280 using bind = Desc<SgAsmCilModule, uint16_t SgAsmCilModule::*, &SgAsmCilModule::p_Generation>;
38284 using field_type = uint32_t;
38285 static constexpr size_t position{1};
38286 static constexpr char const *
const name{
"Name"};
38287 static constexpr char const *
const typestr{
"uint32_t"};
38288 static constexpr bool traverse{
false};
38289 static constexpr auto mbr_ptr{&SgAsmCilModule::p_Name};
38290 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38291 using bind = Desc<SgAsmCilModule, uint32_t SgAsmCilModule::*, &SgAsmCilModule::p_Name>;
38295 using field_type = uint32_t;
38296 static constexpr size_t position{2};
38297 static constexpr char const *
const name{
"Mvid"};
38298 static constexpr char const *
const typestr{
"uint32_t"};
38299 static constexpr bool traverse{
false};
38300 static constexpr auto mbr_ptr{&SgAsmCilModule::p_Mvid};
38301 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38302 using bind = Desc<SgAsmCilModule, uint32_t SgAsmCilModule::*, &SgAsmCilModule::p_Mvid>;
38306 using field_type = uint32_t;
38307 static constexpr size_t position{3};
38308 static constexpr char const *
const name{
"Encld"};
38309 static constexpr char const *
const typestr{
"uint32_t"};
38310 static constexpr bool traverse{
false};
38311 static constexpr auto mbr_ptr{&SgAsmCilModule::p_Encld};
38312 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38313 using bind = Desc<SgAsmCilModule, uint32_t SgAsmCilModule::*, &SgAsmCilModule::p_Encld>;
38317 using field_type = uint32_t;
38318 static constexpr size_t position{4};
38319 static constexpr char const *
const name{
"EncBaseId"};
38320 static constexpr char const *
const typestr{
"uint32_t"};
38321 static constexpr bool traverse{
false};
38322 static constexpr auto mbr_ptr{&SgAsmCilModule::p_EncBaseId};
38323 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38324 using bind = Desc<SgAsmCilModule, uint32_t SgAsmCilModule::*, &SgAsmCilModule::p_EncBaseId>;
38329 static constexpr char const *
const name{
"AsmCilModule"};
38330 static constexpr unsigned long variant{980};
38331 static constexpr bool concrete{
true};
38333 using fields_t =
mp::List<describe_field_t<SgAsmCilModule,uint16_t,&SgAsmCilModule::p_Generation>,
describe_field_t<SgAsmCilModule,uint32_t,&SgAsmCilModule::p_Name>,
describe_field_t<SgAsmCilModule,uint32_t,&SgAsmCilModule::p_Mvid>,
describe_field_t<SgAsmCilModule,uint32_t,&SgAsmCilModule::p_Encld>,
describe_field_t<SgAsmCilModule,uint32_t,&SgAsmCilModule::p_EncBaseId>>;
38340 using field_type = uint32_t;
38341 static constexpr size_t position{0};
38342 static constexpr char const *
const name{
"Name"};
38343 static constexpr char const *
const typestr{
"uint32_t"};
38344 static constexpr bool traverse{
false};
38345 static constexpr auto mbr_ptr{&SgAsmCilModuleRef::p_Name};
38346 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38347 using bind = Desc<SgAsmCilModuleRef, uint32_t SgAsmCilModuleRef::*, &SgAsmCilModuleRef::p_Name>;
38352 static constexpr char const *
const name{
"AsmCilModuleRef"};
38353 static constexpr unsigned long variant{981};
38354 static constexpr bool concrete{
true};
38363 using field_type = uint32_t;
38364 static constexpr size_t position{0};
38365 static constexpr char const *
const name{
"NestedClass"};
38366 static constexpr char const *
const typestr{
"uint32_t"};
38367 static constexpr bool traverse{
false};
38368 static constexpr auto mbr_ptr{&SgAsmCilNestedClass::p_NestedClass};
38369 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38370 using bind = Desc<SgAsmCilNestedClass, uint32_t SgAsmCilNestedClass::*, &SgAsmCilNestedClass::p_NestedClass>;
38374 using field_type = uint32_t;
38375 static constexpr size_t position{1};
38376 static constexpr char const *
const name{
"EnclosingClass"};
38377 static constexpr char const *
const typestr{
"uint32_t"};
38378 static constexpr bool traverse{
false};
38379 static constexpr auto mbr_ptr{&SgAsmCilNestedClass::p_EnclosingClass};
38380 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38381 using bind = Desc<SgAsmCilNestedClass, uint32_t SgAsmCilNestedClass::*, &SgAsmCilNestedClass::p_EnclosingClass>;
38386 static constexpr char const *
const name{
"AsmCilNestedClass"};
38387 static constexpr unsigned long variant{982};
38388 static constexpr bool concrete{
true};
38397 using field_type = uint16_t;
38398 static constexpr size_t position{0};
38399 static constexpr char const *
const name{
"Flags"};
38400 static constexpr char const *
const typestr{
"uint16_t"};
38401 static constexpr bool traverse{
false};
38402 static constexpr auto mbr_ptr{&SgAsmCilParam::p_Flags};
38403 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38404 using bind = Desc<SgAsmCilParam, uint16_t SgAsmCilParam::*, &SgAsmCilParam::p_Flags>;
38408 using field_type = uint16_t;
38409 static constexpr size_t position{1};
38410 static constexpr char const *
const name{
"Sequence"};
38411 static constexpr char const *
const typestr{
"uint16_t"};
38412 static constexpr bool traverse{
false};
38413 static constexpr auto mbr_ptr{&SgAsmCilParam::p_Sequence};
38414 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38415 using bind = Desc<SgAsmCilParam, uint16_t SgAsmCilParam::*, &SgAsmCilParam::p_Sequence>;
38419 using field_type = uint32_t;
38420 static constexpr size_t position{2};
38421 static constexpr char const *
const name{
"Name"};
38422 static constexpr char const *
const typestr{
"uint32_t"};
38423 static constexpr bool traverse{
false};
38424 static constexpr auto mbr_ptr{&SgAsmCilParam::p_Name};
38425 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38426 using bind = Desc<SgAsmCilParam, uint32_t SgAsmCilParam::*, &SgAsmCilParam::p_Name>;
38431 static constexpr char const *
const name{
"AsmCilParam"};
38432 static constexpr unsigned long variant{983};
38433 static constexpr bool concrete{
true};
38442 using field_type = uint16_t;
38443 static constexpr size_t position{0};
38444 static constexpr char const *
const name{
"Flags"};
38445 static constexpr char const *
const typestr{
"uint16_t"};
38446 static constexpr bool traverse{
false};
38447 static constexpr auto mbr_ptr{&SgAsmCilProperty::p_Flags};
38448 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38449 using bind = Desc<SgAsmCilProperty, uint16_t SgAsmCilProperty::*, &SgAsmCilProperty::p_Flags>;
38453 using field_type = uint32_t;
38454 static constexpr size_t position{1};
38455 static constexpr char const *
const name{
"Name"};
38456 static constexpr char const *
const typestr{
"uint32_t"};
38457 static constexpr bool traverse{
false};
38458 static constexpr auto mbr_ptr{&SgAsmCilProperty::p_Name};
38459 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38460 using bind = Desc<SgAsmCilProperty, uint32_t SgAsmCilProperty::*, &SgAsmCilProperty::p_Name>;
38464 using field_type = uint32_t;
38465 static constexpr size_t position{2};
38466 static constexpr char const *
const name{
"Type"};
38467 static constexpr char const *
const typestr{
"uint32_t"};
38468 static constexpr bool traverse{
false};
38469 static constexpr auto mbr_ptr{&SgAsmCilProperty::p_Type};
38470 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38471 using bind = Desc<SgAsmCilProperty, uint32_t SgAsmCilProperty::*, &SgAsmCilProperty::p_Type>;
38476 static constexpr char const *
const name{
"AsmCilProperty"};
38477 static constexpr unsigned long variant{984};
38478 static constexpr bool concrete{
true};
38487 using field_type = uint32_t;
38488 static constexpr size_t position{0};
38489 static constexpr char const *
const name{
"Parent"};
38490 static constexpr char const *
const typestr{
"uint32_t"};
38491 static constexpr bool traverse{
false};
38492 static constexpr auto mbr_ptr{&SgAsmCilPropertyMap::p_Parent};
38493 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38494 using bind = Desc<SgAsmCilPropertyMap, uint32_t SgAsmCilPropertyMap::*, &SgAsmCilPropertyMap::p_Parent>;
38498 using field_type = uint32_t;
38499 static constexpr size_t position{1};
38500 static constexpr char const *
const name{
"PropertyList"};
38501 static constexpr char const *
const typestr{
"uint32_t"};
38502 static constexpr bool traverse{
false};
38503 static constexpr auto mbr_ptr{&SgAsmCilPropertyMap::p_PropertyList};
38504 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38505 using bind = Desc<SgAsmCilPropertyMap, uint32_t SgAsmCilPropertyMap::*, &SgAsmCilPropertyMap::p_PropertyList>;
38510 static constexpr char const *
const name{
"AsmCilPropertyMap"};
38511 static constexpr unsigned long variant{985};
38512 static constexpr bool concrete{
true};
38521 using field_type = uint32_t;
38522 static constexpr size_t position{0};
38523 static constexpr char const *
const name{
"Signature"};
38524 static constexpr char const *
const typestr{
"uint32_t"};
38525 static constexpr bool traverse{
false};
38526 static constexpr auto mbr_ptr{&SgAsmCilStandAloneSig::p_Signature};
38527 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38528 using bind = Desc<SgAsmCilStandAloneSig, uint32_t SgAsmCilStandAloneSig::*, &SgAsmCilStandAloneSig::p_Signature>;
38533 static constexpr char const *
const name{
"AsmCilStandAloneSig"};
38534 static constexpr unsigned long variant{986};
38535 static constexpr bool concrete{
true};
38544 using field_type = uint32_t;
38545 static constexpr size_t position{0};
38546 static constexpr char const *
const name{
"Flags"};
38547 static constexpr char const *
const typestr{
"uint32_t"};
38548 static constexpr bool traverse{
false};
38549 static constexpr auto mbr_ptr{&SgAsmCilTypeDef::p_Flags};
38550 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38551 using bind = Desc<SgAsmCilTypeDef, uint32_t SgAsmCilTypeDef::*, &SgAsmCilTypeDef::p_Flags>;
38555 using field_type = uint32_t;
38556 static constexpr size_t position{1};
38557 static constexpr char const *
const name{
"TypeName"};
38558 static constexpr char const *
const typestr{
"uint32_t"};
38559 static constexpr bool traverse{
false};
38560 static constexpr auto mbr_ptr{&SgAsmCilTypeDef::p_TypeName};
38561 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38562 using bind = Desc<SgAsmCilTypeDef, uint32_t SgAsmCilTypeDef::*, &SgAsmCilTypeDef::p_TypeName>;
38566 using field_type = uint32_t;
38567 static constexpr size_t position{2};
38568 static constexpr char const *
const name{
"TypeNamespace"};
38569 static constexpr char const *
const typestr{
"uint32_t"};
38570 static constexpr bool traverse{
false};
38571 static constexpr auto mbr_ptr{&SgAsmCilTypeDef::p_TypeNamespace};
38572 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38573 using bind = Desc<SgAsmCilTypeDef, uint32_t SgAsmCilTypeDef::*, &SgAsmCilTypeDef::p_TypeNamespace>;
38577 using field_type = uint32_t;
38578 static constexpr size_t position{3};
38579 static constexpr char const *
const name{
"Extends"};
38580 static constexpr char const *
const typestr{
"uint32_t"};
38581 static constexpr bool traverse{
false};
38582 static constexpr auto mbr_ptr{&SgAsmCilTypeDef::p_Extends};
38583 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38584 using bind = Desc<SgAsmCilTypeDef, uint32_t SgAsmCilTypeDef::*, &SgAsmCilTypeDef::p_Extends>;
38588 using field_type = uint32_t;
38589 static constexpr size_t position{4};
38590 static constexpr char const *
const name{
"FieldList"};
38591 static constexpr char const *
const typestr{
"uint32_t"};
38592 static constexpr bool traverse{
false};
38593 static constexpr auto mbr_ptr{&SgAsmCilTypeDef::p_FieldList};
38594 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38595 using bind = Desc<SgAsmCilTypeDef, uint32_t SgAsmCilTypeDef::*, &SgAsmCilTypeDef::p_FieldList>;
38599 using field_type = uint32_t;
38600 static constexpr size_t position{5};
38601 static constexpr char const *
const name{
"MethodList"};
38602 static constexpr char const *
const typestr{
"uint32_t"};
38603 static constexpr bool traverse{
false};
38604 static constexpr auto mbr_ptr{&SgAsmCilTypeDef::p_MethodList};
38605 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38606 using bind = Desc<SgAsmCilTypeDef, uint32_t SgAsmCilTypeDef::*, &SgAsmCilTypeDef::p_MethodList>;
38611 static constexpr char const *
const name{
"AsmCilTypeDef"};
38612 static constexpr unsigned long variant{987};
38613 static constexpr bool concrete{
true};
38615 using fields_t =
mp::List<describe_field_t<SgAsmCilTypeDef,uint32_t,&SgAsmCilTypeDef::p_Flags>,
describe_field_t<SgAsmCilTypeDef,uint32_t,&SgAsmCilTypeDef::p_TypeName>,
describe_field_t<SgAsmCilTypeDef,uint32_t,&SgAsmCilTypeDef::p_TypeNamespace>,
describe_field_t<SgAsmCilTypeDef,uint32_t,&SgAsmCilTypeDef::p_Extends>,
describe_field_t<SgAsmCilTypeDef,uint32_t,&SgAsmCilTypeDef::p_FieldList>,
describe_field_t<SgAsmCilTypeDef,uint32_t,&SgAsmCilTypeDef::p_MethodList>>;
38622 using field_type = uint16_t;
38623 static constexpr size_t position{0};
38624 static constexpr char const *
const name{
"ResolutionScope"};
38625 static constexpr char const *
const typestr{
"uint16_t"};
38626 static constexpr bool traverse{
false};
38627 static constexpr auto mbr_ptr{&SgAsmCilTypeRef::p_ResolutionScope};
38628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38629 using bind = Desc<SgAsmCilTypeRef, uint16_t SgAsmCilTypeRef::*, &SgAsmCilTypeRef::p_ResolutionScope>;
38633 using field_type = uint32_t;
38634 static constexpr size_t position{1};
38635 static constexpr char const *
const name{
"TypeName"};
38636 static constexpr char const *
const typestr{
"uint32_t"};
38637 static constexpr bool traverse{
false};
38638 static constexpr auto mbr_ptr{&SgAsmCilTypeRef::p_TypeName};
38639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38640 using bind = Desc<SgAsmCilTypeRef, uint32_t SgAsmCilTypeRef::*, &SgAsmCilTypeRef::p_TypeName>;
38644 using field_type = uint32_t;
38645 static constexpr size_t position{2};
38646 static constexpr char const *
const name{
"TypeNamespace"};
38647 static constexpr char const *
const typestr{
"uint32_t"};
38648 static constexpr bool traverse{
false};
38649 static constexpr auto mbr_ptr{&SgAsmCilTypeRef::p_TypeNamespace};
38650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38651 using bind = Desc<SgAsmCilTypeRef, uint32_t SgAsmCilTypeRef::*, &SgAsmCilTypeRef::p_TypeNamespace>;
38656 static constexpr char const *
const name{
"AsmCilTypeRef"};
38657 static constexpr unsigned long variant{988};
38658 static constexpr bool concrete{
true};
38667 using field_type = uint32_t;
38668 static constexpr size_t position{0};
38669 static constexpr char const *
const name{
"Signature"};
38670 static constexpr char const *
const typestr{
"uint32_t"};
38671 static constexpr bool traverse{
false};
38672 static constexpr auto mbr_ptr{&SgAsmCilTypeSpec::p_Signature};
38673 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38674 using bind = Desc<SgAsmCilTypeSpec, uint32_t SgAsmCilTypeSpec::*, &SgAsmCilTypeSpec::p_Signature>;
38679 static constexpr char const *
const name{
"AsmCilTypeSpec"};
38680 static constexpr unsigned long variant{989};
38681 static constexpr bool concrete{
true};
38690 using field_type = SgDeclarationStatementPtrList;
38691 static constexpr size_t position{0};
38692 static constexpr char const *
const name{
"parameters"};
38693 static constexpr char const *
const typestr{
"SgDeclarationStatementPtrList"};
38694 static constexpr bool traverse{
true};
38695 static constexpr auto mbr_ptr{&SgAdaParameterList::p_parameters};
38696 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38697 using bind = Desc<SgAdaParameterList, SgDeclarationStatementPtrList SgAdaParameterList::*, &SgAdaParameterList::p_parameters>;
38702 static constexpr char const *
const name{
"AdaParameterList"};
38703 static constexpr unsigned long variant{990};
38704 static constexpr bool concrete{
true};
38714 static constexpr char const *
const name{
"AsmCilMetadata"};
38715 static constexpr unsigned long variant{991};
38716 static constexpr bool concrete{
false};
38717 using subclasses_t =
mp::List<SgAsmCilAssembly, SgAsmCilAssemblyOS, SgAsmCilAssemblyOSTable, SgAsmCilAssemblyProcessor, SgAsmCilAssemblyProcessorTable, SgAsmCilAssemblyRef, SgAsmCilAssemblyRefOS, SgAsmCilAssemblyRefOSTable, SgAsmCilAssemblyRefProcessor, SgAsmCilAssemblyRefProcessorTable, SgAsmCilAssemblyRefTable, SgAsmCilAssemblyTable, SgAsmCilClassLayout, SgAsmCilClassLayoutTable, SgAsmCilConstant, SgAsmCilConstantTable, SgAsmCilCustomAttribute, SgAsmCilCustomAttributeTable, SgAsmCilDeclSecurity, SgAsmCilDeclSecurityTable, SgAsmCilEvent, SgAsmCilEventMap, SgAsmCilEventMapTable, SgAsmCilEventTable, SgAsmCilExportedType, SgAsmCilExportedTypeTable, SgAsmCilField, SgAsmCilFieldLayout, SgAsmCilFieldLayoutTable, SgAsmCilFieldMarshal, SgAsmCilFieldMarshalTable, SgAsmCilFieldRVA, SgAsmCilFieldRVATable, SgAsmCilFieldTable, SgAsmCilFile, SgAsmCilFileTable, SgAsmCilGenericParamConstraint, SgAsmCilGenericParamConstraintTable, SgAsmCilGenericParam, SgAsmCilGenericParamTable, SgAsmCilImplMap, SgAsmCilImplMapTable, SgAsmCilInterfaceImpl, SgAsmCilInterfaceImplTable, SgAsmCilManifestResource, SgAsmCilManifestResourceTable, SgAsmCilMemberRef, SgAsmCilMemberRefTable, SgAsmCilMethodDef, SgAsmCilMethodDefTable, SgAsmCilMethodImpl, SgAsmCilMethodImplTable, SgAsmCilMethodSemantics, SgAsmCilMethodSemanticsTable, SgAsmCilMethodSpec, SgAsmCilMethodSpecTable, SgAsmCilModule, SgAsmCilModuleRef, SgAsmCilModuleRefTable, SgAsmCilModuleTable, SgAsmCilNestedClass, SgAsmCilNestedClassTable, SgAsmCilParam, SgAsmCilParamTable, SgAsmCilProperty, SgAsmCilPropertyMap, SgAsmCilPropertyMapTable, SgAsmCilPropertyTable, SgAsmCilStandAloneSig, SgAsmCilStandAloneSigTable, SgAsmCilTypeDef, SgAsmCilTypeDefTable, SgAsmCilTypeRef, SgAsmCilTypeRefTable, SgAsmCilTypeSpec, SgAsmCilTypeSpecTable>;
38725 using field_type = uint32_t;
38726 static constexpr size_t position{0};
38727 static constexpr char const *
const name{
"Signature"};
38728 static constexpr char const *
const typestr{
"uint32_t"};
38729 static constexpr bool traverse{
false};
38730 static constexpr auto mbr_ptr{&SgAsmCilMetadataRoot::p_Signature};
38731 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38732 using bind = Desc<SgAsmCilMetadataRoot, uint32_t SgAsmCilMetadataRoot::*, &SgAsmCilMetadataRoot::p_Signature>;
38736 using field_type = uint16_t;
38737 static constexpr size_t position{1};
38738 static constexpr char const *
const name{
"MajorVersion"};
38739 static constexpr char const *
const typestr{
"uint16_t"};
38740 static constexpr bool traverse{
false};
38741 static constexpr auto mbr_ptr{&SgAsmCilMetadataRoot::p_MajorVersion};
38742 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38743 using bind = Desc<SgAsmCilMetadataRoot, uint16_t SgAsmCilMetadataRoot::*, &SgAsmCilMetadataRoot::p_MajorVersion>;
38747 using field_type = uint16_t;
38748 static constexpr size_t position{2};
38749 static constexpr char const *
const name{
"MinorVersion"};
38750 static constexpr char const *
const typestr{
"uint16_t"};
38751 static constexpr bool traverse{
false};
38752 static constexpr auto mbr_ptr{&SgAsmCilMetadataRoot::p_MinorVersion};
38753 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38754 using bind = Desc<SgAsmCilMetadataRoot, uint16_t SgAsmCilMetadataRoot::*, &SgAsmCilMetadataRoot::p_MinorVersion>;
38758 using field_type = uint32_t;
38759 static constexpr size_t position{3};
38760 static constexpr char const *
const name{
"Reserved0"};
38761 static constexpr char const *
const typestr{
"uint32_t"};
38762 static constexpr bool traverse{
false};
38763 static constexpr auto mbr_ptr{&SgAsmCilMetadataRoot::p_Reserved0};
38764 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38765 using bind = Desc<SgAsmCilMetadataRoot, uint32_t SgAsmCilMetadataRoot::*, &SgAsmCilMetadataRoot::p_Reserved0>;
38769 using field_type = uint32_t;
38770 static constexpr size_t position{4};
38771 static constexpr char const *
const name{
"Length"};
38772 static constexpr char const *
const typestr{
"uint32_t"};
38773 static constexpr bool traverse{
false};
38774 static constexpr auto mbr_ptr{&SgAsmCilMetadataRoot::p_Length};
38775 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38776 using bind = Desc<SgAsmCilMetadataRoot, uint32_t SgAsmCilMetadataRoot::*, &SgAsmCilMetadataRoot::p_Length>;
38780 using field_type = std::string;
38781 static constexpr size_t position{5};
38782 static constexpr char const *
const name{
"Version"};
38783 static constexpr char const *
const typestr{
"std::string"};
38784 static constexpr bool traverse{
false};
38785 static constexpr auto mbr_ptr{&SgAsmCilMetadataRoot::p_Version};
38786 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38787 using bind = Desc<SgAsmCilMetadataRoot, std::string SgAsmCilMetadataRoot::*, &SgAsmCilMetadataRoot::p_Version>;
38791 using field_type = uint32_t;
38792 static constexpr size_t position{6};
38793 static constexpr char const *
const name{
"VersionPadding"};
38794 static constexpr char const *
const typestr{
"uint32_t"};
38795 static constexpr bool traverse{
false};
38796 static constexpr auto mbr_ptr{&SgAsmCilMetadataRoot::p_VersionPadding};
38797 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38798 using bind = Desc<SgAsmCilMetadataRoot, uint32_t SgAsmCilMetadataRoot::*, &SgAsmCilMetadataRoot::p_VersionPadding>;
38802 using field_type = uint16_t;
38803 static constexpr size_t position{7};
38804 static constexpr char const *
const name{
"Flags"};
38805 static constexpr char const *
const typestr{
"uint16_t"};
38806 static constexpr bool traverse{
false};
38807 static constexpr auto mbr_ptr{&SgAsmCilMetadataRoot::p_Flags};
38808 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38809 using bind = Desc<SgAsmCilMetadataRoot, uint16_t SgAsmCilMetadataRoot::*, &SgAsmCilMetadataRoot::p_Flags>;
38813 using field_type = uint16_t;
38814 static constexpr size_t position{8};
38815 static constexpr char const *
const name{
"NumberOfStreams"};
38816 static constexpr char const *
const typestr{
"uint16_t"};
38817 static constexpr bool traverse{
false};
38818 static constexpr auto mbr_ptr{&SgAsmCilMetadataRoot::p_NumberOfStreams};
38819 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38820 using bind = Desc<SgAsmCilMetadataRoot, uint16_t SgAsmCilMetadataRoot::*, &SgAsmCilMetadataRoot::p_NumberOfStreams>;
38824 using field_type = std::vector<SgAsmCilDataStream*>;
38825 static constexpr size_t position{9};
38826 static constexpr char const *
const name{
"Streams"};
38827 static constexpr char const *
const typestr{
"std::vector<SgAsmCilDataStream*>"};
38828 static constexpr bool traverse{
true};
38829 static constexpr auto mbr_ptr{&SgAsmCilMetadataRoot::p_Streams};
38830 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38831 using bind = Desc<SgAsmCilMetadataRoot, std::vector<SgAsmCilDataStream*>
SgAsmCilMetadataRoot::*, &SgAsmCilMetadataRoot::p_Streams>;
38836 static constexpr char const *
const name{
"AsmCilMetadataRoot"};
38837 static constexpr unsigned long variant{992};
38838 static constexpr bool concrete{
true};
38840 using fields_t =
mp::List<describe_field_t<SgAsmCilMetadataRoot,uint32_t,&SgAsmCilMetadataRoot::p_Signature>,
describe_field_t<SgAsmCilMetadataRoot,uint16_t,&SgAsmCilMetadataRoot::p_MajorVersion>,
describe_field_t<SgAsmCilMetadataRoot,uint16_t,&SgAsmCilMetadataRoot::p_MinorVersion>,
describe_field_t<SgAsmCilMetadataRoot,uint32_t,&SgAsmCilMetadataRoot::p_Reserved0>,
describe_field_t<SgAsmCilMetadataRoot,uint32_t,&SgAsmCilMetadataRoot::p_Length>,
describe_field_t<SgAsmCilMetadataRoot,std::string,&SgAsmCilMetadataRoot::p_Version>,
describe_field_t<SgAsmCilMetadataRoot,uint32_t,&SgAsmCilMetadataRoot::p_VersionPadding>,
describe_field_t<SgAsmCilMetadataRoot,uint16_t,&SgAsmCilMetadataRoot::p_Flags>,
describe_field_t<SgAsmCilMetadataRoot,uint16_t,&SgAsmCilMetadataRoot::p_NumberOfStreams>,
describe_field_t<SgAsmCilMetadataRoot,std::vector<SgAsmCilDataStream*>,&SgAsmCilMetadataRoot::p_Streams>>;
38847 using field_type = uint32_t;
38848 static constexpr size_t position{0};
38849 static constexpr char const *
const name{
"Offset"};
38850 static constexpr char const *
const typestr{
"uint32_t"};
38851 static constexpr bool traverse{
false};
38852 static constexpr auto mbr_ptr{&SgAsmCilDataStream::p_Offset};
38853 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38854 using bind = Desc<SgAsmCilDataStream, uint32_t SgAsmCilDataStream::*, &SgAsmCilDataStream::p_Offset>;
38858 using field_type = uint32_t;
38859 static constexpr size_t position{1};
38860 static constexpr char const *
const name{
"Size"};
38861 static constexpr char const *
const typestr{
"uint32_t"};
38862 static constexpr bool traverse{
false};
38863 static constexpr auto mbr_ptr{&SgAsmCilDataStream::p_Size};
38864 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38865 using bind = Desc<SgAsmCilDataStream, uint32_t SgAsmCilDataStream::*, &SgAsmCilDataStream::p_Size>;
38869 using field_type = std::string;
38870 static constexpr size_t position{2};
38871 static constexpr char const *
const name{
"Name"};
38872 static constexpr char const *
const typestr{
"std::string"};
38873 static constexpr bool traverse{
false};
38874 static constexpr auto mbr_ptr{&SgAsmCilDataStream::p_Name};
38875 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38876 using bind = Desc<SgAsmCilDataStream, std::string SgAsmCilDataStream::*, &SgAsmCilDataStream::p_Name>;
38880 using field_type = uint32_t;
38881 static constexpr size_t position{3};
38882 static constexpr char const *
const name{
"NamePadding"};
38883 static constexpr char const *
const typestr{
"uint32_t"};
38884 static constexpr bool traverse{
false};
38885 static constexpr auto mbr_ptr{&SgAsmCilDataStream::p_NamePadding};
38886 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38887 using bind = Desc<SgAsmCilDataStream, uint32_t SgAsmCilDataStream::*, &SgAsmCilDataStream::p_NamePadding>;
38892 static constexpr char const *
const name{
"AsmCilDataStream"};
38893 static constexpr unsigned long variant{993};
38894 static constexpr bool concrete{
false};
38896 using fields_t =
mp::List<describe_field_t<SgAsmCilDataStream,uint32_t,&SgAsmCilDataStream::p_Offset>,
describe_field_t<SgAsmCilDataStream,uint32_t,&SgAsmCilDataStream::p_Size>,
describe_field_t<SgAsmCilDataStream,std::string,&SgAsmCilDataStream::p_Name>,
describe_field_t<SgAsmCilDataStream,uint32_t,&SgAsmCilDataStream::p_NamePadding>>;
38903 using field_type = uint32_t;
38904 static constexpr size_t position{0};
38905 static constexpr char const *
const name{
"ReservedAlwaysZero"};
38906 static constexpr char const *
const typestr{
"uint32_t"};
38907 static constexpr bool traverse{
false};
38908 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_ReservedAlwaysZero};
38909 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38910 using bind = Desc<SgAsmCilMetadataHeap, uint32_t SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_ReservedAlwaysZero>;
38914 using field_type = uint8_t;
38915 static constexpr size_t position{1};
38916 static constexpr char const *
const name{
"MajorVersion"};
38917 static constexpr char const *
const typestr{
"uint8_t"};
38918 static constexpr bool traverse{
false};
38919 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_MajorVersion};
38920 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38921 using bind = Desc<SgAsmCilMetadataHeap, uint8_t SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_MajorVersion>;
38925 using field_type = uint8_t;
38926 static constexpr size_t position{2};
38927 static constexpr char const *
const name{
"MinorVersion"};
38928 static constexpr char const *
const typestr{
"uint8_t"};
38929 static constexpr bool traverse{
false};
38930 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_MinorVersion};
38931 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38932 using bind = Desc<SgAsmCilMetadataHeap, uint8_t SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_MinorVersion>;
38936 using field_type = uint8_t;
38937 static constexpr size_t position{3};
38938 static constexpr char const *
const name{
"HeapSizes"};
38939 static constexpr char const *
const typestr{
"uint8_t"};
38940 static constexpr bool traverse{
false};
38941 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_HeapSizes};
38942 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38943 using bind = Desc<SgAsmCilMetadataHeap, uint8_t SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_HeapSizes>;
38947 using field_type = uint8_t;
38948 static constexpr size_t position{4};
38949 static constexpr char const *
const name{
"ReservedAlwaysOne"};
38950 static constexpr char const *
const typestr{
"uint8_t"};
38951 static constexpr bool traverse{
false};
38952 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_ReservedAlwaysOne};
38953 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38954 using bind = Desc<SgAsmCilMetadataHeap, uint8_t SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_ReservedAlwaysOne>;
38958 using field_type = uint64_t;
38959 static constexpr size_t position{5};
38960 static constexpr char const *
const name{
"Valid"};
38961 static constexpr char const *
const typestr{
"uint64_t"};
38962 static constexpr bool traverse{
false};
38963 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_Valid};
38964 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38965 using bind = Desc<SgAsmCilMetadataHeap, uint64_t SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_Valid>;
38969 using field_type = uint64_t;
38970 static constexpr size_t position{6};
38971 static constexpr char const *
const name{
"Sorted"};
38972 static constexpr char const *
const typestr{
"uint64_t"};
38973 static constexpr bool traverse{
false};
38974 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_Sorted};
38975 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38976 using bind = Desc<SgAsmCilMetadataHeap, uint64_t SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_Sorted>;
38980 using field_type = std::vector<uint32_t>;
38981 static constexpr size_t position{7};
38982 static constexpr char const *
const name{
"NumberOfRows"};
38983 static constexpr char const *
const typestr{
"std::vector<uint32_t>"};
38984 static constexpr bool traverse{
false};
38985 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_NumberOfRows};
38986 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38987 using bind = Desc<SgAsmCilMetadataHeap, std::vector<uint32_t>
SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_NumberOfRows>;
38991 using field_type = uint64_t;
38992 static constexpr size_t position{8};
38993 static constexpr char const *
const name{
"DataSizeFlags"};
38994 static constexpr char const *
const typestr{
"uint64_t"};
38995 static constexpr bool traverse{
false};
38996 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_DataSizeFlags};
38997 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
38998 using bind = Desc<SgAsmCilMetadataHeap, uint64_t SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_DataSizeFlags>;
39003 static constexpr size_t position{9};
39004 static constexpr char const *
const name{
"AssemblyTable"};
39005 static constexpr char const *
const typestr{
"SgAsmCilAssemblyTable*"};
39006 static constexpr bool traverse{
true};
39007 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_AssemblyTable};
39008 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39009 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilAssemblyTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_AssemblyTable>;
39014 static constexpr size_t position{10};
39015 static constexpr char const *
const name{
"AssemblyOSTable"};
39016 static constexpr char const *
const typestr{
"SgAsmCilAssemblyOSTable*"};
39017 static constexpr bool traverse{
true};
39018 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_AssemblyOSTable};
39019 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39020 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilAssemblyOSTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_AssemblyOSTable>;
39025 static constexpr size_t position{11};
39026 static constexpr char const *
const name{
"AssemblyProcessorTable"};
39027 static constexpr char const *
const typestr{
"SgAsmCilAssemblyProcessorTable*"};
39028 static constexpr bool traverse{
true};
39029 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_AssemblyProcessorTable};
39030 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39031 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilAssemblyProcessorTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_AssemblyProcessorTable>;
39036 static constexpr size_t position{12};
39037 static constexpr char const *
const name{
"AssemblyRefTable"};
39038 static constexpr char const *
const typestr{
"SgAsmCilAssemblyRefTable*"};
39039 static constexpr bool traverse{
true};
39040 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_AssemblyRefTable};
39041 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39042 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilAssemblyRefTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_AssemblyRefTable>;
39047 static constexpr size_t position{13};
39048 static constexpr char const *
const name{
"AssemblyRefOSTable"};
39049 static constexpr char const *
const typestr{
"SgAsmCilAssemblyRefOSTable*"};
39050 static constexpr bool traverse{
true};
39051 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_AssemblyRefOSTable};
39052 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39053 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilAssemblyRefOSTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_AssemblyRefOSTable>;
39058 static constexpr size_t position{14};
39059 static constexpr char const *
const name{
"AssemblyRefProcessorTable"};
39060 static constexpr char const *
const typestr{
"SgAsmCilAssemblyRefProcessorTable*"};
39061 static constexpr bool traverse{
true};
39062 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_AssemblyRefProcessorTable};
39063 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39064 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilAssemblyRefProcessorTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_AssemblyRefProcessorTable>;
39069 static constexpr size_t position{15};
39070 static constexpr char const *
const name{
"ClassLayoutTable"};
39071 static constexpr char const *
const typestr{
"SgAsmCilClassLayoutTable*"};
39072 static constexpr bool traverse{
true};
39073 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_ClassLayoutTable};
39074 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39075 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilClassLayoutTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_ClassLayoutTable>;
39080 static constexpr size_t position{16};
39081 static constexpr char const *
const name{
"ConstantTable"};
39082 static constexpr char const *
const typestr{
"SgAsmCilConstantTable*"};
39083 static constexpr bool traverse{
true};
39084 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_ConstantTable};
39085 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39086 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilConstantTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_ConstantTable>;
39091 static constexpr size_t position{17};
39092 static constexpr char const *
const name{
"CustomAttributeTable"};
39093 static constexpr char const *
const typestr{
"SgAsmCilCustomAttributeTable*"};
39094 static constexpr bool traverse{
true};
39095 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_CustomAttributeTable};
39096 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39097 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilCustomAttributeTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_CustomAttributeTable>;
39102 static constexpr size_t position{18};
39103 static constexpr char const *
const name{
"DeclSecurityTable"};
39104 static constexpr char const *
const typestr{
"SgAsmCilDeclSecurityTable*"};
39105 static constexpr bool traverse{
true};
39106 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_DeclSecurityTable};
39107 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39108 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilDeclSecurityTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_DeclSecurityTable>;
39113 static constexpr size_t position{19};
39114 static constexpr char const *
const name{
"EventTable"};
39115 static constexpr char const *
const typestr{
"SgAsmCilEventTable*"};
39116 static constexpr bool traverse{
true};
39117 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_EventTable};
39118 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39119 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilEventTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_EventTable>;
39124 static constexpr size_t position{20};
39125 static constexpr char const *
const name{
"EventMapTable"};
39126 static constexpr char const *
const typestr{
"SgAsmCilEventMapTable*"};
39127 static constexpr bool traverse{
true};
39128 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_EventMapTable};
39129 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39130 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilEventMapTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_EventMapTable>;
39135 static constexpr size_t position{21};
39136 static constexpr char const *
const name{
"ExportedTypeTable"};
39137 static constexpr char const *
const typestr{
"SgAsmCilExportedTypeTable*"};
39138 static constexpr bool traverse{
true};
39139 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_ExportedTypeTable};
39140 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39141 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilExportedTypeTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_ExportedTypeTable>;
39146 static constexpr size_t position{22};
39147 static constexpr char const *
const name{
"FieldTable"};
39148 static constexpr char const *
const typestr{
"SgAsmCilFieldTable*"};
39149 static constexpr bool traverse{
true};
39150 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_FieldTable};
39151 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39152 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilFieldTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_FieldTable>;
39157 static constexpr size_t position{23};
39158 static constexpr char const *
const name{
"FieldLayoutTable"};
39159 static constexpr char const *
const typestr{
"SgAsmCilFieldLayoutTable*"};
39160 static constexpr bool traverse{
true};
39161 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_FieldLayoutTable};
39162 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39163 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilFieldLayoutTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_FieldLayoutTable>;
39168 static constexpr size_t position{24};
39169 static constexpr char const *
const name{
"FieldMarshalTable"};
39170 static constexpr char const *
const typestr{
"SgAsmCilFieldMarshalTable*"};
39171 static constexpr bool traverse{
true};
39172 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_FieldMarshalTable};
39173 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39174 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilFieldMarshalTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_FieldMarshalTable>;
39179 static constexpr size_t position{25};
39180 static constexpr char const *
const name{
"FieldRVATable"};
39181 static constexpr char const *
const typestr{
"SgAsmCilFieldRVATable*"};
39182 static constexpr bool traverse{
true};
39183 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_FieldRVATable};
39184 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39185 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilFieldRVATable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_FieldRVATable>;
39190 static constexpr size_t position{26};
39191 static constexpr char const *
const name{
"FileTable"};
39192 static constexpr char const *
const typestr{
"SgAsmCilFileTable*"};
39193 static constexpr bool traverse{
true};
39194 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_FileTable};
39195 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39196 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilFileTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_FileTable>;
39201 static constexpr size_t position{27};
39202 static constexpr char const *
const name{
"GenericParamTable"};
39203 static constexpr char const *
const typestr{
"SgAsmCilGenericParamTable*"};
39204 static constexpr bool traverse{
true};
39205 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_GenericParamTable};
39206 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39207 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilGenericParamTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_GenericParamTable>;
39212 static constexpr size_t position{28};
39213 static constexpr char const *
const name{
"GenericParamConstraintTable"};
39214 static constexpr char const *
const typestr{
"SgAsmCilGenericParamConstraintTable*"};
39215 static constexpr bool traverse{
true};
39216 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_GenericParamConstraintTable};
39217 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39218 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilGenericParamConstraintTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_GenericParamConstraintTable>;
39223 static constexpr size_t position{29};
39224 static constexpr char const *
const name{
"ImplMapTable"};
39225 static constexpr char const *
const typestr{
"SgAsmCilImplMapTable*"};
39226 static constexpr bool traverse{
true};
39227 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_ImplMapTable};
39228 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39229 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilImplMapTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_ImplMapTable>;
39234 static constexpr size_t position{30};
39235 static constexpr char const *
const name{
"InterfaceImplTable"};
39236 static constexpr char const *
const typestr{
"SgAsmCilInterfaceImplTable*"};
39237 static constexpr bool traverse{
true};
39238 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_InterfaceImplTable};
39239 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39240 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilInterfaceImplTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_InterfaceImplTable>;
39245 static constexpr size_t position{31};
39246 static constexpr char const *
const name{
"ManifestResourceTable"};
39247 static constexpr char const *
const typestr{
"SgAsmCilManifestResourceTable*"};
39248 static constexpr bool traverse{
true};
39249 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_ManifestResourceTable};
39250 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39251 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilManifestResourceTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_ManifestResourceTable>;
39256 static constexpr size_t position{32};
39257 static constexpr char const *
const name{
"MemberRefTable"};
39258 static constexpr char const *
const typestr{
"SgAsmCilMemberRefTable*"};
39259 static constexpr bool traverse{
true};
39260 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_MemberRefTable};
39261 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39262 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilMemberRefTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_MemberRefTable>;
39267 static constexpr size_t position{33};
39268 static constexpr char const *
const name{
"MethodDefTable"};
39269 static constexpr char const *
const typestr{
"SgAsmCilMethodDefTable*"};
39270 static constexpr bool traverse{
true};
39271 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_MethodDefTable};
39272 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39273 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilMethodDefTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_MethodDefTable>;
39278 static constexpr size_t position{34};
39279 static constexpr char const *
const name{
"MethodImplTable"};
39280 static constexpr char const *
const typestr{
"SgAsmCilMethodImplTable*"};
39281 static constexpr bool traverse{
true};
39282 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_MethodImplTable};
39283 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39284 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilMethodImplTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_MethodImplTable>;
39289 static constexpr size_t position{35};
39290 static constexpr char const *
const name{
"MethodSemanticsTable"};
39291 static constexpr char const *
const typestr{
"SgAsmCilMethodSemanticsTable*"};
39292 static constexpr bool traverse{
true};
39293 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_MethodSemanticsTable};
39294 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39295 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilMethodSemanticsTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_MethodSemanticsTable>;
39300 static constexpr size_t position{36};
39301 static constexpr char const *
const name{
"MethodSpecTable"};
39302 static constexpr char const *
const typestr{
"SgAsmCilMethodSpecTable*"};
39303 static constexpr bool traverse{
true};
39304 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_MethodSpecTable};
39305 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39306 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilMethodSpecTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_MethodSpecTable>;
39311 static constexpr size_t position{37};
39312 static constexpr char const *
const name{
"ModuleTable"};
39313 static constexpr char const *
const typestr{
"SgAsmCilModuleTable*"};
39314 static constexpr bool traverse{
true};
39315 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_ModuleTable};
39316 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39317 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilModuleTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_ModuleTable>;
39322 static constexpr size_t position{38};
39323 static constexpr char const *
const name{
"ModuleRefTable"};
39324 static constexpr char const *
const typestr{
"SgAsmCilModuleRefTable*"};
39325 static constexpr bool traverse{
true};
39326 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_ModuleRefTable};
39327 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39328 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilModuleRefTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_ModuleRefTable>;
39333 static constexpr size_t position{39};
39334 static constexpr char const *
const name{
"NestedClassTable"};
39335 static constexpr char const *
const typestr{
"SgAsmCilNestedClassTable*"};
39336 static constexpr bool traverse{
true};
39337 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_NestedClassTable};
39338 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39339 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilNestedClassTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_NestedClassTable>;
39344 static constexpr size_t position{40};
39345 static constexpr char const *
const name{
"ParamTable"};
39346 static constexpr char const *
const typestr{
"SgAsmCilParamTable*"};
39347 static constexpr bool traverse{
true};
39348 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_ParamTable};
39349 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39350 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilParamTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_ParamTable>;
39355 static constexpr size_t position{41};
39356 static constexpr char const *
const name{
"PropertyTable"};
39357 static constexpr char const *
const typestr{
"SgAsmCilPropertyTable*"};
39358 static constexpr bool traverse{
true};
39359 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_PropertyTable};
39360 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39361 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilPropertyTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_PropertyTable>;
39366 static constexpr size_t position{42};
39367 static constexpr char const *
const name{
"PropertyMapTable"};
39368 static constexpr char const *
const typestr{
"SgAsmCilPropertyMapTable*"};
39369 static constexpr bool traverse{
true};
39370 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_PropertyMapTable};
39371 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39372 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilPropertyMapTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_PropertyMapTable>;
39377 static constexpr size_t position{43};
39378 static constexpr char const *
const name{
"StandAloneSigTable"};
39379 static constexpr char const *
const typestr{
"SgAsmCilStandAloneSigTable*"};
39380 static constexpr bool traverse{
true};
39381 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_StandAloneSigTable};
39382 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39383 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilStandAloneSigTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_StandAloneSigTable>;
39388 static constexpr size_t position{44};
39389 static constexpr char const *
const name{
"TypeDefTable"};
39390 static constexpr char const *
const typestr{
"SgAsmCilTypeDefTable*"};
39391 static constexpr bool traverse{
true};
39392 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_TypeDefTable};
39393 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39394 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilTypeDefTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_TypeDefTable>;
39399 static constexpr size_t position{45};
39400 static constexpr char const *
const name{
"TypeRefTable"};
39401 static constexpr char const *
const typestr{
"SgAsmCilTypeRefTable*"};
39402 static constexpr bool traverse{
true};
39403 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_TypeRefTable};
39404 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39405 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilTypeRefTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_TypeRefTable>;
39410 static constexpr size_t position{46};
39411 static constexpr char const *
const name{
"TypeSpecTable"};
39412 static constexpr char const *
const typestr{
"SgAsmCilTypeSpecTable*"};
39413 static constexpr bool traverse{
true};
39414 static constexpr auto mbr_ptr{&SgAsmCilMetadataHeap::p_TypeSpecTable};
39415 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39416 using bind = Desc<SgAsmCilMetadataHeap, SgAsmCilTypeSpecTable* SgAsmCilMetadataHeap::*, &SgAsmCilMetadataHeap::p_TypeSpecTable>;
39421 static constexpr char const *
const name{
"AsmCilMetadataHeap"};
39422 static constexpr unsigned long variant{994};
39423 static constexpr bool concrete{
true};
39425 using fields_t =
mp::List<describe_field_t<SgAsmCilMetadataHeap,uint32_t,&SgAsmCilMetadataHeap::p_ReservedAlwaysZero>,
describe_field_t<SgAsmCilMetadataHeap,uint8_t,&SgAsmCilMetadataHeap::p_MajorVersion>,
describe_field_t<SgAsmCilMetadataHeap,uint8_t,&SgAsmCilMetadataHeap::p_MinorVersion>,
describe_field_t<SgAsmCilMetadataHeap,uint8_t,&SgAsmCilMetadataHeap::p_HeapSizes>,
describe_field_t<SgAsmCilMetadataHeap,uint8_t,&SgAsmCilMetadataHeap::p_ReservedAlwaysOne>,
describe_field_t<SgAsmCilMetadataHeap,uint64_t,&SgAsmCilMetadataHeap::p_Valid>,
describe_field_t<SgAsmCilMetadataHeap,uint64_t,&SgAsmCilMetadataHeap::p_Sorted>,
describe_field_t<SgAsmCilMetadataHeap,std::vector<uint32_t>,&SgAsmCilMetadataHeap::p_NumberOfRows>,
describe_field_t<SgAsmCilMetadataHeap,uint64_t,&SgAsmCilMetadataHeap::p_DataSizeFlags>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilAssemblyTable*,&SgAsmCilMetadataHeap::p_AssemblyTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilAssemblyOSTable*,&SgAsmCilMetadataHeap::p_AssemblyOSTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilAssemblyProcessorTable*,&SgAsmCilMetadataHeap::p_AssemblyProcessorTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilAssemblyRefTable*,&SgAsmCilMetadataHeap::p_AssemblyRefTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilAssemblyRefOSTable*,&SgAsmCilMetadataHeap::p_AssemblyRefOSTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilAssemblyRefProcessorTable*,&SgAsmCilMetadataHeap::p_AssemblyRefProcessorTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilClassLayoutTable*,&SgAsmCilMetadataHeap::p_ClassLayoutTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilConstantTable*,&SgAsmCilMetadataHeap::p_ConstantTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilCustomAttributeTable*,&SgAsmCilMetadataHeap::p_CustomAttributeTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilDeclSecurityTable*,&SgAsmCilMetadataHeap::p_DeclSecurityTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilEventTable*,&SgAsmCilMetadataHeap::p_EventTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilEventMapTable*,&SgAsmCilMetadataHeap::p_EventMapTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilExportedTypeTable*,&SgAsmCilMetadataHeap::p_ExportedTypeTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilFieldTable*,&SgAsmCilMetadataHeap::p_FieldTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilFieldLayoutTable*,&SgAsmCilMetadataHeap::p_FieldLayoutTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilFieldMarshalTable*,&SgAsmCilMetadataHeap::p_FieldMarshalTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilFieldRVATable*,&SgAsmCilMetadataHeap::p_FieldRVATable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilFileTable*,&SgAsmCilMetadataHeap::p_FileTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilGenericParamTable*,&SgAsmCilMetadataHeap::p_GenericParamTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilGenericParamConstraintTable*,&SgAsmCilMetadataHeap::p_GenericParamConstraintTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilImplMapTable*,&SgAsmCilMetadataHeap::p_ImplMapTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilInterfaceImplTable*,&SgAsmCilMetadataHeap::p_InterfaceImplTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilManifestResourceTable*,&SgAsmCilMetadataHeap::p_ManifestResourceTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilMemberRefTable*,&SgAsmCilMetadataHeap::p_MemberRefTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilMethodDefTable*,&SgAsmCilMetadataHeap::p_MethodDefTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilMethodImplTable*,&SgAsmCilMetadataHeap::p_MethodImplTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilMethodSemanticsTable*,&SgAsmCilMetadataHeap::p_MethodSemanticsTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilMethodSpecTable*,&SgAsmCilMetadataHeap::p_MethodSpecTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilModuleTable*,&SgAsmCilMetadataHeap::p_ModuleTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilModuleRefTable*,&SgAsmCilMetadataHeap::p_ModuleRefTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilNestedClassTable*,&SgAsmCilMetadataHeap::p_NestedClassTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilParamTable*,&SgAsmCilMetadataHeap::p_ParamTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilPropertyTable*,&SgAsmCilMetadataHeap::p_PropertyTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilPropertyMapTable*,&SgAsmCilMetadataHeap::p_PropertyMapTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilStandAloneSigTable*,&SgAsmCilMetadataHeap::p_StandAloneSigTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilTypeDefTable*,&SgAsmCilMetadataHeap::p_TypeDefTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilTypeRefTable*,&SgAsmCilMetadataHeap::p_TypeRefTable>,
describe_field_t<SgAsmCilMetadataHeap,SgAsmCilTypeSpecTable*,&SgAsmCilMetadataHeap::p_TypeSpecTable>>;
39432 using field_type = std::vector<uint8_t>;
39433 static constexpr size_t position{0};
39434 static constexpr char const *
const name{
"Stream"};
39435 static constexpr char const *
const typestr{
"std::vector<uint8_t>"};
39436 static constexpr bool traverse{
false};
39437 static constexpr auto mbr_ptr{&SgAsmCilUint8Heap::p_Stream};
39438 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39439 using bind = Desc<SgAsmCilUint8Heap, std::vector<uint8_t>
SgAsmCilUint8Heap::*, &SgAsmCilUint8Heap::p_Stream>;
39444 static constexpr char const *
const name{
"AsmCilUint8Heap"};
39445 static constexpr unsigned long variant{995};
39446 static constexpr bool concrete{
true};
39455 using field_type = std::vector<uint32_t>;
39456 static constexpr size_t position{0};
39457 static constexpr char const *
const name{
"Stream"};
39458 static constexpr char const *
const typestr{
"std::vector<uint32_t>"};
39459 static constexpr bool traverse{
false};
39460 static constexpr auto mbr_ptr{&SgAsmCilUint32Heap::p_Stream};
39461 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39462 using bind = Desc<SgAsmCilUint32Heap, std::vector<uint32_t>
SgAsmCilUint32Heap::*, &SgAsmCilUint32Heap::p_Stream>;
39467 static constexpr char const *
const name{
"AsmCilUint32Heap"};
39468 static constexpr unsigned long variant{996};
39469 static constexpr bool concrete{
true};
39478 using field_type = uint32_t;
39479 static constexpr size_t position{0};
39480 static constexpr char const *
const name{
"cb"};
39481 static constexpr char const *
const typestr{
"uint32_t"};
39482 static constexpr bool traverse{
false};
39483 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_cb};
39484 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39485 using bind = Desc<SgAsmCliHeader, uint32_t SgAsmCliHeader::*, &SgAsmCliHeader::p_cb>;
39489 using field_type = uint16_t;
39490 static constexpr size_t position{1};
39491 static constexpr char const *
const name{
"majorRuntimeVersion"};
39492 static constexpr char const *
const typestr{
"uint16_t"};
39493 static constexpr bool traverse{
false};
39494 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_majorRuntimeVersion};
39495 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39496 using bind = Desc<SgAsmCliHeader, uint16_t SgAsmCliHeader::*, &SgAsmCliHeader::p_majorRuntimeVersion>;
39500 using field_type = uint16_t;
39501 static constexpr size_t position{2};
39502 static constexpr char const *
const name{
"minorRuntimeVersion"};
39503 static constexpr char const *
const typestr{
"uint16_t"};
39504 static constexpr bool traverse{
false};
39505 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_minorRuntimeVersion};
39506 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39507 using bind = Desc<SgAsmCliHeader, uint16_t SgAsmCliHeader::*, &SgAsmCliHeader::p_minorRuntimeVersion>;
39511 using field_type = uint64_t;
39512 static constexpr size_t position{3};
39513 static constexpr char const *
const name{
"metaData"};
39514 static constexpr char const *
const typestr{
"uint64_t"};
39515 static constexpr bool traverse{
false};
39516 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_metaData};
39517 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39518 using bind = Desc<SgAsmCliHeader, uint64_t SgAsmCliHeader::*, &SgAsmCliHeader::p_metaData>;
39522 using field_type = uint32_t;
39523 static constexpr size_t position{4};
39524 static constexpr char const *
const name{
"flags"};
39525 static constexpr char const *
const typestr{
"uint32_t"};
39526 static constexpr bool traverse{
false};
39527 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_flags};
39528 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39529 using bind = Desc<SgAsmCliHeader, uint32_t SgAsmCliHeader::*, &SgAsmCliHeader::p_flags>;
39533 using field_type = uint32_t;
39534 static constexpr size_t position{5};
39535 static constexpr char const *
const name{
"entryPointToken"};
39536 static constexpr char const *
const typestr{
"uint32_t"};
39537 static constexpr bool traverse{
false};
39538 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_entryPointToken};
39539 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39540 using bind = Desc<SgAsmCliHeader, uint32_t SgAsmCliHeader::*, &SgAsmCliHeader::p_entryPointToken>;
39544 using field_type = uint64_t;
39545 static constexpr size_t position{6};
39546 static constexpr char const *
const name{
"resources"};
39547 static constexpr char const *
const typestr{
"uint64_t"};
39548 static constexpr bool traverse{
false};
39549 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_resources};
39550 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39551 using bind = Desc<SgAsmCliHeader, uint64_t SgAsmCliHeader::*, &SgAsmCliHeader::p_resources>;
39555 using field_type = uint64_t;
39556 static constexpr size_t position{7};
39557 static constexpr char const *
const name{
"strongNameSignature"};
39558 static constexpr char const *
const typestr{
"uint64_t"};
39559 static constexpr bool traverse{
false};
39560 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_strongNameSignature};
39561 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39562 using bind = Desc<SgAsmCliHeader, uint64_t SgAsmCliHeader::*, &SgAsmCliHeader::p_strongNameSignature>;
39566 using field_type = uint64_t;
39567 static constexpr size_t position{8};
39568 static constexpr char const *
const name{
"codeManagerTable"};
39569 static constexpr char const *
const typestr{
"uint64_t"};
39570 static constexpr bool traverse{
false};
39571 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_codeManagerTable};
39572 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39573 using bind = Desc<SgAsmCliHeader, uint64_t SgAsmCliHeader::*, &SgAsmCliHeader::p_codeManagerTable>;
39577 using field_type = uint64_t;
39578 static constexpr size_t position{9};
39579 static constexpr char const *
const name{
"vTableFixups"};
39580 static constexpr char const *
const typestr{
"uint64_t"};
39581 static constexpr bool traverse{
false};
39582 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_vTableFixups};
39583 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39584 using bind = Desc<SgAsmCliHeader, uint64_t SgAsmCliHeader::*, &SgAsmCliHeader::p_vTableFixups>;
39588 using field_type = uint64_t;
39589 static constexpr size_t position{10};
39590 static constexpr char const *
const name{
"exportAddressTableJumps"};
39591 static constexpr char const *
const typestr{
"uint64_t"};
39592 static constexpr bool traverse{
false};
39593 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_exportAddressTableJumps};
39594 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39595 using bind = Desc<SgAsmCliHeader, uint64_t SgAsmCliHeader::*, &SgAsmCliHeader::p_exportAddressTableJumps>;
39599 using field_type = uint64_t;
39600 static constexpr size_t position{11};
39601 static constexpr char const *
const name{
"managedNativeHeader"};
39602 static constexpr char const *
const typestr{
"uint64_t"};
39603 static constexpr bool traverse{
false};
39604 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_managedNativeHeader};
39605 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39606 using bind = Desc<SgAsmCliHeader, uint64_t SgAsmCliHeader::*, &SgAsmCliHeader::p_managedNativeHeader>;
39611 static constexpr size_t position{12};
39612 static constexpr char const *
const name{
"metadataRoot"};
39613 static constexpr char const *
const typestr{
"SgAsmCilMetadataRoot*"};
39614 static constexpr bool traverse{
true};
39615 static constexpr auto mbr_ptr{&SgAsmCliHeader::p_metadataRoot};
39616 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39617 using bind = Desc<SgAsmCliHeader, SgAsmCilMetadataRoot* SgAsmCliHeader::*, &SgAsmCliHeader::p_metadataRoot>;
39622 static constexpr char const *
const name{
"AsmCliHeader"};
39623 static constexpr unsigned long variant{997};
39624 static constexpr bool concrete{
true};
39626 using fields_t =
mp::List<describe_field_t<SgAsmCliHeader,uint32_t,&SgAsmCliHeader::p_cb>,
describe_field_t<SgAsmCliHeader,uint16_t,&SgAsmCliHeader::p_majorRuntimeVersion>,
describe_field_t<SgAsmCliHeader,uint16_t,&SgAsmCliHeader::p_minorRuntimeVersion>,
describe_field_t<SgAsmCliHeader,uint64_t,&SgAsmCliHeader::p_metaData>,
describe_field_t<SgAsmCliHeader,uint32_t,&SgAsmCliHeader::p_flags>,
describe_field_t<SgAsmCliHeader,uint32_t,&SgAsmCliHeader::p_entryPointToken>,
describe_field_t<SgAsmCliHeader,uint64_t,&SgAsmCliHeader::p_resources>,
describe_field_t<SgAsmCliHeader,uint64_t,&SgAsmCliHeader::p_strongNameSignature>,
describe_field_t<SgAsmCliHeader,uint64_t,&SgAsmCliHeader::p_codeManagerTable>,
describe_field_t<SgAsmCliHeader,uint64_t,&SgAsmCliHeader::p_vTableFixups>,
describe_field_t<SgAsmCliHeader,uint64_t,&SgAsmCliHeader::p_exportAddressTableJumps>,
describe_field_t<SgAsmCliHeader,uint64_t,&SgAsmCliHeader::p_managedNativeHeader>,
describe_field_t<SgAsmCliHeader,SgAsmCilMetadataRoot*,&SgAsmCliHeader::p_metadataRoot>>;
39634 static constexpr size_t position{0};
39635 static constexpr char const *
const name{
"discriminant"};
39636 static constexpr char const *
const typestr{
"SgExpression*"};
39637 static constexpr bool traverse{
true};
39638 static constexpr auto mbr_ptr{&SgAdaVariantDecl::p_discriminant};
39639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39640 using bind = Desc<SgAdaVariantDecl, SgExpression* SgAdaVariantDecl::*, &SgAdaVariantDecl::p_discriminant>;
39645 static constexpr size_t position{1};
39646 static constexpr char const *
const name{
"variants"};
39647 static constexpr char const *
const typestr{
"SgAdaUnscopedBlock*"};
39648 static constexpr bool traverse{
true};
39649 static constexpr auto mbr_ptr{&SgAdaVariantDecl::p_variants};
39650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39651 using bind = Desc<SgAdaVariantDecl, SgAdaUnscopedBlock* SgAdaVariantDecl::*, &SgAdaVariantDecl::p_variants>;
39656 static constexpr char const *
const name{
"AdaVariantDecl"};
39657 static constexpr unsigned long variant{998};
39658 static constexpr bool concrete{
true};
39668 static constexpr size_t position{0};
39669 static constexpr char const *
const name{
"choices"};
39670 static constexpr char const *
const typestr{
"SgExprListExp*"};
39671 static constexpr bool traverse{
true};
39672 static constexpr auto mbr_ptr{&SgAdaVariantWhenStmt::p_choices};
39673 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39674 using bind = Desc<SgAdaVariantWhenStmt, SgExprListExp* SgAdaVariantWhenStmt::*, &SgAdaVariantWhenStmt::p_choices>;
39679 static constexpr size_t position{1};
39680 static constexpr char const *
const name{
"components"};
39681 static constexpr char const *
const typestr{
"SgAdaUnscopedBlock*"};
39682 static constexpr bool traverse{
true};
39683 static constexpr auto mbr_ptr{&SgAdaVariantWhenStmt::p_components};
39684 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39685 using bind = Desc<SgAdaVariantWhenStmt, SgAdaUnscopedBlock* SgAdaVariantWhenStmt::*, &SgAdaVariantWhenStmt::p_components>;
39690 static constexpr char const *
const name{
"AdaVariantWhenStmt"};
39691 static constexpr unsigned long variant{999};
39692 static constexpr bool concrete{
true};
39701 using field_type = std::vector<SgAsmCilAssembly*>;
39702 static constexpr size_t position{0};
39703 static constexpr char const *
const name{
"elements"};
39704 static constexpr char const *
const typestr{
"std::vector<SgAsmCilAssembly*>"};
39705 static constexpr bool traverse{
true};
39706 static constexpr auto mbr_ptr{&SgAsmCilAssemblyTable::p_elements};
39707 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39708 using bind = Desc<SgAsmCilAssemblyTable, std::vector<SgAsmCilAssembly*>
SgAsmCilAssemblyTable::*, &SgAsmCilAssemblyTable::p_elements>;
39713 static constexpr char const *
const name{
"AsmCilAssemblyTable"};
39714 static constexpr unsigned long variant{1000};
39715 static constexpr bool concrete{
true};
39724 using field_type = std::vector<SgAsmCilAssemblyOS*>;
39725 static constexpr size_t position{0};
39726 static constexpr char const *
const name{
"elements"};
39727 static constexpr char const *
const typestr{
"std::vector<SgAsmCilAssemblyOS*>"};
39728 static constexpr bool traverse{
true};
39729 static constexpr auto mbr_ptr{&SgAsmCilAssemblyOSTable::p_elements};
39730 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39731 using bind = Desc<SgAsmCilAssemblyOSTable, std::vector<SgAsmCilAssemblyOS*>
SgAsmCilAssemblyOSTable::*, &SgAsmCilAssemblyOSTable::p_elements>;
39736 static constexpr char const *
const name{
"AsmCilAssemblyOSTable"};
39737 static constexpr unsigned long variant{1001};
39738 static constexpr bool concrete{
true};
39747 using field_type = std::vector<SgAsmCilAssemblyProcessor*>;
39748 static constexpr size_t position{0};
39749 static constexpr char const *
const name{
"elements"};
39750 static constexpr char const *
const typestr{
"std::vector<SgAsmCilAssemblyProcessor*>"};
39751 static constexpr bool traverse{
true};
39752 static constexpr auto mbr_ptr{&SgAsmCilAssemblyProcessorTable::p_elements};
39753 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39754 using bind = Desc<SgAsmCilAssemblyProcessorTable, std::vector<SgAsmCilAssemblyProcessor*>
SgAsmCilAssemblyProcessorTable::*, &SgAsmCilAssemblyProcessorTable::p_elements>;
39759 static constexpr char const *
const name{
"AsmCilAssemblyProcessorTable"};
39760 static constexpr unsigned long variant{1002};
39761 static constexpr bool concrete{
true};
39770 using field_type = std::vector<SgAsmCilAssemblyRef*>;
39771 static constexpr size_t position{0};
39772 static constexpr char const *
const name{
"elements"};
39773 static constexpr char const *
const typestr{
"std::vector<SgAsmCilAssemblyRef*>"};
39774 static constexpr bool traverse{
true};
39775 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRefTable::p_elements};
39776 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39777 using bind = Desc<SgAsmCilAssemblyRefTable, std::vector<SgAsmCilAssemblyRef*>
SgAsmCilAssemblyRefTable::*, &SgAsmCilAssemblyRefTable::p_elements>;
39782 static constexpr char const *
const name{
"AsmCilAssemblyRefTable"};
39783 static constexpr unsigned long variant{1003};
39784 static constexpr bool concrete{
true};
39793 using field_type = std::vector<SgAsmCilAssemblyRefOS*>;
39794 static constexpr size_t position{0};
39795 static constexpr char const *
const name{
"elements"};
39796 static constexpr char const *
const typestr{
"std::vector<SgAsmCilAssemblyRefOS*>"};
39797 static constexpr bool traverse{
true};
39798 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRefOSTable::p_elements};
39799 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39800 using bind = Desc<SgAsmCilAssemblyRefOSTable, std::vector<SgAsmCilAssemblyRefOS*>
SgAsmCilAssemblyRefOSTable::*, &SgAsmCilAssemblyRefOSTable::p_elements>;
39805 static constexpr char const *
const name{
"AsmCilAssemblyRefOSTable"};
39806 static constexpr unsigned long variant{1004};
39807 static constexpr bool concrete{
true};
39816 using field_type = std::vector<SgAsmCilAssemblyRefProcessor*>;
39817 static constexpr size_t position{0};
39818 static constexpr char const *
const name{
"elements"};
39819 static constexpr char const *
const typestr{
"std::vector<SgAsmCilAssemblyRefProcessor*>"};
39820 static constexpr bool traverse{
true};
39821 static constexpr auto mbr_ptr{&SgAsmCilAssemblyRefProcessorTable::p_elements};
39822 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39823 using bind = Desc<SgAsmCilAssemblyRefProcessorTable, std::vector<SgAsmCilAssemblyRefProcessor*>
SgAsmCilAssemblyRefProcessorTable::*, &SgAsmCilAssemblyRefProcessorTable::p_elements>;
39828 static constexpr char const *
const name{
"AsmCilAssemblyRefProcessorTable"};
39829 static constexpr unsigned long variant{1005};
39830 static constexpr bool concrete{
true};
39839 using field_type = std::vector<SgAsmCilClassLayout*>;
39840 static constexpr size_t position{0};
39841 static constexpr char const *
const name{
"elements"};
39842 static constexpr char const *
const typestr{
"std::vector<SgAsmCilClassLayout*>"};
39843 static constexpr bool traverse{
true};
39844 static constexpr auto mbr_ptr{&SgAsmCilClassLayoutTable::p_elements};
39845 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39846 using bind = Desc<SgAsmCilClassLayoutTable, std::vector<SgAsmCilClassLayout*>
SgAsmCilClassLayoutTable::*, &SgAsmCilClassLayoutTable::p_elements>;
39851 static constexpr char const *
const name{
"AsmCilClassLayoutTable"};
39852 static constexpr unsigned long variant{1006};
39853 static constexpr bool concrete{
true};
39862 using field_type = std::vector<SgAsmCilConstant*>;
39863 static constexpr size_t position{0};
39864 static constexpr char const *
const name{
"elements"};
39865 static constexpr char const *
const typestr{
"std::vector<SgAsmCilConstant*>"};
39866 static constexpr bool traverse{
true};
39867 static constexpr auto mbr_ptr{&SgAsmCilConstantTable::p_elements};
39868 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39869 using bind = Desc<SgAsmCilConstantTable, std::vector<SgAsmCilConstant*>
SgAsmCilConstantTable::*, &SgAsmCilConstantTable::p_elements>;
39874 static constexpr char const *
const name{
"AsmCilConstantTable"};
39875 static constexpr unsigned long variant{1007};
39876 static constexpr bool concrete{
true};
39885 using field_type = std::vector<SgAsmCilCustomAttribute*>;
39886 static constexpr size_t position{0};
39887 static constexpr char const *
const name{
"elements"};
39888 static constexpr char const *
const typestr{
"std::vector<SgAsmCilCustomAttribute*>"};
39889 static constexpr bool traverse{
true};
39890 static constexpr auto mbr_ptr{&SgAsmCilCustomAttributeTable::p_elements};
39891 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39892 using bind = Desc<SgAsmCilCustomAttributeTable, std::vector<SgAsmCilCustomAttribute*>
SgAsmCilCustomAttributeTable::*, &SgAsmCilCustomAttributeTable::p_elements>;
39897 static constexpr char const *
const name{
"AsmCilCustomAttributeTable"};
39898 static constexpr unsigned long variant{1008};
39899 static constexpr bool concrete{
true};
39908 using field_type = std::vector<SgAsmCilDeclSecurity*>;
39909 static constexpr size_t position{0};
39910 static constexpr char const *
const name{
"elements"};
39911 static constexpr char const *
const typestr{
"std::vector<SgAsmCilDeclSecurity*>"};
39912 static constexpr bool traverse{
true};
39913 static constexpr auto mbr_ptr{&SgAsmCilDeclSecurityTable::p_elements};
39914 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39915 using bind = Desc<SgAsmCilDeclSecurityTable, std::vector<SgAsmCilDeclSecurity*>
SgAsmCilDeclSecurityTable::*, &SgAsmCilDeclSecurityTable::p_elements>;
39920 static constexpr char const *
const name{
"AsmCilDeclSecurityTable"};
39921 static constexpr unsigned long variant{1009};
39922 static constexpr bool concrete{
true};
39931 using field_type = std::vector<SgAsmCilEvent*>;
39932 static constexpr size_t position{0};
39933 static constexpr char const *
const name{
"elements"};
39934 static constexpr char const *
const typestr{
"std::vector<SgAsmCilEvent*>"};
39935 static constexpr bool traverse{
true};
39936 static constexpr auto mbr_ptr{&SgAsmCilEventTable::p_elements};
39937 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39938 using bind = Desc<SgAsmCilEventTable, std::vector<SgAsmCilEvent*>
SgAsmCilEventTable::*, &SgAsmCilEventTable::p_elements>;
39943 static constexpr char const *
const name{
"AsmCilEventTable"};
39944 static constexpr unsigned long variant{1010};
39945 static constexpr bool concrete{
true};
39954 using field_type = std::vector<SgAsmCilEventMap*>;
39955 static constexpr size_t position{0};
39956 static constexpr char const *
const name{
"elements"};
39957 static constexpr char const *
const typestr{
"std::vector<SgAsmCilEventMap*>"};
39958 static constexpr bool traverse{
true};
39959 static constexpr auto mbr_ptr{&SgAsmCilEventMapTable::p_elements};
39960 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39961 using bind = Desc<SgAsmCilEventMapTable, std::vector<SgAsmCilEventMap*>
SgAsmCilEventMapTable::*, &SgAsmCilEventMapTable::p_elements>;
39966 static constexpr char const *
const name{
"AsmCilEventMapTable"};
39967 static constexpr unsigned long variant{1011};
39968 static constexpr bool concrete{
true};
39977 using field_type = std::vector<SgAsmCilExportedType*>;
39978 static constexpr size_t position{0};
39979 static constexpr char const *
const name{
"elements"};
39980 static constexpr char const *
const typestr{
"std::vector<SgAsmCilExportedType*>"};
39981 static constexpr bool traverse{
true};
39982 static constexpr auto mbr_ptr{&SgAsmCilExportedTypeTable::p_elements};
39983 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
39984 using bind = Desc<SgAsmCilExportedTypeTable, std::vector<SgAsmCilExportedType*>
SgAsmCilExportedTypeTable::*, &SgAsmCilExportedTypeTable::p_elements>;
39989 static constexpr char const *
const name{
"AsmCilExportedTypeTable"};
39990 static constexpr unsigned long variant{1012};
39991 static constexpr bool concrete{
true};
40000 using field_type = std::vector<SgAsmCilField*>;
40001 static constexpr size_t position{0};
40002 static constexpr char const *
const name{
"elements"};
40003 static constexpr char const *
const typestr{
"std::vector<SgAsmCilField*>"};
40004 static constexpr bool traverse{
true};
40005 static constexpr auto mbr_ptr{&SgAsmCilFieldTable::p_elements};
40006 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40007 using bind = Desc<SgAsmCilFieldTable, std::vector<SgAsmCilField*>
SgAsmCilFieldTable::*, &SgAsmCilFieldTable::p_elements>;
40012 static constexpr char const *
const name{
"AsmCilFieldTable"};
40013 static constexpr unsigned long variant{1013};
40014 static constexpr bool concrete{
true};
40023 using field_type = std::vector<SgAsmCilFieldLayout*>;
40024 static constexpr size_t position{0};
40025 static constexpr char const *
const name{
"elements"};
40026 static constexpr char const *
const typestr{
"std::vector<SgAsmCilFieldLayout*>"};
40027 static constexpr bool traverse{
true};
40028 static constexpr auto mbr_ptr{&SgAsmCilFieldLayoutTable::p_elements};
40029 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40030 using bind = Desc<SgAsmCilFieldLayoutTable, std::vector<SgAsmCilFieldLayout*>
SgAsmCilFieldLayoutTable::*, &SgAsmCilFieldLayoutTable::p_elements>;
40035 static constexpr char const *
const name{
"AsmCilFieldLayoutTable"};
40036 static constexpr unsigned long variant{1014};
40037 static constexpr bool concrete{
true};
40046 using field_type = std::vector<SgAsmCilFieldMarshal*>;
40047 static constexpr size_t position{0};
40048 static constexpr char const *
const name{
"elements"};
40049 static constexpr char const *
const typestr{
"std::vector<SgAsmCilFieldMarshal*>"};
40050 static constexpr bool traverse{
true};
40051 static constexpr auto mbr_ptr{&SgAsmCilFieldMarshalTable::p_elements};
40052 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40053 using bind = Desc<SgAsmCilFieldMarshalTable, std::vector<SgAsmCilFieldMarshal*>
SgAsmCilFieldMarshalTable::*, &SgAsmCilFieldMarshalTable::p_elements>;
40058 static constexpr char const *
const name{
"AsmCilFieldMarshalTable"};
40059 static constexpr unsigned long variant{1015};
40060 static constexpr bool concrete{
true};
40069 using field_type = std::vector<SgAsmCilFieldRVA*>;
40070 static constexpr size_t position{0};
40071 static constexpr char const *
const name{
"elements"};
40072 static constexpr char const *
const typestr{
"std::vector<SgAsmCilFieldRVA*>"};
40073 static constexpr bool traverse{
true};
40074 static constexpr auto mbr_ptr{&SgAsmCilFieldRVATable::p_elements};
40075 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40076 using bind = Desc<SgAsmCilFieldRVATable, std::vector<SgAsmCilFieldRVA*>
SgAsmCilFieldRVATable::*, &SgAsmCilFieldRVATable::p_elements>;
40081 static constexpr char const *
const name{
"AsmCilFieldRVATable"};
40082 static constexpr unsigned long variant{1016};
40083 static constexpr bool concrete{
true};
40092 using field_type = std::vector<SgAsmCilFile*>;
40093 static constexpr size_t position{0};
40094 static constexpr char const *
const name{
"elements"};
40095 static constexpr char const *
const typestr{
"std::vector<SgAsmCilFile*>"};
40096 static constexpr bool traverse{
true};
40097 static constexpr auto mbr_ptr{&SgAsmCilFileTable::p_elements};
40098 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40099 using bind = Desc<SgAsmCilFileTable, std::vector<SgAsmCilFile*>
SgAsmCilFileTable::*, &SgAsmCilFileTable::p_elements>;
40104 static constexpr char const *
const name{
"AsmCilFileTable"};
40105 static constexpr unsigned long variant{1017};
40106 static constexpr bool concrete{
true};
40115 using field_type = std::vector<SgAsmCilGenericParam*>;
40116 static constexpr size_t position{0};
40117 static constexpr char const *
const name{
"elements"};
40118 static constexpr char const *
const typestr{
"std::vector<SgAsmCilGenericParam*>"};
40119 static constexpr bool traverse{
true};
40120 static constexpr auto mbr_ptr{&SgAsmCilGenericParamTable::p_elements};
40121 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40122 using bind = Desc<SgAsmCilGenericParamTable, std::vector<SgAsmCilGenericParam*>
SgAsmCilGenericParamTable::*, &SgAsmCilGenericParamTable::p_elements>;
40127 static constexpr char const *
const name{
"AsmCilGenericParamTable"};
40128 static constexpr unsigned long variant{1018};
40129 static constexpr bool concrete{
true};
40138 using field_type = std::vector<SgAsmCilGenericParamConstraint*>;
40139 static constexpr size_t position{0};
40140 static constexpr char const *
const name{
"elements"};
40141 static constexpr char const *
const typestr{
"std::vector<SgAsmCilGenericParamConstraint*>"};
40142 static constexpr bool traverse{
true};
40143 static constexpr auto mbr_ptr{&SgAsmCilGenericParamConstraintTable::p_elements};
40144 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40145 using bind = Desc<SgAsmCilGenericParamConstraintTable, std::vector<SgAsmCilGenericParamConstraint*>
SgAsmCilGenericParamConstraintTable::*, &SgAsmCilGenericParamConstraintTable::p_elements>;
40150 static constexpr char const *
const name{
"AsmCilGenericParamConstraintTable"};
40151 static constexpr unsigned long variant{1019};
40152 static constexpr bool concrete{
true};
40161 using field_type = std::vector<SgAsmCilImplMap*>;
40162 static constexpr size_t position{0};
40163 static constexpr char const *
const name{
"elements"};
40164 static constexpr char const *
const typestr{
"std::vector<SgAsmCilImplMap*>"};
40165 static constexpr bool traverse{
true};
40166 static constexpr auto mbr_ptr{&SgAsmCilImplMapTable::p_elements};
40167 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40168 using bind = Desc<SgAsmCilImplMapTable, std::vector<SgAsmCilImplMap*>
SgAsmCilImplMapTable::*, &SgAsmCilImplMapTable::p_elements>;
40173 static constexpr char const *
const name{
"AsmCilImplMapTable"};
40174 static constexpr unsigned long variant{1020};
40175 static constexpr bool concrete{
true};
40184 using field_type = std::vector<SgAsmCilInterfaceImpl*>;
40185 static constexpr size_t position{0};
40186 static constexpr char const *
const name{
"elements"};
40187 static constexpr char const *
const typestr{
"std::vector<SgAsmCilInterfaceImpl*>"};
40188 static constexpr bool traverse{
true};
40189 static constexpr auto mbr_ptr{&SgAsmCilInterfaceImplTable::p_elements};
40190 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40191 using bind = Desc<SgAsmCilInterfaceImplTable, std::vector<SgAsmCilInterfaceImpl*>
SgAsmCilInterfaceImplTable::*, &SgAsmCilInterfaceImplTable::p_elements>;
40196 static constexpr char const *
const name{
"AsmCilInterfaceImplTable"};
40197 static constexpr unsigned long variant{1021};
40198 static constexpr bool concrete{
true};
40207 using field_type = std::vector<SgAsmCilManifestResource*>;
40208 static constexpr size_t position{0};
40209 static constexpr char const *
const name{
"elements"};
40210 static constexpr char const *
const typestr{
"std::vector<SgAsmCilManifestResource*>"};
40211 static constexpr bool traverse{
true};
40212 static constexpr auto mbr_ptr{&SgAsmCilManifestResourceTable::p_elements};
40213 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40214 using bind = Desc<SgAsmCilManifestResourceTable, std::vector<SgAsmCilManifestResource*>
SgAsmCilManifestResourceTable::*, &SgAsmCilManifestResourceTable::p_elements>;
40219 static constexpr char const *
const name{
"AsmCilManifestResourceTable"};
40220 static constexpr unsigned long variant{1022};
40221 static constexpr bool concrete{
true};
40230 using field_type = std::vector<SgAsmCilMemberRef*>;
40231 static constexpr size_t position{0};
40232 static constexpr char const *
const name{
"elements"};
40233 static constexpr char const *
const typestr{
"std::vector<SgAsmCilMemberRef*>"};
40234 static constexpr bool traverse{
true};
40235 static constexpr auto mbr_ptr{&SgAsmCilMemberRefTable::p_elements};
40236 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40237 using bind = Desc<SgAsmCilMemberRefTable, std::vector<SgAsmCilMemberRef*>
SgAsmCilMemberRefTable::*, &SgAsmCilMemberRefTable::p_elements>;
40242 static constexpr char const *
const name{
"AsmCilMemberRefTable"};
40243 static constexpr unsigned long variant{1023};
40244 static constexpr bool concrete{
true};
40253 using field_type = std::vector<SgAsmCilMethodDef*>;
40254 static constexpr size_t position{0};
40255 static constexpr char const *
const name{
"elements"};
40256 static constexpr char const *
const typestr{
"std::vector<SgAsmCilMethodDef*>"};
40257 static constexpr bool traverse{
true};
40258 static constexpr auto mbr_ptr{&SgAsmCilMethodDefTable::p_elements};
40259 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40260 using bind = Desc<SgAsmCilMethodDefTable, std::vector<SgAsmCilMethodDef*>
SgAsmCilMethodDefTable::*, &SgAsmCilMethodDefTable::p_elements>;
40265 static constexpr char const *
const name{
"AsmCilMethodDefTable"};
40266 static constexpr unsigned long variant{1024};
40267 static constexpr bool concrete{
true};
40276 using field_type = std::vector<SgAsmCilMethodImpl*>;
40277 static constexpr size_t position{0};
40278 static constexpr char const *
const name{
"elements"};
40279 static constexpr char const *
const typestr{
"std::vector<SgAsmCilMethodImpl*>"};
40280 static constexpr bool traverse{
true};
40281 static constexpr auto mbr_ptr{&SgAsmCilMethodImplTable::p_elements};
40282 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40283 using bind = Desc<SgAsmCilMethodImplTable, std::vector<SgAsmCilMethodImpl*>
SgAsmCilMethodImplTable::*, &SgAsmCilMethodImplTable::p_elements>;
40288 static constexpr char const *
const name{
"AsmCilMethodImplTable"};
40289 static constexpr unsigned long variant{1025};
40290 static constexpr bool concrete{
true};
40299 using field_type = std::vector<SgAsmCilMethodSemantics*>;
40300 static constexpr size_t position{0};
40301 static constexpr char const *
const name{
"elements"};
40302 static constexpr char const *
const typestr{
"std::vector<SgAsmCilMethodSemantics*>"};
40303 static constexpr bool traverse{
true};
40304 static constexpr auto mbr_ptr{&SgAsmCilMethodSemanticsTable::p_elements};
40305 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40306 using bind = Desc<SgAsmCilMethodSemanticsTable, std::vector<SgAsmCilMethodSemantics*>
SgAsmCilMethodSemanticsTable::*, &SgAsmCilMethodSemanticsTable::p_elements>;
40311 static constexpr char const *
const name{
"AsmCilMethodSemanticsTable"};
40312 static constexpr unsigned long variant{1026};
40313 static constexpr bool concrete{
true};
40322 using field_type = std::vector<SgAsmCilMethodSpec*>;
40323 static constexpr size_t position{0};
40324 static constexpr char const *
const name{
"elements"};
40325 static constexpr char const *
const typestr{
"std::vector<SgAsmCilMethodSpec*>"};
40326 static constexpr bool traverse{
true};
40327 static constexpr auto mbr_ptr{&SgAsmCilMethodSpecTable::p_elements};
40328 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40329 using bind = Desc<SgAsmCilMethodSpecTable, std::vector<SgAsmCilMethodSpec*>
SgAsmCilMethodSpecTable::*, &SgAsmCilMethodSpecTable::p_elements>;
40334 static constexpr char const *
const name{
"AsmCilMethodSpecTable"};
40335 static constexpr unsigned long variant{1027};
40336 static constexpr bool concrete{
true};
40345 using field_type = std::vector<SgAsmCilModule*>;
40346 static constexpr size_t position{0};
40347 static constexpr char const *
const name{
"elements"};
40348 static constexpr char const *
const typestr{
"std::vector<SgAsmCilModule*>"};
40349 static constexpr bool traverse{
true};
40350 static constexpr auto mbr_ptr{&SgAsmCilModuleTable::p_elements};
40351 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40352 using bind = Desc<SgAsmCilModuleTable, std::vector<SgAsmCilModule*>
SgAsmCilModuleTable::*, &SgAsmCilModuleTable::p_elements>;
40357 static constexpr char const *
const name{
"AsmCilModuleTable"};
40358 static constexpr unsigned long variant{1028};
40359 static constexpr bool concrete{
true};
40368 using field_type = std::vector<SgAsmCilModuleRef*>;
40369 static constexpr size_t position{0};
40370 static constexpr char const *
const name{
"elements"};
40371 static constexpr char const *
const typestr{
"std::vector<SgAsmCilModuleRef*>"};
40372 static constexpr bool traverse{
true};
40373 static constexpr auto mbr_ptr{&SgAsmCilModuleRefTable::p_elements};
40374 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40375 using bind = Desc<SgAsmCilModuleRefTable, std::vector<SgAsmCilModuleRef*>
SgAsmCilModuleRefTable::*, &SgAsmCilModuleRefTable::p_elements>;
40380 static constexpr char const *
const name{
"AsmCilModuleRefTable"};
40381 static constexpr unsigned long variant{1029};
40382 static constexpr bool concrete{
true};
40391 using field_type = std::vector<SgAsmCilNestedClass*>;
40392 static constexpr size_t position{0};
40393 static constexpr char const *
const name{
"elements"};
40394 static constexpr char const *
const typestr{
"std::vector<SgAsmCilNestedClass*>"};
40395 static constexpr bool traverse{
true};
40396 static constexpr auto mbr_ptr{&SgAsmCilNestedClassTable::p_elements};
40397 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40398 using bind = Desc<SgAsmCilNestedClassTable, std::vector<SgAsmCilNestedClass*>
SgAsmCilNestedClassTable::*, &SgAsmCilNestedClassTable::p_elements>;
40403 static constexpr char const *
const name{
"AsmCilNestedClassTable"};
40404 static constexpr unsigned long variant{1030};
40405 static constexpr bool concrete{
true};
40414 using field_type = std::vector<SgAsmCilParam*>;
40415 static constexpr size_t position{0};
40416 static constexpr char const *
const name{
"elements"};
40417 static constexpr char const *
const typestr{
"std::vector<SgAsmCilParam*>"};
40418 static constexpr bool traverse{
true};
40419 static constexpr auto mbr_ptr{&SgAsmCilParamTable::p_elements};
40420 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40421 using bind = Desc<SgAsmCilParamTable, std::vector<SgAsmCilParam*>
SgAsmCilParamTable::*, &SgAsmCilParamTable::p_elements>;
40426 static constexpr char const *
const name{
"AsmCilParamTable"};
40427 static constexpr unsigned long variant{1031};
40428 static constexpr bool concrete{
true};
40437 using field_type = std::vector<SgAsmCilProperty*>;
40438 static constexpr size_t position{0};
40439 static constexpr char const *
const name{
"elements"};
40440 static constexpr char const *
const typestr{
"std::vector<SgAsmCilProperty*>"};
40441 static constexpr bool traverse{
true};
40442 static constexpr auto mbr_ptr{&SgAsmCilPropertyTable::p_elements};
40443 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40444 using bind = Desc<SgAsmCilPropertyTable, std::vector<SgAsmCilProperty*>
SgAsmCilPropertyTable::*, &SgAsmCilPropertyTable::p_elements>;
40449 static constexpr char const *
const name{
"AsmCilPropertyTable"};
40450 static constexpr unsigned long variant{1032};
40451 static constexpr bool concrete{
true};
40460 using field_type = std::vector<SgAsmCilPropertyMap*>;
40461 static constexpr size_t position{0};
40462 static constexpr char const *
const name{
"elements"};
40463 static constexpr char const *
const typestr{
"std::vector<SgAsmCilPropertyMap*>"};
40464 static constexpr bool traverse{
true};
40465 static constexpr auto mbr_ptr{&SgAsmCilPropertyMapTable::p_elements};
40466 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40467 using bind = Desc<SgAsmCilPropertyMapTable, std::vector<SgAsmCilPropertyMap*>
SgAsmCilPropertyMapTable::*, &SgAsmCilPropertyMapTable::p_elements>;
40472 static constexpr char const *
const name{
"AsmCilPropertyMapTable"};
40473 static constexpr unsigned long variant{1033};
40474 static constexpr bool concrete{
true};
40483 using field_type = std::vector<SgAsmCilStandAloneSig*>;
40484 static constexpr size_t position{0};
40485 static constexpr char const *
const name{
"elements"};
40486 static constexpr char const *
const typestr{
"std::vector<SgAsmCilStandAloneSig*>"};
40487 static constexpr bool traverse{
true};
40488 static constexpr auto mbr_ptr{&SgAsmCilStandAloneSigTable::p_elements};
40489 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40490 using bind = Desc<SgAsmCilStandAloneSigTable, std::vector<SgAsmCilStandAloneSig*>
SgAsmCilStandAloneSigTable::*, &SgAsmCilStandAloneSigTable::p_elements>;
40495 static constexpr char const *
const name{
"AsmCilStandAloneSigTable"};
40496 static constexpr unsigned long variant{1034};
40497 static constexpr bool concrete{
true};
40506 using field_type = std::vector<SgAsmCilTypeDef*>;
40507 static constexpr size_t position{0};
40508 static constexpr char const *
const name{
"elements"};
40509 static constexpr char const *
const typestr{
"std::vector<SgAsmCilTypeDef*>"};
40510 static constexpr bool traverse{
true};
40511 static constexpr auto mbr_ptr{&SgAsmCilTypeDefTable::p_elements};
40512 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40513 using bind = Desc<SgAsmCilTypeDefTable, std::vector<SgAsmCilTypeDef*>
SgAsmCilTypeDefTable::*, &SgAsmCilTypeDefTable::p_elements>;
40518 static constexpr char const *
const name{
"AsmCilTypeDefTable"};
40519 static constexpr unsigned long variant{1035};
40520 static constexpr bool concrete{
true};
40529 using field_type = std::vector<SgAsmCilTypeRef*>;
40530 static constexpr size_t position{0};
40531 static constexpr char const *
const name{
"elements"};
40532 static constexpr char const *
const typestr{
"std::vector<SgAsmCilTypeRef*>"};
40533 static constexpr bool traverse{
true};
40534 static constexpr auto mbr_ptr{&SgAsmCilTypeRefTable::p_elements};
40535 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40536 using bind = Desc<SgAsmCilTypeRefTable, std::vector<SgAsmCilTypeRef*>
SgAsmCilTypeRefTable::*, &SgAsmCilTypeRefTable::p_elements>;
40541 static constexpr char const *
const name{
"AsmCilTypeRefTable"};
40542 static constexpr unsigned long variant{1036};
40543 static constexpr bool concrete{
true};
40552 using field_type = std::vector<SgAsmCilTypeSpec*>;
40553 static constexpr size_t position{0};
40554 static constexpr char const *
const name{
"elements"};
40555 static constexpr char const *
const typestr{
"std::vector<SgAsmCilTypeSpec*>"};
40556 static constexpr bool traverse{
true};
40557 static constexpr auto mbr_ptr{&SgAsmCilTypeSpecTable::p_elements};
40558 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40559 using bind = Desc<SgAsmCilTypeSpecTable, std::vector<SgAsmCilTypeSpec*>
SgAsmCilTypeSpecTable::*, &SgAsmCilTypeSpecTable::p_elements>;
40564 static constexpr char const *
const name{
"AsmCilTypeSpecTable"};
40565 static constexpr unsigned long variant{1037};
40566 static constexpr bool concrete{
true};
40576 static constexpr char const *
const name{
"JvmComposite"};
40577 static constexpr unsigned long variant{1038};
40578 static constexpr bool concrete{
true};
40588 static constexpr char const *
const name{
"FortranContinueStmt"};
40589 static constexpr unsigned long variant{1039};
40590 static constexpr bool concrete{
true};
40599 using field_type = SgAsmJvmStackMapFramePtrList;
40600 static constexpr size_t position{0};
40601 static constexpr char const *
const name{
"entries"};
40602 static constexpr char const *
const typestr{
"SgAsmJvmStackMapFramePtrList"};
40603 static constexpr bool traverse{
false};
40604 static constexpr auto mbr_ptr{&SgAsmJvmStackMapTable::p_entries};
40605 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40606 using bind = Desc<SgAsmJvmStackMapTable, SgAsmJvmStackMapFramePtrList SgAsmJvmStackMapTable::*, &SgAsmJvmStackMapTable::p_entries>;
40611 static constexpr char const *
const name{
"AsmJvmStackMapTable"};
40612 static constexpr unsigned long variant{1040};
40613 static constexpr bool concrete{
true};
40622 using field_type = SgAsmJvmStackMapVerificationTypePtrList;
40623 static constexpr size_t position{0};
40624 static constexpr char const *
const name{
"stack"};
40625 static constexpr char const *
const typestr{
"SgAsmJvmStackMapVerificationTypePtrList"};
40626 static constexpr bool traverse{
false};
40627 static constexpr auto mbr_ptr{&SgAsmJvmStackMapFrame::p_stack};
40628 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40629 using bind = Desc<SgAsmJvmStackMapFrame, SgAsmJvmStackMapVerificationTypePtrList SgAsmJvmStackMapFrame::*, &SgAsmJvmStackMapFrame::p_stack>;
40633 using field_type = SgAsmJvmStackMapVerificationTypePtrList;
40634 static constexpr size_t position{1};
40635 static constexpr char const *
const name{
"locals"};
40636 static constexpr char const *
const typestr{
"SgAsmJvmStackMapVerificationTypePtrList"};
40637 static constexpr bool traverse{
false};
40638 static constexpr auto mbr_ptr{&SgAsmJvmStackMapFrame::p_locals};
40639 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40640 using bind = Desc<SgAsmJvmStackMapFrame, SgAsmJvmStackMapVerificationTypePtrList SgAsmJvmStackMapFrame::*, &SgAsmJvmStackMapFrame::p_locals>;
40644 using field_type = uint8_t;
40645 static constexpr size_t position{2};
40646 static constexpr char const *
const name{
"frame_type"};
40647 static constexpr char const *
const typestr{
"uint8_t"};
40648 static constexpr bool traverse{
false};
40649 static constexpr auto mbr_ptr{&SgAsmJvmStackMapFrame::p_frame_type};
40650 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40651 using bind = Desc<SgAsmJvmStackMapFrame, uint8_t SgAsmJvmStackMapFrame::*, &SgAsmJvmStackMapFrame::p_frame_type>;
40655 using field_type = uint16_t;
40656 static constexpr size_t position{3};
40657 static constexpr char const *
const name{
"offset_delta"};
40658 static constexpr char const *
const typestr{
"uint16_t"};
40659 static constexpr bool traverse{
false};
40660 static constexpr auto mbr_ptr{&SgAsmJvmStackMapFrame::p_offset_delta};
40661 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40662 using bind = Desc<SgAsmJvmStackMapFrame, uint16_t SgAsmJvmStackMapFrame::*, &SgAsmJvmStackMapFrame::p_offset_delta>;
40667 static constexpr char const *
const name{
"AsmJvmStackMapFrame"};
40668 static constexpr unsigned long variant{1041};
40669 static constexpr bool concrete{
true};
40671 using fields_t =
mp::List<describe_field_t<SgAsmJvmStackMapFrame,SgAsmJvmStackMapVerificationTypePtrList,&SgAsmJvmStackMapFrame::p_stack>,
describe_field_t<SgAsmJvmStackMapFrame,SgAsmJvmStackMapVerificationTypePtrList,&SgAsmJvmStackMapFrame::p_locals>,
describe_field_t<SgAsmJvmStackMapFrame,uint8_t,&SgAsmJvmStackMapFrame::p_frame_type>,
describe_field_t<SgAsmJvmStackMapFrame,uint16_t,&SgAsmJvmStackMapFrame::p_offset_delta>>;
40678 using field_type = uint8_t;
40679 static constexpr size_t position{0};
40680 static constexpr char const *
const name{
"tag"};
40681 static constexpr char const *
const typestr{
"uint8_t"};
40682 static constexpr bool traverse{
false};
40683 static constexpr auto mbr_ptr{&SgAsmJvmStackMapVerificationType::p_tag};
40684 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40685 using bind = Desc<SgAsmJvmStackMapVerificationType, uint8_t SgAsmJvmStackMapVerificationType::*, &SgAsmJvmStackMapVerificationType::p_tag>;
40689 using field_type = uint16_t;
40690 static constexpr size_t position{1};
40691 static constexpr char const *
const name{
"cpool_index"};
40692 static constexpr char const *
const typestr{
"uint16_t"};
40693 static constexpr bool traverse{
false};
40694 static constexpr auto mbr_ptr{&SgAsmJvmStackMapVerificationType::p_cpool_index};
40695 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40696 using bind = Desc<SgAsmJvmStackMapVerificationType, uint16_t SgAsmJvmStackMapVerificationType::*, &SgAsmJvmStackMapVerificationType::p_cpool_index>;
40700 using field_type = uint16_t;
40701 static constexpr size_t position{2};
40702 static constexpr char const *
const name{
"offset"};
40703 static constexpr char const *
const typestr{
"uint16_t"};
40704 static constexpr bool traverse{
false};
40705 static constexpr auto mbr_ptr{&SgAsmJvmStackMapVerificationType::p_offset};
40706 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40707 using bind = Desc<SgAsmJvmStackMapVerificationType, uint16_t SgAsmJvmStackMapVerificationType::*, &SgAsmJvmStackMapVerificationType::p_offset>;
40712 static constexpr char const *
const name{
"AsmJvmStackMapVerificationType"};
40713 static constexpr unsigned long variant{1042};
40714 static constexpr bool concrete{
true};
40723 using field_type = uint16_t;
40724 static constexpr size_t position{0};
40725 static constexpr char const *
const name{
"bootstrap_method_ref"};
40726 static constexpr char const *
const typestr{
"uint16_t"};
40727 static constexpr bool traverse{
false};
40728 static constexpr auto mbr_ptr{&SgAsmJvmBootstrapMethod::p_bootstrap_method_ref};
40729 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40730 using bind = Desc<SgAsmJvmBootstrapMethod, uint16_t SgAsmJvmBootstrapMethod::*, &SgAsmJvmBootstrapMethod::p_bootstrap_method_ref>;
40734 using field_type = SgUnsigned16List;
40735 static constexpr size_t position{1};
40736 static constexpr char const *
const name{
"bootstrap_arguments"};
40737 static constexpr char const *
const typestr{
"SgUnsigned16List"};
40738 static constexpr bool traverse{
false};
40739 static constexpr auto mbr_ptr{&SgAsmJvmBootstrapMethod::p_bootstrap_arguments};
40740 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40741 using bind = Desc<SgAsmJvmBootstrapMethod, SgUnsigned16List SgAsmJvmBootstrapMethod::*, &SgAsmJvmBootstrapMethod::p_bootstrap_arguments>;
40746 static constexpr char const *
const name{
"AsmJvmBootstrapMethod"};
40747 static constexpr unsigned long variant{1043};
40748 static constexpr bool concrete{
true};
40757 using field_type = SgAsmJvmBootstrapMethodPtrList;
40758 static constexpr size_t position{0};
40759 static constexpr char const *
const name{
"bootstrap_methods"};
40760 static constexpr char const *
const typestr{
"SgAsmJvmBootstrapMethodPtrList"};
40761 static constexpr bool traverse{
false};
40762 static constexpr auto mbr_ptr{&SgAsmJvmBootstrapMethods::p_bootstrap_methods};
40763 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40764 using bind = Desc<SgAsmJvmBootstrapMethods, SgAsmJvmBootstrapMethodPtrList SgAsmJvmBootstrapMethods::*, &SgAsmJvmBootstrapMethods::p_bootstrap_methods>;
40769 static constexpr char const *
const name{
"AsmJvmBootstrapMethods"};
40770 static constexpr unsigned long variant{1044};
40771 static constexpr bool concrete{
true};
40780 using field_type = SgUnsigned16List;
40781 static constexpr size_t position{0};
40782 static constexpr char const *
const name{
"exception_index_table"};
40783 static constexpr char const *
const typestr{
"SgUnsigned16List"};
40784 static constexpr bool traverse{
false};
40785 static constexpr auto mbr_ptr{&SgAsmJvmExceptions::p_exception_index_table};
40786 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40787 using bind = Desc<SgAsmJvmExceptions, SgUnsigned16List SgAsmJvmExceptions::*, &SgAsmJvmExceptions::p_exception_index_table>;
40792 static constexpr char const *
const name{
"AsmJvmExceptions"};
40793 static constexpr unsigned long variant{1045};
40794 static constexpr bool concrete{
true};
40803 using field_type = SgUnsigned16List;
40804 static constexpr size_t position{0};
40805 static constexpr char const *
const name{
"classes"};
40806 static constexpr char const *
const typestr{
"SgUnsigned16List"};
40807 static constexpr bool traverse{
false};
40808 static constexpr auto mbr_ptr{&SgAsmJvmNestMembers::p_classes};
40809 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40810 using bind = Desc<SgAsmJvmNestMembers, SgUnsigned16List SgAsmJvmNestMembers::*, &SgAsmJvmNestMembers::p_classes>;
40815 static constexpr char const *
const name{
"AsmJvmNestMembers"};
40816 static constexpr unsigned long variant{1046};
40817 static constexpr bool concrete{
true};
40826 using field_type = uint16_t;
40827 static constexpr size_t position{0};
40828 static constexpr char const *
const name{
"host_class_index"};
40829 static constexpr char const *
const typestr{
"uint16_t"};
40830 static constexpr bool traverse{
false};
40831 static constexpr auto mbr_ptr{&SgAsmJvmNestHost::p_host_class_index};
40832 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40833 using bind = Desc<SgAsmJvmNestHost, uint16_t SgAsmJvmNestHost::*, &SgAsmJvmNestHost::p_host_class_index>;
40838 static constexpr char const *
const name{
"AsmJvmNestHost"};
40839 static constexpr unsigned long variant{1047};
40840 static constexpr bool concrete{
true};
40849 using field_type = std::string;
40850 static constexpr size_t position{0};
40851 static constexpr char const *
const name{
"label"};
40852 static constexpr char const *
const typestr{
"std::string"};
40853 static constexpr bool traverse{
false};
40854 static constexpr auto mbr_ptr{&SgJovialLabelDeclaration::p_label};
40855 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40856 using bind = Desc<SgJovialLabelDeclaration, std::string SgJovialLabelDeclaration::*, &SgJovialLabelDeclaration::p_label>;
40861 static constexpr size_t position{1};
40862 static constexpr char const *
const name{
"label_type"};
40863 static constexpr char const *
const typestr{
"SgJovialLabelDeclaration::label_type_enum"};
40864 static constexpr bool traverse{
false};
40865 static constexpr auto mbr_ptr{&SgJovialLabelDeclaration::p_label_type};
40866 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40867 using bind = Desc<SgJovialLabelDeclaration, SgJovialLabelDeclaration::label_type_enum SgJovialLabelDeclaration::*, &SgJovialLabelDeclaration::p_label_type>;
40872 static constexpr char const *
const name{
"JovialLabelDeclaration"};
40873 static constexpr unsigned long variant{1048};
40874 static constexpr bool concrete{
true};
40883 using field_type = uint16_t;
40884 static constexpr size_t position{0};
40885 static constexpr char const *
const name{
"start_pc"};
40886 static constexpr char const *
const typestr{
"uint16_t"};
40887 static constexpr bool traverse{
false};
40888 static constexpr auto mbr_ptr{&SgAsmJvmLocalVariableEntry::p_start_pc};
40889 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40890 using bind = Desc<SgAsmJvmLocalVariableEntry, uint16_t SgAsmJvmLocalVariableEntry::*, &SgAsmJvmLocalVariableEntry::p_start_pc>;
40894 using field_type = uint16_t;
40895 static constexpr size_t position{1};
40896 static constexpr char const *
const name{
"length"};
40897 static constexpr char const *
const typestr{
"uint16_t"};
40898 static constexpr bool traverse{
false};
40899 static constexpr auto mbr_ptr{&SgAsmJvmLocalVariableEntry::p_length};
40900 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40901 using bind = Desc<SgAsmJvmLocalVariableEntry, uint16_t SgAsmJvmLocalVariableEntry::*, &SgAsmJvmLocalVariableEntry::p_length>;
40905 using field_type = uint16_t;
40906 static constexpr size_t position{2};
40907 static constexpr char const *
const name{
"name_index"};
40908 static constexpr char const *
const typestr{
"uint16_t"};
40909 static constexpr bool traverse{
false};
40910 static constexpr auto mbr_ptr{&SgAsmJvmLocalVariableEntry::p_name_index};
40911 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40912 using bind = Desc<SgAsmJvmLocalVariableEntry, uint16_t SgAsmJvmLocalVariableEntry::*, &SgAsmJvmLocalVariableEntry::p_name_index>;
40916 using field_type = uint16_t;
40917 static constexpr size_t position{3};
40918 static constexpr char const *
const name{
"descriptor_index"};
40919 static constexpr char const *
const typestr{
"uint16_t"};
40920 static constexpr bool traverse{
false};
40921 static constexpr auto mbr_ptr{&SgAsmJvmLocalVariableEntry::p_descriptor_index};
40922 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40923 using bind = Desc<SgAsmJvmLocalVariableEntry, uint16_t SgAsmJvmLocalVariableEntry::*, &SgAsmJvmLocalVariableEntry::p_descriptor_index>;
40927 using field_type = uint16_t;
40928 static constexpr size_t position{4};
40929 static constexpr char const *
const name{
"index"};
40930 static constexpr char const *
const typestr{
"uint16_t"};
40931 static constexpr bool traverse{
false};
40932 static constexpr auto mbr_ptr{&SgAsmJvmLocalVariableEntry::p_index};
40933 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40934 using bind = Desc<SgAsmJvmLocalVariableEntry, uint16_t SgAsmJvmLocalVariableEntry::*, &SgAsmJvmLocalVariableEntry::p_index>;
40939 static constexpr char const *
const name{
"AsmJvmLocalVariableEntry"};
40940 static constexpr unsigned long variant{1049};
40941 static constexpr bool concrete{
true};
40943 using fields_t =
mp::List<describe_field_t<SgAsmJvmLocalVariableEntry,uint16_t,&SgAsmJvmLocalVariableEntry::p_start_pc>,
describe_field_t<SgAsmJvmLocalVariableEntry,uint16_t,&SgAsmJvmLocalVariableEntry::p_length>,
describe_field_t<SgAsmJvmLocalVariableEntry,uint16_t,&SgAsmJvmLocalVariableEntry::p_name_index>,
describe_field_t<SgAsmJvmLocalVariableEntry,uint16_t,&SgAsmJvmLocalVariableEntry::p_descriptor_index>,
describe_field_t<SgAsmJvmLocalVariableEntry,uint16_t,&SgAsmJvmLocalVariableEntry::p_index>>;
40950 using field_type = SgAsmJvmLocalVariableEntryPtrList;
40951 static constexpr size_t position{0};
40952 static constexpr char const *
const name{
"local_variable_table"};
40953 static constexpr char const *
const typestr{
"SgAsmJvmLocalVariableEntryPtrList"};
40954 static constexpr bool traverse{
false};
40955 static constexpr auto mbr_ptr{&SgAsmJvmLocalVariableTable::p_local_variable_table};
40956 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40957 using bind = Desc<SgAsmJvmLocalVariableTable, SgAsmJvmLocalVariableEntryPtrList SgAsmJvmLocalVariableTable::*, &SgAsmJvmLocalVariableTable::p_local_variable_table>;
40962 static constexpr char const *
const name{
"AsmJvmLocalVariableTable"};
40963 static constexpr unsigned long variant{1050};
40964 static constexpr bool concrete{
true};
40973 using field_type = uint16_t;
40974 static constexpr size_t position{0};
40975 static constexpr char const *
const name{
"start_pc"};
40976 static constexpr char const *
const typestr{
"uint16_t"};
40977 static constexpr bool traverse{
false};
40978 static constexpr auto mbr_ptr{&SgAsmJvmLocalVariableTypeEntry::p_start_pc};
40979 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40980 using bind = Desc<SgAsmJvmLocalVariableTypeEntry, uint16_t SgAsmJvmLocalVariableTypeEntry::*, &SgAsmJvmLocalVariableTypeEntry::p_start_pc>;
40984 using field_type = uint16_t;
40985 static constexpr size_t position{1};
40986 static constexpr char const *
const name{
"length"};
40987 static constexpr char const *
const typestr{
"uint16_t"};
40988 static constexpr bool traverse{
false};
40989 static constexpr auto mbr_ptr{&SgAsmJvmLocalVariableTypeEntry::p_length};
40990 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
40991 using bind = Desc<SgAsmJvmLocalVariableTypeEntry, uint16_t SgAsmJvmLocalVariableTypeEntry::*, &SgAsmJvmLocalVariableTypeEntry::p_length>;
40995 using field_type = uint16_t;
40996 static constexpr size_t position{2};
40997 static constexpr char const *
const name{
"name_index"};
40998 static constexpr char const *
const typestr{
"uint16_t"};
40999 static constexpr bool traverse{
false};
41000 static constexpr auto mbr_ptr{&SgAsmJvmLocalVariableTypeEntry::p_name_index};
41001 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
41002 using bind = Desc<SgAsmJvmLocalVariableTypeEntry, uint16_t SgAsmJvmLocalVariableTypeEntry::*, &SgAsmJvmLocalVariableTypeEntry::p_name_index>;
41006 using field_type = uint16_t;
41007 static constexpr size_t position{3};
41008 static constexpr char const *
const name{
"signature_index"};
41009 static constexpr char const *
const typestr{
"uint16_t"};
41010 static constexpr bool traverse{
false};
41011 static constexpr auto mbr_ptr{&SgAsmJvmLocalVariableTypeEntry::p_signature_index};
41012 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
41013 using bind = Desc<SgAsmJvmLocalVariableTypeEntry, uint16_t SgAsmJvmLocalVariableTypeEntry::*, &SgAsmJvmLocalVariableTypeEntry::p_signature_index>;
41017 using field_type = uint16_t;
41018 static constexpr size_t position{4};
41019 static constexpr char const *
const name{
"index"};
41020 static constexpr char const *
const typestr{
"uint16_t"};
41021 static constexpr bool traverse{
false};
41022 static constexpr auto mbr_ptr{&SgAsmJvmLocalVariableTypeEntry::p_index};
41023 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
41024 using bind = Desc<SgAsmJvmLocalVariableTypeEntry, uint16_t SgAsmJvmLocalVariableTypeEntry::*, &SgAsmJvmLocalVariableTypeEntry::p_index>;
41029 static constexpr char const *
const name{
"AsmJvmLocalVariableTypeEntry"};
41030 static constexpr unsigned long variant{1051};
41031 static constexpr bool concrete{
true};
41033 using fields_t =
mp::List<describe_field_t<SgAsmJvmLocalVariableTypeEntry,uint16_t,&SgAsmJvmLocalVariableTypeEntry::p_start_pc>,
describe_field_t<SgAsmJvmLocalVariableTypeEntry,uint16_t,&SgAsmJvmLocalVariableTypeEntry::p_length>,
describe_field_t<SgAsmJvmLocalVariableTypeEntry,uint16_t,&SgAsmJvmLocalVariableTypeEntry::p_name_index>,
describe_field_t<SgAsmJvmLocalVariableTypeEntry,uint16_t,&SgAsmJvmLocalVariableTypeEntry::p_signature_index>,
describe_field_t<SgAsmJvmLocalVariableTypeEntry,uint16_t,&SgAsmJvmLocalVariableTypeEntry::p_index>>;
41040 using field_type = SgAsmJvmLocalVariableTypeEntryPtrList;
41041 static constexpr size_t position{0};
41042 static constexpr char const *
const name{
"local_variable_type_table"};
41043 static constexpr char const *
const typestr{
"SgAsmJvmLocalVariableTypeEntryPtrList"};
41044 static constexpr bool traverse{
false};
41045 static constexpr auto mbr_ptr{&SgAsmJvmLocalVariableTypeTable::p_local_variable_type_table};
41046 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
41047 using bind = Desc<SgAsmJvmLocalVariableTypeTable, SgAsmJvmLocalVariableTypeEntryPtrList SgAsmJvmLocalVariableTypeTable::*, &SgAsmJvmLocalVariableTypeTable::p_local_variable_type_table>;
41052 static constexpr char const *
const name{
"AsmJvmLocalVariableTypeTable"};
41053 static constexpr unsigned long variant{1052};
41054 static constexpr bool concrete{
true};
41063 using field_type = unsigned;
41064 static constexpr size_t position{0};
41065 static constexpr char const *
const name{
"kind"};
41066 static constexpr char const *
const typestr{
"unsigned"};
41067 static constexpr bool traverse{
false};
41068 static constexpr auto mbr_ptr{&SgAsmUserInstruction::p_kind};
41069 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
41070 using bind = Desc<SgAsmUserInstruction, unsigned SgAsmUserInstruction::*, &SgAsmUserInstruction::p_kind>;
41075 static constexpr char const *
const name{
"AsmUserInstruction"};
41076 static constexpr unsigned long variant{1053};
41077 static constexpr bool concrete{
true};
41086 using field_type = SgAsmJvmMethodParametersEntryPtrList;
41087 static constexpr size_t position{0};
41088 static constexpr char const *
const name{
"parameters"};
41089 static constexpr char const *
const typestr{
"SgAsmJvmMethodParametersEntryPtrList"};
41090 static constexpr bool traverse{
false};
41091 static constexpr auto mbr_ptr{&SgAsmJvmMethodParameters::p_parameters};
41092 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
41093 using bind = Desc<SgAsmJvmMethodParameters, SgAsmJvmMethodParametersEntryPtrList SgAsmJvmMethodParameters::*, &SgAsmJvmMethodParameters::p_parameters>;
41098 static constexpr char const *
const name{
"AsmJvmMethodParameters"};
41099 static constexpr unsigned long variant{1054};
41100 static constexpr bool concrete{
true};
41109 using field_type = uint16_t;
41110 static constexpr size_t position{0};
41111 static constexpr char const *
const name{
"name_index"};
41112 static constexpr char const *
const typestr{
"uint16_t"};
41113 static constexpr bool traverse{
false};
41114 static constexpr auto mbr_ptr{&SgAsmJvmMethodParametersEntry::p_name_index};
41115 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
41116 using bind = Desc<SgAsmJvmMethodParametersEntry, uint16_t SgAsmJvmMethodParametersEntry::*, &SgAsmJvmMethodParametersEntry::p_name_index>;
41120 using field_type = uint16_t;
41121 static constexpr size_t position{1};
41122 static constexpr char const *
const name{
"access_flags"};
41123 static constexpr char const *
const typestr{
"uint16_t"};
41124 static constexpr bool traverse{
false};
41125 static constexpr auto mbr_ptr{&SgAsmJvmMethodParametersEntry::p_access_flags};
41126 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
41127 using bind = Desc<SgAsmJvmMethodParametersEntry, uint16_t SgAsmJvmMethodParametersEntry::*, &SgAsmJvmMethodParametersEntry::p_access_flags>;
41132 static constexpr char const *
const name{
"AsmJvmMethodParametersEntry"};
41133 static constexpr unsigned long variant{1055};
41134 static constexpr bool concrete{
true};
41144 static constexpr char const *
const name{
"AsmVoidType"};
41145 static constexpr unsigned long variant{1056};
41146 static constexpr bool concrete{
true};
41156 static constexpr size_t position{0};
41157 static constexpr char const *
const name{
"subtype"};
41158 static constexpr char const *
const typestr{
"SgAsmType *"};
41159 static constexpr bool traverse{
true};
41160 static constexpr auto mbr_ptr{&SgAsmPointerType::p_subtype};
41161 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
41162 using bind = Desc<SgAsmPointerType, SgAsmType * SgAsmPointerType::*, &SgAsmPointerType::p_subtype>;
41167 static constexpr char const *
const name{
"AsmPointerType"};
41168 static constexpr unsigned long variant{1057};
41169 static constexpr bool concrete{
true};
41179 static constexpr size_t position{0};
41180 static constexpr char const *
const name{
"base_type"};
41181 static constexpr char const *
const typestr{
"SgType*"};
41182 static constexpr bool traverse{
false};
41183 static constexpr auto mbr_ptr{&SgRangeType::p_base_type};
41184 template <
template <
typename NodeT,
typename FieldT, FieldT fld_ptr>
class Desc>
41185 using bind = Desc<SgRangeType, SgType* SgRangeType::*, &SgRangeType::p_base_type>;
41190 static constexpr char const *
const name{
"RangeType"};
41191 static constexpr unsigned long variant{1059};
41192 static constexpr bool concrete{
true};
Stores named attributes in Sage IR nodes.
Describes (part of) a physical CPU register.
Optionally bound relative virtual address.
access_modifier_enum
Access Modifiers (only one value can be specified)
SgExprListExp * p_initializers
This points to a SgExprListExp (list of expressions).
Operand referencing a Co-processor.
String associated with a binary file.
Expression that adds two operands.
Expression that performs an arithmetic, sign-bit preserving right shift.
Expression that concatenates two values to form a wider value.
Expression that divides the first operand by the second.
Base class for binary expressions.
Expression that performs a logical left shift operation.
Expression that performs a logical, sign-bit non-preserving right shift.
Expression that returns the remainder when dividing the first operand by the second.
Expression that performs a logical left shift operation filling low-order bits with one.
Expression that multiplies two operands.
Expression that represents an update to a storage location.
Expression that represents an update to a storage location.
Expression that performs a right rotate.
Expression that subtracts the second operand from the first.
Byte order specification.
CIL AssemblyOS node (II.22.3).
CIL AssemblyProcessor tables.
CIL AssemblyProcessor node (II.22.4).
CIL AssemblyRefOS tables.
CIL AssemblyRefOS node (II.22.6).
CIL AssemblyRefProcessor tables.
CIL AssemblyRefProcessor node (II.22.7).
CIL AssemblyRef node (II.22.5).
CIL Assembly node (II.22.2).
CIL ClassLayout node (II.22.8).
CIL Constant node (II.22.9).
CIL CustomAttribute tables.
CIL CustomAttribute node (II.22.10).
Base class for CIL branch of binary analysis IR nodes.
CIL DeclSecurity node (II.22.11).
CIL EventMap node (II.22.12).
CIL Event node (II.22.13).
CIL ExportedType node (II.22.14).
CIL FieldLayout node (II.22.16).
CIL FieldMarshal node (II.22.17).
CIL FieldRVA node (II.22.18).
CIL Field node (II.22.15).
CIL File node (II.22.19).
CIL GenericParamConstraint tables.
CIL GenericParamConstraint node (II.22.21).
CIL GenericParam node (II.22.20).
CIL ImplMap node (II.22.22).
CIL InterfaceImpl tables.
CIL InterfaceImpl node (II.22.23).
CIL ManifestResource tables.
CIL ManifestResource node (II.22.24).
CIL MemberRef node (II.22.25).
CIL MethodDef node (II.22.26).
CIL MethodImpl node (II.22.27).
CIL MethodSemantics tables.
CIL MethodSemantics node (II.22.28).
CIL MethodSpec node (II.22.29).
CIL ModuleRef node (II.22.31).
CIL Module node (II.22.30).
CIL NestedClass node (II.22.32).
Base class for CIL branch of binary analysis IR nodes.
CIL Param node (II.22.33).
CIL PropertyMap node (II.22.35).
CIL Property node (II.22.34).
CIL StandAloneSig tables.
CIL StandAloneSig node (II.22.36).
CIL TypeDef node (II.22.37).
CIL TypeRef node (II.22.38).
CIL TypeSpec node (II.22.39).
Base class for CIL branch of binary analysis IR nodes.
Base class for CIL branch of binary analysis IR nodes.
COFF symbol string table.
Base class for constants.
Expression representing a machine register.
List of dynamic linking section entries.
One entry from the dynamic linking table.
ELF section containing dynamic linking information.
List of ELF EH frame CI entries.
ELF error handling frame entry, common information entry.
List of ELF error handling frame descriptor entries.
ELF error handling frame entry frame description entry.
Represents an ELF EH frame section.
Node to hold list of ELF note entries.
One entry of an ELF notes table.
List of ELF relocation entries.
One entry of an ELF relocation table.
RelocType
Relocation Type.
Represents an ELF relocation section.
Represents one entry in an ELF section table.
SectionType
Section types (host order).
Represents an ELF section table.
Base class for ELF file sections.
Represents one entry of a segment table.
SegmentType
Segment types (host order).
SegmentFlags
Segment bit flags.
Represents an ELF segment table.
ELF string table section.
ELF file section containing symbols.
Represents a single ELF symbol.
List of symbol version aux entries.
Auxiliary data for an ELF Symbol Version.
List of entries for the ELF symbol version definition table.
One entry from an ELF symbol version definition table.
The GNU symbol version definitions.
List of entries from a symbol version table.
Entry in an ELF symbol version table.
Hods a list of symbol version aux entries.
Auxiliary info for needed symbol version.
List of symbol version needed entries.
One entry of the ELF symbol version needed table.
GNU symbol version requirements table.
The ELF symbol version table.
List of expression nodes.
Base class for expressions.
Represents a synthesized function.
function_kind_enum
Constants for the "function_kind" property.
MayReturn
Whether a function returns.
List of pointers to other nodes.
Base class for dynamically linked library information.
List of AST file node pointers.
Base class for binary files.
List of pointers to file sections.
Contiguous region of a file.
SectionPurpose
Reason for section's existence.
Base class for strings related to binary specimens.
Base class for string tables.
Node to hold a list of symbol node pointers.
SymbolBinding
Symbol binding.
SymbolDefState
Symbol definition state.
Registers accessed indirectly.
List of SgAsmInstruction nodes.
Base class for machine instructions.
Base class for integer values.
Represents an interpretation of a binary container.
Represents a JVM attribute_info table/array.
Base class for a JVM attribute.
The BootstrapMethods attribute is a variable-length attribute in the attributes table of a ClassFile ...
Represents an entry in a JVM constant pool.
Represents an JVM constant pool.
JVM ConstantValue attribute.
JVM EnclosingMethod attribute.
Represents a JVM exception_info table/array.
JVM Exceptions attribute.
Represents a JVM field_info table/array.
A JVM InnerClasses attribute array entry.
Represents a JVM InnerClasses attribute.
Represents one JVS machine instruction.
JVM LineNumberTable attribute.
JVM LocalVariableTable attribute.
JVM LocalVariableTypeEntry.
JVM LocalVariableTypeTable attribute.
JVM MethodParametersEntry.
JVM MethodParameters attribute.
Represents a JVM method_info table/array.
JVM ModuleMainClass attribute.
JVM NestMembers attribute.
Base class for JVM branch of binary analysis IR nodes.
JVM SourceFile attribute.
Represents a frame in a stack map table.
The StackMapTable attribute is a variable-length attribute in the attributes table of a Code attribut...
Represents an entry in a stack map table.
Reference to memory locations.
Represents one MIPS machine instruction.
Base class for all binary analysis IR nodes.
asm_operand_constraint_enum
ASM operand constraints (multiple values can be specified)
asm_operand_modifier_enum
ASM Operand modifiers (multiple values can be specified)
List of operands for an instruction.
List of pointers to other AST nodes.
A list of PE Import Directories.
One import directory per library.
A list of imported items.
A single imported object.
Portable Executable Import Section.
List of SgAsmPERVASizePair AST nodes.
Base class for PE sections.
Represents one PowerPC machine instruction.
An ordered list of registers.
Base class for references to a machine register.
Static representation of instruction semantics.
RiscOperator
One enum per RISC operator.
Base class for scalar types.
Base class for references to a machine register.
Base class for statement-like subclasses.
Represents static data in an executable.
This class represents the concept of a C Assembler statement.
SgAsmStmt::AsmRegisterNameList p_clobberRegisterList
This is the clobber list (list of registers where side-effects happen).
SgExpressionPtrList p_operands
List of expressions.
Strings stored in an ELF or PE container.
Strings stored in an ELF or PE container.
Declaration-like nodes that encapsulate multiple instructions.
Base class for synthesized declarations.
Base class for binary types.
Base class for unary expressions.
Expression represting negation.
Expression representing a (no-op) unary plus operation.
Expression representing sign extending.
Expression representing truncation.
Expression representing unsigned extending.
Instructions defined at runtime.
Base class for vector types.
A type that doesn't represent any data.
Represents one Intel x86 machine instruction.
This class represents the rhs of a variable declaration which includes an optional assignment (e....
SgExpression * p_operand_i
This points to the internal SgExpression (right-hand-side expression).
SgType * p_expression_type
This points to the SgType of the rhs expression.
attribute_spec_enum
Fortran specific classification of attribute statements (each corresponds to a declaration attribute)...
baseclass_modifier_enum
Baseclass Modifiers (only one value can be specified)
This class represents the concept of a block (not a basic block from control flow analysis).
SgStatementPtrList p_statements
This pointer an STL list of pointers to SgStatement objects.
This class represents the notion of a binary operator. It is derived from a SgExpression because oper...
SgType * p_expression_type
This SgType is the type of the operator (function type).
SgExpression * p_rhs_operand_i
This is the operand associated with the rhs of the binary operator.
SgExpression * p_lhs_operand_i
This is the operand associated with the lhs of the binary operator.
This class represents a boolean value (expression value).
int p_value
This boolean variable marks the current expression as a left hand side value (lvalue).
This class represents the notion of a break statement (typically used in a switch statment).
This class represents the concept of a generic call expression.
SgExprListExp * p_args
This is a pointer to a SgExprListExp (list of function arguments)
SgType * p_expression_type
This is the type of the return value of the function.
SgExpression * p_function
This pointer points to the expression being assembled with argments for be a function call.
This class represents the concept of a C and C++ case option (used within a switch statement).
SgStatement * p_body
This pointer points to a SgBasicBlock object.
SgExpression * p_key_range_end
This pointer points to the last constant in the range when a gnu range case label is used.
This class represents a cast of one type to another.
cast_type_enum
Classification of Casts.
This class represents the concept of a catch within a try-catch construct used in C++ exception handl...
SgTryStmt * p_trystmt
This pointer to a SgTryStmt (a declaration) that is associated with this catch option.
SgStatement * p_body
This pointer to a SgBasicBlock used to hold the statements to be executed when the exception is caugh...
SgVariableDeclaration * p_condition
This pointer to a SgVariableDeclaration.
This class represents the concept of a C++ sequence of catch statements.
SgStatementPtrList p_catch_statement_seq
This is an STL list of pointers to SgStatement objects.
This class represents the concept of a class declaration statement. It includes the concept of an ins...
SgName p_name
This is the name of the class or instantiated class template.
SgClassDefinition * p_definition
This is the class definition (alway a valid pointer, except for explicitly marked forward declaration...
bool p_from_template
This records if the class declaration is associated with a template.
SgClassType * p_type
This is the type used in the declaration (SgClassType).
SgClassDeclaration::class_types p_class_type
Enum value classifying this as a class,struct,or union.
This class represents the concept of a class definition in C++.
SgDeclarationStatementPtrList p_members
This the list of member declarations in the class.
SgBaseClassPtrList p_inheritances
This the list of base classes specificed in the class definition.
This class represents the concept of a C++ expression built from a class name.
SgClassSymbol * p_symbol
This pointer points to a SgClassSymbol.
This class represents the concept of a class name within the compiler.
This class represents the concept of a C style extern "C" declaration. But such information (linkage)...
This class represents the concept of a C trinary conditional expression (e.g. "test ?...
SgExpression * p_conditional_exp
This pointer points to a SgExpression object.
SgExpression * p_false_exp
This pointer points to a SgExpression object.
SgExpression * p_true_exp
This pointer points to a SgExpression object.
SgType * p_expression_type
This pointer points to a SgType object.
cv_modifier_enum
Const Volatile Modifier.
This class represents the call of a class constructor to initialize a variable. For example "Foo foo;...
SgType * p_expression_type
This points to the associated type for this constructor.
bool p_need_parenthesis_after_name
This bool value controls the output of "()" after the class name.
bool p_associated_class_unknown
This bool value indicates when p_declaration should be a valid pointer.
bool p_need_qualifier
This bool value controls the output of the class names qualifier.
SgMemberFunctionDeclaration * p_declaration
This points to the associated member function declaration (a constructor).
SgExprListExp * p_args
This points to the argument list of the associated constructor call.
bool p_need_name
This bool value controls the output of the class name.
This class represents the concept of a C or C++ continue statement.
This class represents the concept of a contructor initializer list (used in constructor (member funct...
SgInitializedNamePtrList p_ctors
This is an STL list of pointers to SgInitializedName objects.
data_statement_value_enum
Support for Fortran data statement.
This class represents modifiers for SgDeclaration (declaration statements).
SgStorageModifier p_storageModifier
Modified for storage information.
SgAccessModifier p_accessModifier
Modifier for access information (only set for declarations in class and struct definitions)
SgBitVector p_modifierVector
Bit vector permitting specification of flags for friend, typedef, export, throw.
SgTypeModifier p_typeModifier
Modifier for type information.
gnu_declaration_visability_enum
GNU attribute for visability (only one value can be specified)
This class represents the concept of a declaration statement.
bool p_nameOnly
I think this is somewhat redundant with the purpose of specifying a forward declaration....
gnu_extension_visability_attribute_enum
GNU extension for visibility modifier (only one value can be specified)
SgDeclarationStatement * p_firstNondefiningDeclaration
This pointer is valid if there is a non-defining declaration, and stores the first non-defining decla...
std::string p_linkage
This string stores the value "C", "C++", or "fortran" to define the external linkage for generating l...
template_specialization_enum
Template Specialization Support.
SgDeclarationModifier p_declarationModifier
This is the mechanism to handle declaration modifiers.
SgDeclarationStatement * p_definingDeclaration
This pointer is valid only if a defining declaration exists, and stores the defining declaration wher...
bool p_externBrace
This marks that the declaration appeared with "extern".
unsigned int p_decl_attributes
This is old and used to be used to hold modifiers.
bool p_forward
This marks a declaration as being an explicit forward declaration.
bool p_skipElaborateType
This marks "type elaboration" which is the use of the keyword "class" before variables of type class.
This class represents the concept of a C or C++ default case within a switch statement.
SgStatement * p_body
This pointer points to SgBasicBlock holding the statements executed for the default case of a switch ...
This class represents the concept of a C++ call to the delete operator.
short p_need_global_specifier
This delete operator needs to be output with "::".
SgExpression * p_variable
This pointer points to the variable being deleted.
short p_is_array
This bool value is true only if the delete operator is called on an array (array delete).
This class represents a directory within a projects file structure of files and directories.
This class represents the concept of a do-while statement.
SgStatement * p_condition
This pointer a SgStatement, the conditional expression in the loop construct.
SgStatement * p_body
This pointer a SgBasicBlock, and holds the statements in the body of the loop.
This class represents the notion of an value (expression value).
double p_value
This value holds the double represented in the source code.
elaborated_type_modifier_enum
Elaborated Type Modifiers (only one value can be specified)
This class represents the concept of an enum declaration.
SgName p_name
Name of enum type (empty if not named).
SgEnumType * p_type
SgEnumType generated by this enum declaration.
SgScopeStatement * p_scope
Scope of enum declaration.
SgInitializedNamePtrList p_enumerators
STL list of pointers to SgInitializedName object (used for enum variables).
bool p_embedded
Boolean value true if embedded in a typedef declaration (might not be used).
This class represents the concept of the dynamic execution of a string, file, or code object....
SgExpression * p_globals
The global execution environment.
SgExpression * p_executable
The object to be executed.
SgExpression * p_locals
The local execution environment.
This class represents the concept of a C and C++ expression list.
This class represents the concept of a C or C++ statement which contains a expression.
This class represents the notion of an expression. Expressions are derived from SgLocatedNodes,...
bool p_lvalue
This boolean variable marks the current expression as a left hand side value (lvalue).
bool p_need_paren
This boolean value marks the current expression as requiring parenthises.
This class represents a source file for a project (which may contian many source files and or directo...
ROSEAttributesListContainerPtr p_preprocessorDirectivesAndCommentsList
This is the container of comments and preprocessor control statements that was extracted from the fil...
outputFormatOption_enum
Enum type used to specify output of Fortran as fixed for free format.
bool p_no_implicit_inline_templates
This is a reference to the GNU g++ command line option (same name).
bool p_no_implicit_templates
This is a reference to the GNU g++ command line option (same name).
SgStringList p_originalCommandLineArgumentList
Copy of original argc and argv command line passed to ROSE translator (converted to STL list of strin...
languageOption_enum
Enum type used to specify output language (option used for testing unparsers).
This class represents the notion of an value (expression value).
float p_value
This value holds the float represented in the source code.
forall_statement_kind_enum
This class represents forall statements and the Fortran do concurrent construct.
This class represents the variable declaration or variable initialization withn a for loop.
SgStatementPtrList p_init_stmt
This pointer points to list of initializers in a SgForStatement.
This class represents the concept of a for loop.
SgForInitStatement * p_for_init_stmt
This pointer a SgForInitStatement (a list of pointers to statements (SgStatement objects) ).
SgStatement * p_loop_body
This pointer a SgBasicBlock, and holds the statements in the body of the loop.
SgStatement * p_else_body
Holds the statements in the else body of the loop. Currently, only Python supports for loops with els...
This class represents the concept of a C++ function call (which is an expression).
This class represents the concept of a function declaration statement.
SgFunctionDefinition * p_definition
This variable stores the SgFunctionDefinition.
SgName p_name
This variable stores the string representing the function name.
SgFunctionType * p_type
This variable stores the SgFunctionType.
SgExprListExp * p_decoratorList
This variable stores a list of decorators.
bool p_oldStyleDefinition
This boolean variable records if the function uses the old style definition.
SgSpecialFunctionModifier p_specialFunctionModifier
This variable stores flags representing use of constructor, destructor, etc.
SgFunctionModifier p_functionModifier
This variable stores flags representing use of inline, virtual, etc.
This class represents the concept of a scope in C++ (e.g. global scope, fuction scope,...
SgBasicBlock * p_body
This pointer is always valid and points to a SgBasicBlock holding all the statements in the function.
This class represents the concept of a declaration list.
SgInitializedNamePtrList p_args
STL list of pointers to SgInitializedName object (used for function parameter declarations).
This class represents the function being called and must be assembled in the SgFunctionCall with the ...
This class represents the concept of a name and a type. It may be renamed in the future to SgTypeSymb...
This class represents the function type table (stores all function types so that they can be shared i...
SgSymbolTable * p_function_type_table
This pointer points to SgSymbolTable used to store function type symbols only.
This class represents a type for all functions.
This class represents the concept of a namespace definition.
SgDeclarationStatementPtrList p_declarations
This is an STL list of SgDeclarationStatement objects.
This class represents the concept of a C or C++ goto statement.
SgLabelStatement * p_label
This pointer points to the SgLabelStatement where control flow will be transfered during execution.
io_statement_enum
Fortran specific classification.
This class represents the concept of an "if" construct.
SgStatement * p_conditional
This pointer a SgStatement.
SgStatement * p_false_body
This pointer a SgBasicBlock, and holds the statements in the "false" body of if statement.
SgStatement * p_true_body
This pointer a SgBasicBlock, and holds the statements in the "true" body of if statement.
image_control_statement_enum
Fortran specific classification for image control statements.
This class represents the notion of a declared variable.
SgInitializedName * p_prev_decl_item
Pointer to the initial uses of this variable previous to its redeclaration declaration.
SgStorageModifier * p_storageModifier
This is the storage modifier (static, auto, register, mutable, asm, etc.).
asm_register_name_enum
Register names (x86 specific GNU names).
SgScopeStatement * p_scope
This pointer is always valid and stores the current scope of the variable.
bool p_is_initializer
flag to determine whether the declaration has an initializer.
SgInitializedName::asm_register_name_enum p_register_name_code
Code (following GNU standard) for register name.
SgInitializer * p_initptr
Pointer to an initializer for the variable.
SgInitializedName::preinitialization_enum p_preinitialization
This data member stores an enum value.
SgType * p_typeptr
Pointer to a type object that has been associated with SgInitializedName::p_name.
SgName p_name
The variable that is declared in this declaration.
SgDeclarationStatement * p_declptr
Pointer to the declaration object where this SgInitializedName object belongs to.
preinitialization_enum
Preinitialization Enum (only one value can be specified)
This class represents the notion of an initializer for a variable declaration or expression in a func...
bool p_is_explicit_cast
This boolean variable marks the initializer ans part of an explicit or implicit cast....
This class represents the physical disequality (often called pointer disequality) operator for langua...
This class represents the physical equality (often called pointer equality) operator for languages th...
loop_statement_type_enum
This class represents the various versions of Jovial loop statements.
WordsPerEntry
Enum for words-per-entry in a Jovial table.
StructureSpecifier
Enum for Jovial structure specifiers.
This class represents the concept of a C or C++ label statement.
SgName p_label
This a SgName object which stores the name of the label.
label_type_enum
Type of label used (fortran only)
This class represents a lambda expression.
SgFunctionDeclaration * p_functionDeclaration
The implicit function referred to by this lambda.
linkage_modifier_enum
Linkage Modifiers (only one value can be specified)
This class represents a list display.
This class represents the notion of an expression or statement which has a position within the source...
AttachedPreprocessingInfoType * p_attachedPreprocessingInfoPtr
Holds comments and/or preprocessor directives located before or after the current statement of expres...
Sg_File_Info * p_endOfConstruct
This pointer is always valid and stores the source position of the end of the current construct.
Sg_File_Info * p_startOfConstruct
This pointer is always valid and stores the source position of the start of the current construct.
This class represents the notion of an value (expression value).
long double p_value
This value holds the double represented in the source code.
This class represents the concept of a member function declaration statement.
SgCtorInitializerList * p_CtorInitializerList
This is the constructor preinitialization list (used only for the constructor definitions).
This class represents the member function being called and must be assembled in the SgFunctionCall wi...
SgMemberFunctionSymbol * p_symbol_i
This is the SgMemberFunctionSymbol.
SgFunctionType * p_function_type
This is a pointer to the SgFunctionType associated with this member function reference.
int p_need_qualifier
This boolean value marks if name qualification is required.
int p_virtual_call
This boolean value marks if the function reference is a virtual function.
This class represents the numeric negation of a value. Not to be confused with SgSubtractOp.
This class is not used in ROSE, but is intended to represent a list of SgModifierTypes (similar to th...
This class represents the base class of a number of IR nodes define modifiers within the C++ grammar.
This class represents strings within the IR nodes.
std::string p_char
This pointer points to an internal C style string.
This class represents the concept of a C++ namespace alias declaration statement.
SgNamespaceDeclarationStatement * p_namespaceDeclaration
This the namespace to which the alis references.
SgName p_name
This the name of the new namespace alias (usually a shorter name).
This class represents the concept of a C++ namespace declaration.
bool p_isUnnamedNamespace
Records special case of an unnamed namespace.
SgName p_name
This the name of the new namespace alias (usually a shorter name).
SgNamespaceDefinitionStatement * p_definition
This pointer points to the SgNamespaceDefinitionStatement, which holds the declarations within the na...
This class represents the concept of a namespace definition.
SgDeclarationStatementPtrList p_declarations
This is an STL list of SgDeclarationStatement objects.
SgNamespaceDeclarationStatement * p_namespaceDeclaration
This is a pointer to the SgNamespaceDeclarationStatement.
This class represents the concept of a namespace name within the compiler.
This class represents the notion of an n-ary boolean operation. This node is intended for use with Py...
This class represents the notion of an n-ary comparison operation. This node is intended for use with...
This class represents the notion of an n-ary operator. This node is intended for use with Python.
SgExpressionPtrList p_operands
This is the list of operands associated with this n-ary operator.
VariantTList p_operators
This is the list of operators associated with this n-ary operator.
This class represents the concept of a C++ call to the new operator.
SgExprListExp * p_placement_args
This is a pointer to the memory allocation placement arguments for the new operator.
short p_need_global_specifier
This new operator needs to be output with "::".
SgExpression * p_builtin_args
This is a pointer to the builtin arguments for the new operator (typically the "this" pointer where s...
SgConstructorInitializer * p_constructor_args
This is a pointer to the constructor initializer (which holds its constructor arguments) for the new ...
This class represents the base class for all IR nodes within Sage III.
SgNode * p_parent
This is the pointer to the parent IR node in the AST.
bool p_isModified
Records if IR node has been modified (data members reset).
SgNode * p_freepointer
This is the pointer to the chain of previously freed objects.
omp_default_option_enum
OpenMP default clause values.
access_mode_modifier_enum
This class represents an object used to initialize the unparsing.
This class represents a Fortran pointer assignment. It is not some weird compound assignment operator...
This class represents the concept of a C Assembler statement (untested).
This class represents a source project, with a list of SgFile objects and global information about th...
SgStringList p_librarySpecifierList
List of libraries specified using "-lxxx" syntax.
bool p_prelink
This controls if we are to handle the prelink (not implemented).
bool p_openmp_linking
This flag is used to indicate if OpenMP lowering is requested by the command line so linking to ROSE'...
SgStringList p_includeDirectorySpecifierList
List of directories specified with "-I" option on command line.
SgStringList p_objectFileNameList
List of all object files specified on the command line.
SgStringList p_originalCommandLineArgumentList
Copy of original argc and argv command line passed to ROSE translator (converted to STL list of strin...
SgProject::template_instantiation_enum p_template_instantiation_mode
This controls the degree of template instantiation by ROSE. No template instantiation is required by ...
template_instantiation_enum
int p_backendErrorCode
Error code returnd from processing of generated source code using vendor compiler.
SgStringList p_libraryFileList
List of all libraries specified on command line.
bool p_compileOnly
This controls if we are to act as a linker (by calling the vendor compiler as a linker/prelinker).
int p_frontendErrorCode
Error code returned from EDG front-end processing.
SgStringList p_sourceFileNameList
List of all source file names specified on the command line.
SgStringList p_libraryDirectorySpecifierList
List of directories specified with "-L" option on command line.
std::string p_outputFileName
Filename specific using "-o" option on command line.
This class represents the concept of a 'global' stmt in Python.
SgInitializedNamePtrList p_names
This is a list of SgInitializedNames that are imported into the inner scope.
This class represents a OLD concept of the structure require for qualified names when they were in th...
This class represents a OLD concept of the structure require for qualified names when they were in th...
This class represents the "&" operator (applied to any lvalue).
SgType * p_type_name
This a SgType, but I forget its significance.
This class represents the concept of a C Assembler statement (untested).
This class was part of CC++ support from a long time ago.
This class represents the concept of a scope in C++ (e.g. global scope, fuction scope,...
SgSymbolTable * p_symbol_table
This pointer is always valid and stores the symbl table.
This class represents the "sizeof()" operator (applied to any type).
SgType * p_expression_type
This a SgType, the type of the expression.
SgType * p_operand_type
This a pointer to the SgType given to the sizeof operator.
SgExpression * p_operand_expr
This a pointer to the expression given to the sizeof operator.
This class is part of the older CC++ concept. It is not a part of C or C++ (this IR node is not used ...
This class represents the GNU extension "statement expression" (thus is non-standard C and C++).
SgStatement * p_statement
This a pointer to the SgStatement (usually a SgBasicBlock).
This class represents the notion of a statement.
This class is intended to be a wrapper around SgStatements, allowing them to exist in scopes that onl...
SgStatement * p_statement
Holds the wrapped statement.
This class represents modifiers specific to storage.
storage_modifier_enum
Storage Modifiers (only one value can be specified)
This class represents the conversion of an arbitrary expression to a string. This node is intended fo...
SgExpression * p_expression
The expression to be converted to a string.
jovial_structure_modifier_enum
Jovial Structure Modifier/Specifier (tight implies serial)
This class represents the base class of a numbr of IR nodes that don't otherwise fit into the existin...
This class represents the concept of a switch.
SgStatement * p_body
This pointer a SgBasicBlock, and holds the cases in the body of the switch.
This class represents the symbol tables used in both SgScopeStatement and the SgFunctionTypeSymbolTab...
SgName p_name
This is the symbol name (mangled is required).
hash_iterator p_iterator
This iterator is used within some of the deprecated functions.
bool p_no_name
This is a flag to indicate that p_name is empty.
rose_hash_multimap * p_table
This is lower level symbol table implementation (using an STL hash_multimap)
This class represents the concept of a name within the compiler.
This class represents template argument within the use of a template to build an instantiation.
bool p_isArrayBoundUnknownType
Template arguments can be used as array bounds, if so this this marks the arguments use as such.
SgType * p_type
This is the template argument's reference to a type (if it is a type).
bool p_explicitlySpecified
This true only if for a function template the argument is explicit in the source code (it need not al...
SgExpression * p_expression
This is the template argument's reference to an expression (if it is an expression).
This class represents the concept of a template declaration.
SgName p_string
This is the full template declaration as a string only.
SgName p_name
This is the name of the template.
SgScopeStatement * p_scope
This is the scope of the template declaration.
SgTemplateParameterPtrList p_templateParameters
This is the STL list of pointers template parameters (SgTemplateParameter objects)
SgTemplateDeclaration::template_type_enum p_template_kind
This is the classification of the template declaration.
This class represents the concept of an instantiated class template.
SgTemplateClassDeclaration * p_templateDeclaration
This is the template declarations (SgTemplateDeclaration) from which this template instantiation is c...
SgTemplateArgumentPtrList p_templateArguments
This is a pointer to a list of pointers to SgTemplateArgument objects (used with the SgTemplateDeclar...
SgName p_templateName
This is the name of the templated class (excludes template arguments)
SgName p_templateHeader
This data field is not used (or is used internally).
bool p_nameResetFromMangledForm
This bool value is set to false at construction and later reset to true within post-processing as eac...
This class represents the concept of a class definition in C++.
This class represents the concept of a C++ template instantiation directive.
SgDeclarationStatement * p_declaration
This pointer points to associated template instantiation declaration meant to be explicitly instantia...
This class represents the concept of an instantiation of function template.
SgTemplateFunctionDeclaration * p_templateDeclaration
This is the template declarations (SgTemplateDeclaration) from which this template instantiation is c...
bool p_nameResetFromMangledForm
This bool value is set to false at construction and later reset to true within post-processing as eac...
SgTemplateArgumentPtrList p_templateArguments
This is a pointer to a list of pointers to SgTemplateArgument objects (used with the SgTemplateDeclar...
SgName p_templateName
This is the name of the templated class (in the form "name<args>")
This class represents the concept of an instantiation of member function template or a member functio...
SgName p_templateName
This is the name of the templated class (in the form "name<args>")
SgTemplateMemberFunctionDeclaration * p_templateDeclaration
This is the template declarations (SgTemplateDeclaration) from which this template instantiation is c...
SgTemplateArgumentPtrList p_templateArguments
This is a pointer to a list of pointers to SgTemplateArgument objects (used with the SgTemplateDeclar...
bool p_nameResetFromMangledForm
This bool value is set to false at construction and later reset to true within post-processing as eac...
This class represents the "this" operator (can be applied to any member data).
int p_pobj_this
This is not used and is related to a flag from CC++.
SgClassSymbol * p_class_symbol
This is the symbol of the class to which the "this" operator is applied.
This class represents the C++ throw expression (handled as a unary operator).
e_throw_kind
Throw IR node can be used in three different ways.
SgThrowOp::e_throw_kind p_throwKind
This enum value classifies the throw as either of three different kinds.
This class represents the concept of try statement within the try-catch support for exception handlin...
SgStatement * p_else_body
This pointer points to a SgBasicBlock containing the statements to be executed when control flows off...
SgStatement * p_finally_body
This pointer points to a SgBasicBlock containing the statements to be executed when an unhandled exce...
SgCatchStatementSeq * p_catch_statement_seq_root
This pointer points to a SgCatchStatementSeq and connects the try statement to the sequence of catch ...
SgStatement * p_body
This pointer points to a SgBasicBlock containing the statements to be execued by the try block.
This class represents a tuple display.
This class represents a C99 complex type.
This class represents a default type used for some IR nodes (see below).
This class represents a C99 complex type.
gnu_extension_machine_mode_enum
GNU Extension Machine Mode type modifiers (only a single value can be specified at one time)
This class represents a string type used for SgStringVal IR node.
This class represents the base class for all types.
SgTypedefSeq * p_typedefs
This points to IR node which holds a list of typedefs where the base_type if this SgType.
SgReferenceType * p_ref_to
This holds the pointer to a SgReferenceType if this type is a reference to another type.
SgModifierNodes * p_modifiers
This points to any SgModifierNodes if this type contains type modifiers.
SgPointerType * p_ptr_to
This holds the pointer to a SgPointerType if this type is a pointer to another type.
int p_substitutedForTemplateParam
This boolean variable marks if the current type was originally a template parameter.
This class represents the notion of a typedef declaration.
SgTypedefType * p_type
This is the resulting type defined by the typedef declaration.
SgType * p_base_type
This is the type being given a new name by the typedef declaration.
bool p_typedefBaseTypeContainsDefiningDeclaration
This flag indicates that the typedef defines a structure.
SgName p_name
This is the name of the newly defined type.
SgScopeStatement * p_scope
This is the scope of the typedef declaration.
SgSymbol * p_parent_scope
This is the type symbol of the class when it is a member type (redundent with the the explicitly stor...
SgDeclarationStatement * p_declaration
pointer to the declaration (typically a SgClassDeclaration).
This class represents a list of associated typedefs for the SgType IR nodes which reference this list...
SgTypePtrList p_typedefs
This holds the STL list of pointers to SgTypes.
upc_access_modifier_enum
UPC Access Modifiers (only one value can be specified)
This class represents the notion of a unary operator. It is derived from a SgExpression because opera...
SgExpression * p_operand_i
This is the operand associated with the unary operator.
Sgop_mode
Enum value defines operators as prefix or postfix, as appropriate, e.g. operator++().
SgUnaryOp::Sgop_mode p_mode
This SgType is the type of the operator (function type).
SgType * p_expression_type
This SgType is the type of the operator (function type).
This class represents the concept of a C++ using declaration.
SgDeclarationStatement * p_declaration
This pointer points to a SgDeclarationStatement whose declaration(s) are available for use in the sco...
SgInitializedName * p_initializedName
This pointer points to a SgDeclarationStatement whose declaration(s) are available for use in the sco...
This class represents the concept of a C++ using directive.
SgNamespaceDeclarationStatement * p_namespaceDeclaration
This pointer points to namespace declaration being used.
This class represents the notion of an value (expression value).
This class represents the variable refernece in expressions.
This class represents the concept of a C or C++ variable declaration.
SgDeclarationStatement::template_specialization_enum p_specialization
This is part of template support (variables of templated types).
SgDeclarationStatement * p_baseTypeDefiningDeclaration
This is used to traverse type definitions within variable declarations.
gnu_extension_declaration_attributes_enum
GNU extension for declaration modifiers (multiple values may be specified)
bool p_variableDeclarationContainsBaseTypeDefiningDeclaration
This bool records if the variable declaration has the explicit defining declaration associated with i...
SgInitializedNamePtrList p_variables
This is an STL list of pointers to SgInitializedName objects.
This class represents the definition (initialization) of a variable.
SgExpression * p_bitfield
This a pointer to a value specifies the bitwidth of the variable (used to control memory layout/paddi...
SgInitializedName * p_vardefn
This pointer points to associated SgInitializedName object (the variable).
This class represents the concept of a variable name within the compiler (a shared container for the ...
This class represents the concept of a do-while statement.
SgStatement * p_condition
This pointer a SgStatement, the conditional expression in the loop construct.
SgStatement * p_body
This pointer a SgBasicBlock, and holds the statements in the body of the loop.
SgStatement * p_else_body
This pointer to an SgStatement holds the body of the 'else' block.
This class represents the location of the code associated with the IR node in the original source cod...
unsigned int p_classificationBitField
This is mechanism for classification of the IR node.
int p_file_id
This is a key that maps integers to file names, it prevents redundent storage of filename strings.
SgFileIdList p_fileIDsToUnparse
This set contains a list of all file ids for which the accompanying IR node should be unparsed.
int p_col
This is the column number of the location of the source code for this IR node.
int p_line
This is the line number of the location of the source code for this IR node.
Hash table support for symbol tables within ROSE.
Sawyer::Container::IntervalSet< AddressInterval > AddressIntervalSet
A set of virtual addresses.
X86InstructionKind
List of all x86 instructions known to the ROSE disassembler/assembler.