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

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

[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_lvalue.tc,1.34,1.35


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_lvalue.tc,1.34,1.35
Date: Tue, 07 Jan 2003 05:18:05 -0500

Update of /cvsroot/dotgnu-pnet/pnet/cscc/csharp
In directory subversions:/tmp/cvs-serv20245/cscc/csharp

Modified Files:
        cs_lvalue.tc 
Log Message:


Work around erroneous enum definitions that use the underlying type
for the constants, instead of the type itself.


Index: cs_lvalue.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_lvalue.tc,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -r1.34 -r1.35
*** cs_lvalue.tc        8 Dec 2002 01:59:27 -0000       1.34
--- cs_lvalue.tc        7 Jan 2003 10:18:01 -0000       1.35
***************
*** 548,552 ****
                                        *parent = constNode;
                                        ILNode_EvalConst(constNode, info, 
&evalValue);
!                                       CSSemSetConstant(value, 
ILField_Type(field), evalValue);
                                }
                                else
--- 548,562 ----
                                        *parent = constNode;
                                        ILNode_EvalConst(constNode, info, 
&evalValue);
!                                       thisType = 
ILClassToType(ILField_Owner(field));
!                                       type = ILField_Type(field);
!                                       if(ILTypeIsEnum(thisType) &&
!                                          ILTypeIdentical(type, 
ILTypeGetEnumType(thisType)))
!                                       {
!                                               /* The enum definition 
erroneously used the
!                                                  underlying type for the 
constant, instead
!                                                  of using the enum type.  
Work around it */
!                                               type = thisType;
!                                       }
!                                       CSSemSetConstant(value, type, 
evalValue);
                                }
                                else





reply via email to

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