boo-lang / boo

The Boo Programming Language.
BSD 3-Clause "New" or "Revised" License
874 stars 148 forks source link

Implementing an Interface with a property in a base class causes internal compiler error #105

Closed masonwheeler closed 7 years ago

masonwheeler commented 9 years ago
interface IFoo:
   A as int:
      get
   B as int:
      get

class Base:
   A as int:
      get: return 42

class Derived(Base, IFoo):
   B as int:
      get: return 7

Expected: This should work Observed: Internal compiler error: Failed to create 'MyNamespace.Derived' type. (Error occurs during EmitAssembly step.)

masonwheeler commented 7 years ago

With the CCI backend, I was able to create the invalid assembly that Reflection.Emit kept erroring out on and use ILDasm to compare it to what CSC produces on the equivalent code, see what the difference was, and then fix it.

I'll close this issue once the CCI backend is merged into Master.