Appearance
| 1 | namespace Semantic.DotNet is | |
| 2 | use IO.Std; | |
| 3 | ||
| 4 | use TYPE = System.Type; | |
| 5 | ||
| 6 | class TYPE_DETAILS( | |
| 7 | dotnet_type: TYPE, | |
| 8 | ghul_namespace: string, | |
| 9 | ghul_type_name: string, | |
| 10 | il_name: string?, | |
| 11 | assembly_name: string?, | |
| 12 | version_number: string | |
| 13 | ) is | |
| 14 | // True for the synthetic class hosting a namespace's globals. A | |
| 15 | // namespace can have one carrier per contributing assembly, and the | |
| 16 | // re-homing of Ghul.Internal into Ghul gives it two from a single one. | |
| 17 | is_globals_carrier: bool public; | |
| 18 | ||
| 19 | matches(namespace_name: string?, name: string) -> bool => | |
| 20 | namespace_name? /\ namespace_name =~ ghul_namespace /\ name =~ ghul_type_name; | |
| 21 | ||
| 22 | merge_assembly_reference(type: TYPE, assembly_name: string, assembly_version: string) is | |
| 23 | if !self.assembly_name? then | |
| 24 | self.assembly_name = assembly_name; | |
| 25 | self.version_number = assembly_version; | |
| 26 | fi | |
| 27 | si | |
| 28 | ||
| 29 | to_string() -> string => "(.NET type: {dotnet_type} ghul ns: {ghul_namespace} ghul name: {ghul_type_name} il_name: {il_name} assembly_name: {assembly_name})"; | |
| 30 | si | |
| 31 | si |