yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Yong HeSupport visibility control and default to `internal`. (#3380)11111e573

master
588 B37 linesraw
1//TEST:EXECUTABLE:
2[COM("BE18F5D2-4522-4AB0-A6EE-1D157FA2B083")]
3interface IFoo
4{
5    int method();
6};
7
8class MyClass : IFoo
9{
10    int intMember;
11    __init()
12    {
13        intMember = 0;
14    }
15    int method()
16    {
17        printf("method\n");
18        return intMember;
19    }
20};
21
22[DllExport]
23export IFoo createFoo()
24{
25    IFoo result = new MyClass();
26    return result;
27}
28
29// Now we import the `createFoo` function from current module.
30[DllImport("", "createFoo")]
31IFoo createFooImported();
32
33export __extern_cpp int main()
34{
35    var obj = createFooImported();
36    return obj.method();
37}