mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-26 14:51:35 +01:00
* fixed indentation of for-in code
git-svn-id: trunk@15449 -
This commit is contained in:
parent
45d60dbb97
commit
df525d98a3
@ -241,21 +241,22 @@ implementation
|
||||
|
||||
// for-in loop helpers
|
||||
|
||||
function create_type_for_in_loop(hloopvar, hloopbody, expr: tnode): tnode;
|
||||
begin
|
||||
function create_type_for_in_loop(hloopvar, hloopbody, expr: tnode): tnode;
|
||||
begin
|
||||
result:=cfornode.create(hloopvar,
|
||||
cinlinenode.create(in_low_x,false,expr.getcopy),
|
||||
cinlinenode.create(in_high_x,false,expr.getcopy),
|
||||
hloopbody,
|
||||
false);
|
||||
end;
|
||||
end;
|
||||
|
||||
function create_string_for_in_loop(hloopvar, hloopbody, expr: tnode): tnode;
|
||||
var
|
||||
|
||||
function create_string_for_in_loop(hloopvar, hloopbody, expr: tnode): tnode;
|
||||
var
|
||||
loopstatement, loopbodystatement: tstatementnode;
|
||||
loopvar, stringvar: ttempcreatenode;
|
||||
stringindex, loopbody, forloopnode: tnode;
|
||||
begin
|
||||
begin
|
||||
{ result is a block of statements }
|
||||
result:=internalstatements(loopstatement);
|
||||
|
||||
@ -297,17 +298,18 @@ begin
|
||||
addstatement(loopstatement,ctempdeletenode.create(loopvar));
|
||||
{ free the temp variable for expression }
|
||||
addstatement(loopstatement,ctempdeletenode.create(stringvar));
|
||||
end;
|
||||
end;
|
||||
|
||||
function create_array_for_in_loop(hloopvar, hloopbody, expr: tnode): tnode;
|
||||
var
|
||||
|
||||
function create_array_for_in_loop(hloopvar, hloopbody, expr: tnode): tnode;
|
||||
var
|
||||
loopstatement, loopbodystatement: tstatementnode;
|
||||
loopvar, arrayvar: ttempcreatenode;
|
||||
arrayindex, lowbound, highbound, loopbody, forloopnode, expression: tnode;
|
||||
is_string: boolean;
|
||||
tmpdef, convertdef: tdef;
|
||||
elementcount: aword;
|
||||
begin
|
||||
begin
|
||||
expression := expr;
|
||||
|
||||
{ result is a block of statements }
|
||||
@ -410,14 +412,15 @@ begin
|
||||
{ free the temp variable for expression if needed }
|
||||
if arrayvar<>nil then
|
||||
addstatement(loopstatement,ctempdeletenode.create(arrayvar));
|
||||
end;
|
||||
end;
|
||||
|
||||
function create_set_for_in_loop(hloopvar, hloopbody, expr: tnode): tnode;
|
||||
var
|
||||
|
||||
function create_set_for_in_loop(hloopvar, hloopbody, expr: tnode): tnode;
|
||||
var
|
||||
loopstatement, loopbodystatement: tstatementnode;
|
||||
loopvar, setvar: ttempcreatenode;
|
||||
loopbody, forloopnode: tnode;
|
||||
begin
|
||||
begin
|
||||
// first check is set is empty and if it so then skip other processing
|
||||
if not Assigned(tsetdef(expr.resultdef).elementdef) then
|
||||
begin
|
||||
@ -456,8 +459,7 @@ begin
|
||||
loopbody:=cifnode.create(
|
||||
cinnode.create(ctemprefnode.create(loopvar),ctemprefnode.create(setvar)),
|
||||
internalstatements(loopbodystatement),
|
||||
nil
|
||||
);
|
||||
nil);
|
||||
|
||||
addstatement(loopbodystatement,cassignmentnode.create(hloopvar,ctemprefnode.create(loopvar)));
|
||||
{ add the actual statement to the loop }
|
||||
@ -474,11 +476,12 @@ begin
|
||||
addstatement(loopstatement,ctempdeletenode.create(loopvar));
|
||||
{ free the temp variable for expression }
|
||||
addstatement(loopstatement,ctempdeletenode.create(setvar));
|
||||
end;
|
||||
end;
|
||||
|
||||
function create_enumerator_for_in_loop(hloopvar, hloopbody, expr: tnode;
|
||||
|
||||
function create_enumerator_for_in_loop(hloopvar, hloopbody, expr: tnode;
|
||||
enumerator_get, enumerator_move: tprocdef; enumerator_current: tpropertysym): tnode;
|
||||
var
|
||||
var
|
||||
loopstatement, loopbodystatement: tstatementnode;
|
||||
enumvar: ttempcreatenode;
|
||||
loopbody, whileloopnode,
|
||||
@ -486,7 +489,7 @@ var
|
||||
propaccesslist: tpropaccesslist;
|
||||
enumerator_is_class: boolean;
|
||||
enumerator_destructor: tprocdef;
|
||||
begin
|
||||
begin
|
||||
{ result is a block of statements }
|
||||
result:=internalstatements(loopstatement);
|
||||
|
||||
@ -568,8 +571,7 @@ begin
|
||||
whileloopnode:=cifnode.create(
|
||||
caddnode.create(unequaln, ctemprefnode.create(enumvar), cnilnode.create),
|
||||
whileloopnode,
|
||||
nil
|
||||
);
|
||||
nil);
|
||||
end;
|
||||
|
||||
addstatement(loopstatement, whileloopnode);
|
||||
@ -588,14 +590,15 @@ begin
|
||||
|
||||
{ free the temp variable for enumerator }
|
||||
addstatement(loopstatement,ctempdeletenode.create(enumvar));
|
||||
end;
|
||||
end;
|
||||
|
||||
function create_for_in_loop(hloopvar, hloopbody, expr: tnode): tnode;
|
||||
var
|
||||
|
||||
function create_for_in_loop(hloopvar, hloopbody, expr: tnode): tnode;
|
||||
var
|
||||
pd, movenext: tprocdef;
|
||||
current: tpropertysym;
|
||||
storefilepos: tfileposinfo;
|
||||
begin
|
||||
begin
|
||||
storefilepos:=current_filepos;
|
||||
current_filepos:=hloopvar.fileinfo;
|
||||
if expr.nodetype=typen then
|
||||
@ -660,7 +663,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
current_filepos:=storefilepos;
|
||||
end;
|
||||
end;
|
||||
|
||||
{****************************************************************************
|
||||
TLOOPNODE
|
||||
|
||||
Loading…
Reference in New Issue
Block a user