blob: 24149446e245cdd8bd2d813f1d302f7e214d9bcc [file] [log] [blame]
// File node require empty language & signature.
//- _FileNode=vname("", "", _, _, "").node/kind file
//- @my_pkg defines/binding MyPkg
//- MyPkg.node/kind package
package my_pkg;
//- @my_class1 defines/binding MyClass1
//- MyClass1.node/kind record
//- MyClass1.complete definition
//- MyClass1 childof MyPkg
class my_class1;
//- @my_var defines/binding MyVar
int my_var;
//- @my_static_var defines/binding MyStaticVar
static int my_static_var;
//- @my_function defines/binding MyFunction
//- MyFunction.node/kind function
//- MyFunction.complete definition
//- MyFunction childof MyClass1
virtual function int my_function();
//- @my_var ref MyVar
return my_var;
endfunction
//- @my_task defines/binding MyTask
//- MyTask.node/kind function
//- MyTask.complete definition
//- MyTask childof MyClass1
//- @my_arg2 defines/binding MyArg2
task my_task(int my_arg2);
//- @my_arg2 ref MyArg2
$display(my_arg2);
endtask
//- @nested_class defines/binding NestedClass
//- NestedClass.node/kind record
//- NestedClass.complete definition
//- NestedClass childof MyClass1
class nested_class;
//- @nested_function defines/binding NestedFunction
//- NestedFunction.node/kind function
//- NestedFunction.complete definition
//- NestedFunction childof NestedClass
function int nested_function();
return 1;
endfunction
endclass
//- @my_class1 ref MyClass1
endclass : my_class1
//- @my_pkg ref MyPkg
endpackage : my_pkg
//- @my_module defines/binding MyModule
//- MyModule.node/kind record
//- MyModule.subkind module
//- MyModule.complete definition
module my_module;
//- @my_pkg ref/imports MyPkg
import my_pkg::*;
//- @my_class1 ref MyClass1
//- @handle1 defines/binding Handle1
//- Handle1.node/kind variable
//- Handle1.complete definition
//- Handle1 childof MyModule
static my_class1 handle1 = new();
//- @my_class1 ref MyClass1
//- @handle3 defines/binding Handle3
//- Handle3.node/kind variable
//- Handle3.complete definition
//- Handle3 childof MyModule
//- @handle4 defines/binding Handle4
//- Handle4.node/kind variable
//- Handle4.complete definition
//- Handle4 childof MyModule
my_class1 handle3 = new(), handle4 = new();
initial begin
//- @handle1 ref Handle1
//- @my_function ref MyFunction
//- @my_function ref/call MyFunction
$display(handle1.my_function());
//- @handle1 ref Handle1
//- @my_task ref/call MyTask
handle1.my_task(2);
//- @my_class1 ref MyClass1
//- @my_static_var ref MyStaticVar
$display(my_class1::my_static_var);
end
//- @my_class3 defines/binding MyClass3
//- MyClass3.node/kind record
//- MyClass3.complete definition
//- MyClass3 childof MyModule
class my_class3;
//- @my_function3 defines/binding MyFunction3
//- MyFunction3.node/kind function
//- MyFunction3.complete definition
//- MyFunction3 childof MyClass3
function int my_function3();
return 1;
endfunction
//- @my_class3 ref MyClass3
endclass : my_class3
endmodule