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

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

[Dotgnu-pnet-commits] CVS: pnet/engine lib_type.c,1.28,1.29


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/engine lib_type.c,1.28,1.29
Date: Tue, 05 Nov 2002 20:04:08 -0500

Update of /cvsroot/dotgnu-pnet/pnet/engine
In directory subversions:/tmp/cvs-serv12552/engine

Modified Files:
        lib_type.c 
Log Message:


GetTypeName: build the correct name for pointer, reference, and
custom-modified types.


Index: lib_type.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_type.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -r1.28 -r1.29
*** lib_type.c  18 Jun 2002 04:28:17 -0000      1.28
--- lib_type.c  6 Nov 2002 01:04:02 -0000       1.29
***************
*** 1172,1175 ****
--- 1172,1180 ----
                        }
                }
+               else if(kind == IL_TYPE_COMPLEX_CMOD_REQD ||
+                       kind == IL_TYPE_COMPLEX_CMOD_OPT)
+               {
+                       len += NameOutputTypeSuffixes(buf, 
type->un.modifier__.type__);
+               }
        }
        return len;
***************
*** 1188,1191 ****
--- 1193,1197 ----
        ILUInt16 *buf;
        ILType *synType;
+       ILType *inner;
        int kind;
  
***************
*** 1201,1216 ****
        elemInfo = classInfo;
        synType = ILClassGetSynType(classInfo);
!       while(synType != 0 && ILType_IsComplex(synType))
        {
!               kind = ILType_Kind(synType);
                if(kind == IL_TYPE_COMPLEX_ARRAY ||
                   kind == IL_TYPE_COMPLEX_ARRAY_CONTINUE)
                {
!                       synType = ILType_ElemType(synType);
                }
                else if(kind == IL_TYPE_COMPLEX_BYREF ||
                        kind == IL_TYPE_COMPLEX_PTR)
                {
!                       synType = ILType_Ref(synType);
                }
                else
--- 1207,1228 ----
        elemInfo = classInfo;
        synType = ILClassGetSynType(classInfo);
!       inner = synType;
!       while(inner != 0 && ILType_IsComplex(inner))
        {
!               kind = ILType_Kind(inner);
                if(kind == IL_TYPE_COMPLEX_ARRAY ||
                   kind == IL_TYPE_COMPLEX_ARRAY_CONTINUE)
                {
!                       inner = ILType_ElemType(inner);
                }
                else if(kind == IL_TYPE_COMPLEX_BYREF ||
                        kind == IL_TYPE_COMPLEX_PTR)
                {
!                       inner = ILType_Ref(inner);
!               }
!               else if(kind == IL_TYPE_COMPLEX_CMOD_REQD ||
!                       kind == IL_TYPE_COMPLEX_CMOD_OPT)
!               {
!                       inner = inner->un.modifier__.type__;
                }
                else
***************
*** 1219,1226 ****
                }
        }
!       if(synType != 0)
        {
                elemInfo = ILClassFromType(ILProgramItem_Image(thread->method),
!                                                                  0, synType, 
0);
                if(!elemInfo)
                {
--- 1231,1238 ----
                }
        }
!       if(inner != 0)
        {
                elemInfo = ILClassFromType(ILProgramItem_Image(thread->method),
!                                                                  0, inner, 0);
                if(!elemInfo)
                {





reply via email to

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