Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/ilasm/codegen/Sentinel.cs')
-rw-r--r--mcs/ilasm/codegen/Sentinel.cs50
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;
+ }
+ }
+
+}
+