@@ -592,6 +592,7 @@ implementation
end;
blockn:
p := tunarynode(p).left;
+ notn,
derefn :
begin
inc(result);
@@ -619,11 +620,14 @@ implementation
p := tbinarynode(p).right;
- { better: make muln/divn/modn more expensive }
addn,subn,orn,andn,xorn,muln,divn,modn,symdifn,
+ shln,shrn,
+ equaln,unequaln,gtn,gten,ltn,lten,
assignn:
inc(result,node_complexity(tbinarynode(p).left)+1);
+ if (p.nodetype in [muln,divn,modn]) then
+ inc(result,5);
if (result >= NODE_COMPLEXITY_INF) then
result := NODE_COMPLEXITY_INF;