System.Drawing: added email to icon and test file headers
[mono.git] / mcs / mcs / TODO
index 403163702fcf9ac60f5d9a825e0dc918bd9044a8..1abb0382b7bdc02b935afae54b8f06a9774130fe 100644 (file)
@@ -1,3 +1,27 @@
+===========================================
+
+* Value Parameter
+
+       I believe that `Value Parameter' might have been introduced
+       after C# 1.0, also notice than in the treatment of Value Parameter
+       the parameters are defined in four categories:
+
+       Section 9.3 in the latest spec.
+
+
+Large project:
+--------------
+
+New
+---
+
+       It would be nice to optimize the case of:
+
+               Method (new ValueType ())
+
+       So that no temporary is created, and we only use a newobj call
+       that remains on the stack, as opposed to ldloca, initobj, ldloc
+       call.
 
 NEW NOTES:
 ----------
@@ -14,24 +38,6 @@ NEW NOTES:
                        if (expr_type == target_type)
                                return true;
 
-
-Null Type
----------
-
-       Need to introduce the NullType concept into the compiler, to address a 
-       few small buglets and remove the hardcoded values for NullLiteral.
-
-       NullLiteral will be the only expression that has the NullType as its type.
-
-       This is what must be used to test for Null literals, instead of `is NullLiteral',
-       and this will introduce a couple of fixes to the rules.
-
-       Revert Martin's patch to Conditional expression that worked around this bug:
-
-               Reference r = xx ? null : null
-
-       The right fix is to introduce NullType
-
 ****************************************************************************************
 * 
 *   The information on the rest of this file is mostly outdated, and its kept here for
@@ -44,10 +50,6 @@ Error Reporting:
 
        * Make yyerror show a nice syntax error, instead of the current mess.
 
-Iterators
----------
-       * Reset should throw not implemented now.
-
 Optimization ideas
 ------------------
 
@@ -100,17 +102,6 @@ DeclareLocal audit
 
        This is required to fix foreach in iterators.
 
-Large project:
---------------
-
-       Drop FindMembers as our API and instead extract all the data
-       out of a type the first time into our own datastructures, and
-       use that to navigate and search the type instead of the
-       callback based FindMembers.     
-
-       Martin has some some of this work with his TypeHandle code
-       that we could use for this.
-
 Ideas:
 ------
 
@@ -141,13 +132,6 @@ BUGS
        They should transfer control to the finally block if inside a try/catch
        block.
 
-* Method Registration and error CS111
-
-       The way we use the method registration to signal 111 is wrong.
-       
-       Method registration should only be used to register methodbuilders,
-       we need an alternate method of checking for duplicates.
-
 *
 > // CSC sets beforefieldinit
 > class X {
@@ -237,4 +221,3 @@ RECOMMENDATIONS
        Notice how numbering of the arguments changes as the
        { oob_stack.Push (lexer.Location) } takes a "slot"  in the productions.
 
-