User guide
24-150
SystemVerilog Testbench Constructs
call to send_Created_a. At the end of this step,
send_around_Created_c becomes the new target method for
weaving of further advices to packet::send.
Example 24-14
// Beginnning of file Input.vr
program top;
packet p;
p = new();
p.send_around_Created_c();
endprogram
class packet;
...
// Other member fields/methods
...
task send();
$display("Sending data\n”);
endtask
task send_Created_a();
send();
send_after_Created_b();
endtask
task send_after_Created_b();
$display("Aspect_2: send advice after\n");
endtask
task send_around_Created_c();
send_before_Created_d();
$display("Aspect_3: Begin send advice around\n");
send_after_Created_a();
$display("Aspect_3: End send advice around\n");
endtask
task send_before_Created_d();
$display("Aspect_3: send advice before\n");
endtask
endclass
extends aspect_1(packet) dominates (aspect_2, aspect_3);
after task send(); // Advice 1
$display("Aspect_1: send advice after\n");