|
@@ -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;
|