Add more details to the compiler documentation
authorMiguel de Icaza <miguel@gnome.org>
Tue, 28 Aug 2001 12:36:19 +0000 (12:36 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Tue, 28 Aug 2001 12:36:19 +0000 (12:36 -0000)
svn path=/trunk/mcs/; revision=656

mcs/mcs/compiler.doc

index 9c9eb49d9242903a8921cc054734053fa56d270e..fafb61ed53163cd5f7828611552cc1b92d18fb18 100644 (file)
@@ -87,3 +87,28 @@ The compiler has a number of phases:
 
 * Expressions
 
+* Error reporting
+
+       We should try to use the `Report.Error' and `Report.Warning'
+       classes which are part of the RootContext (there is even a
+       property to access it).
+
+       Error reporting should try to use the same codes that the
+       Microsoft compiler uses (if only so we can track which errors
+       we handle and which ones we dont).
+
+       If there is an error which is specific to MSC, use negative
+       numbers, and register the number in mcs/errors/errors.txt
+
+       Try to write a test case for any error that you run into the
+       code of the compiler if there is none already.
+
+       Put your test case in a file called csNNNN.cs in the
+       mcs/errors directory, and have the first two lines be:
+
+       // csNNNN.cs: This is the description.
+       // Line: XXX
+
+       Where `XXX' is the line where the error ocurrs.  We will later
+       use this as a regression test suite for catching errors in the
+       compiler.