BASE	input.sv	/^  type BASE=supertest #(test)$/;"	c	class:paramtest2
BASE	input.sv	/^class paramtest #(type BASE=supertest #(test)) extends BASE;$/;"	c	class:paramtest
BASE	input.sv	/^class paramtest3 #(type BASE=supertest, type BASE2=paramtest);$/;"	c	class:paramtest3
BASE2	input.sv	/^class paramtest3 #(type BASE=supertest, type BASE2=paramtest);$/;"	c	class:paramtest3
DEFINE	input.sv	/^`define DEFINE$/;"	c
DEF_VALUE	input.sv	/^`define DEF_VALUE   1'd100$/;"	c
DEF_WITH_EQ	input.sv	/^`define DEF_WITH_EQ = 1'd100$/;"	c
a	input.sv	/^    extern virtual function void extern_func (input bit a, input b);$/;"	p	prototype:test.extern_func
a	input.sv	/^    function mult (a, input b = 0);$/;"	p	function:supertest.mult
a	input.sv	/^    function mult (a, input b = 0);$/;"	p	function:test.mult
a	input.sv	/^    reg a;$/;"	r	class:test
a	input.sv	/^virtual function myfunc (a, b);$/;"	p	function:paramtest3.myfunc
b	input.sv	/^    extern virtual function void extern_func (input bit a, input b);$/;"	p	prototype:test.extern_func
b	input.sv	/^    function mult (a, input b = 0);$/;"	p	function:supertest.mult
b	input.sv	/^    function mult (a, input b = 0);$/;"	p	function:test.mult
b	input.sv	/^    logic b;$/;"	r	class:test
b	input.sv	/^virtual function myfunc (a, b);$/;"	p	function:paramtest3.myfunc
c	input.sv	/^    logic c;$/;"	r	class:supertest
c	input.sv	/^extern virtual function test ext_func (c, d);$/;"	p	prototype:paramtest3.ext_func
c	input.sv	/^function test paramtest3::ext_func (c, d);$/;"	p	function:paramtest3.ext_func
d	input.sv	/^extern virtual function test ext_func (c, d);$/;"	p	prototype:paramtest3.ext_func
d	input.sv	/^function test paramtest3::ext_func (c, d);$/;"	p	function:paramtest3.ext_func
ext_func	input.sv	/^extern virtual function test ext_func (c, d);$/;"	Q	class:paramtest3
ext_func	input.sv	/^function test paramtest3::ext_func (c, d);$/;"	f	class:paramtest3
extern_func	input.sv	/^    extern virtual function void extern_func (input bit a, input b);$/;"	Q	class:test
fwrd_ref	input.sv	/^    extern virtual function bit fwrd_ref;$/;"	Q	class:supertest
mult	input.sv	/^    function mult (a, input b = 0);$/;"	f	class:supertest
mult	input.sv	/^    function mult (a, input b = 0);$/;"	f	class:test
myfunc	input.sv	/^virtual function myfunc (a, b);$/;"	f	class:paramtest3
paramtest	input.sv	/^class paramtest #(type BASE=supertest #(test)) extends BASE;$/;"	C
paramtest.BASE	input.sv	/^class paramtest #(type BASE=supertest #(test)) extends BASE;$/;"	c	class:paramtest
paramtest2	input.sv	/^class paramtest2 #($/;"	C
paramtest2.BASE	input.sv	/^  type BASE=supertest #(test)$/;"	c	class:paramtest2
paramtest3	input.sv	/^class paramtest3 #(type BASE=supertest, type BASE2=paramtest);$/;"	C
paramtest3.BASE	input.sv	/^class paramtest3 #(type BASE=supertest, type BASE2=paramtest);$/;"	c	class:paramtest3
paramtest3.BASE2	input.sv	/^class paramtest3 #(type BASE=supertest, type BASE2=paramtest);$/;"	c	class:paramtest3
paramtest3.ext_func	input.sv	/^extern virtual function test ext_func (c, d);$/;"	Q	class:paramtest3
paramtest3.ext_func	input.sv	/^function test paramtest3::ext_func (c, d);$/;"	f	class:paramtest3
paramtest3.ext_func.c	input.sv	/^extern virtual function test ext_func (c, d);$/;"	p	prototype:paramtest3.ext_func
paramtest3.ext_func.c	input.sv	/^function test paramtest3::ext_func (c, d);$/;"	p	function:paramtest3.ext_func
paramtest3.ext_func.d	input.sv	/^extern virtual function test ext_func (c, d);$/;"	p	prototype:paramtest3.ext_func
paramtest3.ext_func.d	input.sv	/^function test paramtest3::ext_func (c, d);$/;"	p	function:paramtest3.ext_func
paramtest3.myfunc	input.sv	/^virtual function myfunc (a, b);$/;"	f	class:paramtest3
paramtest3.myfunc.a	input.sv	/^virtual function myfunc (a, b);$/;"	p	function:paramtest3.myfunc
paramtest3.myfunc.b	input.sv	/^virtual function myfunc (a, b);$/;"	p	function:paramtest3.myfunc
supertest	input.sv	/^class supertest extends test;$/;"	C	inherits:test
supertest.c	input.sv	/^    logic c;$/;"	r	class:supertest
supertest.fwrd_ref	input.sv	/^    extern virtual function bit fwrd_ref;$/;"	Q	class:supertest
supertest.mult	input.sv	/^    function mult (a, input b = 0);$/;"	f	class:supertest
supertest.mult.a	input.sv	/^    function mult (a, input b = 0);$/;"	p	function:supertest.mult
supertest.mult.b	input.sv	/^    function mult (a, input b = 0);$/;"	p	function:supertest.mult
test	input.sv	/^class test;$/;"	C
test.a	input.sv	/^    reg a;$/;"	r	class:test
test.b	input.sv	/^    logic b;$/;"	r	class:test
test.extern_func	input.sv	/^    extern virtual function void extern_func (input bit a, input b);$/;"	Q	class:test
test.extern_func.a	input.sv	/^    extern virtual function void extern_func (input bit a, input b);$/;"	p	prototype:test.extern_func
test.extern_func.b	input.sv	/^    extern virtual function void extern_func (input bit a, input b);$/;"	p	prototype:test.extern_func
test.mult	input.sv	/^    function mult (a, input b = 0);$/;"	f	class:test
test.mult.a	input.sv	/^    function mult (a, input b = 0);$/;"	p	function:test.mult
test.mult.b	input.sv	/^    function mult (a, input b = 0);$/;"	p	function:test.mult
