+TODO:
+
+ 1. Create a "partial" emit context for each TypeContainer..
+
+ 2. EmitContext should be partially constructed. No IL Generator.
+
+ Optimize the internal type expressions in the parser (system_object, etc)
+ to be something other than DecomposeQI-based expressions.
+
+ interface_type review.
+
+ parameter_array, line 952: `note: must be a single dimension array type'. Validate this
+
Dead Code Elimination bugs:
---------------------------
Implement base indexer access.
readonly variables and ref/out
-
-Important:
-----------
-
- During enumeration definition, a set of extra operators are
- allowed.
BUGS
----
-* Check for Final when overriding, if the parent is Final, then we cant
- allow an override.
-
-* Implement visibility.
+* We suck at reporting what turns out to be error -6. Use the standard error message
+ instead.
-* Visibility
+* Explicit indexer implementation is missing.
- I am not reporting errors on visibility yet.
+* Check for Final when overriding, if the parent is Final, then we cant
+ allow an override.
* Interface indexers
Explanation: The reason for the `instance' attribute on
indexers is that indexers only apply to instances
-* Arrays
-
- We need to make sure at *compile time* that the arguments in
- the expression list of an array creation are always positive.
-
-* Implement dead code elimination in statement.cs
-
- It is pretty simple to implement dead code elimination in
- if/do/while
-
* Indexer bugs:
the following wont work:
PENDING TASKS
-------------
+* IMprove error handling here:
+
+ public static Process ()
+
+ THat assumes that it is a constructor, check if its the same name
+ as the class, if not report a different error than the one we use now.
+
* Merge test 89 and test-34
* Revisit
* User Defined Conversions is doing way too many calls to do union sets that are not needed
-* Implement loop inversion for our loops
-
* Add test case for destructors
* Places that use `Ldelema' are basically places where I will be
Not sure that this grammar is correct, we might have to
resolve this during semantic analysis.
-* Optimizations
-
- Only create one `This' instance per class, and reuse it.
-
- Maybe keep a pool of constants/literals (zero, 1)?
-
* Idea
MethodGroupExpr
Otherwise, a resolution will return a MethodGroupExpr which is
not guaranteed to have set its `Expression.Type' to a non-null
value.
-
-
-************
-Potential bug:
-
- We would need to decode the shortname before we lookup members?
-
- Maybe not.
-
-interface I {
- void A ();
-}
-
-class X : I {
- void I.A ();
-}
-
-class Y : X, I {
- void I.A () {}
-}
-
-
-
-*************
-