Update to the latest IKVM.Reflection
[mono.git] / mcs / class / IKVM.Reflection / Missing.cs
index 6d2364b01b69a116dfd214c8f9a7e8fe57d88d92..67c0a85ae3ddae1fb9ebdf3b457c7112a14c91b1 100644 (file)
@@ -236,9 +236,9 @@ namespace IKVM.Reflection
 
        sealed class MissingModule : NonPEModule
        {
-               private readonly MissingAssembly assembly;
+               private readonly Assembly assembly;
 
-               internal MissingModule(MissingAssembly assembly)
+               internal MissingModule(Assembly assembly)
                        : base(assembly.universe)
                {
                        this.assembly = assembly;
@@ -353,6 +353,7 @@ namespace IKVM.Reflection
                private readonly string name;
                private Type[] typeArgs;
                private int token;
+               private int flags;
 
                internal MissingType(Module module, Type declaringType, string ns, string name)
                {
@@ -545,9 +546,10 @@ namespace IKVM.Reflection
                        return this;
                }
 
-               internal override Type SetMetadataTokenForMissing(int token)
+               internal override Type SetMetadataTokenForMissing(int token, int flags)
                {
                        this.token = token;
+                       this.flags = flags;
                        return this;
                }
 
@@ -555,6 +557,12 @@ namespace IKVM.Reflection
                {
                        get { throw new MissingMemberException(this); }
                }
+
+               public override bool __IsTypeForwarder
+               {
+                       // CorTypeAttr.tdForwarder
+                       get { return (flags & 0x00200000) != 0; }
+               }
        }
 
        sealed class MissingTypeParameter : IKVM.Reflection.Reader.TypeParameterType