* array of const for classes fixed, was broken by r10

* test adapted

git-svn-id: trunk@154 -
This commit is contained in:
florian 2005-05-30 18:44:42 +00:00
parent 7e1546243e
commit a39fd9d2ea
3 changed files with 7 additions and 5 deletions

View File

@ -817,9 +817,8 @@ implementation
objectdef :
if is_interface(lt) then
vtype:=vtInterface
{ vtObject really means a class based on TObject }
else if is_class(lt) then
vtype:=vtClass
else if is_object(lt) then
vtype:=vtObject
else
internalerror(200505171);

View File

@ -989,8 +989,11 @@ implementation
stringdef,
variantdef,
pointerdef,
classrefdef,
objectdef : ;
classrefdef:
;
objectdef :
if is_object(hp.left.resulttype.def) then
CGMessagePos1(hp.left.fileinfo,type_e_wrong_type_in_array_constructor,hp.left.resulttype.def.typename);
else
CGMessagePos1(hp.left.fileinfo,type_e_wrong_type_in_array_constructor,hp.left.resulttype.def.typename);
end;

View File

@ -40,7 +40,7 @@ var
Check('Interface(nil)', a[1], vtInterface);
Check('Interface', a[2], vtInterface);
{ TObject is a class as well! }
Check('Class Object(nil)', a[3], vtClass);
Check('Class Object(nil)', a[3], vtObject);
Check('Class', a[4], vtClass);
{$IFDEF FPC}
Check('QWord', a[5], vtQWord);