Skip to content
← Back

src/semantic/dotnet/type_source.ghul

1
namespace Semantic.DotNet is
2
use TYPE = System.Type
3
4
use Collections.Iterable
5
use Collections.List
6
use Collections.MAP
7
use Collections.LIST
8
9
trait TypeSource is
10
on_start(callback: () -> void)
11
12
// assume assembly is System.Runtime:
13
get_type(type_name: string) -> TYPE
14
15
// use assembly_name if non-null, otherwise assume assembly is System.Runtime:
16
get_type(assembly_name: string?, type_name: string) -> TYPE
17
18
// assume assembly is System.Runtime:
19
get_types(type_names: Iterable[string]) -> List[TYPE]
20
21
// use assembly_name if non-null, otherwise assume assembly is System.Runtime:
22
get_types(assembly_and_type_names: Iterable[(assembly_name: string, type_name: string)]) -> List[TYPE]
23
24
// The nullability bytes for each interface `declaring_type`
25
// implements directly, keyed by `INTERFACE_NULLABILITY.key_for`'s
26
// reduction of the interface's own `Type` — see that class for
27
// why this can't be answered through ordinary reflection. Empty
28
// when there's nothing to say.
29
interface_nullability_bytes(declaring_type: TYPE) -> MAP[TYPE,LIST[int]]
30
si
31
si