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.35,1.36


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_lvalue.tc,1.35,1.36
Date: Wed, 26 Feb 2003 00:09:52 -0500

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

Modified Files:
        cs_lvalue.tc 
Log Message:


Disallow "using" aliases to refer to other aliases (partial fix
for bug #1798).


Index: cs_lvalue.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_lvalue.tc,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -r1.35 -r1.36
*** cs_lvalue.tc        7 Jan 2003 10:18:01 -0000       1.35
--- cs_lvalue.tc        26 Feb 2003 05:09:50 -0000      1.36
***************
*** 894,898 ****
                {
                        CCErrorOnLine(yygetfilename(alias), yygetlinenum(alias),
!                         "circularity detected in 'Using' declaration");
                        CSSemSetLValue(value, ILType_Int32);
                        return value;
--- 894,898 ----
                {
                        CCErrorOnLine(yygetfilename(alias), yygetlinenum(alias),
!                         "circularity detected in `using' declaration");
                        CSSemSetLValue(value, ILType_Int32);
                        return value;
***************
*** 900,904 ****
--- 900,911 ----
                alias->visited=ILVisitMode_Processing;
                *parent = (ILNode*)ILScopeDataGetData1(data);
+               if(info->resolvingAlias)
+               {
+                       CCErrorOnLine(yygetfilename(alias), yygetlinenum(alias),
+                                                 "using aliases may not refer 
to other aliases");
+               }
+               info->resolvingAlias = 1;
                value = ILNode_SemAnalysis(*parent,info,parent);
+               info->resolvingAlias = 0;
                alias->visited=ILVisitMode_Done;
                return value;
***************
*** 934,938 ****
        data = ILScopeLookup(info->currentScope, node->name, 1);
        
!       if(data && ILScopeDataGetKind(data) == IL_SCOPE_ALIAS)
        {
                alias=(ILNode_UsingAlias*)ILScopeDataGetNode(data);
--- 941,946 ----
        data = ILScopeLookup(info->currentScope, node->name, 1);
        
!       if(data && ILScopeDataGetKind(data) == IL_SCOPE_ALIAS &&
!          !(info->resolvingAlias))
        {
                alias=(ILNode_UsingAlias*)ILScopeDataGetNode(data);
***************
*** 940,944 ****
                {
                        CCErrorOnLine(yygetfilename(alias), yygetlinenum(alias),
!                         "circularity detected in 'Using' declaration");
                        CSSemSetLValue(value, ILType_Int32);
                        return value;
--- 948,952 ----
                {
                        CCErrorOnLine(yygetfilename(alias), yygetlinenum(alias),
!                         "circularity detected in `using' declaration");
                        CSSemSetLValue(value, ILType_Int32);
                        return value;
***************
*** 946,950 ****
--- 954,965 ----
                alias->visited=ILVisitMode_Processing;
                *parent = (ILNode*)ILScopeDataGetData1(data);
+               if(info->resolvingAlias)
+               {
+                       CCErrorOnLine(yygetfilename(alias), yygetlinenum(alias),
+                                                 "using aliases may not refer 
to other aliases");
+               }
+               info->resolvingAlias = 1;
                value = ILNode_SemAnalysis(*parent,info,parent);
+               info->resolvingAlias = 0;
                alias->visited=ILVisitMode_Done;
                return value;





reply via email to

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