Appearance
| 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 |