+Error Reporting:
+----------------
+
+ * Make yyerror show a nice syntax error, instead of the current mess.
+
+Iterators
+---------
+ * `yield' is no longer a keyword, it only has special
+ meaning before a return or break keywords.
+
+ * Study side effects with assign
+ * Study TemporaryStorage/LocalStorage -> Merge/rename
+
+ * Reset should throw not implemented now.
+
+Instance idea
+-------------
+
+ It would be nice to have things that can be "instances" to have an
+ EmitInstance method (this would default to nothing).
+
+ The idea is to be able to use efficiently the instance data on stack
+ manipulations, as opposed to the current scheme, where we basically have
+ a few special cases.
+
Optimization ideas
------------------
* Before Emit, create proxy classes with proper depth.
* Emit.
- Return Type:
- During Resolve, track all the return types.
- Allow for ec.ReturnType to be null, indicating `Pending Return Evaluation'
-
-
- Open question:
+Open question:
Create a toplevel block for anonymous methods?
EmitContext.ResolveTypeTree
Notes on memory allocation
--------------------------
+ Outdated:
+
A run of the AllocationProfile shows that the compiler allocates roughly
30 megabytes of strings. From those, 20 megabytes come from
LookupType.
The problem is that we would still need to construct the name to pass to
GetType.
+ This has been now implemented, its called "QualifiedIdentifier"
+
current_container/current_namespace and the DeclSpace
-----------------------------------------------------
* Add a cache for the various GetArrayMethod operations.
-* TypeManager.FindMembers:
-
- Instead of having hundreds of builder_to_blah hash table, have
- a single one that maps a TypeBuilder `t' to a set of classes
- that implement an interface that supports FindMembers.
-
* MakeUnionSet Callers
If the types are the same, there is no need to compute the unionset,