Author: marek
Date: 2005-03-07 10:56:32 -0500 (Mon, 07 Mar 2005)
New Revision: 41529

Modified:
   trunk/mcs/mcs/ChangeLog
   trunk/mcs/mcs/class.cs
   trunk/mcs/mcs/cs-tokenizer.cs
Log:
2005-03-07  Marek Safar  <[EMAIL PROTECTED]>

        * cs-tokenizer.cs (xtoken): Add CS1035.
        
        * class.cs (MethodData.Define): Add CS0683.
        (FieldMember.ctor): Add CS0681.

Modified: trunk/mcs/mcs/ChangeLog
===================================================================
--- trunk/mcs/mcs/ChangeLog     2005-03-07 15:54:49 UTC (rev 41528)
+++ trunk/mcs/mcs/ChangeLog     2005-03-07 15:56:32 UTC (rev 41529)
@@ -1,3 +1,10 @@
+2005-03-07  Marek Safar  <[EMAIL PROTECTED]>
+
+       * cs-tokenizer.cs (xtoken): Add CS1035.
+       
+       * class.cs (MethodData.Define): Add CS0683.
+       (FieldMember.ctor): Add CS0681.
+
 2005-03-07  Raja R Harinath  <[EMAIL PROTECTED]>
 
        * ecore.cs (SimpleName.DoResolve): Rename from

Modified: trunk/mcs/mcs/class.cs
===================================================================
--- trunk/mcs/mcs/class.cs      2005-03-07 15:54:49 UTC (rev 41528)
+++ trunk/mcs/mcs/class.cs      2005-03-07 15:56:32 UTC (rev 41529)
@@ -4539,11 +4539,17 @@
                                                }
                                                return false;
                                        }
+                                       if (implementing.IsSpecialName && 
!((member is PropertyBase || member is EventProperty))) {
+                                               
Report.SymbolRelatedToPreviousError (implementing);
+                                               Report.Error (683, 
method.Location, "'{0}' explicit method implementation cannot implement '{1}' 
because it is an accessor",
+                                                       
member.GetSignatureForError (), TypeManager.CSharpSignature (implementing));
+                                               return false;
+                                       }
                                        method_name = 
member.InterfaceType.FullName + "." + name;
                                } else {
                                        if (implementing != null && method is 
AbstractPropertyEventMethod && !implementing.IsSpecialName) {
                                                
Report.SymbolRelatedToPreviousError (implementing);
-                                               Report.Error (688, 
method.Location, "Accessor '{0}' cannot implement interface member '{1}' for 
type '{2}'. Use an explicit interface implementation",
+                                               Report.Error (686, 
method.Location, "Accessor '{0}' cannot implement interface member '{1}' for 
type '{2}'. Use an explicit interface implementation",
                                                        
method.GetSignatureForError (container), TypeManager.CSharpSignature 
(implementing), container.GetSignatureForError ());
                                                return false;
                                        }
@@ -5256,12 +5262,12 @@
 
        public abstract class FieldMember: FieldBase
        {
-               
-
                protected FieldMember (TypeContainer parent, Expression type, 
int mod,
                        int allowed_mod, MemberName name, object init, 
Attributes attrs, Location loc)
-                       : base (parent, type, mod, allowed_mod, name, init, 
attrs, loc)
+                       : base (parent, type, mod, allowed_mod | 
Modifiers.ABSTRACT, name, init, attrs, loc)
                {
+                       if ((mod & Modifiers.ABSTRACT) != 0)
+                               Report.Error (681, loc, "The modifier 
'abstract' is not valid on fields. Try using a property instead");
                }
 
                public override void ApplyAttributeBuilder(Attribute a, 
CustomAttributeBuilder cb)

Modified: trunk/mcs/mcs/cs-tokenizer.cs
===================================================================
--- trunk/mcs/mcs/cs-tokenizer.cs       2005-03-07 15:54:49 UTC (rev 41528)
+++ trunk/mcs/mcs/cs-tokenizer.cs       2005-03-07 15:56:32 UTC (rev 41529)
@@ -1966,6 +1966,8 @@
                                                        
xml_comment_buffer.Append (Environment.NewLine);
                                                }
 
+                                               Location start_location = 
Location;
+
                                                while ((d = getChar ()) != -1){
                                                        if (d == '*' && 
peekChar () == '/'){
                                                                getChar ();
@@ -1989,6 +1991,9 @@
                                                                comments_seen = 
false;
                                                        }
                                                }
+                                               if (!comments_seen)
+                                                       Report.Error (1035, 
start_location, "End-of-file found, '*/' expected");
+
                                                if (docAppend)
                                                        
update_formatted_doc_comment (current_comment_start);
                                                continue;

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to