1-- Tree node definitions. 2-- Copyright (C) 2002, 2003, 2004, 2005 Tristan Gingold 3-- 4-- This program is free software: you can redistribute it and/or modify 5-- it under the terms of the GNU General Public License as published by 6-- the Free Software Foundation, either version 2 of the License, or 7-- (at your option) any later version. 8-- 9-- This program is distributed in the hope that it will be useful, 10-- but WITHOUT ANY WARRANTY; without even the implied warranty of 11-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12-- GNU General Public License for more details. 13-- 14-- You should have received a copy of the GNU General Public License 15-- along with this program. If not, see <gnu.org/licenses>. 16 17with Ada.Unchecked_Conversion; 18with Tables; 19with Logging; use Logging; 20with Vhdl.Lists; use Vhdl.Lists; 21with Vhdl.Nodes_Meta; use Vhdl.Nodes_Meta; 22with Vhdl.Nodes_Priv; use Vhdl.Nodes_Priv; 23 24package body Vhdl.Nodes is 25 -- A simple type that needs only 2 bits. 26 type Bit2_Type is range 0 .. 2 ** 2 - 1; 27 28 type Kind_Type is range 0 .. 2 ** 9 - 1; 29 30 -- Format of a node. 31 type Format_Type is 32 ( 33 Format_Short, 34 Format_Medium 35 ); 36 37 -- Common fields are: 38 -- Flag1 : Boolean 39 -- Flag2 : Boolean 40 -- Flag3 : Boolean 41 -- Flag4 : Boolean 42 -- Flag5 : Boolean 43 -- Flag6 : Boolean 44 -- Flag7 : Boolean 45 -- Flag8 : Boolean 46 -- Flag9 : Boolean 47 -- Flag10 : Boolean 48 -- Flag11 : Boolean 49 -- Flag12 : Boolean 50 -- Flag13 : Boolean 51 -- Flag14 : Boolean 52 -- Flag15 : Boolean 53 -- Nkind : Kind_Type 54 -- State1 : Bit2_Type 55 -- State2 : Bit2_Type 56 -- Location : Location_Type 57 -- Field0 : Iir 58 -- Field1 : Iir 59 -- Field2 : Iir 60 -- Field3 : Iir 61 -- Field4 : Iir 62 -- Field5 : Iir 63 64 -- Fields of Format_Short: 65 66 -- Fields of Format_Medium: 67 -- State3 : Bit2_Type 68 -- State4 : Bit2_Type 69 -- Field6 : Iir (location) 70 -- Field7 : Iir (field0) 71 -- Field8 : Iir (field1) 72 -- Field9 : Iir (field2) 73 -- Field10 : Iir (field3) 74 -- Field11 : Iir (field4) 75 -- Field12 : Iir (field5) 76 77 function Create_Node (Format : Format_Type) return Node_Type; 78 procedure Free_Node (N : Node_Type); 79 80 function Get_Nkind (N : Node_Type) return Kind_Type; 81 pragma Inline (Get_Nkind); 82 procedure Set_Nkind (N : Node_Type; Kind : Kind_Type); 83 pragma Inline (Set_Nkind); 84 85 function Get_Field0 (N : Node_Type) return Node_Type; 86 pragma Inline (Get_Field0); 87 procedure Set_Field0 (N : Node_Type; V : Node_Type); 88 pragma Inline (Set_Field0); 89 90 function Get_Field1 (N : Node_Type) return Node_Type; 91 pragma Inline (Get_Field1); 92 procedure Set_Field1 (N : Node_Type; V : Node_Type); 93 pragma Inline (Set_Field1); 94 95 function Get_Field2 (N : Node_Type) return Node_Type; 96 pragma Inline (Get_Field2); 97 procedure Set_Field2 (N : Node_Type; V : Node_Type); 98 pragma Inline (Set_Field2); 99 100 function Get_Field3 (N : Node_Type) return Node_Type; 101 pragma Inline (Get_Field3); 102 procedure Set_Field3 (N : Node_Type; V : Node_Type); 103 pragma Inline (Set_Field3); 104 105 function Get_Field4 (N : Node_Type) return Node_Type; 106 pragma Inline (Get_Field4); 107 procedure Set_Field4 (N : Node_Type; V : Node_Type); 108 pragma Inline (Set_Field4); 109 110 111 function Get_Field5 (N : Node_Type) return Node_Type; 112 pragma Inline (Get_Field5); 113 procedure Set_Field5 (N : Node_Type; V : Node_Type); 114 pragma Inline (Set_Field5); 115 116 function Get_Field6 (N: Node_Type) return Node_Type; 117 pragma Inline (Get_Field6); 118 procedure Set_Field6 (N: Node_Type; Val: Node_Type); 119 pragma Inline (Set_Field6); 120 121 function Get_Field7 (N: Node_Type) return Node_Type; 122 pragma Inline (Get_Field7); 123 procedure Set_Field7 (N: Node_Type; Val: Node_Type); 124 pragma Inline (Set_Field7); 125 126 function Get_Field8 (N: Node_Type) return Node_Type; 127 pragma Inline (Get_Field8); 128 procedure Set_Field8 (N: Node_Type; Val: Node_Type); 129 pragma Inline (Set_Field8); 130 131 function Get_Field9 (N: Node_Type) return Node_Type; 132 pragma Inline (Get_Field9); 133 procedure Set_Field9 (N: Node_Type; Val: Node_Type); 134 pragma Inline (Set_Field9); 135 136 function Get_Field10 (N: Node_Type) return Node_Type; 137 pragma Inline (Get_Field10); 138 procedure Set_Field10 (N: Node_Type; Val: Node_Type); 139 pragma Inline (Set_Field10); 140 141 function Get_Field11 (N: Node_Type) return Node_Type; 142 pragma Inline (Get_Field11); 143 procedure Set_Field11 (N: Node_Type; Val: Node_Type); 144 pragma Inline (Set_Field11); 145 146 function Get_Field12 (N: Node_Type) return Node_Type; 147 pragma Inline (Get_Field12); 148 procedure Set_Field12 (N: Node_Type; Val: Node_Type); 149 pragma Inline (Set_Field12); 150 151 152 function Get_Flag1 (N : Node_Type) return Boolean; 153 pragma Inline (Get_Flag1); 154 procedure Set_Flag1 (N : Node_Type; V : Boolean); 155 pragma Inline (Set_Flag1); 156 157 function Get_Flag2 (N : Node_Type) return Boolean; 158 pragma Inline (Get_Flag2); 159 procedure Set_Flag2 (N : Node_Type; V : Boolean); 160 pragma Inline (Set_Flag2); 161 162 function Get_Flag3 (N : Node_Type) return Boolean; 163 pragma Inline (Get_Flag3); 164 procedure Set_Flag3 (N : Node_Type; V : Boolean); 165 pragma Inline (Set_Flag3); 166 167 function Get_Flag4 (N : Node_Type) return Boolean; 168 pragma Inline (Get_Flag4); 169 procedure Set_Flag4 (N : Node_Type; V : Boolean); 170 pragma Inline (Set_Flag4); 171 172 function Get_Flag5 (N : Node_Type) return Boolean; 173 pragma Inline (Get_Flag5); 174 procedure Set_Flag5 (N : Node_Type; V : Boolean); 175 pragma Inline (Set_Flag5); 176 177 function Get_Flag6 (N : Node_Type) return Boolean; 178 pragma Inline (Get_Flag6); 179 procedure Set_Flag6 (N : Node_Type; V : Boolean); 180 pragma Inline (Set_Flag6); 181 182 function Get_Flag7 (N : Node_Type) return Boolean; 183 pragma Inline (Get_Flag7); 184 procedure Set_Flag7 (N : Node_Type; V : Boolean); 185 pragma Inline (Set_Flag7); 186 187 function Get_Flag8 (N : Node_Type) return Boolean; 188 pragma Inline (Get_Flag8); 189 procedure Set_Flag8 (N : Node_Type; V : Boolean); 190 pragma Inline (Set_Flag8); 191 192 function Get_Flag9 (N : Node_Type) return Boolean; 193 pragma Inline (Get_Flag9); 194 procedure Set_Flag9 (N : Node_Type; V : Boolean); 195 pragma Inline (Set_Flag9); 196 197 function Get_Flag10 (N : Node_Type) return Boolean; 198 pragma Inline (Get_Flag10); 199 procedure Set_Flag10 (N : Node_Type; V : Boolean); 200 pragma Inline (Set_Flag10); 201 202 function Get_Flag11 (N : Node_Type) return Boolean; 203 pragma Inline (Get_Flag11); 204 procedure Set_Flag11 (N : Node_Type; V : Boolean); 205 pragma Inline (Set_Flag11); 206 207 function Get_Flag12 (N : Node_Type) return Boolean; 208 pragma Inline (Get_Flag12); 209 procedure Set_Flag12 (N : Node_Type; V : Boolean); 210 pragma Inline (Set_Flag12); 211 212 function Get_Flag13 (N : Node_Type) return Boolean; 213 pragma Inline (Get_Flag13); 214 procedure Set_Flag13 (N : Node_Type; V : Boolean); 215 pragma Inline (Set_Flag13); 216 217 function Get_Flag14 (N : Node_Type) return Boolean; 218 pragma Inline (Get_Flag14); 219 procedure Set_Flag14 (N : Node_Type; V : Boolean); 220 pragma Inline (Set_Flag14); 221 222 function Get_Flag15 (N : Node_Type) return Boolean; 223 pragma Inline (Get_Flag15); 224 procedure Set_Flag15 (N : Node_Type; V : Boolean); 225 pragma Inline (Set_Flag15); 226 227 228 function Get_State1 (N : Node_Type) return Bit2_Type; 229 pragma Inline (Get_State1); 230 procedure Set_State1 (N : Node_Type; V : Bit2_Type); 231 pragma Inline (Set_State1); 232 233 function Get_State2 (N : Node_Type) return Bit2_Type; 234 pragma Inline (Get_State2); 235 procedure Set_State2 (N : Node_Type; V : Bit2_Type); 236 pragma Inline (Set_State2); 237 238 function Get_State3 (N : Node_Type) return Bit2_Type; 239 pragma Inline (Get_State3); 240 procedure Set_State3 (N : Node_Type; V : Bit2_Type); 241 pragma Inline (Set_State3); 242 243 type Node_Record is record 244 -- First byte: 245 Format : Format_Type; 246 Flag1 : Boolean; 247 Flag2 : Boolean; 248 Flag3 : Boolean; 249 Flag4 : Boolean; 250 Flag5 : Boolean; 251 Flag6 : Boolean; 252 Flag7 : Boolean; 253 254 -- Second byte: 255 Flag8 : Boolean; 256 Flag9 : Boolean; 257 Flag10 : Boolean; 258 Flag11 : Boolean; 259 Flag12 : Boolean; 260 Flag13 : Boolean; 261 Flag14 : Boolean; 262 Flag15 : Boolean; 263 264 -- Third byte: 265 Flag16 : Boolean; 266 Flag17 : Boolean; 267 Flag18 : Boolean; 268 269 -- 2*2 = 4 bits 270 State1 : Bit2_Type; 271 State2 : Bit2_Type; 272 273 -- 9 bits 274 Kind : Kind_Type; 275 276 -- Location. 277 Location: Location_Type; 278 279 Field0 : Node_Type; 280 Field1 : Node_Type; 281 Field2 : Node_Type; 282 Field3 : Node_Type; 283 Field4 : Node_Type; 284 Field5 : Node_Type; 285 end record; 286 pragma Pack (Node_Record); 287 for Node_Record'Size use 8*32; 288 for Node_Record'Alignment use 4; 289 pragma Suppress_Initialization (Node_Record); 290 291 Init_Node : constant Node_Record := Node_Record' 292 (Format => Format_Short, 293 Kind => 0, 294 State1 | State2 => 0, 295 Location => Location_Nil, 296 Field0 | Field1 | Field2 | Field3 | Field4 | Field5 => Null_Node, 297 others => False); 298 299 -- Suppress the access check of the table base. This is really safe to 300 -- suppress this check because the table base cannot be null. 301 pragma Suppress (Access_Check); 302 303 -- Suppress the index check on the table. 304 -- Could be done during non-debug, since this may catch errors (reading 305 -- Null_Node or Error_Node). 306 --pragma Suppress (Index_Check); 307 308 package Nodet is new Tables 309 (Table_Component_Type => Node_Record, 310 Table_Index_Type => Node_Type, 311 Table_Low_Bound => 2, 312 Table_Initial => 1024); 313 314 function Get_Last_Node return Iir is 315 begin 316 return Nodet.Last; 317 end Get_Last_Node; 318 319 Free_Chain : Node_Type := Null_Node; 320 321 function Create_Node (Format : Format_Type) return Node_Type 322 is 323 Res : Node_Type; 324 begin 325 case Format is 326 when Format_Medium => 327 -- Allocate a first node. 328 Nodet.Increment_Last; 329 Res := Nodet.Last; 330 -- Check alignment. 331 if Res mod 2 = 1 then 332 Set_Field1 (Res, Free_Chain); 333 Free_Chain := Res; 334 Nodet.Increment_Last; 335 Res := Nodet.Last; 336 end if; 337 -- Allocate the second node. 338 Nodet.Increment_Last; 339 Nodet.Table (Res) := Init_Node; 340 Nodet.Table (Res).Format := Format_Medium; 341 Nodet.Table (Res + 1) := Init_Node; 342 when Format_Short => 343 -- Check from free pool 344 if Free_Chain = Null_Node then 345 Nodet.Increment_Last; 346 Res := Nodet.Last; 347 else 348 Res := Free_Chain; 349 Free_Chain := Get_Field1 (Res); 350 end if; 351 Nodet.Table (Res) := Init_Node; 352 end case; 353 return Res; 354 end Create_Node; 355 356 type Free_Node_Hook_Array is 357 array (Natural range 1 .. 8) of Free_Iir_Hook; 358 Nbr_Free_Hooks : Natural := 0; 359 360 Free_Hooks : Free_Node_Hook_Array; 361 362 procedure Register_Free_Hook (Hook : Free_Iir_Hook) is 363 begin 364 if Nbr_Free_Hooks >= Free_Hooks'Last then 365 -- Not enough room in Free_Hooks. 366 raise Internal_Error; 367 end if; 368 Nbr_Free_Hooks := Nbr_Free_Hooks + 1; 369 Free_Hooks (Nbr_Free_Hooks) := Hook; 370 end Register_Free_Hook; 371 372 procedure Free_Node (N : Node_Type) is 373 begin 374 if N = Null_Node then 375 return; 376 end if; 377 378 -- Call hooks. 379 for I in Free_Hooks'First .. Nbr_Free_Hooks loop 380 Free_Hooks (I).all (N); 381 end loop; 382 383 -- Really free the node. 384 Set_Nkind (N, 0); 385 Set_Field1 (N, Free_Chain); 386 Free_Chain := N; 387 if Nodet.Table (N).Format = Format_Medium then 388 Set_Field1 (N + 1, Free_Chain); 389 Free_Chain := N + 1; 390 end if; 391 end Free_Node; 392 393 procedure Free_Iir (Target : Iir) renames Free_Node; 394 395 function Next_Node (N : Node_Type) return Node_Type is 396 begin 397 case Nodet.Table (N).Format is 398 when Format_Medium => 399 return N + 2; 400 when Format_Short => 401 return N + 1; 402 end case; 403 end Next_Node; 404 405 function Get_Nkind (N : Node_Type) return Kind_Type is 406 begin 407 return Nodet.Table (N).Kind; 408 end Get_Nkind; 409 410 procedure Set_Nkind (N : Node_Type; Kind : Kind_Type) is 411 begin 412 Nodet.Table (N).Kind := Kind; 413 end Set_Nkind; 414 415 416 procedure Set_Location (N : Iir; Location: Location_Type) is 417 begin 418 Nodet.Table (N).Location := Location; 419 end Set_Location; 420 421 function Get_Location (N: Iir) return Location_Type is 422 begin 423 return Nodet.Table (N).Location; 424 end Get_Location; 425 426 427 procedure Set_Field0 (N : Node_Type; V : Node_Type) is 428 begin 429 Nodet.Table (N).Field0 := V; 430 end Set_Field0; 431 432 function Get_Field0 (N : Node_Type) return Node_Type is 433 begin 434 return Nodet.Table (N).Field0; 435 end Get_Field0; 436 437 438 function Get_Field1 (N : Node_Type) return Node_Type is 439 begin 440 return Nodet.Table (N).Field1; 441 end Get_Field1; 442 443 procedure Set_Field1 (N : Node_Type; V : Node_Type) is 444 begin 445 Nodet.Table (N).Field1 := V; 446 end Set_Field1; 447 448 function Get_Field2 (N : Node_Type) return Node_Type is 449 begin 450 return Nodet.Table (N).Field2; 451 end Get_Field2; 452 453 procedure Set_Field2 (N : Node_Type; V : Node_Type) is 454 begin 455 Nodet.Table (N).Field2 := V; 456 end Set_Field2; 457 458 function Get_Field3 (N : Node_Type) return Node_Type is 459 begin 460 return Nodet.Table (N).Field3; 461 end Get_Field3; 462 463 procedure Set_Field3 (N : Node_Type; V : Node_Type) is 464 begin 465 Nodet.Table (N).Field3 := V; 466 end Set_Field3; 467 468 function Get_Field4 (N : Node_Type) return Node_Type is 469 begin 470 return Nodet.Table (N).Field4; 471 end Get_Field4; 472 473 procedure Set_Field4 (N : Node_Type; V : Node_Type) is 474 begin 475 Nodet.Table (N).Field4 := V; 476 end Set_Field4; 477 478 function Get_Field5 (N : Node_Type) return Node_Type is 479 begin 480 return Nodet.Table (N).Field5; 481 end Get_Field5; 482 483 procedure Set_Field5 (N : Node_Type; V : Node_Type) is 484 begin 485 Nodet.Table (N).Field5 := V; 486 end Set_Field5; 487 488 function Get_Field6 (N: Node_Type) return Node_Type is 489 begin 490 return Node_Type (Nodet.Table (N + 1).Location); 491 end Get_Field6; 492 493 procedure Set_Field6 (N: Node_Type; Val: Node_Type) is 494 begin 495 Nodet.Table (N + 1).Location := Location_Type (Val); 496 end Set_Field6; 497 498 function Get_Field7 (N: Node_Type) return Node_Type is 499 begin 500 return Nodet.Table (N + 1).Field0; 501 end Get_Field7; 502 503 procedure Set_Field7 (N: Node_Type; Val: Node_Type) is 504 begin 505 Nodet.Table (N + 1).Field0 := Val; 506 end Set_Field7; 507 508 function Get_Field8 (N: Node_Type) return Node_Type is 509 begin 510 return Nodet.Table (N + 1).Field1; 511 end Get_Field8; 512 513 procedure Set_Field8 (N: Node_Type; Val: Node_Type) is 514 begin 515 Nodet.Table (N + 1).Field1 := Val; 516 end Set_Field8; 517 518 function Get_Field9 (N: Node_Type) return Node_Type is 519 begin 520 return Nodet.Table (N + 1).Field2; 521 end Get_Field9; 522 523 procedure Set_Field9 (N: Node_Type; Val: Node_Type) is 524 begin 525 Nodet.Table (N + 1).Field2 := Val; 526 end Set_Field9; 527 528 function Get_Field10 (N: Node_Type) return Node_Type is 529 begin 530 return Nodet.Table (N + 1).Field3; 531 end Get_Field10; 532 533 procedure Set_Field10 (N: Node_Type; Val: Node_Type) is 534 begin 535 Nodet.Table (N + 1).Field3 := Val; 536 end Set_Field10; 537 538 function Get_Field11 (N: Node_Type) return Node_Type is 539 begin 540 return Nodet.Table (N + 1).Field4; 541 end Get_Field11; 542 543 procedure Set_Field11 (N: Node_Type; Val: Node_Type) is 544 begin 545 Nodet.Table (N + 1).Field4 := Val; 546 end Set_Field11; 547 548 function Get_Field12 (N: Node_Type) return Node_Type is 549 begin 550 return Nodet.Table (N + 1).Field5; 551 end Get_Field12; 552 553 procedure Set_Field12 (N: Node_Type; Val: Node_Type) is 554 begin 555 Nodet.Table (N + 1).Field5 := Val; 556 end Set_Field12; 557 558 559 function Get_Flag1 (N : Node_Type) return Boolean is 560 begin 561 return Nodet.Table (N).Flag1; 562 end Get_Flag1; 563 564 procedure Set_Flag1 (N : Node_Type; V : Boolean) is 565 begin 566 Nodet.Table (N).Flag1 := V; 567 end Set_Flag1; 568 569 function Get_Flag2 (N : Node_Type) return Boolean is 570 begin 571 return Nodet.Table (N).Flag2; 572 end Get_Flag2; 573 574 procedure Set_Flag2 (N : Node_Type; V : Boolean) is 575 begin 576 Nodet.Table (N).Flag2 := V; 577 end Set_Flag2; 578 579 function Get_Flag3 (N : Node_Type) return Boolean is 580 begin 581 return Nodet.Table (N).Flag3; 582 end Get_Flag3; 583 584 procedure Set_Flag3 (N : Node_Type; V : Boolean) is 585 begin 586 Nodet.Table (N).Flag3 := V; 587 end Set_Flag3; 588 589 function Get_Flag4 (N : Node_Type) return Boolean is 590 begin 591 return Nodet.Table (N).Flag4; 592 end Get_Flag4; 593 594 procedure Set_Flag4 (N : Node_Type; V : Boolean) is 595 begin 596 Nodet.Table (N).Flag4 := V; 597 end Set_Flag4; 598 599 function Get_Flag5 (N : Node_Type) return Boolean is 600 begin 601 return Nodet.Table (N).Flag5; 602 end Get_Flag5; 603 604 procedure Set_Flag5 (N : Node_Type; V : Boolean) is 605 begin 606 Nodet.Table (N).Flag5 := V; 607 end Set_Flag5; 608 609 function Get_Flag6 (N : Node_Type) return Boolean is 610 begin 611 return Nodet.Table (N).Flag6; 612 end Get_Flag6; 613 614 procedure Set_Flag6 (N : Node_Type; V : Boolean) is 615 begin 616 Nodet.Table (N).Flag6 := V; 617 end Set_Flag6; 618 619 function Get_Flag7 (N : Node_Type) return Boolean is 620 begin 621 return Nodet.Table (N).Flag7; 622 end Get_Flag7; 623 624 procedure Set_Flag7 (N : Node_Type; V : Boolean) is 625 begin 626 Nodet.Table (N).Flag7 := V; 627 end Set_Flag7; 628 629 function Get_Flag8 (N : Node_Type) return Boolean is 630 begin 631 return Nodet.Table (N).Flag8; 632 end Get_Flag8; 633 634 procedure Set_Flag8 (N : Node_Type; V : Boolean) is 635 begin 636 Nodet.Table (N).Flag8 := V; 637 end Set_Flag8; 638 639 function Get_Flag9 (N : Node_Type) return Boolean is 640 begin 641 return Nodet.Table (N).Flag9; 642 end Get_Flag9; 643 644 procedure Set_Flag9 (N : Node_Type; V : Boolean) is 645 begin 646 Nodet.Table (N).Flag9 := V; 647 end Set_Flag9; 648 649 function Get_Flag10 (N : Node_Type) return Boolean is 650 begin 651 return Nodet.Table (N).Flag10; 652 end Get_Flag10; 653 654 procedure Set_Flag10 (N : Node_Type; V : Boolean) is 655 begin 656 Nodet.Table (N).Flag10 := V; 657 end Set_Flag10; 658 659 function Get_Flag11 (N : Node_Type) return Boolean is 660 begin 661 return Nodet.Table (N).Flag11; 662 end Get_Flag11; 663 664 procedure Set_Flag11 (N : Node_Type; V : Boolean) is 665 begin 666 Nodet.Table (N).Flag11 := V; 667 end Set_Flag11; 668 669 function Get_Flag12 (N : Node_Type) return Boolean is 670 begin 671 return Nodet.Table (N).Flag12; 672 end Get_Flag12; 673 674 procedure Set_Flag12 (N : Node_Type; V : Boolean) is 675 begin 676 Nodet.Table (N).Flag12 := V; 677 end Set_Flag12; 678 679 function Get_Flag13 (N : Node_Type) return Boolean is 680 begin 681 return Nodet.Table (N).Flag13; 682 end Get_Flag13; 683 684 procedure Set_Flag13 (N : Node_Type; V : Boolean) is 685 begin 686 Nodet.Table (N).Flag13 := V; 687 end Set_Flag13; 688 689 function Get_Flag14 (N : Node_Type) return Boolean is 690 begin 691 return Nodet.Table (N).Flag14; 692 end Get_Flag14; 693 694 procedure Set_Flag14 (N : Node_Type; V : Boolean) is 695 begin 696 Nodet.Table (N).Flag14 := V; 697 end Set_Flag14; 698 699 function Get_Flag15 (N : Node_Type) return Boolean is 700 begin 701 return Nodet.Table (N).Flag15; 702 end Get_Flag15; 703 704 procedure Set_Flag15 (N : Node_Type; V : Boolean) is 705 begin 706 Nodet.Table (N).Flag15 := V; 707 end Set_Flag15; 708 709 710 function Get_State1 (N : Node_Type) return Bit2_Type is 711 begin 712 return Nodet.Table (N).State1; 713 end Get_State1; 714 715 procedure Set_State1 (N : Node_Type; V : Bit2_Type) is 716 begin 717 Nodet.Table (N).State1 := V; 718 end Set_State1; 719 720 function Get_State2 (N : Node_Type) return Bit2_Type is 721 begin 722 return Nodet.Table (N).State2; 723 end Get_State2; 724 725 procedure Set_State2 (N : Node_Type; V : Bit2_Type) is 726 begin 727 Nodet.Table (N).State2 := V; 728 end Set_State2; 729 730 function Get_State3 (N : Node_Type) return Bit2_Type is 731 begin 732 return Nodet.Table (N + 1).State1; 733 end Get_State3; 734 735 procedure Set_State3 (N : Node_Type; V : Bit2_Type) is 736 begin 737 Nodet.Table (N + 1).State1 := V; 738 end Set_State3; 739 740 procedure Initialize is 741 begin 742 Nodet.Init; 743 end Initialize; 744 745 procedure Finalize is 746 begin 747 Nodet.Free; 748 end Finalize; 749 750 function Is_Null (Node : Iir) return Boolean is 751 begin 752 return Node = Null_Iir; 753 end Is_Null; 754 755 function Is_Null_List (Node : Iir_List) return Boolean is 756 begin 757 return Node = Null_Iir_List; 758 end Is_Null_List; 759 760 function Is_Valid (Node : Iir) return Boolean is 761 begin 762 return Node /= Null_Iir; 763 end Is_Valid; 764 765 --------------------------------------------------- 766 -- General subprograms that operate on every iir -- 767 --------------------------------------------------- 768 769 function Get_Format (Kind : Iir_Kind) return Format_Type; 770 771 function Create_Iir (Kind : Iir_Kind) return Iir 772 is 773 Res : Iir; 774 Format : Format_Type; 775 begin 776 Format := Get_Format (Kind); 777 Res := Create_Node (Format); 778 Set_Nkind (Res, Iir_Kind'Pos (Kind)); 779 return Res; 780 end Create_Iir; 781 782 -- Statistics. 783 procedure Disp_Stats 784 is 785 type Num_Array is array (Iir_Kind) of Natural; 786 Num : Num_Array := (others => 0); 787 type Format_Array is array (Format_Type) of Natural; 788 Formats : Format_Array := (others => 0); 789 Kind : Iir_Kind; 790 I : Iir; 791 Last_I : Iir; 792 Format : Format_Type; 793 begin 794 I := Error_Node + 1; 795 Last_I := Get_Last_Node; 796 while I < Last_I loop 797 Kind := Get_Kind (I); 798 Num (Kind) := Num (Kind) + 1; 799 Format := Get_Format (Kind); 800 Formats (Format) := Formats (Format) + 1; 801 I := Next_Node (I); 802 end loop; 803 804 Log_Line ("Stats per iir_kind:"); 805 for J in Iir_Kind loop 806 if Num (J) /= 0 then 807 Log_Line (' ' & Iir_Kind'Image (J) & ':' 808 & Natural'Image (Num (J))); 809 end if; 810 end loop; 811 Log_Line ("Stats per formats:"); 812 for J in Format_Type loop 813 Log_Line (' ' & Format_Type'Image (J) & ':' 814 & Natural'Image (Formats (J))); 815 end loop; 816 end Disp_Stats; 817 818 function Kind_In (K : Iir_Kind; K1, K2 : Iir_Kind) return Boolean is 819 begin 820 return K = K1 or K = K2; 821 end Kind_In; 822 823 function Iir_Predefined_Shortcut_P (Func : Iir_Predefined_Functions) 824 return Boolean is 825 begin 826 case Func is 827 when Iir_Predefined_Bit_And 828 | Iir_Predefined_Bit_Or 829 | Iir_Predefined_Bit_Nand 830 | Iir_Predefined_Bit_Nor 831 | Iir_Predefined_Boolean_And 832 | Iir_Predefined_Boolean_Or 833 | Iir_Predefined_Boolean_Nand 834 | Iir_Predefined_Boolean_Nor => 835 return True; 836 when others => 837 return False; 838 end case; 839 end Iir_Predefined_Shortcut_P; 840 841 function Create_Iir_Error return Iir 842 is 843 Res : Iir; 844 begin 845 Res := Create_Node (Format_Short); 846 Set_Nkind (Res, Iir_Kind'Pos (Iir_Kind_Error)); 847 return Res; 848 end Create_Iir_Error; 849 850 procedure Location_Copy (Target : Iir; Src : Iir) is 851 begin 852 Set_Location (Target, Get_Location (Src)); 853 end Location_Copy; 854 855 -- Get kind 856 function Get_Kind (N : Iir) return Iir_Kind 857 is 858 -- Speed up: avoid to check that nkind is in the bounds of Iir_Kind. 859 pragma Suppress (Range_Check); 860 begin 861 pragma Assert (N /= Null_Iir); 862 return Iir_Kind'Val (Get_Nkind (N)); 863 end Get_Kind; 864 865 function Time_Stamp_Id_To_Iir is new Ada.Unchecked_Conversion 866 (Source => Time_Stamp_Id, Target => Iir); 867 868 function Iir_To_Time_Stamp_Id is new Ada.Unchecked_Conversion 869 (Source => Iir, Target => Time_Stamp_Id); 870 871 function File_Checksum_Id_To_Iir is new Ada.Unchecked_Conversion 872 (Source => File_Checksum_Id, Target => Iir); 873 874 function Iir_To_File_Checksum_Id is new Ada.Unchecked_Conversion 875 (Source => Iir, Target => File_Checksum_Id); 876 877 function Iir_To_Iir_List is new Ada.Unchecked_Conversion 878 (Source => Iir, Target => Iir_List); 879 function Iir_List_To_Iir is new Ada.Unchecked_Conversion 880 (Source => Iir_List, Target => Iir); 881 882 function Iir_To_Iir_Flist is new Ada.Unchecked_Conversion 883 (Source => Iir, Target => Iir_Flist); 884 function Iir_Flist_To_Iir is new Ada.Unchecked_Conversion 885 (Source => Iir_Flist, Target => Iir); 886 887 function Iir_To_Token_Type (N : Iir) return Token_Type is 888 begin 889 return Token_Type'Val (N); 890 end Iir_To_Token_Type; 891 892 function Token_Type_To_Iir (T : Token_Type) return Iir is 893 begin 894 return Token_Type'Pos (T); 895 end Token_Type_To_Iir; 896 897-- function Iir_To_Iir_Index32 (N : Iir) return Iir_Index32 is 898-- begin 899-- return Iir_Index32 (N); 900-- end Iir_To_Iir_Index32; 901 902-- function Iir_Index32_To_Iir (V : Iir_Index32) return Iir is 903-- begin 904-- return Iir_Index32'Pos (V); 905-- end Iir_Index32_To_Iir; 906 907 function Iir_To_Name_Id (N : Iir) return Name_Id is 908 begin 909 return Iir'Pos (N); 910 end Iir_To_Name_Id; 911 pragma Inline (Iir_To_Name_Id); 912 913 function Name_Id_To_Iir (V : Name_Id) return Iir is 914 begin 915 return Name_Id'Pos (V); 916 end Name_Id_To_Iir; 917 918 function Iir_To_Iir_Int32 is new Ada.Unchecked_Conversion 919 (Source => Iir, Target => Iir_Int32); 920 921 function Iir_Int32_To_Iir is new Ada.Unchecked_Conversion 922 (Source => Iir_Int32, Target => Iir); 923 924 function Iir_To_Source_Ptr (N : Iir) return Source_Ptr is 925 begin 926 return Source_Ptr (N); 927 end Iir_To_Source_Ptr; 928 929 function Source_Ptr_To_Iir (P : Source_Ptr) return Iir is 930 begin 931 return Iir (P); 932 end Source_Ptr_To_Iir; 933 934 function Iir_To_Source_File_Entry is new Ada.Unchecked_Conversion 935 (Source => Iir, Target => Source_File_Entry); 936 function Source_File_Entry_To_Iir is new Ada.Unchecked_Conversion 937 (Source => Source_File_Entry, Target => Iir); 938 939 function Boolean_To_Iir_Delay_Mechanism is new Ada.Unchecked_Conversion 940 (Source => Boolean, Target => Iir_Delay_Mechanism); 941 function Iir_Delay_Mechanism_To_Boolean is new Ada.Unchecked_Conversion 942 (Source => Iir_Delay_Mechanism, Target => Boolean); 943 944 function Boolean_To_Iir_Force_Mode is new Ada.Unchecked_Conversion 945 (Source => Boolean, Target => Iir_Force_Mode); 946 function Iir_Force_Mode_To_Boolean is new Ada.Unchecked_Conversion 947 (Source => Iir_Force_Mode, Target => Boolean); 948 949 function Boolean_To_Iir_Signal_Kind is new Ada.Unchecked_Conversion 950 (Source => Boolean, Target => Iir_Signal_Kind); 951 function Iir_Signal_Kind_To_Boolean is new Ada.Unchecked_Conversion 952 (Source => Iir_Signal_Kind, Target => Boolean); 953 954 function Boolean_To_Direction_Type is new Ada.Unchecked_Conversion 955 (Source => Boolean, Target => Direction_Type); 956 function Direction_Type_To_Boolean is new Ada.Unchecked_Conversion 957 (Source => Direction_Type, Target => Boolean); 958 959 function Iir_To_String8_Id is new Ada.Unchecked_Conversion 960 (Source => Iir, Target => String8_Id); 961 function String8_Id_To_Iir is new Ada.Unchecked_Conversion 962 (Source => String8_Id, Target => Iir); 963 964 function Iir_To_Int32 is new Ada.Unchecked_Conversion 965 (Source => Iir, Target => Int32); 966 function Int32_To_Iir is new Ada.Unchecked_Conversion 967 (Source => Int32, Target => Iir); 968 969 function Iir_To_PSL_Node is new Ada.Unchecked_Conversion 970 (Source => Iir, Target => PSL_Node); 971 972 function PSL_Node_To_Iir is new Ada.Unchecked_Conversion 973 (Source => PSL_Node, Target => Iir); 974 975 function Iir_To_PSL_NFA is new Ada.Unchecked_Conversion 976 (Source => Iir, Target => PSL_NFA); 977 978 function PSL_NFA_To_Iir is new Ada.Unchecked_Conversion 979 (Source => PSL_NFA, Target => Iir); 980 981 -- Subprograms 982 function Get_Format (Kind : Iir_Kind) return Format_Type is 983 begin 984 case Kind is 985 when Iir_Kind_Unused 986 | Iir_Kind_Error 987 | Iir_Kind_Library_Clause 988 | Iir_Kind_Use_Clause 989 | Iir_Kind_Context_Reference 990 | Iir_Kind_Integer_Literal 991 | Iir_Kind_Floating_Point_Literal 992 | Iir_Kind_Null_Literal 993 | Iir_Kind_String_Literal8 994 | Iir_Kind_Physical_Int_Literal 995 | Iir_Kind_Physical_Fp_Literal 996 | Iir_Kind_Simple_Aggregate 997 | Iir_Kind_Overflow_Literal 998 | Iir_Kind_Unaffected_Waveform 999 | Iir_Kind_Waveform_Element 1000 | Iir_Kind_Conditional_Waveform 1001 | Iir_Kind_Conditional_Expression 1002 | Iir_Kind_Association_Element_By_Expression 1003 | Iir_Kind_Association_Element_By_Individual 1004 | Iir_Kind_Association_Element_Open 1005 | Iir_Kind_Association_Element_Package 1006 | Iir_Kind_Association_Element_Type 1007 | Iir_Kind_Association_Element_Subprogram 1008 | Iir_Kind_Association_Element_Terminal 1009 | Iir_Kind_Choice_By_Range 1010 | Iir_Kind_Choice_By_Expression 1011 | Iir_Kind_Choice_By_Others 1012 | Iir_Kind_Choice_By_None 1013 | Iir_Kind_Choice_By_Name 1014 | Iir_Kind_Entity_Aspect_Entity 1015 | Iir_Kind_Entity_Aspect_Configuration 1016 | Iir_Kind_Entity_Aspect_Open 1017 | Iir_Kind_Psl_Hierarchical_Name 1018 | Iir_Kind_Block_Configuration 1019 | Iir_Kind_Component_Configuration 1020 | Iir_Kind_Entity_Class 1021 | Iir_Kind_Attribute_Value 1022 | Iir_Kind_Aggregate_Info 1023 | Iir_Kind_Procedure_Call 1024 | Iir_Kind_Record_Element_Constraint 1025 | Iir_Kind_Array_Element_Resolution 1026 | Iir_Kind_Record_Resolution 1027 | Iir_Kind_Record_Element_Resolution 1028 | Iir_Kind_Break_Element 1029 | Iir_Kind_Disconnection_Specification 1030 | Iir_Kind_Step_Limit_Specification 1031 | Iir_Kind_Configuration_Specification 1032 | Iir_Kind_Access_Type_Definition 1033 | Iir_Kind_Incomplete_Type_Definition 1034 | Iir_Kind_Interface_Type_Definition 1035 | Iir_Kind_File_Type_Definition 1036 | Iir_Kind_Protected_Type_Declaration 1037 | Iir_Kind_Record_Type_Definition 1038 | Iir_Kind_Access_Subtype_Definition 1039 | Iir_Kind_Physical_Subtype_Definition 1040 | Iir_Kind_Integer_Subtype_Definition 1041 | Iir_Kind_Enumeration_Subtype_Definition 1042 | Iir_Kind_Enumeration_Type_Definition 1043 | Iir_Kind_Integer_Type_Definition 1044 | Iir_Kind_Floating_Type_Definition 1045 | Iir_Kind_Physical_Type_Definition 1046 | Iir_Kind_Range_Expression 1047 | Iir_Kind_Protected_Type_Body 1048 | Iir_Kind_Wildcard_Type_Definition 1049 | Iir_Kind_Overload_List 1050 | Iir_Kind_Configuration_Declaration 1051 | Iir_Kind_Context_Declaration 1052 | Iir_Kind_Package_Body 1053 | Iir_Kind_Type_Declaration 1054 | Iir_Kind_Anonymous_Type_Declaration 1055 | Iir_Kind_Subtype_Declaration 1056 | Iir_Kind_Nature_Declaration 1057 | Iir_Kind_Subnature_Declaration 1058 | Iir_Kind_Unit_Declaration 1059 | Iir_Kind_Library_Declaration 1060 | Iir_Kind_Attribute_Declaration 1061 | Iir_Kind_Group_Template_Declaration 1062 | Iir_Kind_Group_Declaration 1063 | Iir_Kind_Element_Declaration 1064 | Iir_Kind_Nature_Element_Declaration 1065 | Iir_Kind_Non_Object_Alias_Declaration 1066 | Iir_Kind_Enumeration_Literal 1067 | Iir_Kind_Terminal_Declaration 1068 | Iir_Kind_Object_Alias_Declaration 1069 | Iir_Kind_Free_Quantity_Declaration 1070 | Iir_Kind_Noise_Quantity_Declaration 1071 | Iir_Kind_Guard_Signal_Declaration 1072 | Iir_Kind_Signal_Declaration 1073 | Iir_Kind_Variable_Declaration 1074 | Iir_Kind_Iterator_Declaration 1075 | Iir_Kind_Interface_Constant_Declaration 1076 | Iir_Kind_Interface_Variable_Declaration 1077 | Iir_Kind_Interface_Signal_Declaration 1078 | Iir_Kind_Interface_File_Declaration 1079 | Iir_Kind_Interface_Quantity_Declaration 1080 | Iir_Kind_Interface_Terminal_Declaration 1081 | Iir_Kind_Interface_Type_Declaration 1082 | Iir_Kind_Anonymous_Signal_Declaration 1083 | Iir_Kind_Signal_Attribute_Declaration 1084 | Iir_Kind_Identity_Operator 1085 | Iir_Kind_Negation_Operator 1086 | Iir_Kind_Absolute_Operator 1087 | Iir_Kind_Not_Operator 1088 | Iir_Kind_Implicit_Condition_Operator 1089 | Iir_Kind_Condition_Operator 1090 | Iir_Kind_Reduction_And_Operator 1091 | Iir_Kind_Reduction_Or_Operator 1092 | Iir_Kind_Reduction_Nand_Operator 1093 | Iir_Kind_Reduction_Nor_Operator 1094 | Iir_Kind_Reduction_Xor_Operator 1095 | Iir_Kind_Reduction_Xnor_Operator 1096 | Iir_Kind_And_Operator 1097 | Iir_Kind_Or_Operator 1098 | Iir_Kind_Nand_Operator 1099 | Iir_Kind_Nor_Operator 1100 | Iir_Kind_Xor_Operator 1101 | Iir_Kind_Xnor_Operator 1102 | Iir_Kind_Equality_Operator 1103 | Iir_Kind_Inequality_Operator 1104 | Iir_Kind_Less_Than_Operator 1105 | Iir_Kind_Less_Than_Or_Equal_Operator 1106 | Iir_Kind_Greater_Than_Operator 1107 | Iir_Kind_Greater_Than_Or_Equal_Operator 1108 | Iir_Kind_Match_Equality_Operator 1109 | Iir_Kind_Match_Inequality_Operator 1110 | Iir_Kind_Match_Less_Than_Operator 1111 | Iir_Kind_Match_Less_Than_Or_Equal_Operator 1112 | Iir_Kind_Match_Greater_Than_Operator 1113 | Iir_Kind_Match_Greater_Than_Or_Equal_Operator 1114 | Iir_Kind_Sll_Operator 1115 | Iir_Kind_Sla_Operator 1116 | Iir_Kind_Srl_Operator 1117 | Iir_Kind_Sra_Operator 1118 | Iir_Kind_Rol_Operator 1119 | Iir_Kind_Ror_Operator 1120 | Iir_Kind_Addition_Operator 1121 | Iir_Kind_Substraction_Operator 1122 | Iir_Kind_Concatenation_Operator 1123 | Iir_Kind_Multiplication_Operator 1124 | Iir_Kind_Division_Operator 1125 | Iir_Kind_Modulus_Operator 1126 | Iir_Kind_Remainder_Operator 1127 | Iir_Kind_Exponentiation_Operator 1128 | Iir_Kind_Function_Call 1129 | Iir_Kind_Aggregate 1130 | Iir_Kind_Parenthesis_Expression 1131 | Iir_Kind_Qualified_Expression 1132 | Iir_Kind_Type_Conversion 1133 | Iir_Kind_Allocator_By_Expression 1134 | Iir_Kind_Allocator_By_Subtype 1135 | Iir_Kind_Selected_Element 1136 | Iir_Kind_Dereference 1137 | Iir_Kind_Implicit_Dereference 1138 | Iir_Kind_Slice_Name 1139 | Iir_Kind_Indexed_Name 1140 | Iir_Kind_Psl_Prev 1141 | Iir_Kind_Psl_Stable 1142 | Iir_Kind_Psl_Rose 1143 | Iir_Kind_Psl_Fell 1144 | Iir_Kind_Psl_Expression 1145 | Iir_Kind_Concurrent_Assertion_Statement 1146 | Iir_Kind_Concurrent_Procedure_Call_Statement 1147 | Iir_Kind_If_Generate_Statement 1148 | Iir_Kind_Case_Generate_Statement 1149 | Iir_Kind_For_Generate_Statement 1150 | Iir_Kind_Psl_Default_Clock 1151 | Iir_Kind_Generate_Statement_Body 1152 | Iir_Kind_If_Generate_Else_Clause 1153 | Iir_Kind_Simultaneous_Null_Statement 1154 | Iir_Kind_Simultaneous_Procedural_Statement 1155 | Iir_Kind_Simultaneous_Case_Statement 1156 | Iir_Kind_Simultaneous_If_Statement 1157 | Iir_Kind_Simultaneous_Elsif 1158 | Iir_Kind_Simple_Signal_Assignment_Statement 1159 | Iir_Kind_Conditional_Signal_Assignment_Statement 1160 | Iir_Kind_Signal_Force_Assignment_Statement 1161 | Iir_Kind_Signal_Release_Assignment_Statement 1162 | Iir_Kind_Null_Statement 1163 | Iir_Kind_Assertion_Statement 1164 | Iir_Kind_Report_Statement 1165 | Iir_Kind_Variable_Assignment_Statement 1166 | Iir_Kind_Conditional_Variable_Assignment_Statement 1167 | Iir_Kind_Return_Statement 1168 | Iir_Kind_For_Loop_Statement 1169 | Iir_Kind_While_Loop_Statement 1170 | Iir_Kind_Next_Statement 1171 | Iir_Kind_Exit_Statement 1172 | Iir_Kind_Case_Statement 1173 | Iir_Kind_Procedure_Call_Statement 1174 | Iir_Kind_Break_Statement 1175 | Iir_Kind_If_Statement 1176 | Iir_Kind_Elsif 1177 | Iir_Kind_Character_Literal 1178 | Iir_Kind_Simple_Name 1179 | Iir_Kind_Selected_Name 1180 | Iir_Kind_Operator_Symbol 1181 | Iir_Kind_Reference_Name 1182 | Iir_Kind_External_Constant_Name 1183 | Iir_Kind_External_Signal_Name 1184 | Iir_Kind_External_Variable_Name 1185 | Iir_Kind_Selected_By_All_Name 1186 | Iir_Kind_Parenthesis_Name 1187 | Iir_Kind_Package_Pathname 1188 | Iir_Kind_Absolute_Pathname 1189 | Iir_Kind_Relative_Pathname 1190 | Iir_Kind_Pathname_Element 1191 | Iir_Kind_Base_Attribute 1192 | Iir_Kind_Subtype_Attribute 1193 | Iir_Kind_Element_Attribute 1194 | Iir_Kind_Across_Attribute 1195 | Iir_Kind_Through_Attribute 1196 | Iir_Kind_Nature_Reference_Attribute 1197 | Iir_Kind_Left_Type_Attribute 1198 | Iir_Kind_Right_Type_Attribute 1199 | Iir_Kind_High_Type_Attribute 1200 | Iir_Kind_Low_Type_Attribute 1201 | Iir_Kind_Ascending_Type_Attribute 1202 | Iir_Kind_Image_Attribute 1203 | Iir_Kind_Value_Attribute 1204 | Iir_Kind_Pos_Attribute 1205 | Iir_Kind_Val_Attribute 1206 | Iir_Kind_Succ_Attribute 1207 | Iir_Kind_Pred_Attribute 1208 | Iir_Kind_Leftof_Attribute 1209 | Iir_Kind_Rightof_Attribute 1210 | Iir_Kind_Dot_Attribute 1211 | Iir_Kind_Integ_Attribute 1212 | Iir_Kind_Above_Attribute 1213 | Iir_Kind_Quantity_Delayed_Attribute 1214 | Iir_Kind_Delayed_Attribute 1215 | Iir_Kind_Stable_Attribute 1216 | Iir_Kind_Quiet_Attribute 1217 | Iir_Kind_Transaction_Attribute 1218 | Iir_Kind_Event_Attribute 1219 | Iir_Kind_Active_Attribute 1220 | Iir_Kind_Last_Event_Attribute 1221 | Iir_Kind_Last_Active_Attribute 1222 | Iir_Kind_Last_Value_Attribute 1223 | Iir_Kind_Driving_Attribute 1224 | Iir_Kind_Driving_Value_Attribute 1225 | Iir_Kind_Behavior_Attribute 1226 | Iir_Kind_Structure_Attribute 1227 | Iir_Kind_Simple_Name_Attribute 1228 | Iir_Kind_Instance_Name_Attribute 1229 | Iir_Kind_Path_Name_Attribute 1230 | Iir_Kind_Left_Array_Attribute 1231 | Iir_Kind_Right_Array_Attribute 1232 | Iir_Kind_High_Array_Attribute 1233 | Iir_Kind_Low_Array_Attribute 1234 | Iir_Kind_Length_Array_Attribute 1235 | Iir_Kind_Ascending_Array_Attribute 1236 | Iir_Kind_Range_Array_Attribute 1237 | Iir_Kind_Reverse_Range_Array_Attribute 1238 | Iir_Kind_Attribute_Name => 1239 return Format_Short; 1240 when Iir_Kind_Design_File 1241 | Iir_Kind_Design_Unit 1242 | Iir_Kind_Block_Header 1243 | Iir_Kind_Binding_Indication 1244 | Iir_Kind_Signature 1245 | Iir_Kind_Attribute_Specification 1246 | Iir_Kind_Array_Type_Definition 1247 | Iir_Kind_Array_Subtype_Definition 1248 | Iir_Kind_Record_Subtype_Definition 1249 | Iir_Kind_Floating_Subtype_Definition 1250 | Iir_Kind_Subtype_Definition 1251 | Iir_Kind_Scalar_Nature_Definition 1252 | Iir_Kind_Record_Nature_Definition 1253 | Iir_Kind_Array_Nature_Definition 1254 | Iir_Kind_Array_Subnature_Definition 1255 | Iir_Kind_Entity_Declaration 1256 | Iir_Kind_Package_Declaration 1257 | Iir_Kind_Package_Instantiation_Declaration 1258 | Iir_Kind_Vmode_Declaration 1259 | Iir_Kind_Vprop_Declaration 1260 | Iir_Kind_Vunit_Declaration 1261 | Iir_Kind_Architecture_Body 1262 | Iir_Kind_Package_Header 1263 | Iir_Kind_Component_Declaration 1264 | Iir_Kind_Psl_Declaration 1265 | Iir_Kind_Psl_Endpoint_Declaration 1266 | Iir_Kind_Function_Declaration 1267 | Iir_Kind_Procedure_Declaration 1268 | Iir_Kind_Function_Body 1269 | Iir_Kind_Procedure_Body 1270 | Iir_Kind_Function_Instantiation_Declaration 1271 | Iir_Kind_Procedure_Instantiation_Declaration 1272 | Iir_Kind_Spectrum_Quantity_Declaration 1273 | Iir_Kind_Across_Quantity_Declaration 1274 | Iir_Kind_Through_Quantity_Declaration 1275 | Iir_Kind_File_Declaration 1276 | Iir_Kind_Constant_Declaration 1277 | Iir_Kind_Interface_Package_Declaration 1278 | Iir_Kind_Interface_Function_Declaration 1279 | Iir_Kind_Interface_Procedure_Declaration 1280 | Iir_Kind_Sensitized_Process_Statement 1281 | Iir_Kind_Process_Statement 1282 | Iir_Kind_Concurrent_Simple_Signal_Assignment 1283 | Iir_Kind_Concurrent_Conditional_Signal_Assignment 1284 | Iir_Kind_Concurrent_Selected_Signal_Assignment 1285 | Iir_Kind_Concurrent_Break_Statement 1286 | Iir_Kind_Psl_Assert_Directive 1287 | Iir_Kind_Psl_Assume_Directive 1288 | Iir_Kind_Psl_Cover_Directive 1289 | Iir_Kind_Psl_Restrict_Directive 1290 | Iir_Kind_Block_Statement 1291 | Iir_Kind_Component_Instantiation_Statement 1292 | Iir_Kind_Simple_Simultaneous_Statement 1293 | Iir_Kind_Selected_Waveform_Assignment_Statement 1294 | Iir_Kind_Wait_Statement 1295 | Iir_Kind_Signal_Slew_Attribute 1296 | Iir_Kind_Quantity_Slew_Attribute 1297 | Iir_Kind_Ramp_Attribute 1298 | Iir_Kind_Zoh_Attribute 1299 | Iir_Kind_Ltf_Attribute 1300 | Iir_Kind_Ztf_Attribute => 1301 return Format_Medium; 1302 end case; 1303 end Get_Format; 1304 1305 function Get_First_Design_Unit (Design : Iir) return Iir is 1306 begin 1307 pragma Assert (Design /= Null_Iir); 1308 pragma Assert (Has_First_Design_Unit (Get_Kind (Design)), 1309 "no field First_Design_Unit"); 1310 return Get_Field5 (Design); 1311 end Get_First_Design_Unit; 1312 1313 procedure Set_First_Design_Unit (Design : Iir; Chain : Iir) is 1314 begin 1315 pragma Assert (Design /= Null_Iir); 1316 pragma Assert (Has_First_Design_Unit (Get_Kind (Design)), 1317 "no field First_Design_Unit"); 1318 Set_Field5 (Design, Chain); 1319 end Set_First_Design_Unit; 1320 1321 function Get_Last_Design_Unit (Design : Iir) return Iir is 1322 begin 1323 pragma Assert (Design /= Null_Iir); 1324 pragma Assert (Has_Last_Design_Unit (Get_Kind (Design)), 1325 "no field Last_Design_Unit"); 1326 return Get_Field6 (Design); 1327 end Get_Last_Design_Unit; 1328 1329 procedure Set_Last_Design_Unit (Design : Iir; Chain : Iir) is 1330 begin 1331 pragma Assert (Design /= Null_Iir); 1332 pragma Assert (Has_Last_Design_Unit (Get_Kind (Design)), 1333 "no field Last_Design_Unit"); 1334 Set_Field6 (Design, Chain); 1335 end Set_Last_Design_Unit; 1336 1337 function Get_Library_Declaration (Design : Iir) return Iir is 1338 begin 1339 pragma Assert (Design /= Null_Iir); 1340 pragma Assert (Has_Library_Declaration (Get_Kind (Design)), 1341 "no field Library_Declaration"); 1342 return Get_Field1 (Design); 1343 end Get_Library_Declaration; 1344 1345 procedure Set_Library_Declaration (Design : Iir; Library : Iir) is 1346 begin 1347 pragma Assert (Design /= Null_Iir); 1348 pragma Assert (Has_Library_Declaration (Get_Kind (Design)), 1349 "no field Library_Declaration"); 1350 Set_Field1 (Design, Library); 1351 end Set_Library_Declaration; 1352 1353 function Get_File_Checksum (Design : Iir) return File_Checksum_Id is 1354 begin 1355 pragma Assert (Design /= Null_Iir); 1356 pragma Assert (Has_File_Checksum (Get_Kind (Design)), 1357 "no field File_Checksum"); 1358 return Iir_To_File_Checksum_Id (Get_Field4 (Design)); 1359 end Get_File_Checksum; 1360 1361 procedure Set_File_Checksum (Design : Iir; Checksum : File_Checksum_Id) is 1362 begin 1363 pragma Assert (Design /= Null_Iir); 1364 pragma Assert (Has_File_Checksum (Get_Kind (Design)), 1365 "no field File_Checksum"); 1366 Set_Field4 (Design, File_Checksum_Id_To_Iir (Checksum)); 1367 end Set_File_Checksum; 1368 1369 function Get_Analysis_Time_Stamp (Design : Iir) return Time_Stamp_Id is 1370 begin 1371 pragma Assert (Design /= Null_Iir); 1372 pragma Assert (Has_Analysis_Time_Stamp (Get_Kind (Design)), 1373 "no field Analysis_Time_Stamp"); 1374 return Iir_To_Time_Stamp_Id (Get_Field3 (Design)); 1375 end Get_Analysis_Time_Stamp; 1376 1377 procedure Set_Analysis_Time_Stamp (Design : Iir; Stamp : Time_Stamp_Id) is 1378 begin 1379 pragma Assert (Design /= Null_Iir); 1380 pragma Assert (Has_Analysis_Time_Stamp (Get_Kind (Design)), 1381 "no field Analysis_Time_Stamp"); 1382 Set_Field3 (Design, Time_Stamp_Id_To_Iir (Stamp)); 1383 end Set_Analysis_Time_Stamp; 1384 1385 function Get_Design_File_Source (Design : Iir) return Source_File_Entry is 1386 begin 1387 pragma Assert (Design /= Null_Iir); 1388 pragma Assert (Has_Design_File_Source (Get_Kind (Design)), 1389 "no field Design_File_Source"); 1390 return Iir_To_Source_File_Entry (Get_Field7 (Design)); 1391 end Get_Design_File_Source; 1392 1393 procedure Set_Design_File_Source (Design : Iir; Sfe : Source_File_Entry) is 1394 begin 1395 pragma Assert (Design /= Null_Iir); 1396 pragma Assert (Has_Design_File_Source (Get_Kind (Design)), 1397 "no field Design_File_Source"); 1398 Set_Field7 (Design, Source_File_Entry_To_Iir (Sfe)); 1399 end Set_Design_File_Source; 1400 1401 function Get_Library (File : Iir_Design_File) return Iir is 1402 begin 1403 pragma Assert (File /= Null_Iir); 1404 pragma Assert (Has_Library (Get_Kind (File)), 1405 "no field Library"); 1406 return Get_Field0 (File); 1407 end Get_Library; 1408 1409 procedure Set_Library (File : Iir_Design_File; Lib : Iir) is 1410 begin 1411 pragma Assert (File /= Null_Iir); 1412 pragma Assert (Has_Library (Get_Kind (File)), 1413 "no field Library"); 1414 Set_Field0 (File, Lib); 1415 end Set_Library; 1416 1417 function Get_File_Dependence_List (File : Iir_Design_File) return Iir_List 1418 is 1419 begin 1420 pragma Assert (File /= Null_Iir); 1421 pragma Assert (Has_File_Dependence_List (Get_Kind (File)), 1422 "no field File_Dependence_List"); 1423 return Iir_To_Iir_List (Get_Field1 (File)); 1424 end Get_File_Dependence_List; 1425 1426 procedure Set_File_Dependence_List (File : Iir_Design_File; Lst : Iir_List) 1427 is 1428 begin 1429 pragma Assert (File /= Null_Iir); 1430 pragma Assert (Has_File_Dependence_List (Get_Kind (File)), 1431 "no field File_Dependence_List"); 1432 Set_Field1 (File, Iir_List_To_Iir (Lst)); 1433 end Set_File_Dependence_List; 1434 1435 function Get_Design_File_Filename (File : Iir_Design_File) return Name_Id 1436 is 1437 begin 1438 pragma Assert (File /= Null_Iir); 1439 pragma Assert (Has_Design_File_Filename (Get_Kind (File)), 1440 "no field Design_File_Filename"); 1441 return Name_Id'Val (Get_Field12 (File)); 1442 end Get_Design_File_Filename; 1443 1444 procedure Set_Design_File_Filename (File : Iir_Design_File; Name : Name_Id) 1445 is 1446 begin 1447 pragma Assert (File /= Null_Iir); 1448 pragma Assert (Has_Design_File_Filename (Get_Kind (File)), 1449 "no field Design_File_Filename"); 1450 Set_Field12 (File, Name_Id'Pos (Name)); 1451 end Set_Design_File_Filename; 1452 1453 function Get_Design_File_Directory (File : Iir_Design_File) return Name_Id 1454 is 1455 begin 1456 pragma Assert (File /= Null_Iir); 1457 pragma Assert (Has_Design_File_Directory (Get_Kind (File)), 1458 "no field Design_File_Directory"); 1459 return Name_Id'Val (Get_Field11 (File)); 1460 end Get_Design_File_Directory; 1461 1462 procedure Set_Design_File_Directory (File : Iir_Design_File; Dir : Name_Id) 1463 is 1464 begin 1465 pragma Assert (File /= Null_Iir); 1466 pragma Assert (Has_Design_File_Directory (Get_Kind (File)), 1467 "no field Design_File_Directory"); 1468 Set_Field11 (File, Name_Id'Pos (Dir)); 1469 end Set_Design_File_Directory; 1470 1471 function Get_Design_File (Unit : Iir_Design_Unit) return Iir is 1472 begin 1473 pragma Assert (Unit /= Null_Iir); 1474 pragma Assert (Has_Design_File (Get_Kind (Unit)), 1475 "no field Design_File"); 1476 return Get_Field0 (Unit); 1477 end Get_Design_File; 1478 1479 procedure Set_Design_File (Unit : Iir_Design_Unit; File : Iir) is 1480 begin 1481 pragma Assert (Unit /= Null_Iir); 1482 pragma Assert (Has_Design_File (Get_Kind (Unit)), 1483 "no field Design_File"); 1484 Set_Field0 (Unit, File); 1485 end Set_Design_File; 1486 1487 function Get_Design_File_Chain (Library : Iir) return Iir is 1488 begin 1489 pragma Assert (Library /= Null_Iir); 1490 pragma Assert (Has_Design_File_Chain (Get_Kind (Library)), 1491 "no field Design_File_Chain"); 1492 return Get_Field1 (Library); 1493 end Get_Design_File_Chain; 1494 1495 procedure Set_Design_File_Chain (Library : Iir; Chain : Iir) is 1496 begin 1497 pragma Assert (Library /= Null_Iir); 1498 pragma Assert (Has_Design_File_Chain (Get_Kind (Library)), 1499 "no field Design_File_Chain"); 1500 Set_Field1 (Library, Chain); 1501 end Set_Design_File_Chain; 1502 1503 function Get_Library_Directory (Library : Iir) return Name_Id is 1504 begin 1505 pragma Assert (Library /= Null_Iir); 1506 pragma Assert (Has_Library_Directory (Get_Kind (Library)), 1507 "no field Library_Directory"); 1508 return Name_Id'Val (Get_Field5 (Library)); 1509 end Get_Library_Directory; 1510 1511 procedure Set_Library_Directory (Library : Iir; Dir : Name_Id) is 1512 begin 1513 pragma Assert (Library /= Null_Iir); 1514 pragma Assert (Has_Library_Directory (Get_Kind (Library)), 1515 "no field Library_Directory"); 1516 Set_Field5 (Library, Name_Id'Pos (Dir)); 1517 end Set_Library_Directory; 1518 1519 function Get_Date (Target : Iir) return Date_Type is 1520 begin 1521 pragma Assert (Target /= Null_Iir); 1522 pragma Assert (Has_Date (Get_Kind (Target)), 1523 "no field Date"); 1524 return Date_Type'Val (Get_Field4 (Target)); 1525 end Get_Date; 1526 1527 procedure Set_Date (Target : Iir; Date : Date_Type) is 1528 begin 1529 pragma Assert (Target /= Null_Iir); 1530 pragma Assert (Has_Date (Get_Kind (Target)), 1531 "no field Date"); 1532 Set_Field4 (Target, Date_Type'Pos (Date)); 1533 end Set_Date; 1534 1535 function Get_Context_Items (Design_Unit : Iir) return Iir is 1536 begin 1537 pragma Assert (Design_Unit /= Null_Iir); 1538 pragma Assert (Has_Context_Items (Get_Kind (Design_Unit)), 1539 "no field Context_Items"); 1540 return Get_Field1 (Design_Unit); 1541 end Get_Context_Items; 1542 1543 procedure Set_Context_Items (Design_Unit : Iir; Items_Chain : Iir) is 1544 begin 1545 pragma Assert (Design_Unit /= Null_Iir); 1546 pragma Assert (Has_Context_Items (Get_Kind (Design_Unit)), 1547 "no field Context_Items"); 1548 Set_Field1 (Design_Unit, Items_Chain); 1549 end Set_Context_Items; 1550 1551 function Get_Dependence_List (Unit : Iir) return Iir_List is 1552 begin 1553 pragma Assert (Unit /= Null_Iir); 1554 pragma Assert (Has_Dependence_List (Get_Kind (Unit)), 1555 "no field Dependence_List"); 1556 return Iir_To_Iir_List (Get_Field8 (Unit)); 1557 end Get_Dependence_List; 1558 1559 procedure Set_Dependence_List (Unit : Iir; List : Iir_List) is 1560 begin 1561 pragma Assert (Unit /= Null_Iir); 1562 pragma Assert (Has_Dependence_List (Get_Kind (Unit)), 1563 "no field Dependence_List"); 1564 Set_Field8 (Unit, Iir_List_To_Iir (List)); 1565 end Set_Dependence_List; 1566 1567 function Get_Analysis_Checks_List (Unit : Iir) return Iir_List is 1568 begin 1569 pragma Assert (Unit /= Null_Iir); 1570 pragma Assert (Has_Analysis_Checks_List (Get_Kind (Unit)), 1571 "no field Analysis_Checks_List"); 1572 return Iir_To_Iir_List (Get_Field9 (Unit)); 1573 end Get_Analysis_Checks_List; 1574 1575 procedure Set_Analysis_Checks_List (Unit : Iir; List : Iir_List) is 1576 begin 1577 pragma Assert (Unit /= Null_Iir); 1578 pragma Assert (Has_Analysis_Checks_List (Get_Kind (Unit)), 1579 "no field Analysis_Checks_List"); 1580 Set_Field9 (Unit, Iir_List_To_Iir (List)); 1581 end Set_Analysis_Checks_List; 1582 1583 function Get_Date_State (Unit : Iir_Design_Unit) return Date_State_Type is 1584 begin 1585 pragma Assert (Unit /= Null_Iir); 1586 pragma Assert (Has_Date_State (Get_Kind (Unit)), 1587 "no field Date_State"); 1588 return Date_State_Type'Val (Get_State1 (Unit)); 1589 end Get_Date_State; 1590 1591 procedure Set_Date_State (Unit : Iir_Design_Unit; State : Date_State_Type) 1592 is 1593 begin 1594 pragma Assert (Unit /= Null_Iir); 1595 pragma Assert (Has_Date_State (Get_Kind (Unit)), 1596 "no field Date_State"); 1597 Set_State1 (Unit, Date_State_Type'Pos (State)); 1598 end Set_Date_State; 1599 1600 function Get_Guarded_Target_State (Stmt : Iir) return Tri_State_Type is 1601 begin 1602 pragma Assert (Stmt /= Null_Iir); 1603 pragma Assert (Has_Guarded_Target_State (Get_Kind (Stmt)), 1604 "no field Guarded_Target_State"); 1605 return Tri_State_Type'Val (Get_State1 (Stmt)); 1606 end Get_Guarded_Target_State; 1607 1608 procedure Set_Guarded_Target_State (Stmt : Iir; State : Tri_State_Type) is 1609 begin 1610 pragma Assert (Stmt /= Null_Iir); 1611 pragma Assert (Has_Guarded_Target_State (Get_Kind (Stmt)), 1612 "no field Guarded_Target_State"); 1613 Set_State1 (Stmt, Tri_State_Type'Pos (State)); 1614 end Set_Guarded_Target_State; 1615 1616 function Get_Library_Unit (Design_Unit : Iir_Design_Unit) return Iir is 1617 begin 1618 pragma Assert (Design_Unit /= Null_Iir); 1619 pragma Assert (Has_Library_Unit (Get_Kind (Design_Unit)), 1620 "no field Library_Unit"); 1621 return Get_Field5 (Design_Unit); 1622 end Get_Library_Unit; 1623 1624 procedure Set_Library_Unit (Design_Unit : Iir_Design_Unit; Lib_Unit : Iir) 1625 is 1626 begin 1627 pragma Assert (Design_Unit /= Null_Iir); 1628 pragma Assert (Has_Library_Unit (Get_Kind (Design_Unit)), 1629 "no field Library_Unit"); 1630 Set_Field5 (Design_Unit, Lib_Unit); 1631 end Set_Library_Unit; 1632 1633 function Get_Hash_Chain (Design_Unit : Iir_Design_Unit) return Iir is 1634 begin 1635 pragma Assert (Design_Unit /= Null_Iir); 1636 pragma Assert (Has_Hash_Chain (Get_Kind (Design_Unit)), 1637 "no field Hash_Chain"); 1638 return Get_Field7 (Design_Unit); 1639 end Get_Hash_Chain; 1640 1641 procedure Set_Hash_Chain (Design_Unit : Iir_Design_Unit; Chain : Iir) is 1642 begin 1643 pragma Assert (Design_Unit /= Null_Iir); 1644 pragma Assert (Has_Hash_Chain (Get_Kind (Design_Unit)), 1645 "no field Hash_Chain"); 1646 Set_Field7 (Design_Unit, Chain); 1647 end Set_Hash_Chain; 1648 1649 function Get_Design_Unit_Source_Pos (Design_Unit : Iir) return Source_Ptr 1650 is 1651 begin 1652 pragma Assert (Design_Unit /= Null_Iir); 1653 pragma Assert (Has_Design_Unit_Source_Pos (Get_Kind (Design_Unit)), 1654 "no field Design_Unit_Source_Pos"); 1655 return Iir_To_Source_Ptr (Get_Field10 (Design_Unit)); 1656 end Get_Design_Unit_Source_Pos; 1657 1658 procedure Set_Design_Unit_Source_Pos (Design_Unit : Iir; Pos : Source_Ptr) 1659 is 1660 begin 1661 pragma Assert (Design_Unit /= Null_Iir); 1662 pragma Assert (Has_Design_Unit_Source_Pos (Get_Kind (Design_Unit)), 1663 "no field Design_Unit_Source_Pos"); 1664 Set_Field10 (Design_Unit, Source_Ptr_To_Iir (Pos)); 1665 end Set_Design_Unit_Source_Pos; 1666 1667 function Get_Design_Unit_Source_Line (Design_Unit : Iir) return Int32 is 1668 begin 1669 pragma Assert (Design_Unit /= Null_Iir); 1670 pragma Assert (Has_Design_Unit_Source_Line (Get_Kind (Design_Unit)), 1671 "no field Design_Unit_Source_Line"); 1672 return Iir_To_Int32 (Get_Field11 (Design_Unit)); 1673 end Get_Design_Unit_Source_Line; 1674 1675 procedure Set_Design_Unit_Source_Line (Design_Unit : Iir; Line : Int32) is 1676 begin 1677 pragma Assert (Design_Unit /= Null_Iir); 1678 pragma Assert (Has_Design_Unit_Source_Line (Get_Kind (Design_Unit)), 1679 "no field Design_Unit_Source_Line"); 1680 Set_Field11 (Design_Unit, Int32_To_Iir (Line)); 1681 end Set_Design_Unit_Source_Line; 1682 1683 function Get_Design_Unit_Source_Col (Design_Unit : Iir) return Int32 is 1684 begin 1685 pragma Assert (Design_Unit /= Null_Iir); 1686 pragma Assert (Has_Design_Unit_Source_Col (Get_Kind (Design_Unit)), 1687 "no field Design_Unit_Source_Col"); 1688 return Iir_To_Int32 (Get_Field12 (Design_Unit)); 1689 end Get_Design_Unit_Source_Col; 1690 1691 procedure Set_Design_Unit_Source_Col (Design_Unit : Iir; Line : Int32) is 1692 begin 1693 pragma Assert (Design_Unit /= Null_Iir); 1694 pragma Assert (Has_Design_Unit_Source_Col (Get_Kind (Design_Unit)), 1695 "no field Design_Unit_Source_Col"); 1696 Set_Field12 (Design_Unit, Int32_To_Iir (Line)); 1697 end Set_Design_Unit_Source_Col; 1698 1699 type Int64_Conv is record 1700 Field4: Iir; 1701 Field5: Iir; 1702 end record; 1703 pragma Pack (Int64_Conv); 1704 pragma Assert (Int64_Conv'Size = Int64'Size); 1705 1706 function Get_Value (Lit : Iir) return Int64 1707 is 1708 function To_Int64 is new Ada.Unchecked_Conversion 1709 (Int64_Conv, Int64); 1710 Conv : Int64_Conv; 1711 begin 1712 pragma Assert (Lit /= Null_Iir); 1713 pragma Assert (Has_Value (Get_Kind (Lit)), 1714 "no field Value"); 1715 Conv.Field4 := Get_Field4 (Lit); 1716 Conv.Field5 := Get_Field5 (Lit); 1717 return To_Int64 (Conv); 1718 end Get_Value; 1719 1720 procedure Set_Value (Lit : Iir; Val : Int64) 1721 is 1722 function To_Int64_Conv is new Ada.Unchecked_Conversion 1723 (Int64, Int64_Conv); 1724 Conv : Int64_Conv; 1725 begin 1726 pragma Assert (Lit /= Null_Iir); 1727 pragma Assert (Has_Value (Get_Kind (Lit)), 1728 "no field Value"); 1729 Conv := To_Int64_Conv (Val); 1730 Set_Field4 (Lit, Conv.Field4); 1731 Set_Field5 (Lit, Conv.Field5); 1732 end Set_Value; 1733 1734 function Get_Enum_Pos (Lit : Iir) return Iir_Int32 is 1735 begin 1736 pragma Assert (Lit /= Null_Iir); 1737 pragma Assert (Has_Enum_Pos (Get_Kind (Lit)), 1738 "no field Enum_Pos"); 1739 return Iir_Int32'Val (Get_Field5 (Lit)); 1740 end Get_Enum_Pos; 1741 1742 procedure Set_Enum_Pos (Lit : Iir; Val : Iir_Int32) is 1743 begin 1744 pragma Assert (Lit /= Null_Iir); 1745 pragma Assert (Has_Enum_Pos (Get_Kind (Lit)), 1746 "no field Enum_Pos"); 1747 Set_Field5 (Lit, Iir_Int32'Pos (Val)); 1748 end Set_Enum_Pos; 1749 1750 function Get_Physical_Literal (Unit : Iir) return Iir is 1751 begin 1752 pragma Assert (Unit /= Null_Iir); 1753 pragma Assert (Has_Physical_Literal (Get_Kind (Unit)), 1754 "no field Physical_Literal"); 1755 return Get_Field4 (Unit); 1756 end Get_Physical_Literal; 1757 1758 procedure Set_Physical_Literal (Unit : Iir; Lit : Iir) is 1759 begin 1760 pragma Assert (Unit /= Null_Iir); 1761 pragma Assert (Has_Physical_Literal (Get_Kind (Unit)), 1762 "no field Physical_Literal"); 1763 Set_Field4 (Unit, Lit); 1764 end Set_Physical_Literal; 1765 1766 type Fp64_Conv is record 1767 Field4: Iir; 1768 Field5: Iir; 1769 end record; 1770 pragma Pack (Fp64_Conv); 1771 pragma Assert (Fp64_Conv'Size = Fp64'Size); 1772 1773 function Get_Fp_Value (Lit : Iir) return Fp64 1774 is 1775 function To_Fp64 is new Ada.Unchecked_Conversion 1776 (Fp64_Conv, Fp64); 1777 Conv : Fp64_Conv; 1778 begin 1779 pragma Assert (Lit /= Null_Iir); 1780 pragma Assert (Has_Fp_Value (Get_Kind (Lit)), 1781 "no field Fp_Value"); 1782 Conv.Field4 := Get_Field4 (Lit); 1783 Conv.Field5 := Get_Field5 (Lit); 1784 return To_Fp64 (Conv); 1785 end Get_Fp_Value; 1786 1787 procedure Set_Fp_Value (Lit : Iir; Val : Fp64) 1788 is 1789 function To_Fp64_Conv is new Ada.Unchecked_Conversion 1790 (Fp64, Fp64_Conv); 1791 Conv : Fp64_Conv; 1792 begin 1793 pragma Assert (Lit /= Null_Iir); 1794 pragma Assert (Has_Fp_Value (Get_Kind (Lit)), 1795 "no field Fp_Value"); 1796 Conv := To_Fp64_Conv (Val); 1797 Set_Field4 (Lit, Conv.Field4); 1798 Set_Field5 (Lit, Conv.Field5); 1799 end Set_Fp_Value; 1800 1801 function Get_Simple_Aggregate_List (Target : Iir) return Iir_Flist is 1802 begin 1803 pragma Assert (Target /= Null_Iir); 1804 pragma Assert (Has_Simple_Aggregate_List (Get_Kind (Target)), 1805 "no field Simple_Aggregate_List"); 1806 return Iir_To_Iir_Flist (Get_Field4 (Target)); 1807 end Get_Simple_Aggregate_List; 1808 1809 procedure Set_Simple_Aggregate_List (Target : Iir; List : Iir_Flist) is 1810 begin 1811 pragma Assert (Target /= Null_Iir); 1812 pragma Assert (Has_Simple_Aggregate_List (Get_Kind (Target)), 1813 "no field Simple_Aggregate_List"); 1814 Set_Field4 (Target, Iir_Flist_To_Iir (List)); 1815 end Set_Simple_Aggregate_List; 1816 1817 function Get_String8_Id (Lit : Iir) return String8_Id is 1818 begin 1819 pragma Assert (Lit /= Null_Iir); 1820 pragma Assert (Has_String8_Id (Get_Kind (Lit)), 1821 "no field String8_Id"); 1822 return Iir_To_String8_Id (Get_Field5 (Lit)); 1823 end Get_String8_Id; 1824 1825 procedure Set_String8_Id (Lit : Iir; Id : String8_Id) is 1826 begin 1827 pragma Assert (Lit /= Null_Iir); 1828 pragma Assert (Has_String8_Id (Get_Kind (Lit)), 1829 "no field String8_Id"); 1830 Set_Field5 (Lit, String8_Id_To_Iir (Id)); 1831 end Set_String8_Id; 1832 1833 function Get_String_Length (Lit : Iir) return Int32 is 1834 begin 1835 pragma Assert (Lit /= Null_Iir); 1836 pragma Assert (Has_String_Length (Get_Kind (Lit)), 1837 "no field String_Length"); 1838 return Iir_To_Int32 (Get_Field4 (Lit)); 1839 end Get_String_Length; 1840 1841 procedure Set_String_Length (Lit : Iir; Len : Int32) is 1842 begin 1843 pragma Assert (Lit /= Null_Iir); 1844 pragma Assert (Has_String_Length (Get_Kind (Lit)), 1845 "no field String_Length"); 1846 Set_Field4 (Lit, Int32_To_Iir (Len)); 1847 end Set_String_Length; 1848 1849 type Number_Base_Type_Conv is record 1850 Flag12: Boolean; 1851 Flag13: Boolean; 1852 Flag14: Boolean; 1853 end record; 1854 pragma Pack (Number_Base_Type_Conv); 1855 pragma Assert (Number_Base_Type_Conv'Size = Number_Base_Type'Size); 1856 1857 function Get_Bit_String_Base (Lit : Iir) return Number_Base_Type 1858 is 1859 function To_Number_Base_Type is new Ada.Unchecked_Conversion 1860 (Number_Base_Type_Conv, Number_Base_Type); 1861 Conv : Number_Base_Type_Conv; 1862 begin 1863 pragma Assert (Lit /= Null_Iir); 1864 pragma Assert (Has_Bit_String_Base (Get_Kind (Lit)), 1865 "no field Bit_String_Base"); 1866 Conv.Flag12 := Get_Flag12 (Lit); 1867 Conv.Flag13 := Get_Flag13 (Lit); 1868 Conv.Flag14 := Get_Flag14 (Lit); 1869 return To_Number_Base_Type (Conv); 1870 end Get_Bit_String_Base; 1871 1872 procedure Set_Bit_String_Base (Lit : Iir; Base : Number_Base_Type) 1873 is 1874 function To_Number_Base_Type_Conv is new Ada.Unchecked_Conversion 1875 (Number_Base_Type, Number_Base_Type_Conv); 1876 Conv : Number_Base_Type_Conv; 1877 begin 1878 pragma Assert (Lit /= Null_Iir); 1879 pragma Assert (Has_Bit_String_Base (Get_Kind (Lit)), 1880 "no field Bit_String_Base"); 1881 Conv := To_Number_Base_Type_Conv (Base); 1882 Set_Flag12 (Lit, Conv.Flag12); 1883 Set_Flag13 (Lit, Conv.Flag13); 1884 Set_Flag14 (Lit, Conv.Flag14); 1885 end Set_Bit_String_Base; 1886 1887 function Get_Has_Signed (Lit : Iir) return Boolean is 1888 begin 1889 pragma Assert (Lit /= Null_Iir); 1890 pragma Assert (Has_Has_Signed (Get_Kind (Lit)), 1891 "no field Has_Signed"); 1892 return Get_Flag1 (Lit); 1893 end Get_Has_Signed; 1894 1895 procedure Set_Has_Signed (Lit : Iir; Flag : Boolean) is 1896 begin 1897 pragma Assert (Lit /= Null_Iir); 1898 pragma Assert (Has_Has_Signed (Get_Kind (Lit)), 1899 "no field Has_Signed"); 1900 Set_Flag1 (Lit, Flag); 1901 end Set_Has_Signed; 1902 1903 function Get_Has_Sign (Lit : Iir) return Boolean is 1904 begin 1905 pragma Assert (Lit /= Null_Iir); 1906 pragma Assert (Has_Has_Sign (Get_Kind (Lit)), 1907 "no field Has_Sign"); 1908 return Get_Flag2 (Lit); 1909 end Get_Has_Sign; 1910 1911 procedure Set_Has_Sign (Lit : Iir; Flag : Boolean) is 1912 begin 1913 pragma Assert (Lit /= Null_Iir); 1914 pragma Assert (Has_Has_Sign (Get_Kind (Lit)), 1915 "no field Has_Sign"); 1916 Set_Flag2 (Lit, Flag); 1917 end Set_Has_Sign; 1918 1919 function Get_Has_Length (Lit : Iir) return Boolean is 1920 begin 1921 pragma Assert (Lit /= Null_Iir); 1922 pragma Assert (Has_Has_Length (Get_Kind (Lit)), 1923 "no field Has_Length"); 1924 return Get_Flag3 (Lit); 1925 end Get_Has_Length; 1926 1927 procedure Set_Has_Length (Lit : Iir; Flag : Boolean) is 1928 begin 1929 pragma Assert (Lit /= Null_Iir); 1930 pragma Assert (Has_Has_Length (Get_Kind (Lit)), 1931 "no field Has_Length"); 1932 Set_Flag3 (Lit, Flag); 1933 end Set_Has_Length; 1934 1935 function Get_Literal_Length (Lit : Iir) return Int32 is 1936 begin 1937 pragma Assert (Lit /= Null_Iir); 1938 pragma Assert (Has_Literal_Length (Get_Kind (Lit)), 1939 "no field Literal_Length"); 1940 return Iir_To_Int32 (Get_Field0 (Lit)); 1941 end Get_Literal_Length; 1942 1943 procedure Set_Literal_Length (Lit : Iir; Len : Int32) is 1944 begin 1945 pragma Assert (Lit /= Null_Iir); 1946 pragma Assert (Has_Literal_Length (Get_Kind (Lit)), 1947 "no field Literal_Length"); 1948 Set_Field0 (Lit, Int32_To_Iir (Len)); 1949 end Set_Literal_Length; 1950 1951 function Get_Literal_Origin (Lit : Iir) return Iir is 1952 begin 1953 pragma Assert (Lit /= Null_Iir); 1954 pragma Assert (Has_Literal_Origin (Get_Kind (Lit)), 1955 "no field Literal_Origin"); 1956 return Get_Field2 (Lit); 1957 end Get_Literal_Origin; 1958 1959 procedure Set_Literal_Origin (Lit : Iir; Orig : Iir) is 1960 begin 1961 pragma Assert (Lit /= Null_Iir); 1962 pragma Assert (Has_Literal_Origin (Get_Kind (Lit)), 1963 "no field Literal_Origin"); 1964 Set_Field2 (Lit, Orig); 1965 end Set_Literal_Origin; 1966 1967 function Get_Range_Origin (Lit : Iir) return Iir is 1968 begin 1969 pragma Assert (Lit /= Null_Iir); 1970 pragma Assert (Has_Range_Origin (Get_Kind (Lit)), 1971 "no field Range_Origin"); 1972 return Get_Field0 (Lit); 1973 end Get_Range_Origin; 1974 1975 procedure Set_Range_Origin (Lit : Iir; Orig : Iir) is 1976 begin 1977 pragma Assert (Lit /= Null_Iir); 1978 pragma Assert (Has_Range_Origin (Get_Kind (Lit)), 1979 "no field Range_Origin"); 1980 Set_Field0 (Lit, Orig); 1981 end Set_Range_Origin; 1982 1983 function Get_Literal_Subtype (Lit : Iir) return Iir is 1984 begin 1985 pragma Assert (Lit /= Null_Iir); 1986 pragma Assert (Has_Literal_Subtype (Get_Kind (Lit)), 1987 "no field Literal_Subtype"); 1988 return Get_Field3 (Lit); 1989 end Get_Literal_Subtype; 1990 1991 procedure Set_Literal_Subtype (Lit : Iir; Atype : Iir) is 1992 begin 1993 pragma Assert (Lit /= Null_Iir); 1994 pragma Assert (Has_Literal_Subtype (Get_Kind (Lit)), 1995 "no field Literal_Subtype"); 1996 Set_Field3 (Lit, Atype); 1997 end Set_Literal_Subtype; 1998 1999 function Get_Allocator_Subtype (Lit : Iir) return Iir is 2000 begin 2001 pragma Assert (Lit /= Null_Iir); 2002 pragma Assert (Has_Allocator_Subtype (Get_Kind (Lit)), 2003 "no field Allocator_Subtype"); 2004 return Get_Field3 (Lit); 2005 end Get_Allocator_Subtype; 2006 2007 procedure Set_Allocator_Subtype (Lit : Iir; Atype : Iir) is 2008 begin 2009 pragma Assert (Lit /= Null_Iir); 2010 pragma Assert (Has_Allocator_Subtype (Get_Kind (Lit)), 2011 "no field Allocator_Subtype"); 2012 Set_Field3 (Lit, Atype); 2013 end Set_Allocator_Subtype; 2014 2015 function Get_Entity_Class (Target : Iir) return Token_Type is 2016 begin 2017 pragma Assert (Target /= Null_Iir); 2018 pragma Assert (Has_Entity_Class (Get_Kind (Target)), 2019 "no field Entity_Class"); 2020 return Iir_To_Token_Type (Get_Field3 (Target)); 2021 end Get_Entity_Class; 2022 2023 procedure Set_Entity_Class (Target : Iir; Kind : Token_Type) is 2024 begin 2025 pragma Assert (Target /= Null_Iir); 2026 pragma Assert (Has_Entity_Class (Get_Kind (Target)), 2027 "no field Entity_Class"); 2028 Set_Field3 (Target, Token_Type_To_Iir (Kind)); 2029 end Set_Entity_Class; 2030 2031 function Get_Entity_Name_List (Target : Iir) return Iir_Flist is 2032 begin 2033 pragma Assert (Target /= Null_Iir); 2034 pragma Assert (Has_Entity_Name_List (Get_Kind (Target)), 2035 "no field Entity_Name_List"); 2036 return Iir_To_Iir_Flist (Get_Field8 (Target)); 2037 end Get_Entity_Name_List; 2038 2039 procedure Set_Entity_Name_List (Target : Iir; Names : Iir_Flist) is 2040 begin 2041 pragma Assert (Target /= Null_Iir); 2042 pragma Assert (Has_Entity_Name_List (Get_Kind (Target)), 2043 "no field Entity_Name_List"); 2044 Set_Field8 (Target, Iir_Flist_To_Iir (Names)); 2045 end Set_Entity_Name_List; 2046 2047 function Get_Attribute_Designator (Target : Iir) return Iir is 2048 begin 2049 pragma Assert (Target /= Null_Iir); 2050 pragma Assert (Has_Attribute_Designator (Get_Kind (Target)), 2051 "no field Attribute_Designator"); 2052 return Get_Field6 (Target); 2053 end Get_Attribute_Designator; 2054 2055 procedure Set_Attribute_Designator (Target : Iir; Designator : Iir) is 2056 begin 2057 pragma Assert (Target /= Null_Iir); 2058 pragma Assert (Has_Attribute_Designator (Get_Kind (Target)), 2059 "no field Attribute_Designator"); 2060 Set_Field6 (Target, Designator); 2061 end Set_Attribute_Designator; 2062 2063 function Get_Attribute_Specification_Chain (Target : Iir) return Iir is 2064 begin 2065 pragma Assert (Target /= Null_Iir); 2066 pragma Assert (Has_Attribute_Specification_Chain (Get_Kind (Target)), 2067 "no field Attribute_Specification_Chain"); 2068 return Get_Field7 (Target); 2069 end Get_Attribute_Specification_Chain; 2070 2071 procedure Set_Attribute_Specification_Chain (Target : Iir; Chain : Iir) is 2072 begin 2073 pragma Assert (Target /= Null_Iir); 2074 pragma Assert (Has_Attribute_Specification_Chain (Get_Kind (Target)), 2075 "no field Attribute_Specification_Chain"); 2076 Set_Field7 (Target, Chain); 2077 end Set_Attribute_Specification_Chain; 2078 2079 function Get_Attribute_Specification (Val : Iir) return Iir is 2080 begin 2081 pragma Assert (Val /= Null_Iir); 2082 pragma Assert (Has_Attribute_Specification (Get_Kind (Val)), 2083 "no field Attribute_Specification"); 2084 return Get_Field4 (Val); 2085 end Get_Attribute_Specification; 2086 2087 procedure Set_Attribute_Specification (Val : Iir; Attr : Iir) is 2088 begin 2089 pragma Assert (Val /= Null_Iir); 2090 pragma Assert (Has_Attribute_Specification (Get_Kind (Val)), 2091 "no field Attribute_Specification"); 2092 Set_Field4 (Val, Attr); 2093 end Set_Attribute_Specification; 2094 2095 function Get_Static_Attribute_Flag (Attr : Iir) return Boolean is 2096 begin 2097 pragma Assert (Attr /= Null_Iir); 2098 pragma Assert (Has_Static_Attribute_Flag (Get_Kind (Attr)), 2099 "no field Static_Attribute_Flag"); 2100 return Get_Flag2 (Attr); 2101 end Get_Static_Attribute_Flag; 2102 2103 procedure Set_Static_Attribute_Flag (Attr : Iir; Flag : Boolean) is 2104 begin 2105 pragma Assert (Attr /= Null_Iir); 2106 pragma Assert (Has_Static_Attribute_Flag (Get_Kind (Attr)), 2107 "no field Static_Attribute_Flag"); 2108 Set_Flag2 (Attr, Flag); 2109 end Set_Static_Attribute_Flag; 2110 2111 function Get_Signal_List (Target : Iir) return Iir_Flist is 2112 begin 2113 pragma Assert (Target /= Null_Iir); 2114 pragma Assert (Has_Signal_List (Get_Kind (Target)), 2115 "no field Signal_List"); 2116 return Iir_To_Iir_Flist (Get_Field3 (Target)); 2117 end Get_Signal_List; 2118 2119 procedure Set_Signal_List (Target : Iir; List : Iir_Flist) is 2120 begin 2121 pragma Assert (Target /= Null_Iir); 2122 pragma Assert (Has_Signal_List (Get_Kind (Target)), 2123 "no field Signal_List"); 2124 Set_Field3 (Target, Iir_Flist_To_Iir (List)); 2125 end Set_Signal_List; 2126 2127 function Get_Quantity_List (Target : Iir) return Iir_Flist is 2128 begin 2129 pragma Assert (Target /= Null_Iir); 2130 pragma Assert (Has_Quantity_List (Get_Kind (Target)), 2131 "no field Quantity_List"); 2132 return Iir_To_Iir_Flist (Get_Field3 (Target)); 2133 end Get_Quantity_List; 2134 2135 procedure Set_Quantity_List (Target : Iir; List : Iir_Flist) is 2136 begin 2137 pragma Assert (Target /= Null_Iir); 2138 pragma Assert (Has_Quantity_List (Get_Kind (Target)), 2139 "no field Quantity_List"); 2140 Set_Field3 (Target, Iir_Flist_To_Iir (List)); 2141 end Set_Quantity_List; 2142 2143 function Get_Designated_Entity (Val : Iir_Attribute_Value) return Iir is 2144 begin 2145 pragma Assert (Val /= Null_Iir); 2146 pragma Assert (Has_Designated_Entity (Get_Kind (Val)), 2147 "no field Designated_Entity"); 2148 return Get_Field3 (Val); 2149 end Get_Designated_Entity; 2150 2151 procedure Set_Designated_Entity (Val : Iir_Attribute_Value; Entity : Iir) 2152 is 2153 begin 2154 pragma Assert (Val /= Null_Iir); 2155 pragma Assert (Has_Designated_Entity (Get_Kind (Val)), 2156 "no field Designated_Entity"); 2157 Set_Field3 (Val, Entity); 2158 end Set_Designated_Entity; 2159 2160 function Get_Formal (Target : Iir) return Iir is 2161 begin 2162 pragma Assert (Target /= Null_Iir); 2163 pragma Assert (Has_Formal (Get_Kind (Target)), 2164 "no field Formal"); 2165 return Get_Field1 (Target); 2166 end Get_Formal; 2167 2168 procedure Set_Formal (Target : Iir; Formal : Iir) is 2169 begin 2170 pragma Assert (Target /= Null_Iir); 2171 pragma Assert (Has_Formal (Get_Kind (Target)), 2172 "no field Formal"); 2173 Set_Field1 (Target, Formal); 2174 end Set_Formal; 2175 2176 function Get_Actual (Target : Iir) return Iir is 2177 begin 2178 pragma Assert (Target /= Null_Iir); 2179 pragma Assert (Has_Actual (Get_Kind (Target)), 2180 "no field Actual"); 2181 return Get_Field3 (Target); 2182 end Get_Actual; 2183 2184 procedure Set_Actual (Target : Iir; Actual : Iir) is 2185 begin 2186 pragma Assert (Target /= Null_Iir); 2187 pragma Assert (Has_Actual (Get_Kind (Target)), 2188 "no field Actual"); 2189 Set_Field3 (Target, Actual); 2190 end Set_Actual; 2191 2192 function Get_Actual_Conversion (Target : Iir) return Iir is 2193 begin 2194 pragma Assert (Target /= Null_Iir); 2195 pragma Assert (Has_Actual_Conversion (Get_Kind (Target)), 2196 "no field Actual_Conversion"); 2197 return Get_Field4 (Target); 2198 end Get_Actual_Conversion; 2199 2200 procedure Set_Actual_Conversion (Target : Iir; Conv : Iir) is 2201 begin 2202 pragma Assert (Target /= Null_Iir); 2203 pragma Assert (Has_Actual_Conversion (Get_Kind (Target)), 2204 "no field Actual_Conversion"); 2205 Set_Field4 (Target, Conv); 2206 end Set_Actual_Conversion; 2207 2208 function Get_Formal_Conversion (Target : Iir) return Iir is 2209 begin 2210 pragma Assert (Target /= Null_Iir); 2211 pragma Assert (Has_Formal_Conversion (Get_Kind (Target)), 2212 "no field Formal_Conversion"); 2213 return Get_Field5 (Target); 2214 end Get_Formal_Conversion; 2215 2216 procedure Set_Formal_Conversion (Target : Iir; Conv : Iir) is 2217 begin 2218 pragma Assert (Target /= Null_Iir); 2219 pragma Assert (Has_Formal_Conversion (Get_Kind (Target)), 2220 "no field Formal_Conversion"); 2221 Set_Field5 (Target, Conv); 2222 end Set_Formal_Conversion; 2223 2224 function Get_Whole_Association_Flag (Target : Iir) return Boolean is 2225 begin 2226 pragma Assert (Target /= Null_Iir); 2227 pragma Assert (Has_Whole_Association_Flag (Get_Kind (Target)), 2228 "no field Whole_Association_Flag"); 2229 return Get_Flag1 (Target); 2230 end Get_Whole_Association_Flag; 2231 2232 procedure Set_Whole_Association_Flag (Target : Iir; Flag : Boolean) is 2233 begin 2234 pragma Assert (Target /= Null_Iir); 2235 pragma Assert (Has_Whole_Association_Flag (Get_Kind (Target)), 2236 "no field Whole_Association_Flag"); 2237 Set_Flag1 (Target, Flag); 2238 end Set_Whole_Association_Flag; 2239 2240 function Get_Collapse_Signal_Flag (Target : Iir) return Boolean is 2241 begin 2242 pragma Assert (Target /= Null_Iir); 2243 pragma Assert (Has_Collapse_Signal_Flag (Get_Kind (Target)), 2244 "no field Collapse_Signal_Flag"); 2245 return Get_Flag2 (Target); 2246 end Get_Collapse_Signal_Flag; 2247 2248 procedure Set_Collapse_Signal_Flag (Target : Iir; Flag : Boolean) is 2249 begin 2250 pragma Assert (Target /= Null_Iir); 2251 pragma Assert (Has_Collapse_Signal_Flag (Get_Kind (Target)), 2252 "no field Collapse_Signal_Flag"); 2253 Set_Flag2 (Target, Flag); 2254 end Set_Collapse_Signal_Flag; 2255 2256 function Get_Artificial_Flag (Target : Iir) return Boolean is 2257 begin 2258 pragma Assert (Target /= Null_Iir); 2259 pragma Assert (Has_Artificial_Flag (Get_Kind (Target)), 2260 "no field Artificial_Flag"); 2261 return Get_Flag3 (Target); 2262 end Get_Artificial_Flag; 2263 2264 procedure Set_Artificial_Flag (Target : Iir; Flag : Boolean) is 2265 begin 2266 pragma Assert (Target /= Null_Iir); 2267 pragma Assert (Has_Artificial_Flag (Get_Kind (Target)), 2268 "no field Artificial_Flag"); 2269 Set_Flag3 (Target, Flag); 2270 end Set_Artificial_Flag; 2271 2272 function Get_Open_Flag (Target : Iir) return Boolean is 2273 begin 2274 pragma Assert (Target /= Null_Iir); 2275 pragma Assert (Has_Open_Flag (Get_Kind (Target)), 2276 "no field Open_Flag"); 2277 return Get_Flag7 (Target); 2278 end Get_Open_Flag; 2279 2280 procedure Set_Open_Flag (Target : Iir; Flag : Boolean) is 2281 begin 2282 pragma Assert (Target /= Null_Iir); 2283 pragma Assert (Has_Open_Flag (Get_Kind (Target)), 2284 "no field Open_Flag"); 2285 Set_Flag7 (Target, Flag); 2286 end Set_Open_Flag; 2287 2288 function Get_After_Drivers_Flag (Target : Iir) return Boolean is 2289 begin 2290 pragma Assert (Target /= Null_Iir); 2291 pragma Assert (Has_After_Drivers_Flag (Get_Kind (Target)), 2292 "no field After_Drivers_Flag"); 2293 return Get_Flag5 (Target); 2294 end Get_After_Drivers_Flag; 2295 2296 procedure Set_After_Drivers_Flag (Target : Iir; Flag : Boolean) is 2297 begin 2298 pragma Assert (Target /= Null_Iir); 2299 pragma Assert (Has_After_Drivers_Flag (Get_Kind (Target)), 2300 "no field After_Drivers_Flag"); 2301 Set_Flag5 (Target, Flag); 2302 end Set_After_Drivers_Flag; 2303 2304 function Get_We_Value (We : Iir_Waveform_Element) return Iir is 2305 begin 2306 pragma Assert (We /= Null_Iir); 2307 pragma Assert (Has_We_Value (Get_Kind (We)), 2308 "no field We_Value"); 2309 return Get_Field1 (We); 2310 end Get_We_Value; 2311 2312 procedure Set_We_Value (We : Iir_Waveform_Element; An_Iir : Iir) is 2313 begin 2314 pragma Assert (We /= Null_Iir); 2315 pragma Assert (Has_We_Value (Get_Kind (We)), 2316 "no field We_Value"); 2317 Set_Field1 (We, An_Iir); 2318 end Set_We_Value; 2319 2320 function Get_Time (We : Iir_Waveform_Element) return Iir is 2321 begin 2322 pragma Assert (We /= Null_Iir); 2323 pragma Assert (Has_Time (Get_Kind (We)), 2324 "no field Time"); 2325 return Get_Field3 (We); 2326 end Get_Time; 2327 2328 procedure Set_Time (We : Iir_Waveform_Element; An_Iir : Iir) is 2329 begin 2330 pragma Assert (We /= Null_Iir); 2331 pragma Assert (Has_Time (Get_Kind (We)), 2332 "no field Time"); 2333 Set_Field3 (We, An_Iir); 2334 end Set_Time; 2335 2336 function Get_Associated_Expr (Target : Iir) return Iir is 2337 begin 2338 pragma Assert (Target /= Null_Iir); 2339 pragma Assert (Has_Associated_Expr (Get_Kind (Target)), 2340 "no field Associated_Expr"); 2341 return Get_Field3 (Target); 2342 end Get_Associated_Expr; 2343 2344 procedure Set_Associated_Expr (Target : Iir; Associated : Iir) is 2345 begin 2346 pragma Assert (Target /= Null_Iir); 2347 pragma Assert (Has_Associated_Expr (Get_Kind (Target)), 2348 "no field Associated_Expr"); 2349 Set_Field3 (Target, Associated); 2350 end Set_Associated_Expr; 2351 2352 function Get_Associated_Block (Target : Iir) return Iir is 2353 begin 2354 pragma Assert (Target /= Null_Iir); 2355 pragma Assert (Has_Associated_Block (Get_Kind (Target)), 2356 "no field Associated_Block"); 2357 return Get_Field3 (Target); 2358 end Get_Associated_Block; 2359 2360 procedure Set_Associated_Block (Target : Iir; Associated : Iir) is 2361 begin 2362 pragma Assert (Target /= Null_Iir); 2363 pragma Assert (Has_Associated_Block (Get_Kind (Target)), 2364 "no field Associated_Block"); 2365 Set_Field3 (Target, Associated); 2366 end Set_Associated_Block; 2367 2368 function Get_Associated_Chain (Target : Iir) return Iir is 2369 begin 2370 pragma Assert (Target /= Null_Iir); 2371 pragma Assert (Has_Associated_Chain (Get_Kind (Target)), 2372 "no field Associated_Chain"); 2373 return Get_Field4 (Target); 2374 end Get_Associated_Chain; 2375 2376 procedure Set_Associated_Chain (Target : Iir; Associated : Iir) is 2377 begin 2378 pragma Assert (Target /= Null_Iir); 2379 pragma Assert (Has_Associated_Chain (Get_Kind (Target)), 2380 "no field Associated_Chain"); 2381 Set_Field4 (Target, Associated); 2382 end Set_Associated_Chain; 2383 2384 function Get_Choice_Name (Choice : Iir) return Iir is 2385 begin 2386 pragma Assert (Choice /= Null_Iir); 2387 pragma Assert (Has_Choice_Name (Get_Kind (Choice)), 2388 "no field Choice_Name"); 2389 return Get_Field5 (Choice); 2390 end Get_Choice_Name; 2391 2392 procedure Set_Choice_Name (Choice : Iir; Name : Iir) is 2393 begin 2394 pragma Assert (Choice /= Null_Iir); 2395 pragma Assert (Has_Choice_Name (Get_Kind (Choice)), 2396 "no field Choice_Name"); 2397 Set_Field5 (Choice, Name); 2398 end Set_Choice_Name; 2399 2400 function Get_Choice_Expression (Choice : Iir) return Iir is 2401 begin 2402 pragma Assert (Choice /= Null_Iir); 2403 pragma Assert (Has_Choice_Expression (Get_Kind (Choice)), 2404 "no field Choice_Expression"); 2405 return Get_Field5 (Choice); 2406 end Get_Choice_Expression; 2407 2408 procedure Set_Choice_Expression (Choice : Iir; Name : Iir) is 2409 begin 2410 pragma Assert (Choice /= Null_Iir); 2411 pragma Assert (Has_Choice_Expression (Get_Kind (Choice)), 2412 "no field Choice_Expression"); 2413 Set_Field5 (Choice, Name); 2414 end Set_Choice_Expression; 2415 2416 function Get_Choice_Range (Choice : Iir) return Iir is 2417 begin 2418 pragma Assert (Choice /= Null_Iir); 2419 pragma Assert (Has_Choice_Range (Get_Kind (Choice)), 2420 "no field Choice_Range"); 2421 return Get_Field5 (Choice); 2422 end Get_Choice_Range; 2423 2424 procedure Set_Choice_Range (Choice : Iir; Name : Iir) is 2425 begin 2426 pragma Assert (Choice /= Null_Iir); 2427 pragma Assert (Has_Choice_Range (Get_Kind (Choice)), 2428 "no field Choice_Range"); 2429 Set_Field5 (Choice, Name); 2430 end Set_Choice_Range; 2431 2432 function Get_Same_Alternative_Flag (Target : Iir) return Boolean is 2433 begin 2434 pragma Assert (Target /= Null_Iir); 2435 pragma Assert (Has_Same_Alternative_Flag (Get_Kind (Target)), 2436 "no field Same_Alternative_Flag"); 2437 return Get_Flag1 (Target); 2438 end Get_Same_Alternative_Flag; 2439 2440 procedure Set_Same_Alternative_Flag (Target : Iir; Val : Boolean) is 2441 begin 2442 pragma Assert (Target /= Null_Iir); 2443 pragma Assert (Has_Same_Alternative_Flag (Get_Kind (Target)), 2444 "no field Same_Alternative_Flag"); 2445 Set_Flag1 (Target, Val); 2446 end Set_Same_Alternative_Flag; 2447 2448 function Get_Element_Type_Flag (Target : Iir) return Boolean is 2449 begin 2450 pragma Assert (Target /= Null_Iir); 2451 pragma Assert (Has_Element_Type_Flag (Get_Kind (Target)), 2452 "no field Element_Type_Flag"); 2453 return Get_Flag2 (Target); 2454 end Get_Element_Type_Flag; 2455 2456 procedure Set_Element_Type_Flag (Target : Iir; Val : Boolean) is 2457 begin 2458 pragma Assert (Target /= Null_Iir); 2459 pragma Assert (Has_Element_Type_Flag (Get_Kind (Target)), 2460 "no field Element_Type_Flag"); 2461 Set_Flag2 (Target, Val); 2462 end Set_Element_Type_Flag; 2463 2464 function Get_Architecture (Target : Iir_Entity_Aspect_Entity) return Iir is 2465 begin 2466 pragma Assert (Target /= Null_Iir); 2467 pragma Assert (Has_Architecture (Get_Kind (Target)), 2468 "no field Architecture"); 2469 return Get_Field3 (Target); 2470 end Get_Architecture; 2471 2472 procedure Set_Architecture (Target : Iir_Entity_Aspect_Entity; Arch : Iir) 2473 is 2474 begin 2475 pragma Assert (Target /= Null_Iir); 2476 pragma Assert (Has_Architecture (Get_Kind (Target)), 2477 "no field Architecture"); 2478 Set_Field3 (Target, Arch); 2479 end Set_Architecture; 2480 2481 function Get_Block_Specification (Target : Iir) return Iir is 2482 begin 2483 pragma Assert (Target /= Null_Iir); 2484 pragma Assert (Has_Block_Specification (Get_Kind (Target)), 2485 "no field Block_Specification"); 2486 return Get_Field5 (Target); 2487 end Get_Block_Specification; 2488 2489 procedure Set_Block_Specification (Target : Iir; Block : Iir) is 2490 begin 2491 pragma Assert (Target /= Null_Iir); 2492 pragma Assert (Has_Block_Specification (Get_Kind (Target)), 2493 "no field Block_Specification"); 2494 Set_Field5 (Target, Block); 2495 end Set_Block_Specification; 2496 2497 function Get_Prev_Block_Configuration (Target : Iir) return Iir is 2498 begin 2499 pragma Assert (Target /= Null_Iir); 2500 pragma Assert (Has_Prev_Block_Configuration (Get_Kind (Target)), 2501 "no field Prev_Block_Configuration"); 2502 return Get_Field4 (Target); 2503 end Get_Prev_Block_Configuration; 2504 2505 procedure Set_Prev_Block_Configuration (Target : Iir; Block : Iir) is 2506 begin 2507 pragma Assert (Target /= Null_Iir); 2508 pragma Assert (Has_Prev_Block_Configuration (Get_Kind (Target)), 2509 "no field Prev_Block_Configuration"); 2510 Set_Field4 (Target, Block); 2511 end Set_Prev_Block_Configuration; 2512 2513 function Get_Configuration_Item_Chain (Target : Iir) return Iir is 2514 begin 2515 pragma Assert (Target /= Null_Iir); 2516 pragma Assert (Has_Configuration_Item_Chain (Get_Kind (Target)), 2517 "no field Configuration_Item_Chain"); 2518 return Get_Field3 (Target); 2519 end Get_Configuration_Item_Chain; 2520 2521 procedure Set_Configuration_Item_Chain (Target : Iir; Chain : Iir) is 2522 begin 2523 pragma Assert (Target /= Null_Iir); 2524 pragma Assert (Has_Configuration_Item_Chain (Get_Kind (Target)), 2525 "no field Configuration_Item_Chain"); 2526 Set_Field3 (Target, Chain); 2527 end Set_Configuration_Item_Chain; 2528 2529 function Get_Attribute_Value_Chain (Target : Iir) return Iir is 2530 begin 2531 pragma Assert (Target /= Null_Iir); 2532 pragma Assert (Has_Attribute_Value_Chain (Get_Kind (Target)), 2533 "no field Attribute_Value_Chain"); 2534 return Get_Field5 (Target); 2535 end Get_Attribute_Value_Chain; 2536 2537 procedure Set_Attribute_Value_Chain (Target : Iir; Chain : Iir) is 2538 begin 2539 pragma Assert (Target /= Null_Iir); 2540 pragma Assert (Has_Attribute_Value_Chain (Get_Kind (Target)), 2541 "no field Attribute_Value_Chain"); 2542 Set_Field5 (Target, Chain); 2543 end Set_Attribute_Value_Chain; 2544 2545 function Get_Spec_Chain (Target : Iir) return Iir is 2546 begin 2547 pragma Assert (Target /= Null_Iir); 2548 pragma Assert (Has_Spec_Chain (Get_Kind (Target)), 2549 "no field Spec_Chain"); 2550 return Get_Field2 (Target); 2551 end Get_Spec_Chain; 2552 2553 procedure Set_Spec_Chain (Target : Iir; Chain : Iir) is 2554 begin 2555 pragma Assert (Target /= Null_Iir); 2556 pragma Assert (Has_Spec_Chain (Get_Kind (Target)), 2557 "no field Spec_Chain"); 2558 Set_Field2 (Target, Chain); 2559 end Set_Spec_Chain; 2560 2561 function Get_Value_Chain (Target : Iir) return Iir is 2562 begin 2563 pragma Assert (Target /= Null_Iir); 2564 pragma Assert (Has_Value_Chain (Get_Kind (Target)), 2565 "no field Value_Chain"); 2566 return Get_Field0 (Target); 2567 end Get_Value_Chain; 2568 2569 procedure Set_Value_Chain (Target : Iir; Chain : Iir) is 2570 begin 2571 pragma Assert (Target /= Null_Iir); 2572 pragma Assert (Has_Value_Chain (Get_Kind (Target)), 2573 "no field Value_Chain"); 2574 Set_Field0 (Target, Chain); 2575 end Set_Value_Chain; 2576 2577 function Get_Attribute_Value_Spec_Chain (Target : Iir) return Iir is 2578 begin 2579 pragma Assert (Target /= Null_Iir); 2580 pragma Assert (Has_Attribute_Value_Spec_Chain (Get_Kind (Target)), 2581 "no field Attribute_Value_Spec_Chain"); 2582 return Get_Field4 (Target); 2583 end Get_Attribute_Value_Spec_Chain; 2584 2585 procedure Set_Attribute_Value_Spec_Chain (Target : Iir; Chain : Iir) is 2586 begin 2587 pragma Assert (Target /= Null_Iir); 2588 pragma Assert (Has_Attribute_Value_Spec_Chain (Get_Kind (Target)), 2589 "no field Attribute_Value_Spec_Chain"); 2590 Set_Field4 (Target, Chain); 2591 end Set_Attribute_Value_Spec_Chain; 2592 2593 function Get_Entity_Name (Arch : Iir) return Iir is 2594 begin 2595 pragma Assert (Arch /= Null_Iir); 2596 pragma Assert (Has_Entity_Name (Get_Kind (Arch)), 2597 "no field Entity_Name"); 2598 return Get_Field2 (Arch); 2599 end Get_Entity_Name; 2600 2601 procedure Set_Entity_Name (Arch : Iir; Entity : Iir) is 2602 begin 2603 pragma Assert (Arch /= Null_Iir); 2604 pragma Assert (Has_Entity_Name (Get_Kind (Arch)), 2605 "no field Entity_Name"); 2606 Set_Field2 (Arch, Entity); 2607 end Set_Entity_Name; 2608 2609 function Get_Package (Package_Body : Iir) return Iir is 2610 begin 2611 pragma Assert (Package_Body /= Null_Iir); 2612 pragma Assert (Has_Package (Get_Kind (Package_Body)), 2613 "no field Package"); 2614 return Get_Field4 (Package_Body); 2615 end Get_Package; 2616 2617 procedure Set_Package (Package_Body : Iir; Decl : Iir) is 2618 begin 2619 pragma Assert (Package_Body /= Null_Iir); 2620 pragma Assert (Has_Package (Get_Kind (Package_Body)), 2621 "no field Package"); 2622 Set_Field4 (Package_Body, Decl); 2623 end Set_Package; 2624 2625 function Get_Package_Body (Pkg : Iir) return Iir is 2626 begin 2627 pragma Assert (Pkg /= Null_Iir); 2628 pragma Assert (Has_Package_Body (Get_Kind (Pkg)), 2629 "no field Package_Body"); 2630 return Get_Field4 (Pkg); 2631 end Get_Package_Body; 2632 2633 procedure Set_Package_Body (Pkg : Iir; Decl : Iir) is 2634 begin 2635 pragma Assert (Pkg /= Null_Iir); 2636 pragma Assert (Has_Package_Body (Get_Kind (Pkg)), 2637 "no field Package_Body"); 2638 Set_Field4 (Pkg, Decl); 2639 end Set_Package_Body; 2640 2641 function Get_Instance_Package_Body (Pkg : Iir) return Iir is 2642 begin 2643 pragma Assert (Pkg /= Null_Iir); 2644 pragma Assert (Has_Instance_Package_Body (Get_Kind (Pkg)), 2645 "no field Instance_Package_Body"); 2646 return Get_Field4 (Pkg); 2647 end Get_Instance_Package_Body; 2648 2649 procedure Set_Instance_Package_Body (Pkg : Iir; Decl : Iir) is 2650 begin 2651 pragma Assert (Pkg /= Null_Iir); 2652 pragma Assert (Has_Instance_Package_Body (Get_Kind (Pkg)), 2653 "no field Instance_Package_Body"); 2654 Set_Field4 (Pkg, Decl); 2655 end Set_Instance_Package_Body; 2656 2657 function Get_Need_Body (Decl : Iir_Package_Declaration) return Boolean is 2658 begin 2659 pragma Assert (Decl /= Null_Iir); 2660 pragma Assert (Has_Need_Body (Get_Kind (Decl)), 2661 "no field Need_Body"); 2662 return Get_Flag1 (Decl); 2663 end Get_Need_Body; 2664 2665 procedure Set_Need_Body (Decl : Iir_Package_Declaration; Flag : Boolean) is 2666 begin 2667 pragma Assert (Decl /= Null_Iir); 2668 pragma Assert (Has_Need_Body (Get_Kind (Decl)), 2669 "no field Need_Body"); 2670 Set_Flag1 (Decl, Flag); 2671 end Set_Need_Body; 2672 2673 function Get_Macro_Expanded_Flag (Decl : Iir) return Boolean is 2674 begin 2675 pragma Assert (Decl /= Null_Iir); 2676 pragma Assert (Has_Macro_Expanded_Flag (Get_Kind (Decl)), 2677 "no field Macro_Expanded_Flag"); 2678 return Get_Flag2 (Decl); 2679 end Get_Macro_Expanded_Flag; 2680 2681 procedure Set_Macro_Expanded_Flag (Decl : Iir; Flag : Boolean) is 2682 begin 2683 pragma Assert (Decl /= Null_Iir); 2684 pragma Assert (Has_Macro_Expanded_Flag (Get_Kind (Decl)), 2685 "no field Macro_Expanded_Flag"); 2686 Set_Flag2 (Decl, Flag); 2687 end Set_Macro_Expanded_Flag; 2688 2689 function Get_Need_Instance_Bodies (Decl : Iir) return Boolean is 2690 begin 2691 pragma Assert (Decl /= Null_Iir); 2692 pragma Assert (Has_Need_Instance_Bodies (Get_Kind (Decl)), 2693 "no field Need_Instance_Bodies"); 2694 return Get_Flag3 (Decl); 2695 end Get_Need_Instance_Bodies; 2696 2697 procedure Set_Need_Instance_Bodies (Decl : Iir; Flag : Boolean) is 2698 begin 2699 pragma Assert (Decl /= Null_Iir); 2700 pragma Assert (Has_Need_Instance_Bodies (Get_Kind (Decl)), 2701 "no field Need_Instance_Bodies"); 2702 Set_Flag3 (Decl, Flag); 2703 end Set_Need_Instance_Bodies; 2704 2705 function Get_Hierarchical_Name (Vunit : Iir) return Iir is 2706 begin 2707 pragma Assert (Vunit /= Null_Iir); 2708 pragma Assert (Has_Hierarchical_Name (Get_Kind (Vunit)), 2709 "no field Hierarchical_Name"); 2710 return Get_Field1 (Vunit); 2711 end Get_Hierarchical_Name; 2712 2713 procedure Set_Hierarchical_Name (Vunit : Iir; Name : Iir) is 2714 begin 2715 pragma Assert (Vunit /= Null_Iir); 2716 pragma Assert (Has_Hierarchical_Name (Get_Kind (Vunit)), 2717 "no field Hierarchical_Name"); 2718 Set_Field1 (Vunit, Name); 2719 end Set_Hierarchical_Name; 2720 2721 function Get_Inherit_Spec_Chain (Vunit : Iir) return Iir is 2722 begin 2723 pragma Assert (Vunit /= Null_Iir); 2724 pragma Assert (Has_Inherit_Spec_Chain (Get_Kind (Vunit)), 2725 "no field Inherit_Spec_Chain"); 2726 return Get_Field2 (Vunit); 2727 end Get_Inherit_Spec_Chain; 2728 2729 procedure Set_Inherit_Spec_Chain (Vunit : Iir; Chain : Iir) is 2730 begin 2731 pragma Assert (Vunit /= Null_Iir); 2732 pragma Assert (Has_Inherit_Spec_Chain (Get_Kind (Vunit)), 2733 "no field Inherit_Spec_Chain"); 2734 Set_Field2 (Vunit, Chain); 2735 end Set_Inherit_Spec_Chain; 2736 2737 function Get_Vunit_Item_Chain (Vunit : Iir) return Iir is 2738 begin 2739 pragma Assert (Vunit /= Null_Iir); 2740 pragma Assert (Has_Vunit_Item_Chain (Get_Kind (Vunit)), 2741 "no field Vunit_Item_Chain"); 2742 return Get_Field6 (Vunit); 2743 end Get_Vunit_Item_Chain; 2744 2745 procedure Set_Vunit_Item_Chain (Vunit : Iir; Chain : Iir) is 2746 begin 2747 pragma Assert (Vunit /= Null_Iir); 2748 pragma Assert (Has_Vunit_Item_Chain (Get_Kind (Vunit)), 2749 "no field Vunit_Item_Chain"); 2750 Set_Field6 (Vunit, Chain); 2751 end Set_Vunit_Item_Chain; 2752 2753 function Get_Bound_Vunit_Chain (Unit : Iir) return Iir is 2754 begin 2755 pragma Assert (Unit /= Null_Iir); 2756 pragma Assert (Has_Bound_Vunit_Chain (Get_Kind (Unit)), 2757 "no field Bound_Vunit_Chain"); 2758 return Get_Field8 (Unit); 2759 end Get_Bound_Vunit_Chain; 2760 2761 procedure Set_Bound_Vunit_Chain (Unit : Iir; Vunit : Iir) is 2762 begin 2763 pragma Assert (Unit /= Null_Iir); 2764 pragma Assert (Has_Bound_Vunit_Chain (Get_Kind (Unit)), 2765 "no field Bound_Vunit_Chain"); 2766 Set_Field8 (Unit, Vunit); 2767 end Set_Bound_Vunit_Chain; 2768 2769 function Get_Verification_Block_Configuration (Vunit : Iir) return Iir is 2770 begin 2771 pragma Assert (Vunit /= Null_Iir); 2772 pragma Assert (Has_Verification_Block_Configuration (Get_Kind (Vunit)), 2773 "no field Verification_Block_Configuration"); 2774 return Get_Field4 (Vunit); 2775 end Get_Verification_Block_Configuration; 2776 2777 procedure Set_Verification_Block_Configuration (Vunit : Iir; Conf : Iir) is 2778 begin 2779 pragma Assert (Vunit /= Null_Iir); 2780 pragma Assert (Has_Verification_Block_Configuration (Get_Kind (Vunit)), 2781 "no field Verification_Block_Configuration"); 2782 Set_Field4 (Vunit, Conf); 2783 end Set_Verification_Block_Configuration; 2784 2785 function Get_Block_Configuration (Target : Iir) return Iir is 2786 begin 2787 pragma Assert (Target /= Null_Iir); 2788 pragma Assert (Has_Block_Configuration (Get_Kind (Target)), 2789 "no field Block_Configuration"); 2790 return Get_Field4 (Target); 2791 end Get_Block_Configuration; 2792 2793 procedure Set_Block_Configuration (Target : Iir; Block : Iir) is 2794 begin 2795 pragma Assert (Target /= Null_Iir); 2796 pragma Assert (Has_Block_Configuration (Get_Kind (Target)), 2797 "no field Block_Configuration"); 2798 Set_Field4 (Target, Block); 2799 end Set_Block_Configuration; 2800 2801 function Get_Concurrent_Statement_Chain (Target : Iir) return Iir is 2802 begin 2803 pragma Assert (Target /= Null_Iir); 2804 pragma Assert (Has_Concurrent_Statement_Chain (Get_Kind (Target)), 2805 "no field Concurrent_Statement_Chain"); 2806 return Get_Field4 (Target); 2807 end Get_Concurrent_Statement_Chain; 2808 2809 procedure Set_Concurrent_Statement_Chain (Target : Iir; First : Iir) is 2810 begin 2811 pragma Assert (Target /= Null_Iir); 2812 pragma Assert (Has_Concurrent_Statement_Chain (Get_Kind (Target)), 2813 "no field Concurrent_Statement_Chain"); 2814 Set_Field4 (Target, First); 2815 end Set_Concurrent_Statement_Chain; 2816 2817 function Get_Chain (Target : Iir) return Iir is 2818 begin 2819 pragma Assert (Target /= Null_Iir); 2820 pragma Assert (Has_Chain (Get_Kind (Target)), 2821 "no field Chain"); 2822 return Get_Field2 (Target); 2823 end Get_Chain; 2824 2825 procedure Set_Chain (Target : Iir; Chain : Iir) is 2826 begin 2827 pragma Assert (Target /= Null_Iir); 2828 pragma Assert (Has_Chain (Get_Kind (Target)), 2829 "no field Chain"); 2830 Set_Field2 (Target, Chain); 2831 end Set_Chain; 2832 2833 function Get_Port_Chain (Target : Iir) return Iir is 2834 begin 2835 pragma Assert (Target /= Null_Iir); 2836 pragma Assert (Has_Port_Chain (Get_Kind (Target)), 2837 "no field Port_Chain"); 2838 return Get_Field7 (Target); 2839 end Get_Port_Chain; 2840 2841 procedure Set_Port_Chain (Target : Iir; Chain : Iir) is 2842 begin 2843 pragma Assert (Target /= Null_Iir); 2844 pragma Assert (Has_Port_Chain (Get_Kind (Target)), 2845 "no field Port_Chain"); 2846 Set_Field7 (Target, Chain); 2847 end Set_Port_Chain; 2848 2849 function Get_Generic_Chain (Target : Iir) return Iir is 2850 begin 2851 pragma Assert (Target /= Null_Iir); 2852 pragma Assert (Has_Generic_Chain (Get_Kind (Target)), 2853 "no field Generic_Chain"); 2854 return Get_Field6 (Target); 2855 end Get_Generic_Chain; 2856 2857 procedure Set_Generic_Chain (Target : Iir; Generics : Iir) is 2858 begin 2859 pragma Assert (Target /= Null_Iir); 2860 pragma Assert (Has_Generic_Chain (Get_Kind (Target)), 2861 "no field Generic_Chain"); 2862 Set_Field6 (Target, Generics); 2863 end Set_Generic_Chain; 2864 2865 function Get_Type (Target : Iir) return Iir is 2866 begin 2867 pragma Assert (Target /= Null_Iir); 2868 pragma Assert (Has_Type (Get_Kind (Target)), 2869 "no field Type"); 2870 return Get_Field1 (Target); 2871 end Get_Type; 2872 2873 procedure Set_Type (Target : Iir; Atype : Iir) is 2874 begin 2875 pragma Assert (Target /= Null_Iir); 2876 pragma Assert (Has_Type (Get_Kind (Target)), 2877 "no field Type"); 2878 Set_Field1 (Target, Atype); 2879 end Set_Type; 2880 2881 function Get_Subtype_Indication (Target : Iir) return Iir is 2882 begin 2883 pragma Assert (Target /= Null_Iir); 2884 pragma Assert (Has_Subtype_Indication (Get_Kind (Target)), 2885 "no field Subtype_Indication"); 2886 return Get_Field5 (Target); 2887 end Get_Subtype_Indication; 2888 2889 procedure Set_Subtype_Indication (Target : Iir; Atype : Iir) is 2890 begin 2891 pragma Assert (Target /= Null_Iir); 2892 pragma Assert (Has_Subtype_Indication (Get_Kind (Target)), 2893 "no field Subtype_Indication"); 2894 Set_Field5 (Target, Atype); 2895 end Set_Subtype_Indication; 2896 2897 function Get_Discrete_Range (Target : Iir) return Iir is 2898 begin 2899 pragma Assert (Target /= Null_Iir); 2900 pragma Assert (Has_Discrete_Range (Get_Kind (Target)), 2901 "no field Discrete_Range"); 2902 return Get_Field4 (Target); 2903 end Get_Discrete_Range; 2904 2905 procedure Set_Discrete_Range (Target : Iir; Rng : Iir) is 2906 begin 2907 pragma Assert (Target /= Null_Iir); 2908 pragma Assert (Has_Discrete_Range (Get_Kind (Target)), 2909 "no field Discrete_Range"); 2910 Set_Field4 (Target, Rng); 2911 end Set_Discrete_Range; 2912 2913 function Get_Type_Definition (Decl : Iir) return Iir is 2914 begin 2915 pragma Assert (Decl /= Null_Iir); 2916 pragma Assert (Has_Type_Definition (Get_Kind (Decl)), 2917 "no field Type_Definition"); 2918 return Get_Field1 (Decl); 2919 end Get_Type_Definition; 2920 2921 procedure Set_Type_Definition (Decl : Iir; Atype : Iir) is 2922 begin 2923 pragma Assert (Decl /= Null_Iir); 2924 pragma Assert (Has_Type_Definition (Get_Kind (Decl)), 2925 "no field Type_Definition"); 2926 Set_Field1 (Decl, Atype); 2927 end Set_Type_Definition; 2928 2929 function Get_Subtype_Definition (Target : Iir) return Iir is 2930 begin 2931 pragma Assert (Target /= Null_Iir); 2932 pragma Assert (Has_Subtype_Definition (Get_Kind (Target)), 2933 "no field Subtype_Definition"); 2934 return Get_Field4 (Target); 2935 end Get_Subtype_Definition; 2936 2937 procedure Set_Subtype_Definition (Target : Iir; Def : Iir) is 2938 begin 2939 pragma Assert (Target /= Null_Iir); 2940 pragma Assert (Has_Subtype_Definition (Get_Kind (Target)), 2941 "no field Subtype_Definition"); 2942 Set_Field4 (Target, Def); 2943 end Set_Subtype_Definition; 2944 2945 function Get_Incomplete_Type_Declaration (N : Iir) return Iir is 2946 begin 2947 pragma Assert (N /= Null_Iir); 2948 pragma Assert (Has_Incomplete_Type_Declaration (Get_Kind (N)), 2949 "no field Incomplete_Type_Declaration"); 2950 return Get_Field5 (N); 2951 end Get_Incomplete_Type_Declaration; 2952 2953 procedure Set_Incomplete_Type_Declaration (N : Iir; Decl : Iir) is 2954 begin 2955 pragma Assert (N /= Null_Iir); 2956 pragma Assert (Has_Incomplete_Type_Declaration (Get_Kind (N)), 2957 "no field Incomplete_Type_Declaration"); 2958 Set_Field5 (N, Decl); 2959 end Set_Incomplete_Type_Declaration; 2960 2961 function Get_Interface_Type_Subprograms (Target : Iir) return Iir is 2962 begin 2963 pragma Assert (Target /= Null_Iir); 2964 pragma Assert (Has_Interface_Type_Subprograms (Get_Kind (Target)), 2965 "no field Interface_Type_Subprograms"); 2966 return Get_Field4 (Target); 2967 end Get_Interface_Type_Subprograms; 2968 2969 procedure Set_Interface_Type_Subprograms (Target : Iir; Subprg : Iir) is 2970 begin 2971 pragma Assert (Target /= Null_Iir); 2972 pragma Assert (Has_Interface_Type_Subprograms (Get_Kind (Target)), 2973 "no field Interface_Type_Subprograms"); 2974 Set_Field4 (Target, Subprg); 2975 end Set_Interface_Type_Subprograms; 2976 2977 function Get_Nature_Definition (Target : Iir) return Iir is 2978 begin 2979 pragma Assert (Target /= Null_Iir); 2980 pragma Assert (Has_Nature_Definition (Get_Kind (Target)), 2981 "no field Nature_Definition"); 2982 return Get_Field1 (Target); 2983 end Get_Nature_Definition; 2984 2985 procedure Set_Nature_Definition (Target : Iir; Def : Iir) is 2986 begin 2987 pragma Assert (Target /= Null_Iir); 2988 pragma Assert (Has_Nature_Definition (Get_Kind (Target)), 2989 "no field Nature_Definition"); 2990 Set_Field1 (Target, Def); 2991 end Set_Nature_Definition; 2992 2993 function Get_Nature (Target : Iir) return Iir is 2994 begin 2995 pragma Assert (Target /= Null_Iir); 2996 pragma Assert (Has_Nature (Get_Kind (Target)), 2997 "no field Nature"); 2998 return Get_Field1 (Target); 2999 end Get_Nature; 3000 3001 procedure Set_Nature (Target : Iir; Nature : Iir) is 3002 begin 3003 pragma Assert (Target /= Null_Iir); 3004 pragma Assert (Has_Nature (Get_Kind (Target)), 3005 "no field Nature"); 3006 Set_Field1 (Target, Nature); 3007 end Set_Nature; 3008 3009 function Get_Subnature_Indication (Decl : Iir) return Iir is 3010 begin 3011 pragma Assert (Decl /= Null_Iir); 3012 pragma Assert (Has_Subnature_Indication (Get_Kind (Decl)), 3013 "no field Subnature_Indication"); 3014 return Get_Field5 (Decl); 3015 end Get_Subnature_Indication; 3016 3017 procedure Set_Subnature_Indication (Decl : Iir; Sub_Nature : Iir) is 3018 begin 3019 pragma Assert (Decl /= Null_Iir); 3020 pragma Assert (Has_Subnature_Indication (Get_Kind (Decl)), 3021 "no field Subnature_Indication"); 3022 Set_Field5 (Decl, Sub_Nature); 3023 end Set_Subnature_Indication; 3024 3025 type Iir_Mode_Conv is record 3026 Flag13: Boolean; 3027 Flag14: Boolean; 3028 Flag15: Boolean; 3029 end record; 3030 pragma Pack (Iir_Mode_Conv); 3031 pragma Assert (Iir_Mode_Conv'Size = Iir_Mode'Size); 3032 3033 function Get_Mode (Target : Iir) return Iir_Mode 3034 is 3035 function To_Iir_Mode is new Ada.Unchecked_Conversion 3036 (Iir_Mode_Conv, Iir_Mode); 3037 Conv : Iir_Mode_Conv; 3038 begin 3039 pragma Assert (Target /= Null_Iir); 3040 pragma Assert (Has_Mode (Get_Kind (Target)), 3041 "no field Mode"); 3042 Conv.Flag13 := Get_Flag13 (Target); 3043 Conv.Flag14 := Get_Flag14 (Target); 3044 Conv.Flag15 := Get_Flag15 (Target); 3045 return To_Iir_Mode (Conv); 3046 end Get_Mode; 3047 3048 procedure Set_Mode (Target : Iir; Mode : Iir_Mode) 3049 is 3050 function To_Iir_Mode_Conv is new Ada.Unchecked_Conversion 3051 (Iir_Mode, Iir_Mode_Conv); 3052 Conv : Iir_Mode_Conv; 3053 begin 3054 pragma Assert (Target /= Null_Iir); 3055 pragma Assert (Has_Mode (Get_Kind (Target)), 3056 "no field Mode"); 3057 Conv := To_Iir_Mode_Conv (Mode); 3058 Set_Flag13 (Target, Conv.Flag13); 3059 Set_Flag14 (Target, Conv.Flag14); 3060 Set_Flag15 (Target, Conv.Flag15); 3061 end Set_Mode; 3062 3063 function Get_Guarded_Signal_Flag (Target : Iir) return Boolean is 3064 begin 3065 pragma Assert (Target /= Null_Iir); 3066 pragma Assert (Has_Guarded_Signal_Flag (Get_Kind (Target)), 3067 "no field Guarded_Signal_Flag"); 3068 return Get_Flag8 (Target); 3069 end Get_Guarded_Signal_Flag; 3070 3071 procedure Set_Guarded_Signal_Flag (Target : Iir; Guarded : Boolean) is 3072 begin 3073 pragma Assert (Target /= Null_Iir); 3074 pragma Assert (Has_Guarded_Signal_Flag (Get_Kind (Target)), 3075 "no field Guarded_Signal_Flag"); 3076 Set_Flag8 (Target, Guarded); 3077 end Set_Guarded_Signal_Flag; 3078 3079 function Get_Signal_Kind (Target : Iir) return Iir_Signal_Kind is 3080 begin 3081 pragma Assert (Target /= Null_Iir); 3082 pragma Assert (Has_Signal_Kind (Get_Kind (Target)), 3083 "no field Signal_Kind"); 3084 return Boolean_To_Iir_Signal_Kind (Get_Flag9 (Target)); 3085 end Get_Signal_Kind; 3086 3087 procedure Set_Signal_Kind (Target : Iir; Signal_Kind : Iir_Signal_Kind) is 3088 begin 3089 pragma Assert (Target /= Null_Iir); 3090 pragma Assert (Has_Signal_Kind (Get_Kind (Target)), 3091 "no field Signal_Kind"); 3092 Set_Flag9 (Target, Iir_Signal_Kind_To_Boolean (Signal_Kind)); 3093 end Set_Signal_Kind; 3094 3095 function Get_Base_Name (Target : Iir) return Iir is 3096 begin 3097 pragma Assert (Target /= Null_Iir); 3098 pragma Assert (Has_Base_Name (Get_Kind (Target)), 3099 "no field Base_Name"); 3100 return Get_Field5 (Target); 3101 end Get_Base_Name; 3102 3103 procedure Set_Base_Name (Target : Iir; Name : Iir) is 3104 begin 3105 pragma Assert (Target /= Null_Iir); 3106 pragma Assert (Has_Base_Name (Get_Kind (Target)), 3107 "no field Base_Name"); 3108 Set_Field5 (Target, Name); 3109 end Set_Base_Name; 3110 3111 function Get_Interface_Declaration_Chain (Target : Iir) return Iir is 3112 begin 3113 pragma Assert (Target /= Null_Iir); 3114 pragma Assert (Has_Interface_Declaration_Chain (Get_Kind (Target)), 3115 "no field Interface_Declaration_Chain"); 3116 return Get_Field5 (Target); 3117 end Get_Interface_Declaration_Chain; 3118 3119 procedure Set_Interface_Declaration_Chain (Target : Iir; Chain : Iir) is 3120 begin 3121 pragma Assert (Target /= Null_Iir); 3122 pragma Assert (Has_Interface_Declaration_Chain (Get_Kind (Target)), 3123 "no field Interface_Declaration_Chain"); 3124 Set_Field5 (Target, Chain); 3125 end Set_Interface_Declaration_Chain; 3126 3127 function Get_Subprogram_Specification (Target : Iir) return Iir is 3128 begin 3129 pragma Assert (Target /= Null_Iir); 3130 pragma Assert (Has_Subprogram_Specification (Get_Kind (Target)), 3131 "no field Subprogram_Specification"); 3132 return Get_Field6 (Target); 3133 end Get_Subprogram_Specification; 3134 3135 procedure Set_Subprogram_Specification (Target : Iir; Spec : Iir) is 3136 begin 3137 pragma Assert (Target /= Null_Iir); 3138 pragma Assert (Has_Subprogram_Specification (Get_Kind (Target)), 3139 "no field Subprogram_Specification"); 3140 Set_Field6 (Target, Spec); 3141 end Set_Subprogram_Specification; 3142 3143 function Get_Sequential_Statement_Chain (Target : Iir) return Iir is 3144 begin 3145 pragma Assert (Target /= Null_Iir); 3146 pragma Assert (Has_Sequential_Statement_Chain (Get_Kind (Target)), 3147 "no field Sequential_Statement_Chain"); 3148 return Get_Field4 (Target); 3149 end Get_Sequential_Statement_Chain; 3150 3151 procedure Set_Sequential_Statement_Chain (Target : Iir; Chain : Iir) is 3152 begin 3153 pragma Assert (Target /= Null_Iir); 3154 pragma Assert (Has_Sequential_Statement_Chain (Get_Kind (Target)), 3155 "no field Sequential_Statement_Chain"); 3156 Set_Field4 (Target, Chain); 3157 end Set_Sequential_Statement_Chain; 3158 3159 function Get_Simultaneous_Statement_Chain (Target : Iir) return Iir is 3160 begin 3161 pragma Assert (Target /= Null_Iir); 3162 pragma Assert (Has_Simultaneous_Statement_Chain (Get_Kind (Target)), 3163 "no field Simultaneous_Statement_Chain"); 3164 return Get_Field4 (Target); 3165 end Get_Simultaneous_Statement_Chain; 3166 3167 procedure Set_Simultaneous_Statement_Chain (Target : Iir; Chain : Iir) is 3168 begin 3169 pragma Assert (Target /= Null_Iir); 3170 pragma Assert (Has_Simultaneous_Statement_Chain (Get_Kind (Target)), 3171 "no field Simultaneous_Statement_Chain"); 3172 Set_Field4 (Target, Chain); 3173 end Set_Simultaneous_Statement_Chain; 3174 3175 function Get_Subprogram_Body (Target : Iir) return Iir is 3176 begin 3177 pragma Assert (Target /= Null_Iir); 3178 pragma Assert (Has_Subprogram_Body (Get_Kind (Target)), 3179 "no field Subprogram_Body"); 3180 return Get_Field9 (Target); 3181 end Get_Subprogram_Body; 3182 3183 procedure Set_Subprogram_Body (Target : Iir; A_Body : Iir) is 3184 begin 3185 pragma Assert (Target /= Null_Iir); 3186 pragma Assert (Has_Subprogram_Body (Get_Kind (Target)), 3187 "no field Subprogram_Body"); 3188 Set_Field9 (Target, A_Body); 3189 end Set_Subprogram_Body; 3190 3191 function Get_Overload_Number (Target : Iir) return Iir_Int32 is 3192 begin 3193 pragma Assert (Target /= Null_Iir); 3194 pragma Assert (Has_Overload_Number (Get_Kind (Target)), 3195 "no field Overload_Number"); 3196 return Iir_Int32'Val (Get_Field12 (Target)); 3197 end Get_Overload_Number; 3198 3199 procedure Set_Overload_Number (Target : Iir; Val : Iir_Int32) is 3200 begin 3201 pragma Assert (Target /= Null_Iir); 3202 pragma Assert (Has_Overload_Number (Get_Kind (Target)), 3203 "no field Overload_Number"); 3204 Set_Field12 (Target, Iir_Int32'Pos (Val)); 3205 end Set_Overload_Number; 3206 3207 function Get_Subprogram_Depth (Target : Iir) return Iir_Int32 is 3208 begin 3209 pragma Assert (Target /= Null_Iir); 3210 pragma Assert (Has_Subprogram_Depth (Get_Kind (Target)), 3211 "no field Subprogram_Depth"); 3212 return Iir_Int32'Val (Get_Field10 (Target)); 3213 end Get_Subprogram_Depth; 3214 3215 procedure Set_Subprogram_Depth (Target : Iir; Depth : Iir_Int32) is 3216 begin 3217 pragma Assert (Target /= Null_Iir); 3218 pragma Assert (Has_Subprogram_Depth (Get_Kind (Target)), 3219 "no field Subprogram_Depth"); 3220 Set_Field10 (Target, Iir_Int32'Pos (Depth)); 3221 end Set_Subprogram_Depth; 3222 3223 function Get_Subprogram_Hash (Target : Iir) return Iir_Int32 is 3224 begin 3225 pragma Assert (Target /= Null_Iir); 3226 pragma Assert (Has_Subprogram_Hash (Get_Kind (Target)), 3227 "no field Subprogram_Hash"); 3228 return Iir_Int32'Val (Get_Field4 (Target)); 3229 end Get_Subprogram_Hash; 3230 3231 procedure Set_Subprogram_Hash (Target : Iir; Val : Iir_Int32) is 3232 begin 3233 pragma Assert (Target /= Null_Iir); 3234 pragma Assert (Has_Subprogram_Hash (Get_Kind (Target)), 3235 "no field Subprogram_Hash"); 3236 Set_Field4 (Target, Iir_Int32'Pos (Val)); 3237 end Set_Subprogram_Hash; 3238 3239 function Get_Impure_Depth (Target : Iir) return Iir_Int32 is 3240 begin 3241 pragma Assert (Target /= Null_Iir); 3242 pragma Assert (Has_Impure_Depth (Get_Kind (Target)), 3243 "no field Impure_Depth"); 3244 return Iir_To_Iir_Int32 (Get_Field3 (Target)); 3245 end Get_Impure_Depth; 3246 3247 procedure Set_Impure_Depth (Target : Iir; Depth : Iir_Int32) is 3248 begin 3249 pragma Assert (Target /= Null_Iir); 3250 pragma Assert (Has_Impure_Depth (Get_Kind (Target)), 3251 "no field Impure_Depth"); 3252 Set_Field3 (Target, Iir_Int32_To_Iir (Depth)); 3253 end Set_Impure_Depth; 3254 3255 function Get_Return_Type (Target : Iir) return Iir is 3256 begin 3257 pragma Assert (Target /= Null_Iir); 3258 pragma Assert (Has_Return_Type (Get_Kind (Target)), 3259 "no field Return_Type"); 3260 return Get_Field1 (Target); 3261 end Get_Return_Type; 3262 3263 procedure Set_Return_Type (Target : Iir; Decl : Iir) is 3264 begin 3265 pragma Assert (Target /= Null_Iir); 3266 pragma Assert (Has_Return_Type (Get_Kind (Target)), 3267 "no field Return_Type"); 3268 Set_Field1 (Target, Decl); 3269 end Set_Return_Type; 3270 3271 function Get_Implicit_Definition (D : Iir) return Iir_Predefined_Functions 3272 is 3273 begin 3274 pragma Assert (D /= Null_Iir); 3275 pragma Assert (Has_Implicit_Definition (Get_Kind (D)), 3276 "no field Implicit_Definition"); 3277 return Iir_Predefined_Functions'Val (Get_Field7 (D)); 3278 end Get_Implicit_Definition; 3279 3280 procedure Set_Implicit_Definition (D : Iir; Def : Iir_Predefined_Functions) 3281 is 3282 begin 3283 pragma Assert (D /= Null_Iir); 3284 pragma Assert (Has_Implicit_Definition (Get_Kind (D)), 3285 "no field Implicit_Definition"); 3286 Set_Field7 (D, Iir_Predefined_Functions'Pos (Def)); 3287 end Set_Implicit_Definition; 3288 3289 function Get_Uninstantiated_Subprogram_Name (N : Iir) return Iir is 3290 begin 3291 pragma Assert (N /= Null_Iir); 3292 pragma Assert (Has_Uninstantiated_Subprogram_Name (Get_Kind (N)), 3293 "no field Uninstantiated_Subprogram_Name"); 3294 return Get_Field7 (N); 3295 end Get_Uninstantiated_Subprogram_Name; 3296 3297 procedure Set_Uninstantiated_Subprogram_Name (N : Iir; Name : Iir) is 3298 begin 3299 pragma Assert (N /= Null_Iir); 3300 pragma Assert (Has_Uninstantiated_Subprogram_Name (Get_Kind (N)), 3301 "no field Uninstantiated_Subprogram_Name"); 3302 Set_Field7 (N, Name); 3303 end Set_Uninstantiated_Subprogram_Name; 3304 3305 function Get_Default_Value (Target : Iir) return Iir is 3306 begin 3307 pragma Assert (Target /= Null_Iir); 3308 pragma Assert (Has_Default_Value (Get_Kind (Target)), 3309 "no field Default_Value"); 3310 return Get_Field4 (Target); 3311 end Get_Default_Value; 3312 3313 procedure Set_Default_Value (Target : Iir; Value : Iir) is 3314 begin 3315 pragma Assert (Target /= Null_Iir); 3316 pragma Assert (Has_Default_Value (Get_Kind (Target)), 3317 "no field Default_Value"); 3318 Set_Field4 (Target, Value); 3319 end Set_Default_Value; 3320 3321 function Get_Deferred_Declaration (Target : Iir) return Iir is 3322 begin 3323 pragma Assert (Target /= Null_Iir); 3324 pragma Assert (Has_Deferred_Declaration (Get_Kind (Target)), 3325 "no field Deferred_Declaration"); 3326 return Get_Field6 (Target); 3327 end Get_Deferred_Declaration; 3328 3329 procedure Set_Deferred_Declaration (Target : Iir; Decl : Iir) is 3330 begin 3331 pragma Assert (Target /= Null_Iir); 3332 pragma Assert (Has_Deferred_Declaration (Get_Kind (Target)), 3333 "no field Deferred_Declaration"); 3334 Set_Field6 (Target, Decl); 3335 end Set_Deferred_Declaration; 3336 3337 function Get_Deferred_Declaration_Flag (Target : Iir) return Boolean is 3338 begin 3339 pragma Assert (Target /= Null_Iir); 3340 pragma Assert (Has_Deferred_Declaration_Flag (Get_Kind (Target)), 3341 "no field Deferred_Declaration_Flag"); 3342 return Get_Flag1 (Target); 3343 end Get_Deferred_Declaration_Flag; 3344 3345 procedure Set_Deferred_Declaration_Flag (Target : Iir; Flag : Boolean) is 3346 begin 3347 pragma Assert (Target /= Null_Iir); 3348 pragma Assert (Has_Deferred_Declaration_Flag (Get_Kind (Target)), 3349 "no field Deferred_Declaration_Flag"); 3350 Set_Flag1 (Target, Flag); 3351 end Set_Deferred_Declaration_Flag; 3352 3353 function Get_Shared_Flag (Target : Iir) return Boolean is 3354 begin 3355 pragma Assert (Target /= Null_Iir); 3356 pragma Assert (Has_Shared_Flag (Get_Kind (Target)), 3357 "no field Shared_Flag"); 3358 return Get_Flag2 (Target); 3359 end Get_Shared_Flag; 3360 3361 procedure Set_Shared_Flag (Target : Iir; Shared : Boolean) is 3362 begin 3363 pragma Assert (Target /= Null_Iir); 3364 pragma Assert (Has_Shared_Flag (Get_Kind (Target)), 3365 "no field Shared_Flag"); 3366 Set_Flag2 (Target, Shared); 3367 end Set_Shared_Flag; 3368 3369 function Get_Design_Unit (Target : Iir) return Iir is 3370 begin 3371 pragma Assert (Target /= Null_Iir); 3372 pragma Assert (Has_Design_Unit (Get_Kind (Target)), 3373 "no field Design_Unit"); 3374 return Get_Field0 (Target); 3375 end Get_Design_Unit; 3376 3377 procedure Set_Design_Unit (Target : Iir; Unit : Iir) is 3378 begin 3379 pragma Assert (Target /= Null_Iir); 3380 pragma Assert (Has_Design_Unit (Get_Kind (Target)), 3381 "no field Design_Unit"); 3382 Set_Field0 (Target, Unit); 3383 end Set_Design_Unit; 3384 3385 function Get_Block_Statement (Target : Iir) return Iir is 3386 begin 3387 pragma Assert (Target /= Null_Iir); 3388 pragma Assert (Has_Block_Statement (Get_Kind (Target)), 3389 "no field Block_Statement"); 3390 return Get_Field5 (Target); 3391 end Get_Block_Statement; 3392 3393 procedure Set_Block_Statement (Target : Iir; Block : Iir) is 3394 begin 3395 pragma Assert (Target /= Null_Iir); 3396 pragma Assert (Has_Block_Statement (Get_Kind (Target)), 3397 "no field Block_Statement"); 3398 Set_Field5 (Target, Block); 3399 end Set_Block_Statement; 3400 3401 function Get_Signal_Driver (Target : Iir_Signal_Declaration) return Iir is 3402 begin 3403 pragma Assert (Target /= Null_Iir); 3404 pragma Assert (Has_Signal_Driver (Get_Kind (Target)), 3405 "no field Signal_Driver"); 3406 return Get_Field7 (Target); 3407 end Get_Signal_Driver; 3408 3409 procedure Set_Signal_Driver (Target : Iir_Signal_Declaration; Driver : Iir) 3410 is 3411 begin 3412 pragma Assert (Target /= Null_Iir); 3413 pragma Assert (Has_Signal_Driver (Get_Kind (Target)), 3414 "no field Signal_Driver"); 3415 Set_Field7 (Target, Driver); 3416 end Set_Signal_Driver; 3417 3418 function Get_Declaration_Chain (Target : Iir) return Iir is 3419 begin 3420 pragma Assert (Target /= Null_Iir); 3421 pragma Assert (Has_Declaration_Chain (Get_Kind (Target)), 3422 "no field Declaration_Chain"); 3423 return Get_Field1 (Target); 3424 end Get_Declaration_Chain; 3425 3426 procedure Set_Declaration_Chain (Target : Iir; Decls : Iir) is 3427 begin 3428 pragma Assert (Target /= Null_Iir); 3429 pragma Assert (Has_Declaration_Chain (Get_Kind (Target)), 3430 "no field Declaration_Chain"); 3431 Set_Field1 (Target, Decls); 3432 end Set_Declaration_Chain; 3433 3434 function Get_File_Logical_Name (Target : Iir_File_Declaration) return Iir 3435 is 3436 begin 3437 pragma Assert (Target /= Null_Iir); 3438 pragma Assert (Has_File_Logical_Name (Get_Kind (Target)), 3439 "no field File_Logical_Name"); 3440 return Get_Field6 (Target); 3441 end Get_File_Logical_Name; 3442 3443 procedure Set_File_Logical_Name (Target : Iir_File_Declaration; Name : Iir) 3444 is 3445 begin 3446 pragma Assert (Target /= Null_Iir); 3447 pragma Assert (Has_File_Logical_Name (Get_Kind (Target)), 3448 "no field File_Logical_Name"); 3449 Set_Field6 (Target, Name); 3450 end Set_File_Logical_Name; 3451 3452 function Get_File_Open_Kind (Target : Iir_File_Declaration) return Iir is 3453 begin 3454 pragma Assert (Target /= Null_Iir); 3455 pragma Assert (Has_File_Open_Kind (Get_Kind (Target)), 3456 "no field File_Open_Kind"); 3457 return Get_Field7 (Target); 3458 end Get_File_Open_Kind; 3459 3460 procedure Set_File_Open_Kind (Target : Iir_File_Declaration; Kind : Iir) is 3461 begin 3462 pragma Assert (Target /= Null_Iir); 3463 pragma Assert (Has_File_Open_Kind (Get_Kind (Target)), 3464 "no field File_Open_Kind"); 3465 Set_Field7 (Target, Kind); 3466 end Set_File_Open_Kind; 3467 3468 function Get_Element_Position (Target : Iir) return Iir_Index32 is 3469 begin 3470 pragma Assert (Target /= Null_Iir); 3471 pragma Assert (Has_Element_Position (Get_Kind (Target)), 3472 "no field Element_Position"); 3473 return Iir_Index32'Val (Get_Field4 (Target)); 3474 end Get_Element_Position; 3475 3476 procedure Set_Element_Position (Target : Iir; Pos : Iir_Index32) is 3477 begin 3478 pragma Assert (Target /= Null_Iir); 3479 pragma Assert (Has_Element_Position (Get_Kind (Target)), 3480 "no field Element_Position"); 3481 Set_Field4 (Target, Iir_Index32'Pos (Pos)); 3482 end Set_Element_Position; 3483 3484 function Get_Use_Clause_Chain (Target : Iir) return Iir is 3485 begin 3486 pragma Assert (Target /= Null_Iir); 3487 pragma Assert (Has_Use_Clause_Chain (Get_Kind (Target)), 3488 "no field Use_Clause_Chain"); 3489 return Get_Field3 (Target); 3490 end Get_Use_Clause_Chain; 3491 3492 procedure Set_Use_Clause_Chain (Target : Iir; Chain : Iir) is 3493 begin 3494 pragma Assert (Target /= Null_Iir); 3495 pragma Assert (Has_Use_Clause_Chain (Get_Kind (Target)), 3496 "no field Use_Clause_Chain"); 3497 Set_Field3 (Target, Chain); 3498 end Set_Use_Clause_Chain; 3499 3500 function Get_Context_Reference_Chain (Target : Iir) return Iir is 3501 begin 3502 pragma Assert (Target /= Null_Iir); 3503 pragma Assert (Has_Context_Reference_Chain (Get_Kind (Target)), 3504 "no field Context_Reference_Chain"); 3505 return Get_Field3 (Target); 3506 end Get_Context_Reference_Chain; 3507 3508 procedure Set_Context_Reference_Chain (Target : Iir; Chain : Iir) is 3509 begin 3510 pragma Assert (Target /= Null_Iir); 3511 pragma Assert (Has_Context_Reference_Chain (Get_Kind (Target)), 3512 "no field Context_Reference_Chain"); 3513 Set_Field3 (Target, Chain); 3514 end Set_Context_Reference_Chain; 3515 3516 function Get_Selected_Name (Target : Iir) return Iir is 3517 begin 3518 pragma Assert (Target /= Null_Iir); 3519 pragma Assert (Has_Selected_Name (Get_Kind (Target)), 3520 "no field Selected_Name"); 3521 return Get_Field1 (Target); 3522 end Get_Selected_Name; 3523 3524 procedure Set_Selected_Name (Target : Iir; Name : Iir) is 3525 begin 3526 pragma Assert (Target /= Null_Iir); 3527 pragma Assert (Has_Selected_Name (Get_Kind (Target)), 3528 "no field Selected_Name"); 3529 Set_Field1 (Target, Name); 3530 end Set_Selected_Name; 3531 3532 function Get_Type_Declarator (Def : Iir) return Iir is 3533 begin 3534 pragma Assert (Def /= Null_Iir); 3535 pragma Assert (Has_Type_Declarator (Get_Kind (Def)), 3536 "no field Type_Declarator"); 3537 return Get_Field3 (Def); 3538 end Get_Type_Declarator; 3539 3540 procedure Set_Type_Declarator (Def : Iir; Decl : Iir) is 3541 begin 3542 pragma Assert (Def /= Null_Iir); 3543 pragma Assert (Has_Type_Declarator (Get_Kind (Def)), 3544 "no field Type_Declarator"); 3545 Set_Field3 (Def, Decl); 3546 end Set_Type_Declarator; 3547 3548 function Get_Complete_Type_Definition (N : Iir) return Iir is 3549 begin 3550 pragma Assert (N /= Null_Iir); 3551 pragma Assert (Has_Complete_Type_Definition (Get_Kind (N)), 3552 "no field Complete_Type_Definition"); 3553 return Get_Field5 (N); 3554 end Get_Complete_Type_Definition; 3555 3556 procedure Set_Complete_Type_Definition (N : Iir; Def : Iir) is 3557 begin 3558 pragma Assert (N /= Null_Iir); 3559 pragma Assert (Has_Complete_Type_Definition (Get_Kind (N)), 3560 "no field Complete_Type_Definition"); 3561 Set_Field5 (N, Def); 3562 end Set_Complete_Type_Definition; 3563 3564 function Get_Incomplete_Type_Ref_Chain (N : Iir) return Iir is 3565 begin 3566 pragma Assert (N /= Null_Iir); 3567 pragma Assert (Has_Incomplete_Type_Ref_Chain (Get_Kind (N)), 3568 "no field Incomplete_Type_Ref_Chain"); 3569 return Get_Field0 (N); 3570 end Get_Incomplete_Type_Ref_Chain; 3571 3572 procedure Set_Incomplete_Type_Ref_Chain (N : Iir; Def : Iir) is 3573 begin 3574 pragma Assert (N /= Null_Iir); 3575 pragma Assert (Has_Incomplete_Type_Ref_Chain (Get_Kind (N)), 3576 "no field Incomplete_Type_Ref_Chain"); 3577 Set_Field0 (N, Def); 3578 end Set_Incomplete_Type_Ref_Chain; 3579 3580 function Get_Associated_Type (Def : Iir) return Iir is 3581 begin 3582 pragma Assert (Def /= Null_Iir); 3583 pragma Assert (Has_Associated_Type (Get_Kind (Def)), 3584 "no field Associated_Type"); 3585 return Get_Field5 (Def); 3586 end Get_Associated_Type; 3587 3588 procedure Set_Associated_Type (Def : Iir; Atype : Iir) is 3589 begin 3590 pragma Assert (Def /= Null_Iir); 3591 pragma Assert (Has_Associated_Type (Get_Kind (Def)), 3592 "no field Associated_Type"); 3593 Set_Field5 (Def, Atype); 3594 end Set_Associated_Type; 3595 3596 function Get_Enumeration_Literal_List (Target : Iir) return Iir_Flist is 3597 begin 3598 pragma Assert (Target /= Null_Iir); 3599 pragma Assert (Has_Enumeration_Literal_List (Get_Kind (Target)), 3600 "no field Enumeration_Literal_List"); 3601 return Iir_To_Iir_Flist (Get_Field2 (Target)); 3602 end Get_Enumeration_Literal_List; 3603 3604 procedure Set_Enumeration_Literal_List (Target : Iir; List : Iir_Flist) is 3605 begin 3606 pragma Assert (Target /= Null_Iir); 3607 pragma Assert (Has_Enumeration_Literal_List (Get_Kind (Target)), 3608 "no field Enumeration_Literal_List"); 3609 Set_Field2 (Target, Iir_Flist_To_Iir (List)); 3610 end Set_Enumeration_Literal_List; 3611 3612 function Get_Entity_Class_Entry_Chain (Target : Iir) return Iir is 3613 begin 3614 pragma Assert (Target /= Null_Iir); 3615 pragma Assert (Has_Entity_Class_Entry_Chain (Get_Kind (Target)), 3616 "no field Entity_Class_Entry_Chain"); 3617 return Get_Field1 (Target); 3618 end Get_Entity_Class_Entry_Chain; 3619 3620 procedure Set_Entity_Class_Entry_Chain (Target : Iir; Chain : Iir) is 3621 begin 3622 pragma Assert (Target /= Null_Iir); 3623 pragma Assert (Has_Entity_Class_Entry_Chain (Get_Kind (Target)), 3624 "no field Entity_Class_Entry_Chain"); 3625 Set_Field1 (Target, Chain); 3626 end Set_Entity_Class_Entry_Chain; 3627 3628 function Get_Group_Constituent_List (Group : Iir) return Iir_Flist is 3629 begin 3630 pragma Assert (Group /= Null_Iir); 3631 pragma Assert (Has_Group_Constituent_List (Get_Kind (Group)), 3632 "no field Group_Constituent_List"); 3633 return Iir_To_Iir_Flist (Get_Field1 (Group)); 3634 end Get_Group_Constituent_List; 3635 3636 procedure Set_Group_Constituent_List (Group : Iir; List : Iir_Flist) is 3637 begin 3638 pragma Assert (Group /= Null_Iir); 3639 pragma Assert (Has_Group_Constituent_List (Get_Kind (Group)), 3640 "no field Group_Constituent_List"); 3641 Set_Field1 (Group, Iir_Flist_To_Iir (List)); 3642 end Set_Group_Constituent_List; 3643 3644 function Get_Unit_Chain (Target : Iir) return Iir is 3645 begin 3646 pragma Assert (Target /= Null_Iir); 3647 pragma Assert (Has_Unit_Chain (Get_Kind (Target)), 3648 "no field Unit_Chain"); 3649 return Get_Field2 (Target); 3650 end Get_Unit_Chain; 3651 3652 procedure Set_Unit_Chain (Target : Iir; Chain : Iir) is 3653 begin 3654 pragma Assert (Target /= Null_Iir); 3655 pragma Assert (Has_Unit_Chain (Get_Kind (Target)), 3656 "no field Unit_Chain"); 3657 Set_Field2 (Target, Chain); 3658 end Set_Unit_Chain; 3659 3660 function Get_Primary_Unit (Target : Iir) return Iir is 3661 begin 3662 pragma Assert (Target /= Null_Iir); 3663 pragma Assert (Has_Primary_Unit (Get_Kind (Target)), 3664 "no field Primary_Unit"); 3665 return Get_Field2 (Target); 3666 end Get_Primary_Unit; 3667 3668 procedure Set_Primary_Unit (Target : Iir; Unit : Iir) is 3669 begin 3670 pragma Assert (Target /= Null_Iir); 3671 pragma Assert (Has_Primary_Unit (Get_Kind (Target)), 3672 "no field Primary_Unit"); 3673 Set_Field2 (Target, Unit); 3674 end Set_Primary_Unit; 3675 3676 function Get_Identifier (Target : Iir) return Name_Id is 3677 begin 3678 pragma Assert (Target /= Null_Iir); 3679 pragma Assert (Has_Identifier (Get_Kind (Target)), 3680 "no field Identifier"); 3681 return Iir_To_Name_Id (Get_Field3 (Target)); 3682 end Get_Identifier; 3683 3684 procedure Set_Identifier (Target : Iir; Identifier : Name_Id) is 3685 begin 3686 pragma Assert (Target /= Null_Iir); 3687 pragma Assert (Has_Identifier (Get_Kind (Target)), 3688 "no field Identifier"); 3689 Set_Field3 (Target, Name_Id_To_Iir (Identifier)); 3690 end Set_Identifier; 3691 3692 function Get_Label (Target : Iir) return Name_Id is 3693 begin 3694 pragma Assert (Target /= Null_Iir); 3695 pragma Assert (Has_Label (Get_Kind (Target)), 3696 "no field Label"); 3697 return Iir_To_Name_Id (Get_Field3 (Target)); 3698 end Get_Label; 3699 3700 procedure Set_Label (Target : Iir; Label : Name_Id) is 3701 begin 3702 pragma Assert (Target /= Null_Iir); 3703 pragma Assert (Has_Label (Get_Kind (Target)), 3704 "no field Label"); 3705 Set_Field3 (Target, Name_Id_To_Iir (Label)); 3706 end Set_Label; 3707 3708 function Get_Visible_Flag (Target : Iir) return Boolean is 3709 begin 3710 pragma Assert (Target /= Null_Iir); 3711 pragma Assert (Has_Visible_Flag (Get_Kind (Target)), 3712 "no field Visible_Flag"); 3713 return Get_Flag4 (Target); 3714 end Get_Visible_Flag; 3715 3716 procedure Set_Visible_Flag (Target : Iir; Flag : Boolean) is 3717 begin 3718 pragma Assert (Target /= Null_Iir); 3719 pragma Assert (Has_Visible_Flag (Get_Kind (Target)), 3720 "no field Visible_Flag"); 3721 Set_Flag4 (Target, Flag); 3722 end Set_Visible_Flag; 3723 3724 function Get_Range_Constraint (Target : Iir) return Iir is 3725 begin 3726 pragma Assert (Target /= Null_Iir); 3727 pragma Assert (Has_Range_Constraint (Get_Kind (Target)), 3728 "no field Range_Constraint"); 3729 return Get_Field1 (Target); 3730 end Get_Range_Constraint; 3731 3732 procedure Set_Range_Constraint (Target : Iir; Constraint : Iir) is 3733 begin 3734 pragma Assert (Target /= Null_Iir); 3735 pragma Assert (Has_Range_Constraint (Get_Kind (Target)), 3736 "no field Range_Constraint"); 3737 Set_Field1 (Target, Constraint); 3738 end Set_Range_Constraint; 3739 3740 function Get_Direction (Decl : Iir) return Direction_Type is 3741 begin 3742 pragma Assert (Decl /= Null_Iir); 3743 pragma Assert (Has_Direction (Get_Kind (Decl)), 3744 "no field Direction"); 3745 return Boolean_To_Direction_Type (Get_Flag1 (Decl)); 3746 end Get_Direction; 3747 3748 procedure Set_Direction (Decl : Iir; Dir : Direction_Type) is 3749 begin 3750 pragma Assert (Decl /= Null_Iir); 3751 pragma Assert (Has_Direction (Get_Kind (Decl)), 3752 "no field Direction"); 3753 Set_Flag1 (Decl, Direction_Type_To_Boolean (Dir)); 3754 end Set_Direction; 3755 3756 function Get_Left_Limit (Decl : Iir_Range_Expression) return Iir is 3757 begin 3758 pragma Assert (Decl /= Null_Iir); 3759 pragma Assert (Has_Left_Limit (Get_Kind (Decl)), 3760 "no field Left_Limit"); 3761 return Get_Field4 (Decl); 3762 end Get_Left_Limit; 3763 3764 procedure Set_Left_Limit (Decl : Iir_Range_Expression; Limit : Iir) is 3765 begin 3766 pragma Assert (Decl /= Null_Iir); 3767 pragma Assert (Has_Left_Limit (Get_Kind (Decl)), 3768 "no field Left_Limit"); 3769 Set_Field4 (Decl, Limit); 3770 end Set_Left_Limit; 3771 3772 function Get_Right_Limit (Decl : Iir_Range_Expression) return Iir is 3773 begin 3774 pragma Assert (Decl /= Null_Iir); 3775 pragma Assert (Has_Right_Limit (Get_Kind (Decl)), 3776 "no field Right_Limit"); 3777 return Get_Field5 (Decl); 3778 end Get_Right_Limit; 3779 3780 procedure Set_Right_Limit (Decl : Iir_Range_Expression; Limit : Iir) is 3781 begin 3782 pragma Assert (Decl /= Null_Iir); 3783 pragma Assert (Has_Right_Limit (Get_Kind (Decl)), 3784 "no field Right_Limit"); 3785 Set_Field5 (Decl, Limit); 3786 end Set_Right_Limit; 3787 3788 function Get_Left_Limit_Expr (Decl : Iir_Range_Expression) return Iir is 3789 begin 3790 pragma Assert (Decl /= Null_Iir); 3791 pragma Assert (Has_Left_Limit_Expr (Get_Kind (Decl)), 3792 "no field Left_Limit_Expr"); 3793 return Get_Field2 (Decl); 3794 end Get_Left_Limit_Expr; 3795 3796 procedure Set_Left_Limit_Expr (Decl : Iir_Range_Expression; Limit : Iir) is 3797 begin 3798 pragma Assert (Decl /= Null_Iir); 3799 pragma Assert (Has_Left_Limit_Expr (Get_Kind (Decl)), 3800 "no field Left_Limit_Expr"); 3801 Set_Field2 (Decl, Limit); 3802 end Set_Left_Limit_Expr; 3803 3804 function Get_Right_Limit_Expr (Decl : Iir_Range_Expression) return Iir is 3805 begin 3806 pragma Assert (Decl /= Null_Iir); 3807 pragma Assert (Has_Right_Limit_Expr (Get_Kind (Decl)), 3808 "no field Right_Limit_Expr"); 3809 return Get_Field3 (Decl); 3810 end Get_Right_Limit_Expr; 3811 3812 procedure Set_Right_Limit_Expr (Decl : Iir_Range_Expression; Limit : Iir) 3813 is 3814 begin 3815 pragma Assert (Decl /= Null_Iir); 3816 pragma Assert (Has_Right_Limit_Expr (Get_Kind (Decl)), 3817 "no field Right_Limit_Expr"); 3818 Set_Field3 (Decl, Limit); 3819 end Set_Right_Limit_Expr; 3820 3821 function Get_Parent_Type (Decl : Iir) return Iir is 3822 begin 3823 pragma Assert (Decl /= Null_Iir); 3824 pragma Assert (Has_Parent_Type (Get_Kind (Decl)), 3825 "no field Parent_Type"); 3826 return Get_Field4 (Decl); 3827 end Get_Parent_Type; 3828 3829 procedure Set_Parent_Type (Decl : Iir; Base_Type : Iir) is 3830 begin 3831 pragma Assert (Decl /= Null_Iir); 3832 pragma Assert (Has_Parent_Type (Get_Kind (Decl)), 3833 "no field Parent_Type"); 3834 Set_Field4 (Decl, Base_Type); 3835 end Set_Parent_Type; 3836 3837 function Get_Simple_Nature (Def : Iir) return Iir is 3838 begin 3839 pragma Assert (Def /= Null_Iir); 3840 pragma Assert (Has_Simple_Nature (Get_Kind (Def)), 3841 "no field Simple_Nature"); 3842 return Get_Field7 (Def); 3843 end Get_Simple_Nature; 3844 3845 procedure Set_Simple_Nature (Def : Iir; Nature : Iir) is 3846 begin 3847 pragma Assert (Def /= Null_Iir); 3848 pragma Assert (Has_Simple_Nature (Get_Kind (Def)), 3849 "no field Simple_Nature"); 3850 Set_Field7 (Def, Nature); 3851 end Set_Simple_Nature; 3852 3853 function Get_Base_Nature (Decl : Iir) return Iir is 3854 begin 3855 pragma Assert (Decl /= Null_Iir); 3856 pragma Assert (Has_Base_Nature (Get_Kind (Decl)), 3857 "no field Base_Nature"); 3858 return Get_Field4 (Decl); 3859 end Get_Base_Nature; 3860 3861 procedure Set_Base_Nature (Decl : Iir; Base_Nature : Iir) is 3862 begin 3863 pragma Assert (Decl /= Null_Iir); 3864 pragma Assert (Has_Base_Nature (Get_Kind (Decl)), 3865 "no field Base_Nature"); 3866 Set_Field4 (Decl, Base_Nature); 3867 end Set_Base_Nature; 3868 3869 function Get_Resolution_Indication (Decl : Iir) return Iir is 3870 begin 3871 pragma Assert (Decl /= Null_Iir); 3872 pragma Assert (Has_Resolution_Indication (Get_Kind (Decl)), 3873 "no field Resolution_Indication"); 3874 return Get_Field5 (Decl); 3875 end Get_Resolution_Indication; 3876 3877 procedure Set_Resolution_Indication (Decl : Iir; Ind : Iir) is 3878 begin 3879 pragma Assert (Decl /= Null_Iir); 3880 pragma Assert (Has_Resolution_Indication (Get_Kind (Decl)), 3881 "no field Resolution_Indication"); 3882 Set_Field5 (Decl, Ind); 3883 end Set_Resolution_Indication; 3884 3885 function Get_Record_Element_Resolution_Chain (Res : Iir) return Iir is 3886 begin 3887 pragma Assert (Res /= Null_Iir); 3888 pragma Assert (Has_Record_Element_Resolution_Chain (Get_Kind (Res)), 3889 "no field Record_Element_Resolution_Chain"); 3890 return Get_Field1 (Res); 3891 end Get_Record_Element_Resolution_Chain; 3892 3893 procedure Set_Record_Element_Resolution_Chain (Res : Iir; Chain : Iir) is 3894 begin 3895 pragma Assert (Res /= Null_Iir); 3896 pragma Assert (Has_Record_Element_Resolution_Chain (Get_Kind (Res)), 3897 "no field Record_Element_Resolution_Chain"); 3898 Set_Field1 (Res, Chain); 3899 end Set_Record_Element_Resolution_Chain; 3900 3901 function Get_Tolerance (Def : Iir) return Iir is 3902 begin 3903 pragma Assert (Def /= Null_Iir); 3904 pragma Assert (Has_Tolerance (Get_Kind (Def)), 3905 "no field Tolerance"); 3906 return Get_Field7 (Def); 3907 end Get_Tolerance; 3908 3909 procedure Set_Tolerance (Def : Iir; Tol : Iir) is 3910 begin 3911 pragma Assert (Def /= Null_Iir); 3912 pragma Assert (Has_Tolerance (Get_Kind (Def)), 3913 "no field Tolerance"); 3914 Set_Field7 (Def, Tol); 3915 end Set_Tolerance; 3916 3917 function Get_Plus_Terminal_Name (Def : Iir) return Iir is 3918 begin 3919 pragma Assert (Def /= Null_Iir); 3920 pragma Assert (Has_Plus_Terminal_Name (Get_Kind (Def)), 3921 "no field Plus_Terminal_Name"); 3922 return Get_Field8 (Def); 3923 end Get_Plus_Terminal_Name; 3924 3925 procedure Set_Plus_Terminal_Name (Def : Iir; Name : Iir) is 3926 begin 3927 pragma Assert (Def /= Null_Iir); 3928 pragma Assert (Has_Plus_Terminal_Name (Get_Kind (Def)), 3929 "no field Plus_Terminal_Name"); 3930 Set_Field8 (Def, Name); 3931 end Set_Plus_Terminal_Name; 3932 3933 function Get_Minus_Terminal_Name (Def : Iir) return Iir is 3934 begin 3935 pragma Assert (Def /= Null_Iir); 3936 pragma Assert (Has_Minus_Terminal_Name (Get_Kind (Def)), 3937 "no field Minus_Terminal_Name"); 3938 return Get_Field9 (Def); 3939 end Get_Minus_Terminal_Name; 3940 3941 procedure Set_Minus_Terminal_Name (Def : Iir; Name : Iir) is 3942 begin 3943 pragma Assert (Def /= Null_Iir); 3944 pragma Assert (Has_Minus_Terminal_Name (Get_Kind (Def)), 3945 "no field Minus_Terminal_Name"); 3946 Set_Field9 (Def, Name); 3947 end Set_Minus_Terminal_Name; 3948 3949 function Get_Plus_Terminal (Def : Iir) return Iir is 3950 begin 3951 pragma Assert (Def /= Null_Iir); 3952 pragma Assert (Has_Plus_Terminal (Get_Kind (Def)), 3953 "no field Plus_Terminal"); 3954 return Get_Field10 (Def); 3955 end Get_Plus_Terminal; 3956 3957 procedure Set_Plus_Terminal (Def : Iir; Terminal : Iir) is 3958 begin 3959 pragma Assert (Def /= Null_Iir); 3960 pragma Assert (Has_Plus_Terminal (Get_Kind (Def)), 3961 "no field Plus_Terminal"); 3962 Set_Field10 (Def, Terminal); 3963 end Set_Plus_Terminal; 3964 3965 function Get_Minus_Terminal (Def : Iir) return Iir is 3966 begin 3967 pragma Assert (Def /= Null_Iir); 3968 pragma Assert (Has_Minus_Terminal (Get_Kind (Def)), 3969 "no field Minus_Terminal"); 3970 return Get_Field11 (Def); 3971 end Get_Minus_Terminal; 3972 3973 procedure Set_Minus_Terminal (Def : Iir; Terminal : Iir) is 3974 begin 3975 pragma Assert (Def /= Null_Iir); 3976 pragma Assert (Has_Minus_Terminal (Get_Kind (Def)), 3977 "no field Minus_Terminal"); 3978 Set_Field11 (Def, Terminal); 3979 end Set_Minus_Terminal; 3980 3981 function Get_Magnitude_Expression (Decl : Iir) return Iir is 3982 begin 3983 pragma Assert (Decl /= Null_Iir); 3984 pragma Assert (Has_Magnitude_Expression (Get_Kind (Decl)), 3985 "no field Magnitude_Expression"); 3986 return Get_Field6 (Decl); 3987 end Get_Magnitude_Expression; 3988 3989 procedure Set_Magnitude_Expression (Decl : Iir; Expr : Iir) is 3990 begin 3991 pragma Assert (Decl /= Null_Iir); 3992 pragma Assert (Has_Magnitude_Expression (Get_Kind (Decl)), 3993 "no field Magnitude_Expression"); 3994 Set_Field6 (Decl, Expr); 3995 end Set_Magnitude_Expression; 3996 3997 function Get_Phase_Expression (Decl : Iir) return Iir is 3998 begin 3999 pragma Assert (Decl /= Null_Iir); 4000 pragma Assert (Has_Phase_Expression (Get_Kind (Decl)), 4001 "no field Phase_Expression"); 4002 return Get_Field7 (Decl); 4003 end Get_Phase_Expression; 4004 4005 procedure Set_Phase_Expression (Decl : Iir; Expr : Iir) is 4006 begin 4007 pragma Assert (Decl /= Null_Iir); 4008 pragma Assert (Has_Phase_Expression (Get_Kind (Decl)), 4009 "no field Phase_Expression"); 4010 Set_Field7 (Decl, Expr); 4011 end Set_Phase_Expression; 4012 4013 function Get_Power_Expression (Decl : Iir) return Iir is 4014 begin 4015 pragma Assert (Decl /= Null_Iir); 4016 pragma Assert (Has_Power_Expression (Get_Kind (Decl)), 4017 "no field Power_Expression"); 4018 return Get_Field4 (Decl); 4019 end Get_Power_Expression; 4020 4021 procedure Set_Power_Expression (Decl : Iir; Expr : Iir) is 4022 begin 4023 pragma Assert (Decl /= Null_Iir); 4024 pragma Assert (Has_Power_Expression (Get_Kind (Decl)), 4025 "no field Power_Expression"); 4026 Set_Field4 (Decl, Expr); 4027 end Set_Power_Expression; 4028 4029 function Get_Simultaneous_Left (Def : Iir) return Iir is 4030 begin 4031 pragma Assert (Def /= Null_Iir); 4032 pragma Assert (Has_Simultaneous_Left (Get_Kind (Def)), 4033 "no field Simultaneous_Left"); 4034 return Get_Field5 (Def); 4035 end Get_Simultaneous_Left; 4036 4037 procedure Set_Simultaneous_Left (Def : Iir; Expr : Iir) is 4038 begin 4039 pragma Assert (Def /= Null_Iir); 4040 pragma Assert (Has_Simultaneous_Left (Get_Kind (Def)), 4041 "no field Simultaneous_Left"); 4042 Set_Field5 (Def, Expr); 4043 end Set_Simultaneous_Left; 4044 4045 function Get_Simultaneous_Right (Def : Iir) return Iir is 4046 begin 4047 pragma Assert (Def /= Null_Iir); 4048 pragma Assert (Has_Simultaneous_Right (Get_Kind (Def)), 4049 "no field Simultaneous_Right"); 4050 return Get_Field6 (Def); 4051 end Get_Simultaneous_Right; 4052 4053 procedure Set_Simultaneous_Right (Def : Iir; Expr : Iir) is 4054 begin 4055 pragma Assert (Def /= Null_Iir); 4056 pragma Assert (Has_Simultaneous_Right (Get_Kind (Def)), 4057 "no field Simultaneous_Right"); 4058 Set_Field6 (Def, Expr); 4059 end Set_Simultaneous_Right; 4060 4061 function Get_Text_File_Flag (Atype : Iir) return Boolean is 4062 begin 4063 pragma Assert (Atype /= Null_Iir); 4064 pragma Assert (Has_Text_File_Flag (Get_Kind (Atype)), 4065 "no field Text_File_Flag"); 4066 return Get_Flag4 (Atype); 4067 end Get_Text_File_Flag; 4068 4069 procedure Set_Text_File_Flag (Atype : Iir; Flag : Boolean) is 4070 begin 4071 pragma Assert (Atype /= Null_Iir); 4072 pragma Assert (Has_Text_File_Flag (Get_Kind (Atype)), 4073 "no field Text_File_Flag"); 4074 Set_Flag4 (Atype, Flag); 4075 end Set_Text_File_Flag; 4076 4077 function Get_Only_Characters_Flag (Atype : Iir) return Boolean is 4078 begin 4079 pragma Assert (Atype /= Null_Iir); 4080 pragma Assert (Has_Only_Characters_Flag (Get_Kind (Atype)), 4081 "no field Only_Characters_Flag"); 4082 return Get_Flag4 (Atype); 4083 end Get_Only_Characters_Flag; 4084 4085 procedure Set_Only_Characters_Flag (Atype : Iir; Flag : Boolean) is 4086 begin 4087 pragma Assert (Atype /= Null_Iir); 4088 pragma Assert (Has_Only_Characters_Flag (Get_Kind (Atype)), 4089 "no field Only_Characters_Flag"); 4090 Set_Flag4 (Atype, Flag); 4091 end Set_Only_Characters_Flag; 4092 4093 function Get_Is_Character_Type (Atype : Iir) return Boolean is 4094 begin 4095 pragma Assert (Atype /= Null_Iir); 4096 pragma Assert (Has_Is_Character_Type (Get_Kind (Atype)), 4097 "no field Is_Character_Type"); 4098 return Get_Flag5 (Atype); 4099 end Get_Is_Character_Type; 4100 4101 procedure Set_Is_Character_Type (Atype : Iir; Flag : Boolean) is 4102 begin 4103 pragma Assert (Atype /= Null_Iir); 4104 pragma Assert (Has_Is_Character_Type (Get_Kind (Atype)), 4105 "no field Is_Character_Type"); 4106 Set_Flag5 (Atype, Flag); 4107 end Set_Is_Character_Type; 4108 4109 function Get_Nature_Staticness (Anat : Iir) return Iir_Staticness is 4110 begin 4111 pragma Assert (Anat /= Null_Iir); 4112 pragma Assert (Has_Nature_Staticness (Get_Kind (Anat)), 4113 "no field Nature_Staticness"); 4114 return Iir_Staticness'Val (Get_State1 (Anat)); 4115 end Get_Nature_Staticness; 4116 4117 procedure Set_Nature_Staticness (Anat : Iir; Static : Iir_Staticness) is 4118 begin 4119 pragma Assert (Anat /= Null_Iir); 4120 pragma Assert (Has_Nature_Staticness (Get_Kind (Anat)), 4121 "no field Nature_Staticness"); 4122 Set_State1 (Anat, Iir_Staticness'Pos (Static)); 4123 end Set_Nature_Staticness; 4124 4125 function Get_Type_Staticness (Atype : Iir) return Iir_Staticness is 4126 begin 4127 pragma Assert (Atype /= Null_Iir); 4128 pragma Assert (Has_Type_Staticness (Get_Kind (Atype)), 4129 "no field Type_Staticness"); 4130 return Iir_Staticness'Val (Get_State1 (Atype)); 4131 end Get_Type_Staticness; 4132 4133 procedure Set_Type_Staticness (Atype : Iir; Static : Iir_Staticness) is 4134 begin 4135 pragma Assert (Atype /= Null_Iir); 4136 pragma Assert (Has_Type_Staticness (Get_Kind (Atype)), 4137 "no field Type_Staticness"); 4138 Set_State1 (Atype, Iir_Staticness'Pos (Static)); 4139 end Set_Type_Staticness; 4140 4141 function Get_Constraint_State (Atype : Iir) return Iir_Constraint is 4142 begin 4143 pragma Assert (Atype /= Null_Iir); 4144 pragma Assert (Has_Constraint_State (Get_Kind (Atype)), 4145 "no field Constraint_State"); 4146 return Iir_Constraint'Val (Get_State2 (Atype)); 4147 end Get_Constraint_State; 4148 4149 procedure Set_Constraint_State (Atype : Iir; State : Iir_Constraint) is 4150 begin 4151 pragma Assert (Atype /= Null_Iir); 4152 pragma Assert (Has_Constraint_State (Get_Kind (Atype)), 4153 "no field Constraint_State"); 4154 Set_State2 (Atype, Iir_Constraint'Pos (State)); 4155 end Set_Constraint_State; 4156 4157 function Get_Index_Subtype_List (Decl : Iir) return Iir_Flist is 4158 begin 4159 pragma Assert (Decl /= Null_Iir); 4160 pragma Assert (Has_Index_Subtype_List (Get_Kind (Decl)), 4161 "no field Index_Subtype_List"); 4162 return Iir_To_Iir_Flist (Get_Field9 (Decl)); 4163 end Get_Index_Subtype_List; 4164 4165 procedure Set_Index_Subtype_List (Decl : Iir; List : Iir_Flist) is 4166 begin 4167 pragma Assert (Decl /= Null_Iir); 4168 pragma Assert (Has_Index_Subtype_List (Get_Kind (Decl)), 4169 "no field Index_Subtype_List"); 4170 Set_Field9 (Decl, Iir_Flist_To_Iir (List)); 4171 end Set_Index_Subtype_List; 4172 4173 function Get_Index_Subtype_Definition_List (Def : Iir) return Iir_Flist is 4174 begin 4175 pragma Assert (Def /= Null_Iir); 4176 pragma Assert (Has_Index_Subtype_Definition_List (Get_Kind (Def)), 4177 "no field Index_Subtype_Definition_List"); 4178 return Iir_To_Iir_Flist (Get_Field6 (Def)); 4179 end Get_Index_Subtype_Definition_List; 4180 4181 procedure Set_Index_Subtype_Definition_List (Def : Iir; Idx : Iir_Flist) is 4182 begin 4183 pragma Assert (Def /= Null_Iir); 4184 pragma Assert (Has_Index_Subtype_Definition_List (Get_Kind (Def)), 4185 "no field Index_Subtype_Definition_List"); 4186 Set_Field6 (Def, Iir_Flist_To_Iir (Idx)); 4187 end Set_Index_Subtype_Definition_List; 4188 4189 function Get_Element_Subtype_Indication (Decl : Iir) return Iir is 4190 begin 4191 pragma Assert (Decl /= Null_Iir); 4192 pragma Assert (Has_Element_Subtype_Indication (Get_Kind (Decl)), 4193 "no field Element_Subtype_Indication"); 4194 return Get_Field2 (Decl); 4195 end Get_Element_Subtype_Indication; 4196 4197 procedure Set_Element_Subtype_Indication (Decl : Iir; Sub_Type : Iir) is 4198 begin 4199 pragma Assert (Decl /= Null_Iir); 4200 pragma Assert (Has_Element_Subtype_Indication (Get_Kind (Decl)), 4201 "no field Element_Subtype_Indication"); 4202 Set_Field2 (Decl, Sub_Type); 4203 end Set_Element_Subtype_Indication; 4204 4205 function Get_Element_Subtype (Decl : Iir) return Iir is 4206 begin 4207 pragma Assert (Decl /= Null_Iir); 4208 pragma Assert (Has_Element_Subtype (Get_Kind (Decl)), 4209 "no field Element_Subtype"); 4210 return Get_Field1 (Decl); 4211 end Get_Element_Subtype; 4212 4213 procedure Set_Element_Subtype (Decl : Iir; Sub_Type : Iir) is 4214 begin 4215 pragma Assert (Decl /= Null_Iir); 4216 pragma Assert (Has_Element_Subtype (Get_Kind (Decl)), 4217 "no field Element_Subtype"); 4218 Set_Field1 (Decl, Sub_Type); 4219 end Set_Element_Subtype; 4220 4221 function Get_Element_Subnature_Indication (Decl : Iir) return Iir is 4222 begin 4223 pragma Assert (Decl /= Null_Iir); 4224 pragma Assert (Has_Element_Subnature_Indication (Get_Kind (Decl)), 4225 "no field Element_Subnature_Indication"); 4226 return Get_Field2 (Decl); 4227 end Get_Element_Subnature_Indication; 4228 4229 procedure Set_Element_Subnature_Indication (Decl : Iir; Sub_Nature : Iir) 4230 is 4231 begin 4232 pragma Assert (Decl /= Null_Iir); 4233 pragma Assert (Has_Element_Subnature_Indication (Get_Kind (Decl)), 4234 "no field Element_Subnature_Indication"); 4235 Set_Field2 (Decl, Sub_Nature); 4236 end Set_Element_Subnature_Indication; 4237 4238 function Get_Element_Subnature (Decl : Iir) return Iir is 4239 begin 4240 pragma Assert (Decl /= Null_Iir); 4241 pragma Assert (Has_Element_Subnature (Get_Kind (Decl)), 4242 "no field Element_Subnature"); 4243 return Get_Field1 (Decl); 4244 end Get_Element_Subnature; 4245 4246 procedure Set_Element_Subnature (Decl : Iir; Sub_Nature : Iir) is 4247 begin 4248 pragma Assert (Decl /= Null_Iir); 4249 pragma Assert (Has_Element_Subnature (Get_Kind (Decl)), 4250 "no field Element_Subnature"); 4251 Set_Field1 (Decl, Sub_Nature); 4252 end Set_Element_Subnature; 4253 4254 function Get_Index_Constraint_List (Def : Iir) return Iir_Flist is 4255 begin 4256 pragma Assert (Def /= Null_Iir); 4257 pragma Assert (Has_Index_Constraint_List (Get_Kind (Def)), 4258 "no field Index_Constraint_List"); 4259 return Iir_To_Iir_Flist (Get_Field6 (Def)); 4260 end Get_Index_Constraint_List; 4261 4262 procedure Set_Index_Constraint_List (Def : Iir; List : Iir_Flist) is 4263 begin 4264 pragma Assert (Def /= Null_Iir); 4265 pragma Assert (Has_Index_Constraint_List (Get_Kind (Def)), 4266 "no field Index_Constraint_List"); 4267 Set_Field6 (Def, Iir_Flist_To_Iir (List)); 4268 end Set_Index_Constraint_List; 4269 4270 function Get_Array_Element_Constraint (Def : Iir) return Iir is 4271 begin 4272 pragma Assert (Def /= Null_Iir); 4273 pragma Assert (Has_Array_Element_Constraint (Get_Kind (Def)), 4274 "no field Array_Element_Constraint"); 4275 return Get_Field8 (Def); 4276 end Get_Array_Element_Constraint; 4277 4278 procedure Set_Array_Element_Constraint (Def : Iir; El : Iir) is 4279 begin 4280 pragma Assert (Def /= Null_Iir); 4281 pragma Assert (Has_Array_Element_Constraint (Get_Kind (Def)), 4282 "no field Array_Element_Constraint"); 4283 Set_Field8 (Def, El); 4284 end Set_Array_Element_Constraint; 4285 4286 function Get_Has_Array_Constraint_Flag (Def : Iir) return Boolean is 4287 begin 4288 pragma Assert (Def /= Null_Iir); 4289 pragma Assert (Has_Has_Array_Constraint_Flag (Get_Kind (Def)), 4290 "no field Has_Array_Constraint_Flag"); 4291 return Get_Flag5 (Def); 4292 end Get_Has_Array_Constraint_Flag; 4293 4294 procedure Set_Has_Array_Constraint_Flag (Def : Iir; Flag : Boolean) is 4295 begin 4296 pragma Assert (Def /= Null_Iir); 4297 pragma Assert (Has_Has_Array_Constraint_Flag (Get_Kind (Def)), 4298 "no field Has_Array_Constraint_Flag"); 4299 Set_Flag5 (Def, Flag); 4300 end Set_Has_Array_Constraint_Flag; 4301 4302 function Get_Has_Element_Constraint_Flag (Def : Iir) return Boolean is 4303 begin 4304 pragma Assert (Def /= Null_Iir); 4305 pragma Assert (Has_Has_Element_Constraint_Flag (Get_Kind (Def)), 4306 "no field Has_Element_Constraint_Flag"); 4307 return Get_Flag6 (Def); 4308 end Get_Has_Element_Constraint_Flag; 4309 4310 procedure Set_Has_Element_Constraint_Flag (Def : Iir; Flag : Boolean) is 4311 begin 4312 pragma Assert (Def /= Null_Iir); 4313 pragma Assert (Has_Has_Element_Constraint_Flag (Get_Kind (Def)), 4314 "no field Has_Element_Constraint_Flag"); 4315 Set_Flag6 (Def, Flag); 4316 end Set_Has_Element_Constraint_Flag; 4317 4318 function Get_Elements_Declaration_List (Decl : Iir) return Iir_Flist is 4319 begin 4320 pragma Assert (Decl /= Null_Iir); 4321 pragma Assert (Has_Elements_Declaration_List (Get_Kind (Decl)), 4322 "no field Elements_Declaration_List"); 4323 return Iir_To_Iir_Flist (Get_Field1 (Decl)); 4324 end Get_Elements_Declaration_List; 4325 4326 procedure Set_Elements_Declaration_List (Decl : Iir; List : Iir_Flist) is 4327 begin 4328 pragma Assert (Decl /= Null_Iir); 4329 pragma Assert (Has_Elements_Declaration_List (Get_Kind (Decl)), 4330 "no field Elements_Declaration_List"); 4331 Set_Field1 (Decl, Iir_Flist_To_Iir (List)); 4332 end Set_Elements_Declaration_List; 4333 4334 function Get_Owned_Elements_Chain (Atype : Iir) return Iir is 4335 begin 4336 pragma Assert (Atype /= Null_Iir); 4337 pragma Assert (Has_Owned_Elements_Chain (Get_Kind (Atype)), 4338 "no field Owned_Elements_Chain"); 4339 return Get_Field6 (Atype); 4340 end Get_Owned_Elements_Chain; 4341 4342 procedure Set_Owned_Elements_Chain (Atype : Iir; Chain : Iir) is 4343 begin 4344 pragma Assert (Atype /= Null_Iir); 4345 pragma Assert (Has_Owned_Elements_Chain (Get_Kind (Atype)), 4346 "no field Owned_Elements_Chain"); 4347 Set_Field6 (Atype, Chain); 4348 end Set_Owned_Elements_Chain; 4349 4350 function Get_Designated_Type (Target : Iir) return Iir is 4351 begin 4352 pragma Assert (Target /= Null_Iir); 4353 pragma Assert (Has_Designated_Type (Get_Kind (Target)), 4354 "no field Designated_Type"); 4355 return Get_Field1 (Target); 4356 end Get_Designated_Type; 4357 4358 procedure Set_Designated_Type (Target : Iir; Dtype : Iir) is 4359 begin 4360 pragma Assert (Target /= Null_Iir); 4361 pragma Assert (Has_Designated_Type (Get_Kind (Target)), 4362 "no field Designated_Type"); 4363 Set_Field1 (Target, Dtype); 4364 end Set_Designated_Type; 4365 4366 function Get_Designated_Subtype_Indication (Target : Iir) return Iir is 4367 begin 4368 pragma Assert (Target /= Null_Iir); 4369 pragma Assert (Has_Designated_Subtype_Indication (Get_Kind (Target)), 4370 "no field Designated_Subtype_Indication"); 4371 return Get_Field5 (Target); 4372 end Get_Designated_Subtype_Indication; 4373 4374 procedure Set_Designated_Subtype_Indication (Target : Iir; Dtype : Iir) is 4375 begin 4376 pragma Assert (Target /= Null_Iir); 4377 pragma Assert (Has_Designated_Subtype_Indication (Get_Kind (Target)), 4378 "no field Designated_Subtype_Indication"); 4379 Set_Field5 (Target, Dtype); 4380 end Set_Designated_Subtype_Indication; 4381 4382 function Get_Index_List (Decl : Iir) return Iir_Flist is 4383 begin 4384 pragma Assert (Decl /= Null_Iir); 4385 pragma Assert (Has_Index_List (Get_Kind (Decl)), 4386 "no field Index_List"); 4387 return Iir_To_Iir_Flist (Get_Field2 (Decl)); 4388 end Get_Index_List; 4389 4390 procedure Set_Index_List (Decl : Iir; List : Iir_Flist) is 4391 begin 4392 pragma Assert (Decl /= Null_Iir); 4393 pragma Assert (Has_Index_List (Get_Kind (Decl)), 4394 "no field Index_List"); 4395 Set_Field2 (Decl, Iir_Flist_To_Iir (List)); 4396 end Set_Index_List; 4397 4398 function Get_Reference (Def : Iir) return Iir is 4399 begin 4400 pragma Assert (Def /= Null_Iir); 4401 pragma Assert (Has_Reference (Get_Kind (Def)), 4402 "no field Reference"); 4403 return Get_Field2 (Def); 4404 end Get_Reference; 4405 4406 procedure Set_Reference (Def : Iir; Ref : Iir) is 4407 begin 4408 pragma Assert (Def /= Null_Iir); 4409 pragma Assert (Has_Reference (Get_Kind (Def)), 4410 "no field Reference"); 4411 Set_Field2 (Def, Ref); 4412 end Set_Reference; 4413 4414 function Get_Nature_Declarator (Def : Iir) return Iir is 4415 begin 4416 pragma Assert (Def /= Null_Iir); 4417 pragma Assert (Has_Nature_Declarator (Get_Kind (Def)), 4418 "no field Nature_Declarator"); 4419 return Get_Field3 (Def); 4420 end Get_Nature_Declarator; 4421 4422 procedure Set_Nature_Declarator (Def : Iir; Decl : Iir) is 4423 begin 4424 pragma Assert (Def /= Null_Iir); 4425 pragma Assert (Has_Nature_Declarator (Get_Kind (Def)), 4426 "no field Nature_Declarator"); 4427 Set_Field3 (Def, Decl); 4428 end Set_Nature_Declarator; 4429 4430 function Get_Across_Type_Mark (Def : Iir) return Iir is 4431 begin 4432 pragma Assert (Def /= Null_Iir); 4433 pragma Assert (Has_Across_Type_Mark (Get_Kind (Def)), 4434 "no field Across_Type_Mark"); 4435 return Get_Field9 (Def); 4436 end Get_Across_Type_Mark; 4437 4438 procedure Set_Across_Type_Mark (Def : Iir; Name : Iir) is 4439 begin 4440 pragma Assert (Def /= Null_Iir); 4441 pragma Assert (Has_Across_Type_Mark (Get_Kind (Def)), 4442 "no field Across_Type_Mark"); 4443 Set_Field9 (Def, Name); 4444 end Set_Across_Type_Mark; 4445 4446 function Get_Through_Type_Mark (Def : Iir) return Iir is 4447 begin 4448 pragma Assert (Def /= Null_Iir); 4449 pragma Assert (Has_Through_Type_Mark (Get_Kind (Def)), 4450 "no field Through_Type_Mark"); 4451 return Get_Field10 (Def); 4452 end Get_Through_Type_Mark; 4453 4454 procedure Set_Through_Type_Mark (Def : Iir; Atype : Iir) is 4455 begin 4456 pragma Assert (Def /= Null_Iir); 4457 pragma Assert (Has_Through_Type_Mark (Get_Kind (Def)), 4458 "no field Through_Type_Mark"); 4459 Set_Field10 (Def, Atype); 4460 end Set_Through_Type_Mark; 4461 4462 function Get_Across_Type_Definition (Def : Iir) return Iir is 4463 begin 4464 pragma Assert (Def /= Null_Iir); 4465 pragma Assert (Has_Across_Type_Definition (Get_Kind (Def)), 4466 "no field Across_Type_Definition"); 4467 return Get_Field10 (Def); 4468 end Get_Across_Type_Definition; 4469 4470 procedure Set_Across_Type_Definition (Def : Iir; Atype : Iir) is 4471 begin 4472 pragma Assert (Def /= Null_Iir); 4473 pragma Assert (Has_Across_Type_Definition (Get_Kind (Def)), 4474 "no field Across_Type_Definition"); 4475 Set_Field10 (Def, Atype); 4476 end Set_Across_Type_Definition; 4477 4478 function Get_Through_Type_Definition (Def : Iir) return Iir is 4479 begin 4480 pragma Assert (Def /= Null_Iir); 4481 pragma Assert (Has_Through_Type_Definition (Get_Kind (Def)), 4482 "no field Through_Type_Definition"); 4483 return Get_Field5 (Def); 4484 end Get_Through_Type_Definition; 4485 4486 procedure Set_Through_Type_Definition (Def : Iir; Atype : Iir) is 4487 begin 4488 pragma Assert (Def /= Null_Iir); 4489 pragma Assert (Has_Through_Type_Definition (Get_Kind (Def)), 4490 "no field Through_Type_Definition"); 4491 Set_Field5 (Def, Atype); 4492 end Set_Through_Type_Definition; 4493 4494 function Get_Across_Type (Def : Iir) return Iir is 4495 begin 4496 pragma Assert (Def /= Null_Iir); 4497 pragma Assert (Has_Across_Type (Get_Kind (Def)), 4498 "no field Across_Type"); 4499 return Get_Field11 (Def); 4500 end Get_Across_Type; 4501 4502 procedure Set_Across_Type (Def : Iir; Atype : Iir) is 4503 begin 4504 pragma Assert (Def /= Null_Iir); 4505 pragma Assert (Has_Across_Type (Get_Kind (Def)), 4506 "no field Across_Type"); 4507 Set_Field11 (Def, Atype); 4508 end Set_Across_Type; 4509 4510 function Get_Through_Type (Def : Iir) return Iir is 4511 begin 4512 pragma Assert (Def /= Null_Iir); 4513 pragma Assert (Has_Through_Type (Get_Kind (Def)), 4514 "no field Through_Type"); 4515 return Get_Field12 (Def); 4516 end Get_Through_Type; 4517 4518 procedure Set_Through_Type (Def : Iir; Atype : Iir) is 4519 begin 4520 pragma Assert (Def /= Null_Iir); 4521 pragma Assert (Has_Through_Type (Get_Kind (Def)), 4522 "no field Through_Type"); 4523 Set_Field12 (Def, Atype); 4524 end Set_Through_Type; 4525 4526 function Get_Target (Target : Iir) return Iir is 4527 begin 4528 pragma Assert (Target /= Null_Iir); 4529 pragma Assert (Has_Target (Get_Kind (Target)), 4530 "no field Target"); 4531 return Get_Field1 (Target); 4532 end Get_Target; 4533 4534 procedure Set_Target (Target : Iir; Atarget : Iir) is 4535 begin 4536 pragma Assert (Target /= Null_Iir); 4537 pragma Assert (Has_Target (Get_Kind (Target)), 4538 "no field Target"); 4539 Set_Field1 (Target, Atarget); 4540 end Set_Target; 4541 4542 function Get_Waveform_Chain (Target : Iir) return Iir is 4543 begin 4544 pragma Assert (Target /= Null_Iir); 4545 pragma Assert (Has_Waveform_Chain (Get_Kind (Target)), 4546 "no field Waveform_Chain"); 4547 return Get_Field5 (Target); 4548 end Get_Waveform_Chain; 4549 4550 procedure Set_Waveform_Chain (Target : Iir; Chain : Iir) is 4551 begin 4552 pragma Assert (Target /= Null_Iir); 4553 pragma Assert (Has_Waveform_Chain (Get_Kind (Target)), 4554 "no field Waveform_Chain"); 4555 Set_Field5 (Target, Chain); 4556 end Set_Waveform_Chain; 4557 4558 function Get_Guard (Target : Iir) return Iir is 4559 begin 4560 pragma Assert (Target /= Null_Iir); 4561 pragma Assert (Has_Guard (Get_Kind (Target)), 4562 "no field Guard"); 4563 return Get_Field8 (Target); 4564 end Get_Guard; 4565 4566 procedure Set_Guard (Target : Iir; Guard : Iir) is 4567 begin 4568 pragma Assert (Target /= Null_Iir); 4569 pragma Assert (Has_Guard (Get_Kind (Target)), 4570 "no field Guard"); 4571 Set_Field8 (Target, Guard); 4572 end Set_Guard; 4573 4574 function Get_Delay_Mechanism (Target : Iir) return Iir_Delay_Mechanism is 4575 begin 4576 pragma Assert (Target /= Null_Iir); 4577 pragma Assert (Has_Delay_Mechanism (Get_Kind (Target)), 4578 "no field Delay_Mechanism"); 4579 return Boolean_To_Iir_Delay_Mechanism (Get_Flag1 (Target)); 4580 end Get_Delay_Mechanism; 4581 4582 procedure Set_Delay_Mechanism (Target : Iir; Kind : Iir_Delay_Mechanism) is 4583 begin 4584 pragma Assert (Target /= Null_Iir); 4585 pragma Assert (Has_Delay_Mechanism (Get_Kind (Target)), 4586 "no field Delay_Mechanism"); 4587 Set_Flag1 (Target, Iir_Delay_Mechanism_To_Boolean (Kind)); 4588 end Set_Delay_Mechanism; 4589 4590 function Get_Reject_Time_Expression (Target : Iir) return Iir is 4591 begin 4592 pragma Assert (Target /= Null_Iir); 4593 pragma Assert (Has_Reject_Time_Expression (Get_Kind (Target)), 4594 "no field Reject_Time_Expression"); 4595 return Get_Field4 (Target); 4596 end Get_Reject_Time_Expression; 4597 4598 procedure Set_Reject_Time_Expression (Target : Iir; Expr : Iir) is 4599 begin 4600 pragma Assert (Target /= Null_Iir); 4601 pragma Assert (Has_Reject_Time_Expression (Get_Kind (Target)), 4602 "no field Reject_Time_Expression"); 4603 Set_Field4 (Target, Expr); 4604 end Set_Reject_Time_Expression; 4605 4606 function Get_Force_Mode (Stmt : Iir) return Iir_Force_Mode is 4607 begin 4608 pragma Assert (Stmt /= Null_Iir); 4609 pragma Assert (Has_Force_Mode (Get_Kind (Stmt)), 4610 "no field Force_Mode"); 4611 return Boolean_To_Iir_Force_Mode (Get_Flag1 (Stmt)); 4612 end Get_Force_Mode; 4613 4614 procedure Set_Force_Mode (Stmt : Iir; Mode : Iir_Force_Mode) is 4615 begin 4616 pragma Assert (Stmt /= Null_Iir); 4617 pragma Assert (Has_Force_Mode (Get_Kind (Stmt)), 4618 "no field Force_Mode"); 4619 Set_Flag1 (Stmt, Iir_Force_Mode_To_Boolean (Mode)); 4620 end Set_Force_Mode; 4621 4622 function Get_Has_Force_Mode (Stmt : Iir) return Boolean is 4623 begin 4624 pragma Assert (Stmt /= Null_Iir); 4625 pragma Assert (Has_Has_Force_Mode (Get_Kind (Stmt)), 4626 "no field Has_Force_Mode"); 4627 return Get_Flag2 (Stmt); 4628 end Get_Has_Force_Mode; 4629 4630 procedure Set_Has_Force_Mode (Stmt : Iir; Flag : Boolean) is 4631 begin 4632 pragma Assert (Stmt /= Null_Iir); 4633 pragma Assert (Has_Has_Force_Mode (Get_Kind (Stmt)), 4634 "no field Has_Force_Mode"); 4635 Set_Flag2 (Stmt, Flag); 4636 end Set_Has_Force_Mode; 4637 4638 function Get_Sensitivity_List (Wait : Iir) return Iir_List is 4639 begin 4640 pragma Assert (Wait /= Null_Iir); 4641 pragma Assert (Has_Sensitivity_List (Get_Kind (Wait)), 4642 "no field Sensitivity_List"); 4643 return Iir_To_Iir_List (Get_Field6 (Wait)); 4644 end Get_Sensitivity_List; 4645 4646 procedure Set_Sensitivity_List (Wait : Iir; List : Iir_List) is 4647 begin 4648 pragma Assert (Wait /= Null_Iir); 4649 pragma Assert (Has_Sensitivity_List (Get_Kind (Wait)), 4650 "no field Sensitivity_List"); 4651 Set_Field6 (Wait, Iir_List_To_Iir (List)); 4652 end Set_Sensitivity_List; 4653 4654 function Get_Process_Origin (Proc : Iir) return Iir is 4655 begin 4656 pragma Assert (Proc /= Null_Iir); 4657 pragma Assert (Has_Process_Origin (Get_Kind (Proc)), 4658 "no field Process_Origin"); 4659 return Get_Field8 (Proc); 4660 end Get_Process_Origin; 4661 4662 procedure Set_Process_Origin (Proc : Iir; Orig : Iir) is 4663 begin 4664 pragma Assert (Proc /= Null_Iir); 4665 pragma Assert (Has_Process_Origin (Get_Kind (Proc)), 4666 "no field Process_Origin"); 4667 Set_Field8 (Proc, Orig); 4668 end Set_Process_Origin; 4669 4670 function Get_Package_Origin (Pkg : Iir) return Iir is 4671 begin 4672 pragma Assert (Pkg /= Null_Iir); 4673 pragma Assert (Has_Package_Origin (Get_Kind (Pkg)), 4674 "no field Package_Origin"); 4675 return Get_Field7 (Pkg); 4676 end Get_Package_Origin; 4677 4678 procedure Set_Package_Origin (Pkg : Iir; Orig : Iir) is 4679 begin 4680 pragma Assert (Pkg /= Null_Iir); 4681 pragma Assert (Has_Package_Origin (Get_Kind (Pkg)), 4682 "no field Package_Origin"); 4683 Set_Field7 (Pkg, Orig); 4684 end Set_Package_Origin; 4685 4686 function Get_Condition_Clause (Wait : Iir_Wait_Statement) return Iir is 4687 begin 4688 pragma Assert (Wait /= Null_Iir); 4689 pragma Assert (Has_Condition_Clause (Get_Kind (Wait)), 4690 "no field Condition_Clause"); 4691 return Get_Field5 (Wait); 4692 end Get_Condition_Clause; 4693 4694 procedure Set_Condition_Clause (Wait : Iir_Wait_Statement; Cond : Iir) is 4695 begin 4696 pragma Assert (Wait /= Null_Iir); 4697 pragma Assert (Has_Condition_Clause (Get_Kind (Wait)), 4698 "no field Condition_Clause"); 4699 Set_Field5 (Wait, Cond); 4700 end Set_Condition_Clause; 4701 4702 function Get_Break_Element (Stmt : Iir) return Iir is 4703 begin 4704 pragma Assert (Stmt /= Null_Iir); 4705 pragma Assert (Has_Break_Element (Get_Kind (Stmt)), 4706 "no field Break_Element"); 4707 return Get_Field4 (Stmt); 4708 end Get_Break_Element; 4709 4710 procedure Set_Break_Element (Stmt : Iir; El : Iir) is 4711 begin 4712 pragma Assert (Stmt /= Null_Iir); 4713 pragma Assert (Has_Break_Element (Get_Kind (Stmt)), 4714 "no field Break_Element"); 4715 Set_Field4 (Stmt, El); 4716 end Set_Break_Element; 4717 4718 function Get_Selector_Quantity (Stmt : Iir) return Iir is 4719 begin 4720 pragma Assert (Stmt /= Null_Iir); 4721 pragma Assert (Has_Selector_Quantity (Get_Kind (Stmt)), 4722 "no field Selector_Quantity"); 4723 return Get_Field3 (Stmt); 4724 end Get_Selector_Quantity; 4725 4726 procedure Set_Selector_Quantity (Stmt : Iir; Sel : Iir) is 4727 begin 4728 pragma Assert (Stmt /= Null_Iir); 4729 pragma Assert (Has_Selector_Quantity (Get_Kind (Stmt)), 4730 "no field Selector_Quantity"); 4731 Set_Field3 (Stmt, Sel); 4732 end Set_Selector_Quantity; 4733 4734 function Get_Break_Quantity (Stmt : Iir) return Iir is 4735 begin 4736 pragma Assert (Stmt /= Null_Iir); 4737 pragma Assert (Has_Break_Quantity (Get_Kind (Stmt)), 4738 "no field Break_Quantity"); 4739 return Get_Field4 (Stmt); 4740 end Get_Break_Quantity; 4741 4742 procedure Set_Break_Quantity (Stmt : Iir; Sel : Iir) is 4743 begin 4744 pragma Assert (Stmt /= Null_Iir); 4745 pragma Assert (Has_Break_Quantity (Get_Kind (Stmt)), 4746 "no field Break_Quantity"); 4747 Set_Field4 (Stmt, Sel); 4748 end Set_Break_Quantity; 4749 4750 function Get_Timeout_Clause (Wait : Iir_Wait_Statement) return Iir is 4751 begin 4752 pragma Assert (Wait /= Null_Iir); 4753 pragma Assert (Has_Timeout_Clause (Get_Kind (Wait)), 4754 "no field Timeout_Clause"); 4755 return Get_Field1 (Wait); 4756 end Get_Timeout_Clause; 4757 4758 procedure Set_Timeout_Clause (Wait : Iir_Wait_Statement; Timeout : Iir) is 4759 begin 4760 pragma Assert (Wait /= Null_Iir); 4761 pragma Assert (Has_Timeout_Clause (Get_Kind (Wait)), 4762 "no field Timeout_Clause"); 4763 Set_Field1 (Wait, Timeout); 4764 end Set_Timeout_Clause; 4765 4766 function Get_Postponed_Flag (Target : Iir) return Boolean is 4767 begin 4768 pragma Assert (Target /= Null_Iir); 4769 pragma Assert (Has_Postponed_Flag (Get_Kind (Target)), 4770 "no field Postponed_Flag"); 4771 return Get_Flag3 (Target); 4772 end Get_Postponed_Flag; 4773 4774 procedure Set_Postponed_Flag (Target : Iir; Value : Boolean) is 4775 begin 4776 pragma Assert (Target /= Null_Iir); 4777 pragma Assert (Has_Postponed_Flag (Get_Kind (Target)), 4778 "no field Postponed_Flag"); 4779 Set_Flag3 (Target, Value); 4780 end Set_Postponed_Flag; 4781 4782 function Get_Callees_List (Proc : Iir) return Iir_List is 4783 begin 4784 pragma Assert (Proc /= Null_Iir); 4785 pragma Assert (Has_Callees_List (Get_Kind (Proc)), 4786 "no field Callees_List"); 4787 return Iir_To_Iir_List (Get_Field7 (Proc)); 4788 end Get_Callees_List; 4789 4790 procedure Set_Callees_List (Proc : Iir; List : Iir_List) is 4791 begin 4792 pragma Assert (Proc /= Null_Iir); 4793 pragma Assert (Has_Callees_List (Get_Kind (Proc)), 4794 "no field Callees_List"); 4795 Set_Field7 (Proc, Iir_List_To_Iir (List)); 4796 end Set_Callees_List; 4797 4798 function Get_Passive_Flag (Proc : Iir) return Boolean is 4799 begin 4800 pragma Assert (Proc /= Null_Iir); 4801 pragma Assert (Has_Passive_Flag (Get_Kind (Proc)), 4802 "no field Passive_Flag"); 4803 return Get_Flag2 (Proc); 4804 end Get_Passive_Flag; 4805 4806 procedure Set_Passive_Flag (Proc : Iir; Flag : Boolean) is 4807 begin 4808 pragma Assert (Proc /= Null_Iir); 4809 pragma Assert (Has_Passive_Flag (Get_Kind (Proc)), 4810 "no field Passive_Flag"); 4811 Set_Flag2 (Proc, Flag); 4812 end Set_Passive_Flag; 4813 4814 function Get_Resolution_Function_Flag (Func : Iir) return Boolean is 4815 begin 4816 pragma Assert (Func /= Null_Iir); 4817 pragma Assert (Has_Resolution_Function_Flag (Get_Kind (Func)), 4818 "no field Resolution_Function_Flag"); 4819 return Get_Flag13 (Func); 4820 end Get_Resolution_Function_Flag; 4821 4822 procedure Set_Resolution_Function_Flag (Func : Iir; Flag : Boolean) is 4823 begin 4824 pragma Assert (Func /= Null_Iir); 4825 pragma Assert (Has_Resolution_Function_Flag (Get_Kind (Func)), 4826 "no field Resolution_Function_Flag"); 4827 Set_Flag13 (Func, Flag); 4828 end Set_Resolution_Function_Flag; 4829 4830 function Get_Wait_State (Proc : Iir) return Tri_State_Type is 4831 begin 4832 pragma Assert (Proc /= Null_Iir); 4833 pragma Assert (Has_Wait_State (Get_Kind (Proc)), 4834 "no field Wait_State"); 4835 return Tri_State_Type'Val (Get_State1 (Proc)); 4836 end Get_Wait_State; 4837 4838 procedure Set_Wait_State (Proc : Iir; State : Tri_State_Type) is 4839 begin 4840 pragma Assert (Proc /= Null_Iir); 4841 pragma Assert (Has_Wait_State (Get_Kind (Proc)), 4842 "no field Wait_State"); 4843 Set_State1 (Proc, Tri_State_Type'Pos (State)); 4844 end Set_Wait_State; 4845 4846 function Get_All_Sensitized_State (Proc : Iir) return Iir_All_Sensitized is 4847 begin 4848 pragma Assert (Proc /= Null_Iir); 4849 pragma Assert (Has_All_Sensitized_State (Get_Kind (Proc)), 4850 "no field All_Sensitized_State"); 4851 return Iir_All_Sensitized'Val (Get_State3 (Proc)); 4852 end Get_All_Sensitized_State; 4853 4854 procedure Set_All_Sensitized_State (Proc : Iir; State : Iir_All_Sensitized) 4855 is 4856 begin 4857 pragma Assert (Proc /= Null_Iir); 4858 pragma Assert (Has_All_Sensitized_State (Get_Kind (Proc)), 4859 "no field All_Sensitized_State"); 4860 Set_State3 (Proc, Iir_All_Sensitized'Pos (State)); 4861 end Set_All_Sensitized_State; 4862 4863 function Get_Seen_Flag (Proc : Iir) return Boolean is 4864 begin 4865 pragma Assert (Proc /= Null_Iir); 4866 pragma Assert (Has_Seen_Flag (Get_Kind (Proc)), 4867 "no field Seen_Flag"); 4868 return Get_Flag1 (Proc); 4869 end Get_Seen_Flag; 4870 4871 procedure Set_Seen_Flag (Proc : Iir; Flag : Boolean) is 4872 begin 4873 pragma Assert (Proc /= Null_Iir); 4874 pragma Assert (Has_Seen_Flag (Get_Kind (Proc)), 4875 "no field Seen_Flag"); 4876 Set_Flag1 (Proc, Flag); 4877 end Set_Seen_Flag; 4878 4879 function Get_Pure_Flag (Func : Iir) return Boolean is 4880 begin 4881 pragma Assert (Func /= Null_Iir); 4882 pragma Assert (Has_Pure_Flag (Get_Kind (Func)), 4883 "no field Pure_Flag"); 4884 return Get_Flag2 (Func); 4885 end Get_Pure_Flag; 4886 4887 procedure Set_Pure_Flag (Func : Iir; Flag : Boolean) is 4888 begin 4889 pragma Assert (Func /= Null_Iir); 4890 pragma Assert (Has_Pure_Flag (Get_Kind (Func)), 4891 "no field Pure_Flag"); 4892 Set_Flag2 (Func, Flag); 4893 end Set_Pure_Flag; 4894 4895 function Get_Foreign_Flag (Decl : Iir) return Boolean is 4896 begin 4897 pragma Assert (Decl /= Null_Iir); 4898 pragma Assert (Has_Foreign_Flag (Get_Kind (Decl)), 4899 "no field Foreign_Flag"); 4900 return Get_Flag3 (Decl); 4901 end Get_Foreign_Flag; 4902 4903 procedure Set_Foreign_Flag (Decl : Iir; Flag : Boolean) is 4904 begin 4905 pragma Assert (Decl /= Null_Iir); 4906 pragma Assert (Has_Foreign_Flag (Get_Kind (Decl)), 4907 "no field Foreign_Flag"); 4908 Set_Flag3 (Decl, Flag); 4909 end Set_Foreign_Flag; 4910 4911 function Get_Resolved_Flag (Atype : Iir) return Boolean is 4912 begin 4913 pragma Assert (Atype /= Null_Iir); 4914 pragma Assert (Has_Resolved_Flag (Get_Kind (Atype)), 4915 "no field Resolved_Flag"); 4916 return Get_Flag1 (Atype); 4917 end Get_Resolved_Flag; 4918 4919 procedure Set_Resolved_Flag (Atype : Iir; Flag : Boolean) is 4920 begin 4921 pragma Assert (Atype /= Null_Iir); 4922 pragma Assert (Has_Resolved_Flag (Get_Kind (Atype)), 4923 "no field Resolved_Flag"); 4924 Set_Flag1 (Atype, Flag); 4925 end Set_Resolved_Flag; 4926 4927 function Get_Signal_Type_Flag (Atype : Iir) return Boolean is 4928 begin 4929 pragma Assert (Atype /= Null_Iir); 4930 pragma Assert (Has_Signal_Type_Flag (Get_Kind (Atype)), 4931 "no field Signal_Type_Flag"); 4932 return Get_Flag2 (Atype); 4933 end Get_Signal_Type_Flag; 4934 4935 procedure Set_Signal_Type_Flag (Atype : Iir; Flag : Boolean) is 4936 begin 4937 pragma Assert (Atype /= Null_Iir); 4938 pragma Assert (Has_Signal_Type_Flag (Get_Kind (Atype)), 4939 "no field Signal_Type_Flag"); 4940 Set_Flag2 (Atype, Flag); 4941 end Set_Signal_Type_Flag; 4942 4943 function Get_Has_Signal_Flag (Atype : Iir) return Boolean is 4944 begin 4945 pragma Assert (Atype /= Null_Iir); 4946 pragma Assert (Has_Has_Signal_Flag (Get_Kind (Atype)), 4947 "no field Has_Signal_Flag"); 4948 return Get_Flag3 (Atype); 4949 end Get_Has_Signal_Flag; 4950 4951 procedure Set_Has_Signal_Flag (Atype : Iir; Flag : Boolean) is 4952 begin 4953 pragma Assert (Atype /= Null_Iir); 4954 pragma Assert (Has_Has_Signal_Flag (Get_Kind (Atype)), 4955 "no field Has_Signal_Flag"); 4956 Set_Flag3 (Atype, Flag); 4957 end Set_Has_Signal_Flag; 4958 4959 function Get_Purity_State (Proc : Iir) return Iir_Pure_State is 4960 begin 4961 pragma Assert (Proc /= Null_Iir); 4962 pragma Assert (Has_Purity_State (Get_Kind (Proc)), 4963 "no field Purity_State"); 4964 return Iir_Pure_State'Val (Get_State2 (Proc)); 4965 end Get_Purity_State; 4966 4967 procedure Set_Purity_State (Proc : Iir; State : Iir_Pure_State) is 4968 begin 4969 pragma Assert (Proc /= Null_Iir); 4970 pragma Assert (Has_Purity_State (Get_Kind (Proc)), 4971 "no field Purity_State"); 4972 Set_State2 (Proc, Iir_Pure_State'Pos (State)); 4973 end Set_Purity_State; 4974 4975 function Get_Elab_Flag (Design : Iir) return Boolean is 4976 begin 4977 pragma Assert (Design /= Null_Iir); 4978 pragma Assert (Has_Elab_Flag (Get_Kind (Design)), 4979 "no field Elab_Flag"); 4980 return Get_Flag3 (Design); 4981 end Get_Elab_Flag; 4982 4983 procedure Set_Elab_Flag (Design : Iir; Flag : Boolean) is 4984 begin 4985 pragma Assert (Design /= Null_Iir); 4986 pragma Assert (Has_Elab_Flag (Get_Kind (Design)), 4987 "no field Elab_Flag"); 4988 Set_Flag3 (Design, Flag); 4989 end Set_Elab_Flag; 4990 4991 function Get_Vendor_Library_Flag (Lib : Iir) return Boolean is 4992 begin 4993 pragma Assert (Lib /= Null_Iir); 4994 pragma Assert (Has_Vendor_Library_Flag (Get_Kind (Lib)), 4995 "no field Vendor_Library_Flag"); 4996 return Get_Flag1 (Lib); 4997 end Get_Vendor_Library_Flag; 4998 4999 procedure Set_Vendor_Library_Flag (Lib : Iir; Flag : Boolean) is 5000 begin 5001 pragma Assert (Lib /= Null_Iir); 5002 pragma Assert (Has_Vendor_Library_Flag (Get_Kind (Lib)), 5003 "no field Vendor_Library_Flag"); 5004 Set_Flag1 (Lib, Flag); 5005 end Set_Vendor_Library_Flag; 5006 5007 function Get_Configuration_Mark_Flag (Design : Iir) return Boolean is 5008 begin 5009 pragma Assert (Design /= Null_Iir); 5010 pragma Assert (Has_Configuration_Mark_Flag (Get_Kind (Design)), 5011 "no field Configuration_Mark_Flag"); 5012 return Get_Flag4 (Design); 5013 end Get_Configuration_Mark_Flag; 5014 5015 procedure Set_Configuration_Mark_Flag (Design : Iir; Flag : Boolean) is 5016 begin 5017 pragma Assert (Design /= Null_Iir); 5018 pragma Assert (Has_Configuration_Mark_Flag (Get_Kind (Design)), 5019 "no field Configuration_Mark_Flag"); 5020 Set_Flag4 (Design, Flag); 5021 end Set_Configuration_Mark_Flag; 5022 5023 function Get_Configuration_Done_Flag (Design : Iir) return Boolean is 5024 begin 5025 pragma Assert (Design /= Null_Iir); 5026 pragma Assert (Has_Configuration_Done_Flag (Get_Kind (Design)), 5027 "no field Configuration_Done_Flag"); 5028 return Get_Flag5 (Design); 5029 end Get_Configuration_Done_Flag; 5030 5031 procedure Set_Configuration_Done_Flag (Design : Iir; Flag : Boolean) is 5032 begin 5033 pragma Assert (Design /= Null_Iir); 5034 pragma Assert (Has_Configuration_Done_Flag (Get_Kind (Design)), 5035 "no field Configuration_Done_Flag"); 5036 Set_Flag5 (Design, Flag); 5037 end Set_Configuration_Done_Flag; 5038 5039 function Get_Index_Constraint_Flag (Atype : Iir) return Boolean is 5040 begin 5041 pragma Assert (Atype /= Null_Iir); 5042 pragma Assert (Has_Index_Constraint_Flag (Get_Kind (Atype)), 5043 "no field Index_Constraint_Flag"); 5044 return Get_Flag4 (Atype); 5045 end Get_Index_Constraint_Flag; 5046 5047 procedure Set_Index_Constraint_Flag (Atype : Iir; Flag : Boolean) is 5048 begin 5049 pragma Assert (Atype /= Null_Iir); 5050 pragma Assert (Has_Index_Constraint_Flag (Get_Kind (Atype)), 5051 "no field Index_Constraint_Flag"); 5052 Set_Flag4 (Atype, Flag); 5053 end Set_Index_Constraint_Flag; 5054 5055 function Get_Hide_Implicit_Flag (Subprg : Iir) return Boolean is 5056 begin 5057 pragma Assert (Subprg /= Null_Iir); 5058 pragma Assert (Has_Hide_Implicit_Flag (Get_Kind (Subprg)), 5059 "no field Hide_Implicit_Flag"); 5060 return Get_Flag12 (Subprg); 5061 end Get_Hide_Implicit_Flag; 5062 5063 procedure Set_Hide_Implicit_Flag (Subprg : Iir; Flag : Boolean) is 5064 begin 5065 pragma Assert (Subprg /= Null_Iir); 5066 pragma Assert (Has_Hide_Implicit_Flag (Get_Kind (Subprg)), 5067 "no field Hide_Implicit_Flag"); 5068 Set_Flag12 (Subprg, Flag); 5069 end Set_Hide_Implicit_Flag; 5070 5071 function Get_Assertion_Condition (Target : Iir) return Iir is 5072 begin 5073 pragma Assert (Target /= Null_Iir); 5074 pragma Assert (Has_Assertion_Condition (Get_Kind (Target)), 5075 "no field Assertion_Condition"); 5076 return Get_Field1 (Target); 5077 end Get_Assertion_Condition; 5078 5079 procedure Set_Assertion_Condition (Target : Iir; Cond : Iir) is 5080 begin 5081 pragma Assert (Target /= Null_Iir); 5082 pragma Assert (Has_Assertion_Condition (Get_Kind (Target)), 5083 "no field Assertion_Condition"); 5084 Set_Field1 (Target, Cond); 5085 end Set_Assertion_Condition; 5086 5087 function Get_Report_Expression (Target : Iir) return Iir is 5088 begin 5089 pragma Assert (Target /= Null_Iir); 5090 pragma Assert (Has_Report_Expression (Get_Kind (Target)), 5091 "no field Report_Expression"); 5092 return Get_Field5 (Target); 5093 end Get_Report_Expression; 5094 5095 procedure Set_Report_Expression (Target : Iir; Expr : Iir) is 5096 begin 5097 pragma Assert (Target /= Null_Iir); 5098 pragma Assert (Has_Report_Expression (Get_Kind (Target)), 5099 "no field Report_Expression"); 5100 Set_Field5 (Target, Expr); 5101 end Set_Report_Expression; 5102 5103 function Get_Severity_Expression (Target : Iir) return Iir is 5104 begin 5105 pragma Assert (Target /= Null_Iir); 5106 pragma Assert (Has_Severity_Expression (Get_Kind (Target)), 5107 "no field Severity_Expression"); 5108 return Get_Field4 (Target); 5109 end Get_Severity_Expression; 5110 5111 procedure Set_Severity_Expression (Target : Iir; Expr : Iir) is 5112 begin 5113 pragma Assert (Target /= Null_Iir); 5114 pragma Assert (Has_Severity_Expression (Get_Kind (Target)), 5115 "no field Severity_Expression"); 5116 Set_Field4 (Target, Expr); 5117 end Set_Severity_Expression; 5118 5119 function Get_Instantiated_Unit (Target : Iir) return Iir is 5120 begin 5121 pragma Assert (Target /= Null_Iir); 5122 pragma Assert (Has_Instantiated_Unit (Get_Kind (Target)), 5123 "no field Instantiated_Unit"); 5124 return Get_Field1 (Target); 5125 end Get_Instantiated_Unit; 5126 5127 procedure Set_Instantiated_Unit (Target : Iir; Unit : Iir) is 5128 begin 5129 pragma Assert (Target /= Null_Iir); 5130 pragma Assert (Has_Instantiated_Unit (Get_Kind (Target)), 5131 "no field Instantiated_Unit"); 5132 Set_Field1 (Target, Unit); 5133 end Set_Instantiated_Unit; 5134 5135 function Get_Generic_Map_Aspect_Chain (Target : Iir) return Iir is 5136 begin 5137 pragma Assert (Target /= Null_Iir); 5138 pragma Assert (Has_Generic_Map_Aspect_Chain (Get_Kind (Target)), 5139 "no field Generic_Map_Aspect_Chain"); 5140 return Get_Field8 (Target); 5141 end Get_Generic_Map_Aspect_Chain; 5142 5143 procedure Set_Generic_Map_Aspect_Chain (Target : Iir; Generics : Iir) is 5144 begin 5145 pragma Assert (Target /= Null_Iir); 5146 pragma Assert (Has_Generic_Map_Aspect_Chain (Get_Kind (Target)), 5147 "no field Generic_Map_Aspect_Chain"); 5148 Set_Field8 (Target, Generics); 5149 end Set_Generic_Map_Aspect_Chain; 5150 5151 function Get_Port_Map_Aspect_Chain (Target : Iir) return Iir is 5152 begin 5153 pragma Assert (Target /= Null_Iir); 5154 pragma Assert (Has_Port_Map_Aspect_Chain (Get_Kind (Target)), 5155 "no field Port_Map_Aspect_Chain"); 5156 return Get_Field9 (Target); 5157 end Get_Port_Map_Aspect_Chain; 5158 5159 procedure Set_Port_Map_Aspect_Chain (Target : Iir; Port : Iir) is 5160 begin 5161 pragma Assert (Target /= Null_Iir); 5162 pragma Assert (Has_Port_Map_Aspect_Chain (Get_Kind (Target)), 5163 "no field Port_Map_Aspect_Chain"); 5164 Set_Field9 (Target, Port); 5165 end Set_Port_Map_Aspect_Chain; 5166 5167 function Get_Configuration_Name (Target : Iir) return Iir is 5168 begin 5169 pragma Assert (Target /= Null_Iir); 5170 pragma Assert (Has_Configuration_Name (Get_Kind (Target)), 5171 "no field Configuration_Name"); 5172 return Get_Field1 (Target); 5173 end Get_Configuration_Name; 5174 5175 procedure Set_Configuration_Name (Target : Iir; Conf : Iir) is 5176 begin 5177 pragma Assert (Target /= Null_Iir); 5178 pragma Assert (Has_Configuration_Name (Get_Kind (Target)), 5179 "no field Configuration_Name"); 5180 Set_Field1 (Target, Conf); 5181 end Set_Configuration_Name; 5182 5183 function Get_Component_Configuration (Target : Iir) return Iir is 5184 begin 5185 pragma Assert (Target /= Null_Iir); 5186 pragma Assert (Has_Component_Configuration (Get_Kind (Target)), 5187 "no field Component_Configuration"); 5188 return Get_Field6 (Target); 5189 end Get_Component_Configuration; 5190 5191 procedure Set_Component_Configuration (Target : Iir; Conf : Iir) is 5192 begin 5193 pragma Assert (Target /= Null_Iir); 5194 pragma Assert (Has_Component_Configuration (Get_Kind (Target)), 5195 "no field Component_Configuration"); 5196 Set_Field6 (Target, Conf); 5197 end Set_Component_Configuration; 5198 5199 function Get_Configuration_Specification (Target : Iir) return Iir is 5200 begin 5201 pragma Assert (Target /= Null_Iir); 5202 pragma Assert (Has_Configuration_Specification (Get_Kind (Target)), 5203 "no field Configuration_Specification"); 5204 return Get_Field7 (Target); 5205 end Get_Configuration_Specification; 5206 5207 procedure Set_Configuration_Specification (Target : Iir; Conf : Iir) is 5208 begin 5209 pragma Assert (Target /= Null_Iir); 5210 pragma Assert (Has_Configuration_Specification (Get_Kind (Target)), 5211 "no field Configuration_Specification"); 5212 Set_Field7 (Target, Conf); 5213 end Set_Configuration_Specification; 5214 5215 function Get_Default_Binding_Indication (Target : Iir) return Iir is 5216 begin 5217 pragma Assert (Target /= Null_Iir); 5218 pragma Assert (Has_Default_Binding_Indication (Get_Kind (Target)), 5219 "no field Default_Binding_Indication"); 5220 return Get_Field5 (Target); 5221 end Get_Default_Binding_Indication; 5222 5223 procedure Set_Default_Binding_Indication (Target : Iir; Conf : Iir) is 5224 begin 5225 pragma Assert (Target /= Null_Iir); 5226 pragma Assert (Has_Default_Binding_Indication (Get_Kind (Target)), 5227 "no field Default_Binding_Indication"); 5228 Set_Field5 (Target, Conf); 5229 end Set_Default_Binding_Indication; 5230 5231 function Get_Default_Configuration_Declaration (Target : Iir) return Iir is 5232 begin 5233 pragma Assert (Target /= Null_Iir); 5234 pragma Assert (Has_Default_Configuration_Declaration (Get_Kind (Target)), 5235 "no field Default_Configuration_Declaration"); 5236 return Get_Field6 (Target); 5237 end Get_Default_Configuration_Declaration; 5238 5239 procedure Set_Default_Configuration_Declaration (Target : Iir; Conf : Iir) 5240 is 5241 begin 5242 pragma Assert (Target /= Null_Iir); 5243 pragma Assert (Has_Default_Configuration_Declaration (Get_Kind (Target)), 5244 "no field Default_Configuration_Declaration"); 5245 Set_Field6 (Target, Conf); 5246 end Set_Default_Configuration_Declaration; 5247 5248 function Get_Expression (Target : Iir) return Iir is 5249 begin 5250 pragma Assert (Target /= Null_Iir); 5251 pragma Assert (Has_Expression (Get_Kind (Target)), 5252 "no field Expression"); 5253 return Get_Field5 (Target); 5254 end Get_Expression; 5255 5256 procedure Set_Expression (Target : Iir; Expr : Iir) is 5257 begin 5258 pragma Assert (Target /= Null_Iir); 5259 pragma Assert (Has_Expression (Get_Kind (Target)), 5260 "no field Expression"); 5261 Set_Field5 (Target, Expr); 5262 end Set_Expression; 5263 5264 function Get_Conditional_Expression_Chain (Target : Iir) return Iir is 5265 begin 5266 pragma Assert (Target /= Null_Iir); 5267 pragma Assert (Has_Conditional_Expression_Chain (Get_Kind (Target)), 5268 "no field Conditional_Expression_Chain"); 5269 return Get_Field5 (Target); 5270 end Get_Conditional_Expression_Chain; 5271 5272 procedure Set_Conditional_Expression_Chain (Target : Iir; Chain : Iir) is 5273 begin 5274 pragma Assert (Target /= Null_Iir); 5275 pragma Assert (Has_Conditional_Expression_Chain (Get_Kind (Target)), 5276 "no field Conditional_Expression_Chain"); 5277 Set_Field5 (Target, Chain); 5278 end Set_Conditional_Expression_Chain; 5279 5280 function Get_Allocator_Designated_Type (Target : Iir) return Iir is 5281 begin 5282 pragma Assert (Target /= Null_Iir); 5283 pragma Assert (Has_Allocator_Designated_Type (Get_Kind (Target)), 5284 "no field Allocator_Designated_Type"); 5285 return Get_Field2 (Target); 5286 end Get_Allocator_Designated_Type; 5287 5288 procedure Set_Allocator_Designated_Type (Target : Iir; A_Type : Iir) is 5289 begin 5290 pragma Assert (Target /= Null_Iir); 5291 pragma Assert (Has_Allocator_Designated_Type (Get_Kind (Target)), 5292 "no field Allocator_Designated_Type"); 5293 Set_Field2 (Target, A_Type); 5294 end Set_Allocator_Designated_Type; 5295 5296 function Get_Selected_Waveform_Chain (Target : Iir) return Iir is 5297 begin 5298 pragma Assert (Target /= Null_Iir); 5299 pragma Assert (Has_Selected_Waveform_Chain (Get_Kind (Target)), 5300 "no field Selected_Waveform_Chain"); 5301 return Get_Field7 (Target); 5302 end Get_Selected_Waveform_Chain; 5303 5304 procedure Set_Selected_Waveform_Chain (Target : Iir; Chain : Iir) is 5305 begin 5306 pragma Assert (Target /= Null_Iir); 5307 pragma Assert (Has_Selected_Waveform_Chain (Get_Kind (Target)), 5308 "no field Selected_Waveform_Chain"); 5309 Set_Field7 (Target, Chain); 5310 end Set_Selected_Waveform_Chain; 5311 5312 function Get_Conditional_Waveform_Chain (Target : Iir) return Iir is 5313 begin 5314 pragma Assert (Target /= Null_Iir); 5315 pragma Assert (Has_Conditional_Waveform_Chain (Get_Kind (Target)), 5316 "no field Conditional_Waveform_Chain"); 5317 return Get_Field5 (Target); 5318 end Get_Conditional_Waveform_Chain; 5319 5320 procedure Set_Conditional_Waveform_Chain (Target : Iir; Chain : Iir) is 5321 begin 5322 pragma Assert (Target /= Null_Iir); 5323 pragma Assert (Has_Conditional_Waveform_Chain (Get_Kind (Target)), 5324 "no field Conditional_Waveform_Chain"); 5325 Set_Field5 (Target, Chain); 5326 end Set_Conditional_Waveform_Chain; 5327 5328 function Get_Guard_Expression (Target : Iir) return Iir is 5329 begin 5330 pragma Assert (Target /= Null_Iir); 5331 pragma Assert (Has_Guard_Expression (Get_Kind (Target)), 5332 "no field Guard_Expression"); 5333 return Get_Field2 (Target); 5334 end Get_Guard_Expression; 5335 5336 procedure Set_Guard_Expression (Target : Iir; Expr : Iir) is 5337 begin 5338 pragma Assert (Target /= Null_Iir); 5339 pragma Assert (Has_Guard_Expression (Get_Kind (Target)), 5340 "no field Guard_Expression"); 5341 Set_Field2 (Target, Expr); 5342 end Set_Guard_Expression; 5343 5344 function Get_Guard_Decl (Target : Iir_Block_Statement) return Iir is 5345 begin 5346 pragma Assert (Target /= Null_Iir); 5347 pragma Assert (Has_Guard_Decl (Get_Kind (Target)), 5348 "no field Guard_Decl"); 5349 return Get_Field8 (Target); 5350 end Get_Guard_Decl; 5351 5352 procedure Set_Guard_Decl (Target : Iir_Block_Statement; Decl : Iir) is 5353 begin 5354 pragma Assert (Target /= Null_Iir); 5355 pragma Assert (Has_Guard_Decl (Get_Kind (Target)), 5356 "no field Guard_Decl"); 5357 Set_Field8 (Target, Decl); 5358 end Set_Guard_Decl; 5359 5360 function Get_Guard_Sensitivity_List (Guard : Iir) return Iir_List is 5361 begin 5362 pragma Assert (Guard /= Null_Iir); 5363 pragma Assert (Has_Guard_Sensitivity_List (Get_Kind (Guard)), 5364 "no field Guard_Sensitivity_List"); 5365 return Iir_To_Iir_List (Get_Field4 (Guard)); 5366 end Get_Guard_Sensitivity_List; 5367 5368 procedure Set_Guard_Sensitivity_List (Guard : Iir; List : Iir_List) is 5369 begin 5370 pragma Assert (Guard /= Null_Iir); 5371 pragma Assert (Has_Guard_Sensitivity_List (Get_Kind (Guard)), 5372 "no field Guard_Sensitivity_List"); 5373 Set_Field4 (Guard, Iir_List_To_Iir (List)); 5374 end Set_Guard_Sensitivity_List; 5375 5376 function Get_Signal_Attribute_Chain (Decl : Iir) return Iir is 5377 begin 5378 pragma Assert (Decl /= Null_Iir); 5379 pragma Assert (Has_Signal_Attribute_Chain (Get_Kind (Decl)), 5380 "no field Signal_Attribute_Chain"); 5381 return Get_Field3 (Decl); 5382 end Get_Signal_Attribute_Chain; 5383 5384 procedure Set_Signal_Attribute_Chain (Decl : Iir; Chain : Iir) is 5385 begin 5386 pragma Assert (Decl /= Null_Iir); 5387 pragma Assert (Has_Signal_Attribute_Chain (Get_Kind (Decl)), 5388 "no field Signal_Attribute_Chain"); 5389 Set_Field3 (Decl, Chain); 5390 end Set_Signal_Attribute_Chain; 5391 5392 function Get_Block_Block_Configuration (Block : Iir) return Iir is 5393 begin 5394 pragma Assert (Block /= Null_Iir); 5395 pragma Assert (Has_Block_Block_Configuration (Get_Kind (Block)), 5396 "no field Block_Block_Configuration"); 5397 return Get_Field6 (Block); 5398 end Get_Block_Block_Configuration; 5399 5400 procedure Set_Block_Block_Configuration (Block : Iir; Conf : Iir) is 5401 begin 5402 pragma Assert (Block /= Null_Iir); 5403 pragma Assert (Has_Block_Block_Configuration (Get_Kind (Block)), 5404 "no field Block_Block_Configuration"); 5405 Set_Field6 (Block, Conf); 5406 end Set_Block_Block_Configuration; 5407 5408 function Get_Package_Header (Pkg : Iir) return Iir is 5409 begin 5410 pragma Assert (Pkg /= Null_Iir); 5411 pragma Assert (Has_Package_Header (Get_Kind (Pkg)), 5412 "no field Package_Header"); 5413 return Get_Field6 (Pkg); 5414 end Get_Package_Header; 5415 5416 procedure Set_Package_Header (Pkg : Iir; Header : Iir) is 5417 begin 5418 pragma Assert (Pkg /= Null_Iir); 5419 pragma Assert (Has_Package_Header (Get_Kind (Pkg)), 5420 "no field Package_Header"); 5421 Set_Field6 (Pkg, Header); 5422 end Set_Package_Header; 5423 5424 function Get_Block_Header (Target : Iir) return Iir is 5425 begin 5426 pragma Assert (Target /= Null_Iir); 5427 pragma Assert (Has_Block_Header (Get_Kind (Target)), 5428 "no field Block_Header"); 5429 return Get_Field7 (Target); 5430 end Get_Block_Header; 5431 5432 procedure Set_Block_Header (Target : Iir; Header : Iir) is 5433 begin 5434 pragma Assert (Target /= Null_Iir); 5435 pragma Assert (Has_Block_Header (Get_Kind (Target)), 5436 "no field Block_Header"); 5437 Set_Field7 (Target, Header); 5438 end Set_Block_Header; 5439 5440 function Get_Uninstantiated_Package_Name (Inst : Iir) return Iir is 5441 begin 5442 pragma Assert (Inst /= Null_Iir); 5443 pragma Assert (Has_Uninstantiated_Package_Name (Get_Kind (Inst)), 5444 "no field Uninstantiated_Package_Name"); 5445 return Get_Field7 (Inst); 5446 end Get_Uninstantiated_Package_Name; 5447 5448 procedure Set_Uninstantiated_Package_Name (Inst : Iir; Name : Iir) is 5449 begin 5450 pragma Assert (Inst /= Null_Iir); 5451 pragma Assert (Has_Uninstantiated_Package_Name (Get_Kind (Inst)), 5452 "no field Uninstantiated_Package_Name"); 5453 Set_Field7 (Inst, Name); 5454 end Set_Uninstantiated_Package_Name; 5455 5456 function Get_Uninstantiated_Package_Decl (Inst : Iir) return Iir is 5457 begin 5458 pragma Assert (Inst /= Null_Iir); 5459 pragma Assert (Has_Uninstantiated_Package_Decl (Get_Kind (Inst)), 5460 "no field Uninstantiated_Package_Decl"); 5461 return Get_Field9 (Inst); 5462 end Get_Uninstantiated_Package_Decl; 5463 5464 procedure Set_Uninstantiated_Package_Decl (Inst : Iir; Pkg : Iir) is 5465 begin 5466 pragma Assert (Inst /= Null_Iir); 5467 pragma Assert (Has_Uninstantiated_Package_Decl (Get_Kind (Inst)), 5468 "no field Uninstantiated_Package_Decl"); 5469 Set_Field9 (Inst, Pkg); 5470 end Set_Uninstantiated_Package_Decl; 5471 5472 function Get_Instance_Source_File (Inst : Iir) return Source_File_Entry is 5473 begin 5474 pragma Assert (Inst /= Null_Iir); 5475 pragma Assert (Has_Instance_Source_File (Get_Kind (Inst)), 5476 "no field Instance_Source_File"); 5477 return Iir_To_Source_File_Entry (Get_Field10 (Inst)); 5478 end Get_Instance_Source_File; 5479 5480 procedure Set_Instance_Source_File (Inst : Iir; File : Source_File_Entry) 5481 is 5482 begin 5483 pragma Assert (Inst /= Null_Iir); 5484 pragma Assert (Has_Instance_Source_File (Get_Kind (Inst)), 5485 "no field Instance_Source_File"); 5486 Set_Field10 (Inst, Source_File_Entry_To_Iir (File)); 5487 end Set_Instance_Source_File; 5488 5489 function Get_Generate_Block_Configuration (Target : Iir) return Iir is 5490 begin 5491 pragma Assert (Target /= Null_Iir); 5492 pragma Assert (Has_Generate_Block_Configuration (Get_Kind (Target)), 5493 "no field Generate_Block_Configuration"); 5494 return Get_Field2 (Target); 5495 end Get_Generate_Block_Configuration; 5496 5497 procedure Set_Generate_Block_Configuration (Target : Iir; Conf : Iir) is 5498 begin 5499 pragma Assert (Target /= Null_Iir); 5500 pragma Assert (Has_Generate_Block_Configuration (Get_Kind (Target)), 5501 "no field Generate_Block_Configuration"); 5502 Set_Field2 (Target, Conf); 5503 end Set_Generate_Block_Configuration; 5504 5505 function Get_Generate_Statement_Body (Target : Iir) return Iir is 5506 begin 5507 pragma Assert (Target /= Null_Iir); 5508 pragma Assert (Has_Generate_Statement_Body (Get_Kind (Target)), 5509 "no field Generate_Statement_Body"); 5510 return Get_Field4 (Target); 5511 end Get_Generate_Statement_Body; 5512 5513 procedure Set_Generate_Statement_Body (Target : Iir; Bod : Iir) is 5514 begin 5515 pragma Assert (Target /= Null_Iir); 5516 pragma Assert (Has_Generate_Statement_Body (Get_Kind (Target)), 5517 "no field Generate_Statement_Body"); 5518 Set_Field4 (Target, Bod); 5519 end Set_Generate_Statement_Body; 5520 5521 function Get_Alternative_Label (Target : Iir) return Name_Id is 5522 begin 5523 pragma Assert (Target /= Null_Iir); 5524 pragma Assert (Has_Alternative_Label (Get_Kind (Target)), 5525 "no field Alternative_Label"); 5526 return Iir_To_Name_Id (Get_Field3 (Target)); 5527 end Get_Alternative_Label; 5528 5529 procedure Set_Alternative_Label (Target : Iir; Label : Name_Id) is 5530 begin 5531 pragma Assert (Target /= Null_Iir); 5532 pragma Assert (Has_Alternative_Label (Get_Kind (Target)), 5533 "no field Alternative_Label"); 5534 Set_Field3 (Target, Name_Id_To_Iir (Label)); 5535 end Set_Alternative_Label; 5536 5537 function Get_Generate_Else_Clause (Target : Iir) return Iir is 5538 begin 5539 pragma Assert (Target /= Null_Iir); 5540 pragma Assert (Has_Generate_Else_Clause (Get_Kind (Target)), 5541 "no field Generate_Else_Clause"); 5542 return Get_Field5 (Target); 5543 end Get_Generate_Else_Clause; 5544 5545 procedure Set_Generate_Else_Clause (Target : Iir; Clause : Iir) is 5546 begin 5547 pragma Assert (Target /= Null_Iir); 5548 pragma Assert (Has_Generate_Else_Clause (Get_Kind (Target)), 5549 "no field Generate_Else_Clause"); 5550 Set_Field5 (Target, Clause); 5551 end Set_Generate_Else_Clause; 5552 5553 function Get_Condition (Target : Iir) return Iir is 5554 begin 5555 pragma Assert (Target /= Null_Iir); 5556 pragma Assert (Has_Condition (Get_Kind (Target)), 5557 "no field Condition"); 5558 return Get_Field1 (Target); 5559 end Get_Condition; 5560 5561 procedure Set_Condition (Target : Iir; Condition : Iir) is 5562 begin 5563 pragma Assert (Target /= Null_Iir); 5564 pragma Assert (Has_Condition (Get_Kind (Target)), 5565 "no field Condition"); 5566 Set_Field1 (Target, Condition); 5567 end Set_Condition; 5568 5569 function Get_Else_Clause (Target : Iir) return Iir is 5570 begin 5571 pragma Assert (Target /= Null_Iir); 5572 pragma Assert (Has_Else_Clause (Get_Kind (Target)), 5573 "no field Else_Clause"); 5574 return Get_Field5 (Target); 5575 end Get_Else_Clause; 5576 5577 procedure Set_Else_Clause (Target : Iir; Clause : Iir) is 5578 begin 5579 pragma Assert (Target /= Null_Iir); 5580 pragma Assert (Has_Else_Clause (Get_Kind (Target)), 5581 "no field Else_Clause"); 5582 Set_Field5 (Target, Clause); 5583 end Set_Else_Clause; 5584 5585 function Get_Parameter_Specification (Target : Iir) return Iir is 5586 begin 5587 pragma Assert (Target /= Null_Iir); 5588 pragma Assert (Has_Parameter_Specification (Get_Kind (Target)), 5589 "no field Parameter_Specification"); 5590 return Get_Field1 (Target); 5591 end Get_Parameter_Specification; 5592 5593 procedure Set_Parameter_Specification (Target : Iir; Param : Iir) is 5594 begin 5595 pragma Assert (Target /= Null_Iir); 5596 pragma Assert (Has_Parameter_Specification (Get_Kind (Target)), 5597 "no field Parameter_Specification"); 5598 Set_Field1 (Target, Param); 5599 end Set_Parameter_Specification; 5600 5601 function Get_Parent (Target : Iir) return Iir is 5602 begin 5603 pragma Assert (Target /= Null_Iir); 5604 pragma Assert (Has_Parent (Get_Kind (Target)), 5605 "no field Parent"); 5606 return Get_Field0 (Target); 5607 end Get_Parent; 5608 5609 procedure Set_Parent (Target : Iir; Parent : Iir) is 5610 begin 5611 pragma Assert (Target /= Null_Iir); 5612 pragma Assert (Has_Parent (Get_Kind (Target)), 5613 "no field Parent"); 5614 Set_Field0 (Target, Parent); 5615 end Set_Parent; 5616 5617 function Get_Loop_Label (Target : Iir) return Iir is 5618 begin 5619 pragma Assert (Target /= Null_Iir); 5620 pragma Assert (Has_Loop_Label (Get_Kind (Target)), 5621 "no field Loop_Label"); 5622 return Get_Field5 (Target); 5623 end Get_Loop_Label; 5624 5625 procedure Set_Loop_Label (Target : Iir; Stmt : Iir) is 5626 begin 5627 pragma Assert (Target /= Null_Iir); 5628 pragma Assert (Has_Loop_Label (Get_Kind (Target)), 5629 "no field Loop_Label"); 5630 Set_Field5 (Target, Stmt); 5631 end Set_Loop_Label; 5632 5633 function Get_Exit_Flag (Stmt : Iir) return Boolean is 5634 begin 5635 pragma Assert (Stmt /= Null_Iir); 5636 pragma Assert (Has_Exit_Flag (Get_Kind (Stmt)), 5637 "no field Exit_Flag"); 5638 return Get_Flag1 (Stmt); 5639 end Get_Exit_Flag; 5640 5641 procedure Set_Exit_Flag (Stmt : Iir; Flag : Boolean) is 5642 begin 5643 pragma Assert (Stmt /= Null_Iir); 5644 pragma Assert (Has_Exit_Flag (Get_Kind (Stmt)), 5645 "no field Exit_Flag"); 5646 Set_Flag1 (Stmt, Flag); 5647 end Set_Exit_Flag; 5648 5649 function Get_Next_Flag (Stmt : Iir) return Boolean is 5650 begin 5651 pragma Assert (Stmt /= Null_Iir); 5652 pragma Assert (Has_Next_Flag (Get_Kind (Stmt)), 5653 "no field Next_Flag"); 5654 return Get_Flag2 (Stmt); 5655 end Get_Next_Flag; 5656 5657 procedure Set_Next_Flag (Stmt : Iir; Flag : Boolean) is 5658 begin 5659 pragma Assert (Stmt /= Null_Iir); 5660 pragma Assert (Has_Next_Flag (Get_Kind (Stmt)), 5661 "no field Next_Flag"); 5662 Set_Flag2 (Stmt, Flag); 5663 end Set_Next_Flag; 5664 5665 function Get_Component_Name (Target : Iir) return Iir is 5666 begin 5667 pragma Assert (Target /= Null_Iir); 5668 pragma Assert (Has_Component_Name (Get_Kind (Target)), 5669 "no field Component_Name"); 5670 return Get_Field5 (Target); 5671 end Get_Component_Name; 5672 5673 procedure Set_Component_Name (Target : Iir; Name : Iir) is 5674 begin 5675 pragma Assert (Target /= Null_Iir); 5676 pragma Assert (Has_Component_Name (Get_Kind (Target)), 5677 "no field Component_Name"); 5678 Set_Field5 (Target, Name); 5679 end Set_Component_Name; 5680 5681 function Get_Instantiation_List (Target : Iir) return Iir_Flist is 5682 begin 5683 pragma Assert (Target /= Null_Iir); 5684 pragma Assert (Has_Instantiation_List (Get_Kind (Target)), 5685 "no field Instantiation_List"); 5686 return Iir_To_Iir_Flist (Get_Field1 (Target)); 5687 end Get_Instantiation_List; 5688 5689 procedure Set_Instantiation_List (Target : Iir; List : Iir_Flist) is 5690 begin 5691 pragma Assert (Target /= Null_Iir); 5692 pragma Assert (Has_Instantiation_List (Get_Kind (Target)), 5693 "no field Instantiation_List"); 5694 Set_Field1 (Target, Iir_Flist_To_Iir (List)); 5695 end Set_Instantiation_List; 5696 5697 function Get_Entity_Aspect (Target : Iir_Binding_Indication) return Iir is 5698 begin 5699 pragma Assert (Target /= Null_Iir); 5700 pragma Assert (Has_Entity_Aspect (Get_Kind (Target)), 5701 "no field Entity_Aspect"); 5702 return Get_Field3 (Target); 5703 end Get_Entity_Aspect; 5704 5705 procedure Set_Entity_Aspect (Target : Iir_Binding_Indication; Entity : Iir) 5706 is 5707 begin 5708 pragma Assert (Target /= Null_Iir); 5709 pragma Assert (Has_Entity_Aspect (Get_Kind (Target)), 5710 "no field Entity_Aspect"); 5711 Set_Field3 (Target, Entity); 5712 end Set_Entity_Aspect; 5713 5714 function Get_Default_Entity_Aspect (Target : Iir) return Iir is 5715 begin 5716 pragma Assert (Target /= Null_Iir); 5717 pragma Assert (Has_Default_Entity_Aspect (Get_Kind (Target)), 5718 "no field Default_Entity_Aspect"); 5719 return Get_Field1 (Target); 5720 end Get_Default_Entity_Aspect; 5721 5722 procedure Set_Default_Entity_Aspect (Target : Iir; Aspect : Iir) is 5723 begin 5724 pragma Assert (Target /= Null_Iir); 5725 pragma Assert (Has_Default_Entity_Aspect (Get_Kind (Target)), 5726 "no field Default_Entity_Aspect"); 5727 Set_Field1 (Target, Aspect); 5728 end Set_Default_Entity_Aspect; 5729 5730 function Get_Binding_Indication (Target : Iir) return Iir is 5731 begin 5732 pragma Assert (Target /= Null_Iir); 5733 pragma Assert (Has_Binding_Indication (Get_Kind (Target)), 5734 "no field Binding_Indication"); 5735 return Get_Field3 (Target); 5736 end Get_Binding_Indication; 5737 5738 procedure Set_Binding_Indication (Target : Iir; Binding : Iir) is 5739 begin 5740 pragma Assert (Target /= Null_Iir); 5741 pragma Assert (Has_Binding_Indication (Get_Kind (Target)), 5742 "no field Binding_Indication"); 5743 Set_Field3 (Target, Binding); 5744 end Set_Binding_Indication; 5745 5746 function Get_Named_Entity (Name : Iir) return Iir is 5747 begin 5748 pragma Assert (Name /= Null_Iir); 5749 pragma Assert (Has_Named_Entity (Get_Kind (Name)), 5750 "no field Named_Entity"); 5751 return Get_Field4 (Name); 5752 end Get_Named_Entity; 5753 5754 procedure Set_Named_Entity (Name : Iir; Val : Iir) is 5755 begin 5756 pragma Assert (Name /= Null_Iir); 5757 pragma Assert (Has_Named_Entity (Get_Kind (Name)), 5758 "no field Named_Entity"); 5759 Set_Field4 (Name, Val); 5760 end Set_Named_Entity; 5761 5762 function Get_Alias_Declaration (Name : Iir) return Iir is 5763 begin 5764 pragma Assert (Name /= Null_Iir); 5765 pragma Assert (Has_Alias_Declaration (Get_Kind (Name)), 5766 "no field Alias_Declaration"); 5767 return Get_Field2 (Name); 5768 end Get_Alias_Declaration; 5769 5770 procedure Set_Alias_Declaration (Name : Iir; Val : Iir) is 5771 begin 5772 pragma Assert (Name /= Null_Iir); 5773 pragma Assert (Has_Alias_Declaration (Get_Kind (Name)), 5774 "no field Alias_Declaration"); 5775 Set_Field2 (Name, Val); 5776 end Set_Alias_Declaration; 5777 5778 function Get_Referenced_Name (N : Iir) return Iir is 5779 begin 5780 pragma Assert (N /= Null_Iir); 5781 pragma Assert (Has_Referenced_Name (Get_Kind (N)), 5782 "no field Referenced_Name"); 5783 return Get_Field2 (N); 5784 end Get_Referenced_Name; 5785 5786 procedure Set_Referenced_Name (N : Iir; Name : Iir) is 5787 begin 5788 pragma Assert (N /= Null_Iir); 5789 pragma Assert (Has_Referenced_Name (Get_Kind (N)), 5790 "no field Referenced_Name"); 5791 Set_Field2 (N, Name); 5792 end Set_Referenced_Name; 5793 5794 function Get_Expr_Staticness (Target : Iir) return Iir_Staticness is 5795 begin 5796 pragma Assert (Target /= Null_Iir); 5797 pragma Assert (Has_Expr_Staticness (Get_Kind (Target)), 5798 "no field Expr_Staticness"); 5799 return Iir_Staticness'Val (Get_State1 (Target)); 5800 end Get_Expr_Staticness; 5801 5802 procedure Set_Expr_Staticness (Target : Iir; Static : Iir_Staticness) is 5803 begin 5804 pragma Assert (Target /= Null_Iir); 5805 pragma Assert (Has_Expr_Staticness (Get_Kind (Target)), 5806 "no field Expr_Staticness"); 5807 Set_State1 (Target, Iir_Staticness'Pos (Static)); 5808 end Set_Expr_Staticness; 5809 5810 type Scalar_Size_Conv is record 5811 Flag6: Boolean; 5812 Flag7: Boolean; 5813 end record; 5814 pragma Pack (Scalar_Size_Conv); 5815 pragma Assert (Scalar_Size_Conv'Size = Scalar_Size'Size); 5816 5817 function Get_Scalar_Size (N : Iir) return Scalar_Size 5818 is 5819 function To_Scalar_Size is new Ada.Unchecked_Conversion 5820 (Scalar_Size_Conv, Scalar_Size); 5821 Conv : Scalar_Size_Conv; 5822 begin 5823 pragma Assert (N /= Null_Iir); 5824 pragma Assert (Has_Scalar_Size (Get_Kind (N)), 5825 "no field Scalar_Size"); 5826 Conv.Flag6 := Get_Flag6 (N); 5827 Conv.Flag7 := Get_Flag7 (N); 5828 return To_Scalar_Size (Conv); 5829 end Get_Scalar_Size; 5830 5831 procedure Set_Scalar_Size (N : Iir; Sz : Scalar_Size) 5832 is 5833 function To_Scalar_Size_Conv is new Ada.Unchecked_Conversion 5834 (Scalar_Size, Scalar_Size_Conv); 5835 Conv : Scalar_Size_Conv; 5836 begin 5837 pragma Assert (N /= Null_Iir); 5838 pragma Assert (Has_Scalar_Size (Get_Kind (N)), 5839 "no field Scalar_Size"); 5840 Conv := To_Scalar_Size_Conv (Sz); 5841 Set_Flag6 (N, Conv.Flag6); 5842 Set_Flag7 (N, Conv.Flag7); 5843 end Set_Scalar_Size; 5844 5845 function Get_Error_Origin (Target : Iir) return Iir is 5846 begin 5847 pragma Assert (Target /= Null_Iir); 5848 pragma Assert (Has_Error_Origin (Get_Kind (Target)), 5849 "no field Error_Origin"); 5850 return Get_Field2 (Target); 5851 end Get_Error_Origin; 5852 5853 procedure Set_Error_Origin (Target : Iir; Origin : Iir) is 5854 begin 5855 pragma Assert (Target /= Null_Iir); 5856 pragma Assert (Has_Error_Origin (Get_Kind (Target)), 5857 "no field Error_Origin"); 5858 Set_Field2 (Target, Origin); 5859 end Set_Error_Origin; 5860 5861 function Get_Operand (Target : Iir) return Iir is 5862 begin 5863 pragma Assert (Target /= Null_Iir); 5864 pragma Assert (Has_Operand (Get_Kind (Target)), 5865 "no field Operand"); 5866 return Get_Field2 (Target); 5867 end Get_Operand; 5868 5869 procedure Set_Operand (Target : Iir; An_Iir : Iir) is 5870 begin 5871 pragma Assert (Target /= Null_Iir); 5872 pragma Assert (Has_Operand (Get_Kind (Target)), 5873 "no field Operand"); 5874 Set_Field2 (Target, An_Iir); 5875 end Set_Operand; 5876 5877 function Get_Left (Target : Iir) return Iir is 5878 begin 5879 pragma Assert (Target /= Null_Iir); 5880 pragma Assert (Has_Left (Get_Kind (Target)), 5881 "no field Left"); 5882 return Get_Field2 (Target); 5883 end Get_Left; 5884 5885 procedure Set_Left (Target : Iir; An_Iir : Iir) is 5886 begin 5887 pragma Assert (Target /= Null_Iir); 5888 pragma Assert (Has_Left (Get_Kind (Target)), 5889 "no field Left"); 5890 Set_Field2 (Target, An_Iir); 5891 end Set_Left; 5892 5893 function Get_Right (Target : Iir) return Iir is 5894 begin 5895 pragma Assert (Target /= Null_Iir); 5896 pragma Assert (Has_Right (Get_Kind (Target)), 5897 "no field Right"); 5898 return Get_Field4 (Target); 5899 end Get_Right; 5900 5901 procedure Set_Right (Target : Iir; An_Iir : Iir) is 5902 begin 5903 pragma Assert (Target /= Null_Iir); 5904 pragma Assert (Has_Right (Get_Kind (Target)), 5905 "no field Right"); 5906 Set_Field4 (Target, An_Iir); 5907 end Set_Right; 5908 5909 function Get_Unit_Name (Target : Iir) return Iir is 5910 begin 5911 pragma Assert (Target /= Null_Iir); 5912 pragma Assert (Has_Unit_Name (Get_Kind (Target)), 5913 "no field Unit_Name"); 5914 return Get_Field3 (Target); 5915 end Get_Unit_Name; 5916 5917 procedure Set_Unit_Name (Target : Iir; Name : Iir) is 5918 begin 5919 pragma Assert (Target /= Null_Iir); 5920 pragma Assert (Has_Unit_Name (Get_Kind (Target)), 5921 "no field Unit_Name"); 5922 Set_Field3 (Target, Name); 5923 end Set_Unit_Name; 5924 5925 function Get_Name (Target : Iir) return Iir is 5926 begin 5927 pragma Assert (Target /= Null_Iir); 5928 pragma Assert (Has_Name (Get_Kind (Target)), 5929 "no field Name"); 5930 return Get_Field4 (Target); 5931 end Get_Name; 5932 5933 procedure Set_Name (Target : Iir; Name : Iir) is 5934 begin 5935 pragma Assert (Target /= Null_Iir); 5936 pragma Assert (Has_Name (Get_Kind (Target)), 5937 "no field Name"); 5938 Set_Field4 (Target, Name); 5939 end Set_Name; 5940 5941 function Get_Group_Template_Name (Target : Iir) return Iir is 5942 begin 5943 pragma Assert (Target /= Null_Iir); 5944 pragma Assert (Has_Group_Template_Name (Get_Kind (Target)), 5945 "no field Group_Template_Name"); 5946 return Get_Field5 (Target); 5947 end Get_Group_Template_Name; 5948 5949 procedure Set_Group_Template_Name (Target : Iir; Name : Iir) is 5950 begin 5951 pragma Assert (Target /= Null_Iir); 5952 pragma Assert (Has_Group_Template_Name (Get_Kind (Target)), 5953 "no field Group_Template_Name"); 5954 Set_Field5 (Target, Name); 5955 end Set_Group_Template_Name; 5956 5957 function Get_Name_Staticness (Target : Iir) return Iir_Staticness is 5958 begin 5959 pragma Assert (Target /= Null_Iir); 5960 pragma Assert (Has_Name_Staticness (Get_Kind (Target)), 5961 "no field Name_Staticness"); 5962 return Iir_Staticness'Val (Get_State2 (Target)); 5963 end Get_Name_Staticness; 5964 5965 procedure Set_Name_Staticness (Target : Iir; Static : Iir_Staticness) is 5966 begin 5967 pragma Assert (Target /= Null_Iir); 5968 pragma Assert (Has_Name_Staticness (Get_Kind (Target)), 5969 "no field Name_Staticness"); 5970 Set_State2 (Target, Iir_Staticness'Pos (Static)); 5971 end Set_Name_Staticness; 5972 5973 function Get_Prefix (Target : Iir) return Iir is 5974 begin 5975 pragma Assert (Target /= Null_Iir); 5976 pragma Assert (Has_Prefix (Get_Kind (Target)), 5977 "no field Prefix"); 5978 return Get_Field0 (Target); 5979 end Get_Prefix; 5980 5981 procedure Set_Prefix (Target : Iir; Prefix : Iir) is 5982 begin 5983 pragma Assert (Target /= Null_Iir); 5984 pragma Assert (Has_Prefix (Get_Kind (Target)), 5985 "no field Prefix"); 5986 Set_Field0 (Target, Prefix); 5987 end Set_Prefix; 5988 5989 function Get_Signature_Prefix (Sign : Iir) return Iir is 5990 begin 5991 pragma Assert (Sign /= Null_Iir); 5992 pragma Assert (Has_Signature_Prefix (Get_Kind (Sign)), 5993 "no field Signature_Prefix"); 5994 return Get_Field1 (Sign); 5995 end Get_Signature_Prefix; 5996 5997 procedure Set_Signature_Prefix (Sign : Iir; Prefix : Iir) is 5998 begin 5999 pragma Assert (Sign /= Null_Iir); 6000 pragma Assert (Has_Signature_Prefix (Get_Kind (Sign)), 6001 "no field Signature_Prefix"); 6002 Set_Field1 (Sign, Prefix); 6003 end Set_Signature_Prefix; 6004 6005 function Get_External_Pathname (Name : Iir) return Iir is 6006 begin 6007 pragma Assert (Name /= Null_Iir); 6008 pragma Assert (Has_External_Pathname (Get_Kind (Name)), 6009 "no field External_Pathname"); 6010 return Get_Field3 (Name); 6011 end Get_External_Pathname; 6012 6013 procedure Set_External_Pathname (Name : Iir; Path : Iir) is 6014 begin 6015 pragma Assert (Name /= Null_Iir); 6016 pragma Assert (Has_External_Pathname (Get_Kind (Name)), 6017 "no field External_Pathname"); 6018 Set_Field3 (Name, Path); 6019 end Set_External_Pathname; 6020 6021 function Get_Pathname_Suffix (Path : Iir) return Iir is 6022 begin 6023 pragma Assert (Path /= Null_Iir); 6024 pragma Assert (Has_Pathname_Suffix (Get_Kind (Path)), 6025 "no field Pathname_Suffix"); 6026 return Get_Field2 (Path); 6027 end Get_Pathname_Suffix; 6028 6029 procedure Set_Pathname_Suffix (Path : Iir; Suffix : Iir) is 6030 begin 6031 pragma Assert (Path /= Null_Iir); 6032 pragma Assert (Has_Pathname_Suffix (Get_Kind (Path)), 6033 "no field Pathname_Suffix"); 6034 Set_Field2 (Path, Suffix); 6035 end Set_Pathname_Suffix; 6036 6037 function Get_Pathname_Expression (Path : Iir) return Iir is 6038 begin 6039 pragma Assert (Path /= Null_Iir); 6040 pragma Assert (Has_Pathname_Expression (Get_Kind (Path)), 6041 "no field Pathname_Expression"); 6042 return Get_Field5 (Path); 6043 end Get_Pathname_Expression; 6044 6045 procedure Set_Pathname_Expression (Path : Iir; Expr : Iir) is 6046 begin 6047 pragma Assert (Path /= Null_Iir); 6048 pragma Assert (Has_Pathname_Expression (Get_Kind (Path)), 6049 "no field Pathname_Expression"); 6050 Set_Field5 (Path, Expr); 6051 end Set_Pathname_Expression; 6052 6053 function Get_In_Formal_Flag (Name : Iir) return Boolean is 6054 begin 6055 pragma Assert (Name /= Null_Iir); 6056 pragma Assert (Has_In_Formal_Flag (Get_Kind (Name)), 6057 "no field In_Formal_Flag"); 6058 return Get_Flag4 (Name); 6059 end Get_In_Formal_Flag; 6060 6061 procedure Set_In_Formal_Flag (Name : Iir; Flag : Boolean) is 6062 begin 6063 pragma Assert (Name /= Null_Iir); 6064 pragma Assert (Has_In_Formal_Flag (Get_Kind (Name)), 6065 "no field In_Formal_Flag"); 6066 Set_Flag4 (Name, Flag); 6067 end Set_In_Formal_Flag; 6068 6069 function Get_Slice_Subtype (Slice : Iir) return Iir is 6070 begin 6071 pragma Assert (Slice /= Null_Iir); 6072 pragma Assert (Has_Slice_Subtype (Get_Kind (Slice)), 6073 "no field Slice_Subtype"); 6074 return Get_Field3 (Slice); 6075 end Get_Slice_Subtype; 6076 6077 procedure Set_Slice_Subtype (Slice : Iir; Atype : Iir) is 6078 begin 6079 pragma Assert (Slice /= Null_Iir); 6080 pragma Assert (Has_Slice_Subtype (Get_Kind (Slice)), 6081 "no field Slice_Subtype"); 6082 Set_Field3 (Slice, Atype); 6083 end Set_Slice_Subtype; 6084 6085 function Get_Suffix (Target : Iir) return Iir is 6086 begin 6087 pragma Assert (Target /= Null_Iir); 6088 pragma Assert (Has_Suffix (Get_Kind (Target)), 6089 "no field Suffix"); 6090 return Get_Field2 (Target); 6091 end Get_Suffix; 6092 6093 procedure Set_Suffix (Target : Iir; Suffix : Iir) is 6094 begin 6095 pragma Assert (Target /= Null_Iir); 6096 pragma Assert (Has_Suffix (Get_Kind (Target)), 6097 "no field Suffix"); 6098 Set_Field2 (Target, Suffix); 6099 end Set_Suffix; 6100 6101 function Get_Index_Subtype (Attr : Iir) return Iir is 6102 begin 6103 pragma Assert (Attr /= Null_Iir); 6104 pragma Assert (Has_Index_Subtype (Get_Kind (Attr)), 6105 "no field Index_Subtype"); 6106 return Get_Field2 (Attr); 6107 end Get_Index_Subtype; 6108 6109 procedure Set_Index_Subtype (Attr : Iir; St : Iir) is 6110 begin 6111 pragma Assert (Attr /= Null_Iir); 6112 pragma Assert (Has_Index_Subtype (Get_Kind (Attr)), 6113 "no field Index_Subtype"); 6114 Set_Field2 (Attr, St); 6115 end Set_Index_Subtype; 6116 6117 function Get_Parameter (Target : Iir) return Iir is 6118 begin 6119 pragma Assert (Target /= Null_Iir); 6120 pragma Assert (Has_Parameter (Get_Kind (Target)), 6121 "no field Parameter"); 6122 return Get_Field4 (Target); 6123 end Get_Parameter; 6124 6125 procedure Set_Parameter (Target : Iir; Param : Iir) is 6126 begin 6127 pragma Assert (Target /= Null_Iir); 6128 pragma Assert (Has_Parameter (Get_Kind (Target)), 6129 "no field Parameter"); 6130 Set_Field4 (Target, Param); 6131 end Set_Parameter; 6132 6133 function Get_Parameter_2 (Target : Iir) return Iir is 6134 begin 6135 pragma Assert (Target /= Null_Iir); 6136 pragma Assert (Has_Parameter_2 (Get_Kind (Target)), 6137 "no field Parameter_2"); 6138 return Get_Field6 (Target); 6139 end Get_Parameter_2; 6140 6141 procedure Set_Parameter_2 (Target : Iir; Param : Iir) is 6142 begin 6143 pragma Assert (Target /= Null_Iir); 6144 pragma Assert (Has_Parameter_2 (Get_Kind (Target)), 6145 "no field Parameter_2"); 6146 Set_Field6 (Target, Param); 6147 end Set_Parameter_2; 6148 6149 function Get_Parameter_3 (Target : Iir) return Iir is 6150 begin 6151 pragma Assert (Target /= Null_Iir); 6152 pragma Assert (Has_Parameter_3 (Get_Kind (Target)), 6153 "no field Parameter_3"); 6154 return Get_Field7 (Target); 6155 end Get_Parameter_3; 6156 6157 procedure Set_Parameter_3 (Target : Iir; Param : Iir) is 6158 begin 6159 pragma Assert (Target /= Null_Iir); 6160 pragma Assert (Has_Parameter_3 (Get_Kind (Target)), 6161 "no field Parameter_3"); 6162 Set_Field7 (Target, Param); 6163 end Set_Parameter_3; 6164 6165 function Get_Parameter_4 (Target : Iir) return Iir is 6166 begin 6167 pragma Assert (Target /= Null_Iir); 6168 pragma Assert (Has_Parameter_4 (Get_Kind (Target)), 6169 "no field Parameter_4"); 6170 return Get_Field8 (Target); 6171 end Get_Parameter_4; 6172 6173 procedure Set_Parameter_4 (Target : Iir; Param : Iir) is 6174 begin 6175 pragma Assert (Target /= Null_Iir); 6176 pragma Assert (Has_Parameter_4 (Get_Kind (Target)), 6177 "no field Parameter_4"); 6178 Set_Field8 (Target, Param); 6179 end Set_Parameter_4; 6180 6181 function Get_Attr_Chain (Attr : Iir) return Iir is 6182 begin 6183 pragma Assert (Attr /= Null_Iir); 6184 pragma Assert (Has_Attr_Chain (Get_Kind (Attr)), 6185 "no field Attr_Chain"); 6186 return Get_Field2 (Attr); 6187 end Get_Attr_Chain; 6188 6189 procedure Set_Attr_Chain (Attr : Iir; Chain : Iir) is 6190 begin 6191 pragma Assert (Attr /= Null_Iir); 6192 pragma Assert (Has_Attr_Chain (Get_Kind (Attr)), 6193 "no field Attr_Chain"); 6194 Set_Field2 (Attr, Chain); 6195 end Set_Attr_Chain; 6196 6197 function Get_Signal_Attribute_Declaration (Attr : Iir) return Iir is 6198 begin 6199 pragma Assert (Attr /= Null_Iir); 6200 pragma Assert (Has_Signal_Attribute_Declaration (Get_Kind (Attr)), 6201 "no field Signal_Attribute_Declaration"); 6202 return Get_Field3 (Attr); 6203 end Get_Signal_Attribute_Declaration; 6204 6205 procedure Set_Signal_Attribute_Declaration (Attr : Iir; Decl : Iir) is 6206 begin 6207 pragma Assert (Attr /= Null_Iir); 6208 pragma Assert (Has_Signal_Attribute_Declaration (Get_Kind (Attr)), 6209 "no field Signal_Attribute_Declaration"); 6210 Set_Field3 (Attr, Decl); 6211 end Set_Signal_Attribute_Declaration; 6212 6213 function Get_Actual_Type (Target : Iir) return Iir is 6214 begin 6215 pragma Assert (Target /= Null_Iir); 6216 pragma Assert (Has_Actual_Type (Get_Kind (Target)), 6217 "no field Actual_Type"); 6218 return Get_Field5 (Target); 6219 end Get_Actual_Type; 6220 6221 procedure Set_Actual_Type (Target : Iir; Atype : Iir) is 6222 begin 6223 pragma Assert (Target /= Null_Iir); 6224 pragma Assert (Has_Actual_Type (Get_Kind (Target)), 6225 "no field Actual_Type"); 6226 Set_Field5 (Target, Atype); 6227 end Set_Actual_Type; 6228 6229 function Get_Actual_Type_Definition (Target : Iir) return Iir is 6230 begin 6231 pragma Assert (Target /= Null_Iir); 6232 pragma Assert (Has_Actual_Type_Definition (Get_Kind (Target)), 6233 "no field Actual_Type_Definition"); 6234 return Get_Field3 (Target); 6235 end Get_Actual_Type_Definition; 6236 6237 procedure Set_Actual_Type_Definition (Target : Iir; Atype : Iir) is 6238 begin 6239 pragma Assert (Target /= Null_Iir); 6240 pragma Assert (Has_Actual_Type_Definition (Get_Kind (Target)), 6241 "no field Actual_Type_Definition"); 6242 Set_Field3 (Target, Atype); 6243 end Set_Actual_Type_Definition; 6244 6245 function Get_Association_Chain (Target : Iir) return Iir is 6246 begin 6247 pragma Assert (Target /= Null_Iir); 6248 pragma Assert (Has_Association_Chain (Get_Kind (Target)), 6249 "no field Association_Chain"); 6250 return Get_Field2 (Target); 6251 end Get_Association_Chain; 6252 6253 procedure Set_Association_Chain (Target : Iir; Chain : Iir) is 6254 begin 6255 pragma Assert (Target /= Null_Iir); 6256 pragma Assert (Has_Association_Chain (Get_Kind (Target)), 6257 "no field Association_Chain"); 6258 Set_Field2 (Target, Chain); 6259 end Set_Association_Chain; 6260 6261 function Get_Individual_Association_Chain (Target : Iir) return Iir is 6262 begin 6263 pragma Assert (Target /= Null_Iir); 6264 pragma Assert (Has_Individual_Association_Chain (Get_Kind (Target)), 6265 "no field Individual_Association_Chain"); 6266 return Get_Field4 (Target); 6267 end Get_Individual_Association_Chain; 6268 6269 procedure Set_Individual_Association_Chain (Target : Iir; Chain : Iir) is 6270 begin 6271 pragma Assert (Target /= Null_Iir); 6272 pragma Assert (Has_Individual_Association_Chain (Get_Kind (Target)), 6273 "no field Individual_Association_Chain"); 6274 Set_Field4 (Target, Chain); 6275 end Set_Individual_Association_Chain; 6276 6277 function Get_Subprogram_Association_Chain (Target : Iir) return Iir is 6278 begin 6279 pragma Assert (Target /= Null_Iir); 6280 pragma Assert (Has_Subprogram_Association_Chain (Get_Kind (Target)), 6281 "no field Subprogram_Association_Chain"); 6282 return Get_Field4 (Target); 6283 end Get_Subprogram_Association_Chain; 6284 6285 procedure Set_Subprogram_Association_Chain (Target : Iir; Chain : Iir) is 6286 begin 6287 pragma Assert (Target /= Null_Iir); 6288 pragma Assert (Has_Subprogram_Association_Chain (Get_Kind (Target)), 6289 "no field Subprogram_Association_Chain"); 6290 Set_Field4 (Target, Chain); 6291 end Set_Subprogram_Association_Chain; 6292 6293 function Get_Aggregate_Info (Target : Iir) return Iir is 6294 begin 6295 pragma Assert (Target /= Null_Iir); 6296 pragma Assert (Has_Aggregate_Info (Get_Kind (Target)), 6297 "no field Aggregate_Info"); 6298 return Get_Field5 (Target); 6299 end Get_Aggregate_Info; 6300 6301 procedure Set_Aggregate_Info (Target : Iir; Info : Iir) is 6302 begin 6303 pragma Assert (Target /= Null_Iir); 6304 pragma Assert (Has_Aggregate_Info (Get_Kind (Target)), 6305 "no field Aggregate_Info"); 6306 Set_Field5 (Target, Info); 6307 end Set_Aggregate_Info; 6308 6309 function Get_Sub_Aggregate_Info (Target : Iir) return Iir is 6310 begin 6311 pragma Assert (Target /= Null_Iir); 6312 pragma Assert (Has_Sub_Aggregate_Info (Get_Kind (Target)), 6313 "no field Sub_Aggregate_Info"); 6314 return Get_Field1 (Target); 6315 end Get_Sub_Aggregate_Info; 6316 6317 procedure Set_Sub_Aggregate_Info (Target : Iir; Info : Iir) is 6318 begin 6319 pragma Assert (Target /= Null_Iir); 6320 pragma Assert (Has_Sub_Aggregate_Info (Get_Kind (Target)), 6321 "no field Sub_Aggregate_Info"); 6322 Set_Field1 (Target, Info); 6323 end Set_Sub_Aggregate_Info; 6324 6325 function Get_Aggr_Dynamic_Flag (Target : Iir) return Boolean is 6326 begin 6327 pragma Assert (Target /= Null_Iir); 6328 pragma Assert (Has_Aggr_Dynamic_Flag (Get_Kind (Target)), 6329 "no field Aggr_Dynamic_Flag"); 6330 return Get_Flag3 (Target); 6331 end Get_Aggr_Dynamic_Flag; 6332 6333 procedure Set_Aggr_Dynamic_Flag (Target : Iir; Val : Boolean) is 6334 begin 6335 pragma Assert (Target /= Null_Iir); 6336 pragma Assert (Has_Aggr_Dynamic_Flag (Get_Kind (Target)), 6337 "no field Aggr_Dynamic_Flag"); 6338 Set_Flag3 (Target, Val); 6339 end Set_Aggr_Dynamic_Flag; 6340 6341 function Get_Aggr_Min_Length (Info : Iir_Aggregate_Info) return Iir_Int32 6342 is 6343 begin 6344 pragma Assert (Info /= Null_Iir); 6345 pragma Assert (Has_Aggr_Min_Length (Get_Kind (Info)), 6346 "no field Aggr_Min_Length"); 6347 return Iir_To_Iir_Int32 (Get_Field4 (Info)); 6348 end Get_Aggr_Min_Length; 6349 6350 procedure Set_Aggr_Min_Length (Info : Iir_Aggregate_Info; Nbr : Iir_Int32) 6351 is 6352 begin 6353 pragma Assert (Info /= Null_Iir); 6354 pragma Assert (Has_Aggr_Min_Length (Get_Kind (Info)), 6355 "no field Aggr_Min_Length"); 6356 Set_Field4 (Info, Iir_Int32_To_Iir (Nbr)); 6357 end Set_Aggr_Min_Length; 6358 6359 function Get_Aggr_Low_Limit (Target : Iir_Aggregate_Info) return Iir is 6360 begin 6361 pragma Assert (Target /= Null_Iir); 6362 pragma Assert (Has_Aggr_Low_Limit (Get_Kind (Target)), 6363 "no field Aggr_Low_Limit"); 6364 return Get_Field2 (Target); 6365 end Get_Aggr_Low_Limit; 6366 6367 procedure Set_Aggr_Low_Limit (Target : Iir_Aggregate_Info; Limit : Iir) is 6368 begin 6369 pragma Assert (Target /= Null_Iir); 6370 pragma Assert (Has_Aggr_Low_Limit (Get_Kind (Target)), 6371 "no field Aggr_Low_Limit"); 6372 Set_Field2 (Target, Limit); 6373 end Set_Aggr_Low_Limit; 6374 6375 function Get_Aggr_High_Limit (Target : Iir_Aggregate_Info) return Iir is 6376 begin 6377 pragma Assert (Target /= Null_Iir); 6378 pragma Assert (Has_Aggr_High_Limit (Get_Kind (Target)), 6379 "no field Aggr_High_Limit"); 6380 return Get_Field3 (Target); 6381 end Get_Aggr_High_Limit; 6382 6383 procedure Set_Aggr_High_Limit (Target : Iir_Aggregate_Info; Limit : Iir) is 6384 begin 6385 pragma Assert (Target /= Null_Iir); 6386 pragma Assert (Has_Aggr_High_Limit (Get_Kind (Target)), 6387 "no field Aggr_High_Limit"); 6388 Set_Field3 (Target, Limit); 6389 end Set_Aggr_High_Limit; 6390 6391 function Get_Aggr_Others_Flag (Target : Iir_Aggregate_Info) return Boolean 6392 is 6393 begin 6394 pragma Assert (Target /= Null_Iir); 6395 pragma Assert (Has_Aggr_Others_Flag (Get_Kind (Target)), 6396 "no field Aggr_Others_Flag"); 6397 return Get_Flag2 (Target); 6398 end Get_Aggr_Others_Flag; 6399 6400 procedure Set_Aggr_Others_Flag (Target : Iir_Aggregate_Info; Val : Boolean) 6401 is 6402 begin 6403 pragma Assert (Target /= Null_Iir); 6404 pragma Assert (Has_Aggr_Others_Flag (Get_Kind (Target)), 6405 "no field Aggr_Others_Flag"); 6406 Set_Flag2 (Target, Val); 6407 end Set_Aggr_Others_Flag; 6408 6409 function Get_Aggr_Named_Flag (Target : Iir_Aggregate_Info) return Boolean 6410 is 6411 begin 6412 pragma Assert (Target /= Null_Iir); 6413 pragma Assert (Has_Aggr_Named_Flag (Get_Kind (Target)), 6414 "no field Aggr_Named_Flag"); 6415 return Get_Flag4 (Target); 6416 end Get_Aggr_Named_Flag; 6417 6418 procedure Set_Aggr_Named_Flag (Target : Iir_Aggregate_Info; Val : Boolean) 6419 is 6420 begin 6421 pragma Assert (Target /= Null_Iir); 6422 pragma Assert (Has_Aggr_Named_Flag (Get_Kind (Target)), 6423 "no field Aggr_Named_Flag"); 6424 Set_Flag4 (Target, Val); 6425 end Set_Aggr_Named_Flag; 6426 6427 function Get_Aggregate_Expand_Flag (Aggr : Iir) return Boolean is 6428 begin 6429 pragma Assert (Aggr /= Null_Iir); 6430 pragma Assert (Has_Aggregate_Expand_Flag (Get_Kind (Aggr)), 6431 "no field Aggregate_Expand_Flag"); 6432 return Get_Flag1 (Aggr); 6433 end Get_Aggregate_Expand_Flag; 6434 6435 procedure Set_Aggregate_Expand_Flag (Aggr : Iir; Flag : Boolean) is 6436 begin 6437 pragma Assert (Aggr /= Null_Iir); 6438 pragma Assert (Has_Aggregate_Expand_Flag (Get_Kind (Aggr)), 6439 "no field Aggregate_Expand_Flag"); 6440 Set_Flag1 (Aggr, Flag); 6441 end Set_Aggregate_Expand_Flag; 6442 6443 function Get_Association_Choices_Chain (Target : Iir) return Iir is 6444 begin 6445 pragma Assert (Target /= Null_Iir); 6446 pragma Assert (Has_Association_Choices_Chain (Get_Kind (Target)), 6447 "no field Association_Choices_Chain"); 6448 return Get_Field4 (Target); 6449 end Get_Association_Choices_Chain; 6450 6451 procedure Set_Association_Choices_Chain (Target : Iir; Chain : Iir) is 6452 begin 6453 pragma Assert (Target /= Null_Iir); 6454 pragma Assert (Has_Association_Choices_Chain (Get_Kind (Target)), 6455 "no field Association_Choices_Chain"); 6456 Set_Field4 (Target, Chain); 6457 end Set_Association_Choices_Chain; 6458 6459 function Get_Case_Statement_Alternative_Chain (Target : Iir) return Iir is 6460 begin 6461 pragma Assert (Target /= Null_Iir); 6462 pragma Assert (Has_Case_Statement_Alternative_Chain (Get_Kind (Target)), 6463 "no field Case_Statement_Alternative_Chain"); 6464 return Get_Field1 (Target); 6465 end Get_Case_Statement_Alternative_Chain; 6466 6467 procedure Set_Case_Statement_Alternative_Chain (Target : Iir; Chain : Iir) 6468 is 6469 begin 6470 pragma Assert (Target /= Null_Iir); 6471 pragma Assert (Has_Case_Statement_Alternative_Chain (Get_Kind (Target)), 6472 "no field Case_Statement_Alternative_Chain"); 6473 Set_Field1 (Target, Chain); 6474 end Set_Case_Statement_Alternative_Chain; 6475 6476 function Get_Choice_Staticness (Target : Iir) return Iir_Staticness is 6477 begin 6478 pragma Assert (Target /= Null_Iir); 6479 pragma Assert (Has_Choice_Staticness (Get_Kind (Target)), 6480 "no field Choice_Staticness"); 6481 return Iir_Staticness'Val (Get_State1 (Target)); 6482 end Get_Choice_Staticness; 6483 6484 procedure Set_Choice_Staticness (Target : Iir; Staticness : Iir_Staticness) 6485 is 6486 begin 6487 pragma Assert (Target /= Null_Iir); 6488 pragma Assert (Has_Choice_Staticness (Get_Kind (Target)), 6489 "no field Choice_Staticness"); 6490 Set_State1 (Target, Iir_Staticness'Pos (Staticness)); 6491 end Set_Choice_Staticness; 6492 6493 function Get_Procedure_Call (Stmt : Iir) return Iir is 6494 begin 6495 pragma Assert (Stmt /= Null_Iir); 6496 pragma Assert (Has_Procedure_Call (Get_Kind (Stmt)), 6497 "no field Procedure_Call"); 6498 return Get_Field1 (Stmt); 6499 end Get_Procedure_Call; 6500 6501 procedure Set_Procedure_Call (Stmt : Iir; Call : Iir) is 6502 begin 6503 pragma Assert (Stmt /= Null_Iir); 6504 pragma Assert (Has_Procedure_Call (Get_Kind (Stmt)), 6505 "no field Procedure_Call"); 6506 Set_Field1 (Stmt, Call); 6507 end Set_Procedure_Call; 6508 6509 function Get_Implementation (Target : Iir) return Iir is 6510 begin 6511 pragma Assert (Target /= Null_Iir); 6512 pragma Assert (Has_Implementation (Get_Kind (Target)), 6513 "no field Implementation"); 6514 return Get_Field3 (Target); 6515 end Get_Implementation; 6516 6517 procedure Set_Implementation (Target : Iir; Decl : Iir) is 6518 begin 6519 pragma Assert (Target /= Null_Iir); 6520 pragma Assert (Has_Implementation (Get_Kind (Target)), 6521 "no field Implementation"); 6522 Set_Field3 (Target, Decl); 6523 end Set_Implementation; 6524 6525 function Get_Parameter_Association_Chain (Target : Iir) return Iir is 6526 begin 6527 pragma Assert (Target /= Null_Iir); 6528 pragma Assert (Has_Parameter_Association_Chain (Get_Kind (Target)), 6529 "no field Parameter_Association_Chain"); 6530 return Get_Field2 (Target); 6531 end Get_Parameter_Association_Chain; 6532 6533 procedure Set_Parameter_Association_Chain (Target : Iir; Chain : Iir) is 6534 begin 6535 pragma Assert (Target /= Null_Iir); 6536 pragma Assert (Has_Parameter_Association_Chain (Get_Kind (Target)), 6537 "no field Parameter_Association_Chain"); 6538 Set_Field2 (Target, Chain); 6539 end Set_Parameter_Association_Chain; 6540 6541 function Get_Method_Object (Target : Iir) return Iir is 6542 begin 6543 pragma Assert (Target /= Null_Iir); 6544 pragma Assert (Has_Method_Object (Get_Kind (Target)), 6545 "no field Method_Object"); 6546 return Get_Field4 (Target); 6547 end Get_Method_Object; 6548 6549 procedure Set_Method_Object (Target : Iir; Object : Iir) is 6550 begin 6551 pragma Assert (Target /= Null_Iir); 6552 pragma Assert (Has_Method_Object (Get_Kind (Target)), 6553 "no field Method_Object"); 6554 Set_Field4 (Target, Object); 6555 end Set_Method_Object; 6556 6557 function Get_Subtype_Type_Mark (Target : Iir) return Iir is 6558 begin 6559 pragma Assert (Target /= Null_Iir); 6560 pragma Assert (Has_Subtype_Type_Mark (Get_Kind (Target)), 6561 "no field Subtype_Type_Mark"); 6562 return Get_Field2 (Target); 6563 end Get_Subtype_Type_Mark; 6564 6565 procedure Set_Subtype_Type_Mark (Target : Iir; Mark : Iir) is 6566 begin 6567 pragma Assert (Target /= Null_Iir); 6568 pragma Assert (Has_Subtype_Type_Mark (Get_Kind (Target)), 6569 "no field Subtype_Type_Mark"); 6570 Set_Field2 (Target, Mark); 6571 end Set_Subtype_Type_Mark; 6572 6573 function Get_Subnature_Nature_Mark (Target : Iir) return Iir is 6574 begin 6575 pragma Assert (Target /= Null_Iir); 6576 pragma Assert (Has_Subnature_Nature_Mark (Get_Kind (Target)), 6577 "no field Subnature_Nature_Mark"); 6578 return Get_Field2 (Target); 6579 end Get_Subnature_Nature_Mark; 6580 6581 procedure Set_Subnature_Nature_Mark (Target : Iir; Mark : Iir) is 6582 begin 6583 pragma Assert (Target /= Null_Iir); 6584 pragma Assert (Has_Subnature_Nature_Mark (Get_Kind (Target)), 6585 "no field Subnature_Nature_Mark"); 6586 Set_Field2 (Target, Mark); 6587 end Set_Subnature_Nature_Mark; 6588 6589 function Get_Type_Conversion_Subtype (Target : Iir) return Iir is 6590 begin 6591 pragma Assert (Target /= Null_Iir); 6592 pragma Assert (Has_Type_Conversion_Subtype (Get_Kind (Target)), 6593 "no field Type_Conversion_Subtype"); 6594 return Get_Field3 (Target); 6595 end Get_Type_Conversion_Subtype; 6596 6597 procedure Set_Type_Conversion_Subtype (Target : Iir; Atype : Iir) is 6598 begin 6599 pragma Assert (Target /= Null_Iir); 6600 pragma Assert (Has_Type_Conversion_Subtype (Get_Kind (Target)), 6601 "no field Type_Conversion_Subtype"); 6602 Set_Field3 (Target, Atype); 6603 end Set_Type_Conversion_Subtype; 6604 6605 function Get_Type_Mark (Target : Iir) return Iir is 6606 begin 6607 pragma Assert (Target /= Null_Iir); 6608 pragma Assert (Has_Type_Mark (Get_Kind (Target)), 6609 "no field Type_Mark"); 6610 return Get_Field4 (Target); 6611 end Get_Type_Mark; 6612 6613 procedure Set_Type_Mark (Target : Iir; Mark : Iir) is 6614 begin 6615 pragma Assert (Target /= Null_Iir); 6616 pragma Assert (Has_Type_Mark (Get_Kind (Target)), 6617 "no field Type_Mark"); 6618 Set_Field4 (Target, Mark); 6619 end Set_Type_Mark; 6620 6621 function Get_File_Type_Mark (Target : Iir) return Iir is 6622 begin 6623 pragma Assert (Target /= Null_Iir); 6624 pragma Assert (Has_File_Type_Mark (Get_Kind (Target)), 6625 "no field File_Type_Mark"); 6626 return Get_Field2 (Target); 6627 end Get_File_Type_Mark; 6628 6629 procedure Set_File_Type_Mark (Target : Iir; Mark : Iir) is 6630 begin 6631 pragma Assert (Target /= Null_Iir); 6632 pragma Assert (Has_File_Type_Mark (Get_Kind (Target)), 6633 "no field File_Type_Mark"); 6634 Set_Field2 (Target, Mark); 6635 end Set_File_Type_Mark; 6636 6637 function Get_Return_Type_Mark (Target : Iir) return Iir is 6638 begin 6639 pragma Assert (Target /= Null_Iir); 6640 pragma Assert (Has_Return_Type_Mark (Get_Kind (Target)), 6641 "no field Return_Type_Mark"); 6642 return Get_Field8 (Target); 6643 end Get_Return_Type_Mark; 6644 6645 procedure Set_Return_Type_Mark (Target : Iir; Mark : Iir) is 6646 begin 6647 pragma Assert (Target /= Null_Iir); 6648 pragma Assert (Has_Return_Type_Mark (Get_Kind (Target)), 6649 "no field Return_Type_Mark"); 6650 Set_Field8 (Target, Mark); 6651 end Set_Return_Type_Mark; 6652 6653 function Get_Has_Disconnect_Flag (Target : Iir) return Boolean is 6654 begin 6655 pragma Assert (Target /= Null_Iir); 6656 pragma Assert (Has_Has_Disconnect_Flag (Get_Kind (Target)), 6657 "no field Has_Disconnect_Flag"); 6658 return Get_Flag1 (Target); 6659 end Get_Has_Disconnect_Flag; 6660 6661 procedure Set_Has_Disconnect_Flag (Target : Iir; Val : Boolean) is 6662 begin 6663 pragma Assert (Target /= Null_Iir); 6664 pragma Assert (Has_Has_Disconnect_Flag (Get_Kind (Target)), 6665 "no field Has_Disconnect_Flag"); 6666 Set_Flag1 (Target, Val); 6667 end Set_Has_Disconnect_Flag; 6668 6669 function Get_Has_Active_Flag (Target : Iir) return Boolean is 6670 begin 6671 pragma Assert (Target /= Null_Iir); 6672 pragma Assert (Has_Has_Active_Flag (Get_Kind (Target)), 6673 "no field Has_Active_Flag"); 6674 return Get_Flag2 (Target); 6675 end Get_Has_Active_Flag; 6676 6677 procedure Set_Has_Active_Flag (Target : Iir; Val : Boolean) is 6678 begin 6679 pragma Assert (Target /= Null_Iir); 6680 pragma Assert (Has_Has_Active_Flag (Get_Kind (Target)), 6681 "no field Has_Active_Flag"); 6682 Set_Flag2 (Target, Val); 6683 end Set_Has_Active_Flag; 6684 6685 function Get_Is_Within_Flag (Target : Iir) return Boolean is 6686 begin 6687 pragma Assert (Target /= Null_Iir); 6688 pragma Assert (Has_Is_Within_Flag (Get_Kind (Target)), 6689 "no field Is_Within_Flag"); 6690 return Get_Flag5 (Target); 6691 end Get_Is_Within_Flag; 6692 6693 procedure Set_Is_Within_Flag (Target : Iir; Val : Boolean) is 6694 begin 6695 pragma Assert (Target /= Null_Iir); 6696 pragma Assert (Has_Is_Within_Flag (Get_Kind (Target)), 6697 "no field Is_Within_Flag"); 6698 Set_Flag5 (Target, Val); 6699 end Set_Is_Within_Flag; 6700 6701 function Get_Type_Marks_List (Target : Iir) return Iir_Flist is 6702 begin 6703 pragma Assert (Target /= Null_Iir); 6704 pragma Assert (Has_Type_Marks_List (Get_Kind (Target)), 6705 "no field Type_Marks_List"); 6706 return Iir_To_Iir_Flist (Get_Field2 (Target)); 6707 end Get_Type_Marks_List; 6708 6709 procedure Set_Type_Marks_List (Target : Iir; List : Iir_Flist) is 6710 begin 6711 pragma Assert (Target /= Null_Iir); 6712 pragma Assert (Has_Type_Marks_List (Get_Kind (Target)), 6713 "no field Type_Marks_List"); 6714 Set_Field2 (Target, Iir_Flist_To_Iir (List)); 6715 end Set_Type_Marks_List; 6716 6717 function Get_Implicit_Alias_Flag (Decl : Iir) return Boolean is 6718 begin 6719 pragma Assert (Decl /= Null_Iir); 6720 pragma Assert (Has_Implicit_Alias_Flag (Get_Kind (Decl)), 6721 "no field Implicit_Alias_Flag"); 6722 return Get_Flag1 (Decl); 6723 end Get_Implicit_Alias_Flag; 6724 6725 procedure Set_Implicit_Alias_Flag (Decl : Iir; Flag : Boolean) is 6726 begin 6727 pragma Assert (Decl /= Null_Iir); 6728 pragma Assert (Has_Implicit_Alias_Flag (Get_Kind (Decl)), 6729 "no field Implicit_Alias_Flag"); 6730 Set_Flag1 (Decl, Flag); 6731 end Set_Implicit_Alias_Flag; 6732 6733 function Get_Alias_Signature (Alias : Iir) return Iir is 6734 begin 6735 pragma Assert (Alias /= Null_Iir); 6736 pragma Assert (Has_Alias_Signature (Get_Kind (Alias)), 6737 "no field Alias_Signature"); 6738 return Get_Field5 (Alias); 6739 end Get_Alias_Signature; 6740 6741 procedure Set_Alias_Signature (Alias : Iir; Signature : Iir) is 6742 begin 6743 pragma Assert (Alias /= Null_Iir); 6744 pragma Assert (Has_Alias_Signature (Get_Kind (Alias)), 6745 "no field Alias_Signature"); 6746 Set_Field5 (Alias, Signature); 6747 end Set_Alias_Signature; 6748 6749 function Get_Attribute_Signature (Attr : Iir) return Iir is 6750 begin 6751 pragma Assert (Attr /= Null_Iir); 6752 pragma Assert (Has_Attribute_Signature (Get_Kind (Attr)), 6753 "no field Attribute_Signature"); 6754 return Get_Field2 (Attr); 6755 end Get_Attribute_Signature; 6756 6757 procedure Set_Attribute_Signature (Attr : Iir; Signature : Iir) is 6758 begin 6759 pragma Assert (Attr /= Null_Iir); 6760 pragma Assert (Has_Attribute_Signature (Get_Kind (Attr)), 6761 "no field Attribute_Signature"); 6762 Set_Field2 (Attr, Signature); 6763 end Set_Attribute_Signature; 6764 6765 function Get_Overload_List (Target : Iir) return Iir_List is 6766 begin 6767 pragma Assert (Target /= Null_Iir); 6768 pragma Assert (Has_Overload_List (Get_Kind (Target)), 6769 "no field Overload_List"); 6770 return Iir_To_Iir_List (Get_Field1 (Target)); 6771 end Get_Overload_List; 6772 6773 procedure Set_Overload_List (Target : Iir; List : Iir_List) is 6774 begin 6775 pragma Assert (Target /= Null_Iir); 6776 pragma Assert (Has_Overload_List (Get_Kind (Target)), 6777 "no field Overload_List"); 6778 Set_Field1 (Target, Iir_List_To_Iir (List)); 6779 end Set_Overload_List; 6780 6781 function Get_Simple_Name_Identifier (Target : Iir) return Name_Id is 6782 begin 6783 pragma Assert (Target /= Null_Iir); 6784 pragma Assert (Has_Simple_Name_Identifier (Get_Kind (Target)), 6785 "no field Simple_Name_Identifier"); 6786 return Iir_To_Name_Id (Get_Field3 (Target)); 6787 end Get_Simple_Name_Identifier; 6788 6789 procedure Set_Simple_Name_Identifier (Target : Iir; Ident : Name_Id) is 6790 begin 6791 pragma Assert (Target /= Null_Iir); 6792 pragma Assert (Has_Simple_Name_Identifier (Get_Kind (Target)), 6793 "no field Simple_Name_Identifier"); 6794 Set_Field3 (Target, Name_Id_To_Iir (Ident)); 6795 end Set_Simple_Name_Identifier; 6796 6797 function Get_Simple_Name_Subtype (Target : Iir) return Iir is 6798 begin 6799 pragma Assert (Target /= Null_Iir); 6800 pragma Assert (Has_Simple_Name_Subtype (Get_Kind (Target)), 6801 "no field Simple_Name_Subtype"); 6802 return Get_Field4 (Target); 6803 end Get_Simple_Name_Subtype; 6804 6805 procedure Set_Simple_Name_Subtype (Target : Iir; Atype : Iir) is 6806 begin 6807 pragma Assert (Target /= Null_Iir); 6808 pragma Assert (Has_Simple_Name_Subtype (Get_Kind (Target)), 6809 "no field Simple_Name_Subtype"); 6810 Set_Field4 (Target, Atype); 6811 end Set_Simple_Name_Subtype; 6812 6813 function Get_Protected_Type_Body (Target : Iir) return Iir is 6814 begin 6815 pragma Assert (Target /= Null_Iir); 6816 pragma Assert (Has_Protected_Type_Body (Get_Kind (Target)), 6817 "no field Protected_Type_Body"); 6818 return Get_Field2 (Target); 6819 end Get_Protected_Type_Body; 6820 6821 procedure Set_Protected_Type_Body (Target : Iir; Bod : Iir) is 6822 begin 6823 pragma Assert (Target /= Null_Iir); 6824 pragma Assert (Has_Protected_Type_Body (Get_Kind (Target)), 6825 "no field Protected_Type_Body"); 6826 Set_Field2 (Target, Bod); 6827 end Set_Protected_Type_Body; 6828 6829 function Get_Protected_Type_Declaration (Target : Iir) return Iir is 6830 begin 6831 pragma Assert (Target /= Null_Iir); 6832 pragma Assert (Has_Protected_Type_Declaration (Get_Kind (Target)), 6833 "no field Protected_Type_Declaration"); 6834 return Get_Field4 (Target); 6835 end Get_Protected_Type_Declaration; 6836 6837 procedure Set_Protected_Type_Declaration (Target : Iir; Decl : Iir) is 6838 begin 6839 pragma Assert (Target /= Null_Iir); 6840 pragma Assert (Has_Protected_Type_Declaration (Get_Kind (Target)), 6841 "no field Protected_Type_Declaration"); 6842 Set_Field4 (Target, Decl); 6843 end Set_Protected_Type_Declaration; 6844 6845 function Get_Use_Flag (Decl : Iir) return Boolean is 6846 begin 6847 pragma Assert (Decl /= Null_Iir); 6848 pragma Assert (Has_Use_Flag (Get_Kind (Decl)), 6849 "no field Use_Flag"); 6850 return Get_Flag6 (Decl); 6851 end Get_Use_Flag; 6852 6853 procedure Set_Use_Flag (Decl : Iir; Val : Boolean) is 6854 begin 6855 pragma Assert (Decl /= Null_Iir); 6856 pragma Assert (Has_Use_Flag (Get_Kind (Decl)), 6857 "no field Use_Flag"); 6858 Set_Flag6 (Decl, Val); 6859 end Set_Use_Flag; 6860 6861 function Get_End_Has_Reserved_Id (Decl : Iir) return Boolean is 6862 begin 6863 pragma Assert (Decl /= Null_Iir); 6864 pragma Assert (Has_End_Has_Reserved_Id (Get_Kind (Decl)), 6865 "no field End_Has_Reserved_Id"); 6866 return Get_Flag8 (Decl); 6867 end Get_End_Has_Reserved_Id; 6868 6869 procedure Set_End_Has_Reserved_Id (Decl : Iir; Flag : Boolean) is 6870 begin 6871 pragma Assert (Decl /= Null_Iir); 6872 pragma Assert (Has_End_Has_Reserved_Id (Get_Kind (Decl)), 6873 "no field End_Has_Reserved_Id"); 6874 Set_Flag8 (Decl, Flag); 6875 end Set_End_Has_Reserved_Id; 6876 6877 function Get_End_Has_Identifier (Decl : Iir) return Boolean is 6878 begin 6879 pragma Assert (Decl /= Null_Iir); 6880 pragma Assert (Has_End_Has_Identifier (Get_Kind (Decl)), 6881 "no field End_Has_Identifier"); 6882 return Get_Flag9 (Decl); 6883 end Get_End_Has_Identifier; 6884 6885 procedure Set_End_Has_Identifier (Decl : Iir; Flag : Boolean) is 6886 begin 6887 pragma Assert (Decl /= Null_Iir); 6888 pragma Assert (Has_End_Has_Identifier (Get_Kind (Decl)), 6889 "no field End_Has_Identifier"); 6890 Set_Flag9 (Decl, Flag); 6891 end Set_End_Has_Identifier; 6892 6893 function Get_End_Has_Postponed (Decl : Iir) return Boolean is 6894 begin 6895 pragma Assert (Decl /= Null_Iir); 6896 pragma Assert (Has_End_Has_Postponed (Get_Kind (Decl)), 6897 "no field End_Has_Postponed"); 6898 return Get_Flag10 (Decl); 6899 end Get_End_Has_Postponed; 6900 6901 procedure Set_End_Has_Postponed (Decl : Iir; Flag : Boolean) is 6902 begin 6903 pragma Assert (Decl /= Null_Iir); 6904 pragma Assert (Has_End_Has_Postponed (Get_Kind (Decl)), 6905 "no field End_Has_Postponed"); 6906 Set_Flag10 (Decl, Flag); 6907 end Set_End_Has_Postponed; 6908 6909 function Get_Has_Label (Decl : Iir) return Boolean is 6910 begin 6911 pragma Assert (Decl /= Null_Iir); 6912 pragma Assert (Has_Has_Label (Get_Kind (Decl)), 6913 "no field Has_Label"); 6914 return Get_Flag6 (Decl); 6915 end Get_Has_Label; 6916 6917 procedure Set_Has_Label (Decl : Iir; Flag : Boolean) is 6918 begin 6919 pragma Assert (Decl /= Null_Iir); 6920 pragma Assert (Has_Has_Label (Get_Kind (Decl)), 6921 "no field Has_Label"); 6922 Set_Flag6 (Decl, Flag); 6923 end Set_Has_Label; 6924 6925 function Get_Has_Begin (Decl : Iir) return Boolean is 6926 begin 6927 pragma Assert (Decl /= Null_Iir); 6928 pragma Assert (Has_Has_Begin (Get_Kind (Decl)), 6929 "no field Has_Begin"); 6930 return Get_Flag10 (Decl); 6931 end Get_Has_Begin; 6932 6933 procedure Set_Has_Begin (Decl : Iir; Flag : Boolean) is 6934 begin 6935 pragma Assert (Decl /= Null_Iir); 6936 pragma Assert (Has_Has_Begin (Get_Kind (Decl)), 6937 "no field Has_Begin"); 6938 Set_Flag10 (Decl, Flag); 6939 end Set_Has_Begin; 6940 6941 function Get_Has_End (Decl : Iir) return Boolean is 6942 begin 6943 pragma Assert (Decl /= Null_Iir); 6944 pragma Assert (Has_Has_End (Get_Kind (Decl)), 6945 "no field Has_End"); 6946 return Get_Flag11 (Decl); 6947 end Get_Has_End; 6948 6949 procedure Set_Has_End (Decl : Iir; Flag : Boolean) is 6950 begin 6951 pragma Assert (Decl /= Null_Iir); 6952 pragma Assert (Has_Has_End (Get_Kind (Decl)), 6953 "no field Has_End"); 6954 Set_Flag11 (Decl, Flag); 6955 end Set_Has_End; 6956 6957 function Get_Has_Is (Decl : Iir) return Boolean is 6958 begin 6959 pragma Assert (Decl /= Null_Iir); 6960 pragma Assert (Has_Has_Is (Get_Kind (Decl)), 6961 "no field Has_Is"); 6962 return Get_Flag7 (Decl); 6963 end Get_Has_Is; 6964 6965 procedure Set_Has_Is (Decl : Iir; Flag : Boolean) is 6966 begin 6967 pragma Assert (Decl /= Null_Iir); 6968 pragma Assert (Has_Has_Is (Get_Kind (Decl)), 6969 "no field Has_Is"); 6970 Set_Flag7 (Decl, Flag); 6971 end Set_Has_Is; 6972 6973 function Get_Has_Pure (Decl : Iir) return Boolean is 6974 begin 6975 pragma Assert (Decl /= Null_Iir); 6976 pragma Assert (Has_Has_Pure (Get_Kind (Decl)), 6977 "no field Has_Pure"); 6978 return Get_Flag8 (Decl); 6979 end Get_Has_Pure; 6980 6981 procedure Set_Has_Pure (Decl : Iir; Flag : Boolean) is 6982 begin 6983 pragma Assert (Decl /= Null_Iir); 6984 pragma Assert (Has_Has_Pure (Get_Kind (Decl)), 6985 "no field Has_Pure"); 6986 Set_Flag8 (Decl, Flag); 6987 end Set_Has_Pure; 6988 6989 function Get_Has_Body (Decl : Iir) return Boolean is 6990 begin 6991 pragma Assert (Decl /= Null_Iir); 6992 pragma Assert (Has_Has_Body (Get_Kind (Decl)), 6993 "no field Has_Body"); 6994 return Get_Flag9 (Decl); 6995 end Get_Has_Body; 6996 6997 procedure Set_Has_Body (Decl : Iir; Flag : Boolean) is 6998 begin 6999 pragma Assert (Decl /= Null_Iir); 7000 pragma Assert (Has_Has_Body (Get_Kind (Decl)), 7001 "no field Has_Body"); 7002 Set_Flag9 (Decl, Flag); 7003 end Set_Has_Body; 7004 7005 function Get_Has_Parameter (Decl : Iir) return Boolean is 7006 begin 7007 pragma Assert (Decl /= Null_Iir); 7008 pragma Assert (Has_Has_Parameter (Get_Kind (Decl)), 7009 "no field Has_Parameter"); 7010 return Get_Flag10 (Decl); 7011 end Get_Has_Parameter; 7012 7013 procedure Set_Has_Parameter (Decl : Iir; Flag : Boolean) is 7014 begin 7015 pragma Assert (Decl /= Null_Iir); 7016 pragma Assert (Has_Has_Parameter (Get_Kind (Decl)), 7017 "no field Has_Parameter"); 7018 Set_Flag10 (Decl, Flag); 7019 end Set_Has_Parameter; 7020 7021 function Get_Has_Component (Decl : Iir) return Boolean is 7022 begin 7023 pragma Assert (Decl /= Null_Iir); 7024 pragma Assert (Has_Has_Component (Get_Kind (Decl)), 7025 "no field Has_Component"); 7026 return Get_Flag5 (Decl); 7027 end Get_Has_Component; 7028 7029 procedure Set_Has_Component (Decl : Iir; Flag : Boolean) is 7030 begin 7031 pragma Assert (Decl /= Null_Iir); 7032 pragma Assert (Has_Has_Component (Get_Kind (Decl)), 7033 "no field Has_Component"); 7034 Set_Flag5 (Decl, Flag); 7035 end Set_Has_Component; 7036 7037 function Get_Has_Identifier_List (Decl : Iir) return Boolean is 7038 begin 7039 pragma Assert (Decl /= Null_Iir); 7040 pragma Assert (Has_Has_Identifier_List (Get_Kind (Decl)), 7041 "no field Has_Identifier_List"); 7042 return Get_Flag3 (Decl); 7043 end Get_Has_Identifier_List; 7044 7045 procedure Set_Has_Identifier_List (Decl : Iir; Flag : Boolean) is 7046 begin 7047 pragma Assert (Decl /= Null_Iir); 7048 pragma Assert (Has_Has_Identifier_List (Get_Kind (Decl)), 7049 "no field Has_Identifier_List"); 7050 Set_Flag3 (Decl, Flag); 7051 end Set_Has_Identifier_List; 7052 7053 function Get_Has_Mode (Decl : Iir) return Boolean is 7054 begin 7055 pragma Assert (Decl /= Null_Iir); 7056 pragma Assert (Has_Has_Mode (Get_Kind (Decl)), 7057 "no field Has_Mode"); 7058 return Get_Flag10 (Decl); 7059 end Get_Has_Mode; 7060 7061 procedure Set_Has_Mode (Decl : Iir; Flag : Boolean) is 7062 begin 7063 pragma Assert (Decl /= Null_Iir); 7064 pragma Assert (Has_Has_Mode (Get_Kind (Decl)), 7065 "no field Has_Mode"); 7066 Set_Flag10 (Decl, Flag); 7067 end Set_Has_Mode; 7068 7069 function Get_Has_Class (Decl : Iir) return Boolean is 7070 begin 7071 pragma Assert (Decl /= Null_Iir); 7072 pragma Assert (Has_Has_Class (Get_Kind (Decl)), 7073 "no field Has_Class"); 7074 return Get_Flag11 (Decl); 7075 end Get_Has_Class; 7076 7077 procedure Set_Has_Class (Decl : Iir; Flag : Boolean) is 7078 begin 7079 pragma Assert (Decl /= Null_Iir); 7080 pragma Assert (Has_Has_Class (Get_Kind (Decl)), 7081 "no field Has_Class"); 7082 Set_Flag11 (Decl, Flag); 7083 end Set_Has_Class; 7084 7085 function Get_Has_Delay_Mechanism (Stmt : Iir) return Boolean is 7086 begin 7087 pragma Assert (Stmt /= Null_Iir); 7088 pragma Assert (Has_Has_Delay_Mechanism (Get_Kind (Stmt)), 7089 "no field Has_Delay_Mechanism"); 7090 return Get_Flag2 (Stmt); 7091 end Get_Has_Delay_Mechanism; 7092 7093 procedure Set_Has_Delay_Mechanism (Stmt : Iir; Flag : Boolean) is 7094 begin 7095 pragma Assert (Stmt /= Null_Iir); 7096 pragma Assert (Has_Has_Delay_Mechanism (Get_Kind (Stmt)), 7097 "no field Has_Delay_Mechanism"); 7098 Set_Flag2 (Stmt, Flag); 7099 end Set_Has_Delay_Mechanism; 7100 7101 function Get_Suspend_Flag (Stmt : Iir) return Boolean is 7102 begin 7103 pragma Assert (Stmt /= Null_Iir); 7104 pragma Assert (Has_Suspend_Flag (Get_Kind (Stmt)), 7105 "no field Suspend_Flag"); 7106 return Get_Flag11 (Stmt); 7107 end Get_Suspend_Flag; 7108 7109 procedure Set_Suspend_Flag (Stmt : Iir; Flag : Boolean) is 7110 begin 7111 pragma Assert (Stmt /= Null_Iir); 7112 pragma Assert (Has_Suspend_Flag (Get_Kind (Stmt)), 7113 "no field Suspend_Flag"); 7114 Set_Flag11 (Stmt, Flag); 7115 end Set_Suspend_Flag; 7116 7117 function Get_Is_Ref (N : Iir) return Boolean is 7118 begin 7119 pragma Assert (N /= Null_Iir); 7120 pragma Assert (Has_Is_Ref (Get_Kind (N)), 7121 "no field Is_Ref"); 7122 return Get_Flag12 (N); 7123 end Get_Is_Ref; 7124 7125 procedure Set_Is_Ref (N : Iir; Ref : Boolean) is 7126 begin 7127 pragma Assert (N /= Null_Iir); 7128 pragma Assert (Has_Is_Ref (Get_Kind (N)), 7129 "no field Is_Ref"); 7130 Set_Flag12 (N, Ref); 7131 end Set_Is_Ref; 7132 7133 function Get_Is_Forward_Ref (N : Iir) return Boolean is 7134 begin 7135 pragma Assert (N /= Null_Iir); 7136 pragma Assert (Has_Is_Forward_Ref (Get_Kind (N)), 7137 "no field Is_Forward_Ref"); 7138 return Get_Flag1 (N); 7139 end Get_Is_Forward_Ref; 7140 7141 procedure Set_Is_Forward_Ref (N : Iir; Ref : Boolean) is 7142 begin 7143 pragma Assert (N /= Null_Iir); 7144 pragma Assert (Has_Is_Forward_Ref (Get_Kind (N)), 7145 "no field Is_Forward_Ref"); 7146 Set_Flag1 (N, Ref); 7147 end Set_Is_Forward_Ref; 7148 7149 function Get_Psl_Property (Decl : Iir) return PSL_Node is 7150 begin 7151 pragma Assert (Decl /= Null_Iir); 7152 pragma Assert (Has_Psl_Property (Get_Kind (Decl)), 7153 "no field Psl_Property"); 7154 return Iir_To_PSL_Node (Get_Field1 (Decl)); 7155 end Get_Psl_Property; 7156 7157 procedure Set_Psl_Property (Decl : Iir; Prop : PSL_Node) is 7158 begin 7159 pragma Assert (Decl /= Null_Iir); 7160 pragma Assert (Has_Psl_Property (Get_Kind (Decl)), 7161 "no field Psl_Property"); 7162 Set_Field1 (Decl, PSL_Node_To_Iir (Prop)); 7163 end Set_Psl_Property; 7164 7165 function Get_Psl_Sequence (Decl : Iir) return PSL_Node is 7166 begin 7167 pragma Assert (Decl /= Null_Iir); 7168 pragma Assert (Has_Psl_Sequence (Get_Kind (Decl)), 7169 "no field Psl_Sequence"); 7170 return Iir_To_PSL_Node (Get_Field1 (Decl)); 7171 end Get_Psl_Sequence; 7172 7173 procedure Set_Psl_Sequence (Decl : Iir; Prop : PSL_Node) is 7174 begin 7175 pragma Assert (Decl /= Null_Iir); 7176 pragma Assert (Has_Psl_Sequence (Get_Kind (Decl)), 7177 "no field Psl_Sequence"); 7178 Set_Field1 (Decl, PSL_Node_To_Iir (Prop)); 7179 end Set_Psl_Sequence; 7180 7181 function Get_Psl_Declaration (Decl : Iir) return PSL_Node is 7182 begin 7183 pragma Assert (Decl /= Null_Iir); 7184 pragma Assert (Has_Psl_Declaration (Get_Kind (Decl)), 7185 "no field Psl_Declaration"); 7186 return Iir_To_PSL_Node (Get_Field6 (Decl)); 7187 end Get_Psl_Declaration; 7188 7189 procedure Set_Psl_Declaration (Decl : Iir; Prop : PSL_Node) is 7190 begin 7191 pragma Assert (Decl /= Null_Iir); 7192 pragma Assert (Has_Psl_Declaration (Get_Kind (Decl)), 7193 "no field Psl_Declaration"); 7194 Set_Field6 (Decl, PSL_Node_To_Iir (Prop)); 7195 end Set_Psl_Declaration; 7196 7197 function Get_Psl_Expression (Decl : Iir) return PSL_Node is 7198 begin 7199 pragma Assert (Decl /= Null_Iir); 7200 pragma Assert (Has_Psl_Expression (Get_Kind (Decl)), 7201 "no field Psl_Expression"); 7202 return Iir_To_PSL_Node (Get_Field3 (Decl)); 7203 end Get_Psl_Expression; 7204 7205 procedure Set_Psl_Expression (Decl : Iir; Prop : PSL_Node) is 7206 begin 7207 pragma Assert (Decl /= Null_Iir); 7208 pragma Assert (Has_Psl_Expression (Get_Kind (Decl)), 7209 "no field Psl_Expression"); 7210 Set_Field3 (Decl, PSL_Node_To_Iir (Prop)); 7211 end Set_Psl_Expression; 7212 7213 function Get_Psl_Boolean (N : Iir) return PSL_Node is 7214 begin 7215 pragma Assert (N /= Null_Iir); 7216 pragma Assert (Has_Psl_Boolean (Get_Kind (N)), 7217 "no field Psl_Boolean"); 7218 return Iir_To_PSL_Node (Get_Field1 (N)); 7219 end Get_Psl_Boolean; 7220 7221 procedure Set_Psl_Boolean (N : Iir; Bool : PSL_Node) is 7222 begin 7223 pragma Assert (N /= Null_Iir); 7224 pragma Assert (Has_Psl_Boolean (Get_Kind (N)), 7225 "no field Psl_Boolean"); 7226 Set_Field1 (N, PSL_Node_To_Iir (Bool)); 7227 end Set_Psl_Boolean; 7228 7229 function Get_PSL_Clock (N : Iir) return PSL_Node is 7230 begin 7231 pragma Assert (N /= Null_Iir); 7232 pragma Assert (Has_PSL_Clock (Get_Kind (N)), 7233 "no field PSL_Clock"); 7234 return Iir_To_PSL_Node (Get_Field7 (N)); 7235 end Get_PSL_Clock; 7236 7237 procedure Set_PSL_Clock (N : Iir; Clock : PSL_Node) is 7238 begin 7239 pragma Assert (N /= Null_Iir); 7240 pragma Assert (Has_PSL_Clock (Get_Kind (N)), 7241 "no field PSL_Clock"); 7242 Set_Field7 (N, PSL_Node_To_Iir (Clock)); 7243 end Set_PSL_Clock; 7244 7245 function Get_PSL_NFA (N : Iir) return PSL_NFA is 7246 begin 7247 pragma Assert (N /= Null_Iir); 7248 pragma Assert (Has_PSL_NFA (Get_Kind (N)), 7249 "no field PSL_NFA"); 7250 return Iir_To_PSL_NFA (Get_Field8 (N)); 7251 end Get_PSL_NFA; 7252 7253 procedure Set_PSL_NFA (N : Iir; Fa : PSL_NFA) is 7254 begin 7255 pragma Assert (N /= Null_Iir); 7256 pragma Assert (Has_PSL_NFA (Get_Kind (N)), 7257 "no field PSL_NFA"); 7258 Set_Field8 (N, PSL_NFA_To_Iir (Fa)); 7259 end Set_PSL_NFA; 7260 7261 function Get_PSL_Nbr_States (N : Iir) return Int32 is 7262 begin 7263 pragma Assert (N /= Null_Iir); 7264 pragma Assert (Has_PSL_Nbr_States (Get_Kind (N)), 7265 "no field PSL_Nbr_States"); 7266 return Iir_To_Int32 (Get_Field9 (N)); 7267 end Get_PSL_Nbr_States; 7268 7269 procedure Set_PSL_Nbr_States (N : Iir; Nbr : Int32) is 7270 begin 7271 pragma Assert (N /= Null_Iir); 7272 pragma Assert (Has_PSL_Nbr_States (Get_Kind (N)), 7273 "no field PSL_Nbr_States"); 7274 Set_Field9 (N, Int32_To_Iir (Nbr)); 7275 end Set_PSL_Nbr_States; 7276 7277 function Get_PSL_Clock_Sensitivity (N : Iir) return Iir_List is 7278 begin 7279 pragma Assert (N /= Null_Iir); 7280 pragma Assert (Has_PSL_Clock_Sensitivity (Get_Kind (N)), 7281 "no field PSL_Clock_Sensitivity"); 7282 return Iir_To_Iir_List (Get_Field10 (N)); 7283 end Get_PSL_Clock_Sensitivity; 7284 7285 procedure Set_PSL_Clock_Sensitivity (N : Iir; List : Iir_List) is 7286 begin 7287 pragma Assert (N /= Null_Iir); 7288 pragma Assert (Has_PSL_Clock_Sensitivity (Get_Kind (N)), 7289 "no field PSL_Clock_Sensitivity"); 7290 Set_Field10 (N, Iir_List_To_Iir (List)); 7291 end Set_PSL_Clock_Sensitivity; 7292 7293 function Get_PSL_EOS_Flag (N : Iir) return Boolean is 7294 begin 7295 pragma Assert (N /= Null_Iir); 7296 pragma Assert (Has_PSL_EOS_Flag (Get_Kind (N)), 7297 "no field PSL_EOS_Flag"); 7298 return Get_Flag1 (N); 7299 end Get_PSL_EOS_Flag; 7300 7301 procedure Set_PSL_EOS_Flag (N : Iir; Flag : Boolean) is 7302 begin 7303 pragma Assert (N /= Null_Iir); 7304 pragma Assert (Has_PSL_EOS_Flag (Get_Kind (N)), 7305 "no field PSL_EOS_Flag"); 7306 Set_Flag1 (N, Flag); 7307 end Set_PSL_EOS_Flag; 7308 7309 function Get_Count_Expression (N : Iir) return Iir is 7310 begin 7311 pragma Assert (N /= Null_Iir); 7312 pragma Assert (Has_Count_Expression (Get_Kind (N)), 7313 "no field Count_Expression"); 7314 return Get_Field2 (N); 7315 end Get_Count_Expression; 7316 7317 procedure Set_Count_Expression (N : Iir; Count : Iir) is 7318 begin 7319 pragma Assert (N /= Null_Iir); 7320 pragma Assert (Has_Count_Expression (Get_Kind (N)), 7321 "no field Count_Expression"); 7322 Set_Field2 (N, Count); 7323 end Set_Count_Expression; 7324 7325 function Get_Clock_Expression (N : Iir) return Iir is 7326 begin 7327 pragma Assert (N /= Null_Iir); 7328 pragma Assert (Has_Clock_Expression (Get_Kind (N)), 7329 "no field Clock_Expression"); 7330 return Get_Field4 (N); 7331 end Get_Clock_Expression; 7332 7333 procedure Set_Clock_Expression (N : Iir; Clk : Iir) is 7334 begin 7335 pragma Assert (N /= Null_Iir); 7336 pragma Assert (Has_Clock_Expression (Get_Kind (N)), 7337 "no field Clock_Expression"); 7338 Set_Field4 (N, Clk); 7339 end Set_Clock_Expression; 7340 7341 function Get_Default_Clock (N : Iir) return Iir is 7342 begin 7343 pragma Assert (N /= Null_Iir); 7344 pragma Assert (Has_Default_Clock (Get_Kind (N)), 7345 "no field Default_Clock"); 7346 return Get_Field3 (N); 7347 end Get_Default_Clock; 7348 7349 procedure Set_Default_Clock (N : Iir; Clk : Iir) is 7350 begin 7351 pragma Assert (N /= Null_Iir); 7352 pragma Assert (Has_Default_Clock (Get_Kind (N)), 7353 "no field Default_Clock"); 7354 Set_Field3 (N, Clk); 7355 end Set_Default_Clock; 7356 7357end Vhdl.Nodes; 7358