data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh
1: b'%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:1: Unsupported: classes\nclass gpio_monitor extends uvm_component;\n^~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:1: syntax error, unexpected IDENTIFIER, expecting TYPE-IDENTIFIER\nclass gpio_monitor extends uvm_component;\n                           ^~~~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:3: Define or directive not defined: \'`uvm_component_utils\'\n    `uvm_component_utils(gpio_monitor);\n    ^~~~~~~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:5: Unsupported: virtual data type\n    virtual gpio_if GPIO;\n    ^~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:6: syntax error, unexpected IDENTIFIER\n gpio_agent_config m_cfg;\n ^~~~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:11: Unsupported: new constructor\n    extern function new(string name = "gpio_monitor", uvm_component parent = null);\n                    ^~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:11: syntax error, unexpected IDENTIFIER, expecting \')\'\n    extern function new(string name = "gpio_monitor", uvm_component parent = null);\n                                                                    ^~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:12: syntax error, unexpected IDENTIFIER, expecting \')\'\n    extern function void build_phase(uvm_phase phase);\n                                               ^~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:13: syntax error, unexpected IDENTIFIER, expecting \')\'\n    extern task run_phase(uvm_phase phase);\n                                    ^~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:15: syntax error, unexpected extern\n    extern task external_monitor_loop;\n    ^~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:20: Unsupported: super\n    super.new(name, parent);\n    ^~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:20: Unsupported: new with arguments\n    super.new(name, parent);\n          ^~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:20: Unsupported: dotted new\n    super.new(name, parent);\n    ^~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:21: syntax error, unexpected endfunction, expecting endtask\nendfunction\n^~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:23: Unsupported: Hierarchical class references\nfunction void gpio_monitor::build_phase(uvm_phase phase);\n                          ^~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:23: Unsupported: scoped class reference\nfunction void gpio_monitor::build_phase(uvm_phase phase);\n                            ^~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:14: Unsupported: Out of class block function declaration\n    extern task internal_monitor_loop;\n                                     ^\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:23: syntax error, unexpected IDENTIFIER, expecting \')\'\nfunction void gpio_monitor::build_phase(uvm_phase phase);\n                                                  ^~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:25: Define or directive not defined: \'`uvm_fatal\'\n    `uvm_fatal("CONFIG_LOAD", "Cannot get() configuration gpio_agent_config from uvm_config_db. Have you set() it?")\n    ^~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:32: Unsupported: Hierarchical class references\ntask gpio_monitor::run_phase(uvm_phase phase);\n                 ^~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:32: Unsupported: scoped class reference\ntask gpio_monitor::run_phase(uvm_phase phase);\n                   ^~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:23: Unsupported: Out of class block function declaration\nfunction void gpio_monitor::build_phase(uvm_phase phase);\n         ^~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:32: syntax error, unexpected IDENTIFIER, expecting \')\'\ntask gpio_monitor::run_phase(uvm_phase phase);\n                                       ^~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:43: Unsupported: Hierarchical class references\ntask gpio_monitor::internal_monitor_loop;\n                 ^~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:43: Unsupported: scoped class reference\ntask gpio_monitor::internal_monitor_loop;\n                   ^~~~~~~~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:32: Unsupported: Out of class block function declaration\ntask gpio_monitor::run_phase(uvm_phase phase);\n                   ^~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:44: syntax error, unexpected IDENTIFIER\n    gpio_seq_item item;\n                  ^~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:46: syntax error, unexpected IDENTIFIER, expecting "\'{"\n    logic[31:0] last_gpio_sample;\n                ^~~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:48: syntax error, unexpected ::, expecting \';\'\n    item = gpio_seq_item::type_id::create("item");\n                        ^~\n                                                                                  : ... Perhaps \'gpio_seq_item\' is a package which needs to be predeclared? (IEEE 1800-2017 26.3)\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:55: syntax error, unexpected \'@\'\n    @(posedge GPIO.clk);\n    ^\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:60: Unsupported or unknown PLI call: $cast\n        $cast(cloned_item, item.clone());\n        ^~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:83: Unsupported: Hierarchical class references\ntask gpio_monitor::external_monitor_loop;\n                 ^~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:83: Unsupported: scoped class reference\ntask gpio_monitor::external_monitor_loop;\n                   ^~~~~~~~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:43: Unsupported: Out of class block function declaration\ntask gpio_monitor::internal_monitor_loop;\n                   ^~~~~~~~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:84: syntax error, unexpected IDENTIFIER\n    gpio_seq_item item;\n                  ^~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:86: syntax error, unexpected IDENTIFIER, expecting "\'{"\n    logic[31:0] last_gpio_sample;\n                ^~~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:88: syntax error, unexpected ::, expecting \';\'\n    item = gpio_seq_item::type_id::create("item");\n                        ^~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:96: syntax error, unexpected \'@\'\n    @(posedge GPIO.ext_clk);\n    ^\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:103: syntax error, unexpected \'@\'\n        @(posedge GPIO.clk);\n        ^\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:107: Unsupported or unknown PLI call: $cast\n    $cast(cloned_item, item.clone());\n    ^~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:109: syntax error, unexpected \'@\'\n    @(negedge GPIO.ext_clk);\n    ^\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:111: syntax error, unexpected \'@\'\n        @(posedge GPIO.clk);\n        ^\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:117: syntax error, unexpected \'@\'\n        @(posedge GPIO.clk);\n        ^\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:121: Unsupported or unknown PLI call: $cast\n    $cast(cloned_item, item.clone());\n    ^~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:126: Unsupported: Hierarchical class references\nfunction void gpio_monitor::report_phase(uvm_phase phase);\n                          ^~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:126: Unsupported: scoped class reference\nfunction void gpio_monitor::report_phase(uvm_phase phase);\n                            ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:83: Unsupported: Out of class block function declaration\ntask gpio_monitor::external_monitor_loop;\n                                        ^\n%Error: data/full_repos/permissive/506636840/agents/gpio_agent/gpio_monitor.svh:126: syntax error, unexpected IDENTIFIER, expecting \')\'\nfunction void gpio_monitor::report_phase(uvm_phase phase);\n                                                   ^~~~~\n%Error: Exiting due to 48 error(s)\n        ... See the manual and https://verilator.org for more assistance.\n'
function new(string name = "gpio_monitor", uvm_component parent = null);
    extern function void build_phase(uvm_phase phase);
    extern task run_phase(uvm_phase phase);
    extern task internal_monitor_loop;
    extern task external_monitor_loop;
    extern function void report_phase(uvm_phase phase);
endclass

function gpio_monitor::new(string name = "gpio_monitor", uvm_component parent = null);
    super.new(name, parent);
endfunction
function new(string name = "gpio_monitor", uvm_component parent = null);

    extern function void build_phase(uvm_phase phase);
    extern task run_phase(uvm_phase phase);
    extern task internal_monitor_loop;
    extern task external_monitor_loop;
    extern function void report_phase(uvm_phase phase);
endclass

function gpio_monitor::new(string name = "gpio_monitor", uvm_component parent = null);
    super.new(name, parent);
endfunction