* added missing tcasenode.derefnode override to process all the

case-blocks and the else-block

git-svn-id: trunk@9251 -
This commit is contained in:
Jonas Maebe 2007-11-14 19:40:28 +00:00
parent 465b41fbfd
commit 82cf80d4ca

View File

@ -82,6 +82,7 @@ interface
procedure ppuwrite(ppufile:tcompilerppufile);override;
procedure buildderefimpl;override;
procedure derefimpl;override;
procedure derefnode;override;
function dogetcopy : tnode;override;
procedure insertintolist(l : tnodelist);override;
function pass_typecheck:tnode;override;
@ -578,6 +579,18 @@ implementation
end;
procedure tcasenode.derefnode;
var
i : integer;
begin
inherited derefnode;
if assigned(elseblock) then
elseblock.derefnode;
for i:=0 to blocks.count-1 do
pcaseblock(blocks[i])^.statement.derefnode;
end;
function tcasenode.pass_typecheck : tnode;
begin
result:=nil;