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_invoke.tc,1.19,1.20


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_invoke.tc,1.19,1.20
Date: Mon, 18 Nov 2002 20:51:23 -0500

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

Modified Files:
        cs_invoke.tc 
Log Message:


Improve the error message that results when a base/this constructor call
cannot be resolved.


Index: cs_invoke.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_invoke.tc,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -r1.19 -r1.20
*** cs_invoke.tc        16 Nov 2002 02:45:32 -0000      1.19
--- cs_invoke.tc        19 Nov 2002 01:51:21 -0000      1.20
***************
*** 225,228 ****
--- 225,234 ----
                                          str.string);
        }
+       else if(isCtor == 2)
+       {
+               /* Don't know what the method name is */
+               CCErrorOnLine(yygetfilename(node), yygetlinenum(node),
+                                         "no matching constructor for base 
class initialization");
+       }
        else if(isCtor)
        {
***************
*** 406,409 ****
--- 412,416 ----
        char *itemName;
        ILNode_MethodDeclaration *caller;
+       int isCtor = 0;
  
        /* Get the method name for later error reporting */
***************
*** 417,420 ****
--- 424,437 ----
                        (((ILNode_MemberAccess *)(node->expr1))->expr2, 0);
        }
+       else if(yyisa(node->expr1, ILNode_ThisInit))
+       {
+               itemName = 0;
+               isCtor = 1;
+       }
+       else if(yyisa(node->expr1, ILNode_BaseInit))
+       {
+               itemName = 0;
+               isCtor = 2;
+       }
        else
        {
***************
*** 468,472 ****
        if(!itemInfo)
        {
!               CSItemCandidateError((ILNode *)node, itemName, 0,
                                                     CSSemGetGroup(method), 
args, numArgs);
                CSEvalFreeArguments(args);
--- 485,489 ----
        if(!itemInfo)
        {
!               CSItemCandidateError((ILNode *)node, itemName, isCtor,
                                                     CSSemGetGroup(method), 
args, numArgs);
                CSEvalFreeArguments(args);
***************
*** 481,485 ****
                if(!itemInfo)
                {
!                       CSItemCandidateError((ILNode *)node, itemName, 0,
                                                             
CSSemGetGroup(method), args, numArgs);
                        CSEvalFreeArguments(args);
--- 498,502 ----
                if(!itemInfo)
                {
!                       CSItemCandidateError((ILNode *)node, itemName, isCtor,
                                                             
CSSemGetGroup(method), args, numArgs);
                        CSEvalFreeArguments(args);





reply via email to

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