dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnet/image class.c,1.28,1.29 context.c,1.12,


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/image class.c,1.28,1.29 context.c,1.12,1.13
Date: Sun, 22 Jun 2003 18:23:18 -0400

Update of /cvsroot/dotgnu-pnet/pnet/image
In directory subversions:/tmp/cvs-serv27257/image

Modified Files:
        class.c context.c 
Log Message:


Fix a scope bug in class name lookup - it was sometimes finding nested
classes when looking for global ones.


Index: class.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/image/class.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -r1.28 -r1.29
*** class.c     13 Jun 2003 06:44:04 -0000      1.28
--- class.c     22 Jun 2003 22:23:16 -0000      1.29
***************
*** 777,780 ****
--- 777,784 ----
                return 0;
        }
+       else if(key->scopeName && key->scopeName != classInfo->scopeName)
+       {
+               return 0;
+       }
  
        /* Match the image */
***************
*** 787,793 ****
--- 791,803 ----
        if(key->wantGlobal)
        {
+               if(classInfo->scopeName)
+               {
+                       /* Nested type */
+                       return 0;
+               }
                if((classInfo->scope->token & IL_META_TOKEN_MASK) !=
                                        IL_META_TOKEN_MODULE)
                {
+                       /* Imported type */
                        return 0;
                }

Index: context.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/image/context.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** context.c   13 Jun 2003 06:44:04 -0000      1.12
--- context.c   22 Jun 2003 22:23:16 -0000      1.13
***************
*** 131,139 ****
  
        /* Do we only want types at the global level? */
!       if(key->wantGlobal && classInfo->scope)
        {
                if((classInfo->scope->token & IL_META_TOKEN_MASK) !=
                                        IL_META_TOKEN_MODULE)
                {
                        return 0;
                }
--- 131,145 ----
  
        /* Do we only want types at the global level? */
!       if(key->wantGlobal)
        {
+               if(classInfo->scopeName)
+               {
+                       /* Nested type */
+                       return 0;
+               }
                if((classInfo->scope->token & IL_META_TOKEN_MASK) !=
                                        IL_META_TOKEN_MODULE)
                {
+                       /* Imported type */
                        return 0;
                }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]