remobjects/pascalscript — pull request #81 by velter (2014-05-27 12:51:41+00:00)
Title: Compiler bug in const arrays

There a compiler bug in array constants. A construct like

procedure B(eType : TObject);
begin
if eType is TObject then ;
end;

function A(eVal : int32) : booleen;
begin
result:=not(eVal in [1,2]);
end;

begin
A(1);
A(2);
A(3);
end;

Cause an AV in UpsCompiler line 6185. The root cause is the use of FindAndAddType with no name. The function return the last created anonymous type. In the previous sample it's a Type created by the "is" operator which is not an array. Casting it to TPSArrayType lead to the AV.