mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-15 15:19:25 +02:00
+ implemented a tcasenode.printnodetree printing all cases
git-svn-id: trunk@23414 -
This commit is contained in:
parent
abfa6c1b43
commit
247d6dd394
@ -98,6 +98,7 @@ interface
|
||||
procedure buildderefimpl;override;
|
||||
procedure derefimpl;override;
|
||||
function dogetcopy : tnode;override;
|
||||
procedure printnodetree(var t:text);override;
|
||||
procedure insertintolist(l : tnodelist);override;
|
||||
function pass_typecheck:tnode;override;
|
||||
function pass_1 : tnode;override;
|
||||
@ -829,7 +830,6 @@ implementation
|
||||
|
||||
|
||||
function tcasenode.dogetcopy : tnode;
|
||||
|
||||
var
|
||||
n : tcasenode;
|
||||
i : longint;
|
||||
@ -858,11 +858,43 @@ implementation
|
||||
dogetcopy:=n;
|
||||
end;
|
||||
|
||||
procedure tcasenode.insertintolist(l : tnodelist);
|
||||
|
||||
procedure tcasenode.printnodetree(var t: text);
|
||||
var
|
||||
hp : tbinarynode;
|
||||
i : longint;
|
||||
begin
|
||||
write(t,printnodeindention,'(');
|
||||
printnodeindent;
|
||||
printnodeinfo(t);
|
||||
writeln(t);
|
||||
printnode(t,left);
|
||||
for i:=0 to blocks.count-1 do
|
||||
begin
|
||||
writeln(t,printnodeindention,'(caseblock blockid: ',i);
|
||||
printnodeindent;
|
||||
printnode(t,pcaseblock(blocks[i])^.statement);
|
||||
printnodeunindent;
|
||||
writeln(t,printnodeindention,')');
|
||||
end;
|
||||
if assigned(elseblock) then
|
||||
begin
|
||||
writeln(t,printnodeindention,'(else: ',i);
|
||||
printnodeindent;
|
||||
printnode(t,elseblock);
|
||||
printnodeunindent;
|
||||
writeln(t,printnodeindention,')');
|
||||
end;
|
||||
printnodeunindent;
|
||||
writeln(t,printnodeindention,')');
|
||||
end;
|
||||
|
||||
|
||||
procedure tcasenode.insertintolist(l : tnodelist);
|
||||
begin
|
||||
end;
|
||||
|
||||
|
||||
function caselabelsequal(n1,n2: pcaselabel): boolean;
|
||||
begin
|
||||
result :=
|
||||
|
Loading…
Reference in New Issue
Block a user