[660553] Fixed delegate name hiding.
[mono.git] / mcs / mcs / method.cs
index a0223009f548f34d1e0e715724445f8f29607952..ed9e7152b8908ca0cc43af205bb13ee9ae7521f9 100644 (file)
@@ -739,12 +739,17 @@ namespace Mono.CSharp {
 
                public int Token {
                        get {
-                               if (method is MethodBuilder)
-                                       return ((MethodBuilder) method).GetToken ().Token;
-                               else if (method is ConstructorBuilder)
-                                       return ((ConstructorBuilder) method).GetToken ().Token;
+                               MethodToken token;
+                               var mb = method as MethodBuilder;
+                               if (mb != null)
+                                       token = mb.GetToken ();
                                else
-                                       throw new NotSupportedException ();
+                                       token = ((ConstructorBuilder) method).GetToken ();
+#if STATIC
+                               if (token.IsPseudoToken)
+                                       return ((ModuleBuilder) method.Module).ResolvePseudoToken (token.Token);
+#endif
+                               return token.Token;
                        }
                }