Package Instantiation Body

The diagrams below draw one box per node kind, with one port per field. The edge colours say how a link is held; they are listed in full on the Fields page.

digraph { rankdir="LR" nodesep=0.1 node [shape=point width=0.06 color="#888a85"] edge [fontname="monospace" fontsize=10 minlen=3] l0a -> l0b [label="owned" color="#000000"] l1a -> l1b [label="ref" color="#3465a4" style=dashed] l2a -> l2b [label="maybe ref" color="#3465a4" style=dotted] l3a -> l3b [label="of ref" color="#3465a4" style=dashed] l4a -> l4b [label="of maybe ref" color="#3465a4" style=dotted] l5a -> l5b [label="forward ref" color="#f57900" style=dashed] l6a -> l6b [label="maybe forward ref" color="#f57900" style=dotted] l7a -> l7b [label="chain" color="#4e9a06"] l8a -> l8b [label="chain next" color="#4e9a06" style=bold] }

Iir_Kind_Package_Instantiation_Body

Note: a body is not a declaration, that’s the reason why there is no _declaration suffix in the name. Note: Package_Instantiation_Body represent the place of the body when it is not immediately after the instantiation.

Format: Short

Accessor

Field

Type

Access

Description

Parent

Field0

Iir

ref

Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop.

Declaration_Chain

Field1

Iir

chain

Chain

Field2

Iir

chain next

For nested packages.

Identifier

Field3

Name_Id

owned

Get/Set the identifier of a declaration. Can also be used instead of get/set_label.

Attribute_Value_Chain

Field5

Iir

ref

Chain of attribute values for declared items. To be used with Get/Set_Value_Chain. There is no order, therefore, a new attribute value may be always prepended.

Package

Field4

Iir

ref

The corresponding package declaration.

End_Has_Reserved_Id

Flag8

Boolean

owned

Layout flag: true if ‘end’ is followed by the reserved identifier.

End_Has_Identifier

Flag9

Boolean

owned

Layout flag: true if ‘end’ is followed by the identifier.

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Package_Instantiation_Body" [style=filled fillcolor="#eeeeec" label="{Package_Instantiation_Body|{<Parent> Parent|<Declaration_Chain> Declaration_Chain|<Chain> Chain|<Identifier> Identifier|<Attribute_Value_Chain> Attribute_Value_Chain|<Package> Package|<End_Has_Reserved_Id> End_Has_Reserved_Id|<End_Has_Identifier> End_Has_Identifier}}"] "Package_Instantiation_Body__Parent" [shape=box label="Iir"] "Package_Instantiation_Body":Parent -> "Package_Instantiation_Body__Parent" [color="#3465a4" style=dashed] "Package_Instantiation_Body__Declaration_Chain" [shape=box label="Iir"] "Package_Instantiation_Body":Declaration_Chain -> "Package_Instantiation_Body__Declaration_Chain" [color="#4e9a06"] "Package_Instantiation_Body__Chain" [shape=box label="Iir"] "Package_Instantiation_Body":Chain -> "Package_Instantiation_Body__Chain" [color="#4e9a06" style=bold] "Package_Instantiation_Body__Attribute_Value_Chain" [shape=box label="Iir"] "Package_Instantiation_Body":Attribute_Value_Chain -> "Package_Instantiation_Body__Attribute_Value_Chain" [color="#3465a4" style=dashed] "Package_Instantiation_Body__Package" [shape=box label="Iir"] "Package_Instantiation_Body":Package -> "Package_Instantiation_Body__Package" [color="#3465a4" style=dashed] }