Dereference

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_Dereference

An implicit access dereference.

Format: Short

Accessor

Field

Type

Access

Description

Prefix

Field0

Iir

owned

Prefix of a name.

Type

Field1

Iir

ref

Base_Name

Field5

Iir

ref

The base name of a name is the node at the origin of the name. The base name is a declaration (signal, object, constant or interface), a selected_by_all name, an implicit_dereference name.

Expr_Staticness

State1

Iir_Staticness

owned

Expression staticness, defined by rules of LRM 7.4

Name_Staticness

State2

Iir_Staticness

owned

Staticness of a name, according to rules of LRM 6.1

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Dereference" [style=filled fillcolor="#eeeeec" label="{Dereference|{<Prefix> Prefix|<Type> Type|<Base_Name> Base_Name|<Expr_Staticness> Expr_Staticness|<Name_Staticness> Name_Staticness}}"] "Dereference__Prefix" [shape=box label="Iir"] "Dereference":Prefix -> "Dereference__Prefix" [color="#000000"] "Dereference__Type" [shape=box label="Iir"] "Dereference":Type -> "Dereference__Type" [color="#3465a4" style=dashed] "Dereference__Base_Name" [shape=box label="Iir"] "Dereference":Base_Name -> "Dereference__Base_Name" [color="#3465a4" style=dashed] }

Iir_Kind_Implicit_Dereference

An implicit access dereference.

Format: Short

Accessor

Field

Type

Access

Description

Prefix

Field0

Iir

owned

Prefix of a name.

Type

Field1

Iir

ref

Base_Name

Field5

Iir

ref

The base name of a name is the node at the origin of the name. The base name is a declaration (signal, object, constant or interface), a selected_by_all name, an implicit_dereference name.

Expr_Staticness

State1

Iir_Staticness

owned

Expression staticness, defined by rules of LRM 7.4

Name_Staticness

State2

Iir_Staticness

owned

Staticness of a name, according to rules of LRM 6.1

digraph { rankdir="LR" node [shape=record fontname="monospace" fontsize=10] edge [fontname="monospace" fontsize=9] "Implicit_Dereference" [style=filled fillcolor="#eeeeec" label="{Implicit_Dereference|{<Prefix> Prefix|<Type> Type|<Base_Name> Base_Name|<Expr_Staticness> Expr_Staticness|<Name_Staticness> Name_Staticness}}"] "Implicit_Dereference__Prefix" [shape=box label="Iir"] "Implicit_Dereference":Prefix -> "Implicit_Dereference__Prefix" [color="#000000"] "Implicit_Dereference__Type" [shape=box label="Iir"] "Implicit_Dereference":Type -> "Implicit_Dereference__Type" [color="#3465a4" style=dashed] "Implicit_Dereference__Base_Name" [shape=box label="Iir"] "Implicit_Dereference":Base_Name -> "Implicit_Dereference__Base_Name" [color="#3465a4" style=dashed] }