Skip to content
← Back

src/semantic/dotnet/type_name.ghul

1
namespace Semantic.DotNet is
2
use IO.Std;
3
4
struct TYPE_NAME is
5
qualified_name: string;
6
7
namespace_name: string? =>
8
let last_dot_index = qualified_name.last_index_of('.') in
9
10
if last_dot_index >= 0 then
11
qualified_name.substring(0, last_dot_index);
12
else
13
null
14
fi;
15
16
name: string =>
17
let last_dot_index = qualified_name.last_index_of('.') in
18
19
if last_dot_index >= 0 then
20
qualified_name.substring(last_dot_index + 1);
21
else
22
qualified_name
23
fi;
24
25
init(qualified_name: string) is
26
self.qualified_name = qualified_name;
27
si
28
29
init(namespace_name: string, name: string) is
30
self.qualified_name = "{namespace_name}.{name}";
31
si
32
33
to_string() -> string => qualified_name;
34
si
35
si