IDE: Visual Studio X
Version: 9.0
Target (If relevant): Island
Description:
extension class throws an Internal error on compile:
type
Bytes = array of Byte;
BytesExtension = public extension class(Bytes)
method setI16(pos: Integer; v: Integer); inline;
begin
self[pos]:= v;
self[pos + 1]:= v shr 8;
end;
method getI16(pos: Integer): Integer; inline;
begin
result:= (Integer(self[pos+1]) shl 8) or self[pos];
end;
end;
Program = class
public
class method Main(args: array of String): Int32;
begin
var b:= new Bytes(10);
b.setI16(0,1024);
writeLn(b.getI16(0));
end;
end;
Expected Behavior:
compile without error - works on .NET
Actual Behavior:
return with error:
Schweregrad Code Beschreibung Projekt Datei Zeile Quelle Unterdrückungszustand
Fehler (E0) Internal error: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. IslandBug 0 Build
Steps: