diff options
Diffstat (limited to 'mcs/ilasm/codegen/Sentinel.cs')
-rw-r--r-- | mcs/ilasm/codegen/Sentinel.cs | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/mcs/ilasm/codegen/Sentinel.cs b/mcs/ilasm/codegen/Sentinel.cs new file mode 100644 index 00000000000..6bbaa38923e --- /dev/null +++ b/mcs/ilasm/codegen/Sentinel.cs @@ -0,0 +1,50 @@ +// +// Mono.ILASM.SentinelTypeRef +// +// Author(s): +// Jackson Harper (Jackson@LatitudeGeo.com) +// +// (C) 2003 Jackson Harper, All rights reserved +// + +using System; + +namespace Mono.ILASM { + + public class SentinelTypeRef : BaseTypeRef { + + public SentinelTypeRef () + : base ("...") + { + } + + public override void Resolve (CodeGen code_gen) + { + if (is_resolved) + return; + + type = new PEAPI.Sentinel (); + type = Modify (code_gen, type); + + is_resolved = true; + } + + protected override BaseMethodRef CreateMethodRef (BaseTypeRef ret_type, PEAPI.CallConv call_conv, + string name, BaseTypeRef[] param, int gen_param_count) + { + return new TypeSpecMethodRef (this, call_conv, ret_type, name, param, gen_param_count); + } + + protected override IFieldRef CreateFieldRef (BaseTypeRef ret_type, string name) + { + return new TypeSpecFieldRef (this, ret_type, name); + } + + public override string ToString () + { + return "Sentinel " + full_name; + } + } + +} + |