X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fmcs%2FTODO;h=1abb0382b7bdc02b935afae54b8f06a9774130fe;hb=ab39e8acac105fa0db88514f259341c9f0201b22;hp=62b8394c257d6944fbb76c8ad616166d345167a2;hpb=b2262f41726a89c8209facb3ea9e4be9582422b5;p=mono.git diff --git a/mcs/mcs/TODO b/mcs/mcs/TODO index 62b8394c257..1abb0382b7b 100644 --- a/mcs/mcs/TODO +++ b/mcs/mcs/TODO @@ -1,23 +1,3 @@ -Iterators -========= - - - Ok, solved part of the problem, but not the second. - - Apparently there are 2 scopes in test-iter-05.cs that - are referenced, but when we call "ComputeMethodHost" in - iterators.cs:854 this information is not yet available. - -* Anonymous Methods -=================== - -In EmitAnonymousHelperClasses we set the "NeedThis" parameter of all -the roots, but this is not necessary. We should track the -"HaveCapturedFields" on a per-ScopeInfo basis, and only set the -HaveCapturedFields on the proper roots, instead of all the roots. - - - =========================================== * Value Parameter @@ -29,17 +9,8 @@ HaveCapturedFields on the proper roots, instead of all the roots. Section 9.3 in the latest spec. -* Review --------- - - Reference type equality operators (15.9.6) introduced - operator == (C x, C y) where C is a reference type. - - Our compiler used: - - operator == (object a, object b) - - Review our implementation. +Large project: +-------------- New --- @@ -67,18 +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. - **************************************************************************************** * * The information on the rest of this file is mostly outdated, and its kept here for @@ -91,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 ------------------ @@ -147,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: ------ @@ -188,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 { @@ -284,4 +221,3 @@ RECOMMENDATIONS Notice how numbering of the arguments changes as the { oob_stack.Push (lexer.Location) } takes a "slot" in the productions. -