3 Move our utility FindMembers from TypeContainer to Decl, because interfaces
4 are also scanned with it.
8 Can a constant_expression invoke overloaded operators?
9 Explicit user-defined conversions?
13 I am not reporting errors on visibility yet.
17 Normalize, and use Tokenizer location
21 Currently I am not resolving enumerations.
23 Either I track them with `RecordEnum' as I do with classes,
24 structs and interfaces or I rewrite the code to visit type
25 containers and `walk' the enums with this process.
31 They should should use:
33 OPEN_PARENS type CLOSE_PARENS
35 instead of the current production which is wrong, because it
36 only handles a few cases.
40 Array r = (string []) object
46 For indexers, the output of ix2.cs is different from our
47 compiler and theirs. They use a DefaultMemberAttribute, which
48 I have yet to figure out:
50 .class interface private abstract auto ansi INTERFACE
52 .custom instance void [mscorlib]System.Reflection.DefaultMemberAttribute::.ctor(string)
53 = ( 01 00 04 49 74 65 6D 00 00 ) // ...Item..
59 I have not figured out why the Microsoft version puts an
60 `instance' attribute, and I am not generating this `instance' attribute.
64 Currently it calls the parent constructor before initializing fields.
65 It should do it the other way around.
67 * Use of EmitBranchable
69 Currently I use brfalse/brtrue in the code for statements, instead of
70 using the EmitBranchable function that lives in Binary
72 * Create an UnimplementedExpcetion
74 And use that instead of plain Exceptions.
78 Currently ConvertImplicit will not catch things like:
80 - IntLiteral in a float context to generate a -FloatLiteral.
81 Instead it will perform an integer load followed by a conversion.
83 * In class.cs: Method.Define
85 Need to use FindMembers to lookup the member for reporting
86 whether a new is needed or not.
88 * virtual-method.cs breaks
90 It breaks on the call to: new B ();
92 Where B is a class defined in the source code, my guess is that
93 the look for ".ctor" fails
95 * Foreach on structure returns does not work
97 I am generating invalid code instead of calling ldarga for the
98 structure, I am calling ldarg:
101 public IEnumerator GetEnumerator ();
106 foreach (object a in x){
110 I need to get the address of that bad boy
114 Understand how methods are invoked on structs