* Handle duplicate methods and constructors in semantic analysis * Ordering First define methods and operator overloads. Do enumerations and constants. Process function bodies Can a constant_expression invoke overloaded operators? Explicit user-defined conversions? * Visibility I am not processing visibility yet. * Tokenizer Propagate file/location to upper layers * Error handling Normalize, and use Tokenizer location * Enumerations Currently I am not resolving enumerations. Either I track them with `RecordEnum' as I do with classes, structs and interfaces or I rewrite the code to visit type containers and `walk' the enums with this process. * Known problems: Can not parse try {} catch {} Have not figured out why. Cast expressions They should should use: OPEN_PARENS type CLOSE_PARENS instead of the current production which is wrong, because it only handles a few cases. Complex casts like: Array r = (string []) object Wont be parsed. * Interfaces For indexers, the output of ix2.cs is different from our compiler and theirs. They use a DefaultMemberAttribute, which I have yet to figure out: .class interface private abstract auto ansi INTERFACE { .custom instance void [mscorlib]System.Reflection.DefaultMemberAttribute::.ctor(string) = ( 01 00 04 49 74 65 6D 00 00 ) // ...Item.. ... } * Interface indexers I have not figured out why the Microsoft version puts an `instance' attribute, and I am not generating this `instance' attribute.