User guide
24-159
SystemVerilog Testbench Constructs
b. Permission to suspend access rules and to specify advice that
changes protected and local virtual methods (option "rules") is
referred to as rules-permission. If within an aspect, at an aspect
item, such permission is granted, then the rules-permission is
said to be on or the status of rules-permission is said to be on
at that aspect item and at all the aspect items following that,
until a hide list that forfeits the permission is encountered. If
rules-permission is not on or the status of rules-permission is
not on at an aspect item, then the rules-permission at that item
is said to be off or the status of rules-permission at that item is
said to be off.
Permission for one of the above types of hide permissions does not
affect the other. Status of rules-permission and hide-permission
varies with the position of an aspect item within the aspect. Multiple
hide_list(s) may appear in the extension. In an aspect, whether an
introduction or an advice that can be affected by hide permissions is
permitted to be defined at a given position within the aspect
extension is determined by the status of the relevant hide permission
at the position. A hide_list at a given position in an aspect can
change the status of rules-permission and/or virtuals-permission at
that position and all following aspect items until any hide permission
status is changed again in that aspect using hide_list.
Example 24-20 illustrates how the two hide permissions can change
at different aspect items within an aspect extension.
Example 24-20
class pbase;
virtual task print1();
$display("pbase::print1\n");
endtask
virtual task print2();
$display("pbase::print2\n");
endtask
endclass