Commit Graph

23 Commits

Author SHA1 Message Date
Oswald Buddenhagen
0b0bbff094 move and rename ProItemReturn to VisitReturn
it's private to ProFileEvaluator::Private since the getting rid of
the visitor pattern.
2010-06-02 11:05:26 +02:00
Oswald Buddenhagen
5db91cf5bc add custom string type
ProString is almost a QStringRef, except that it keeps a copy of instead
of a pointer to the QString - to make it refcountable. additionally, it
holds a hash so it can be efficiently used for repetetive hash lookups.
2010-06-02 11:05:26 +02:00
Oswald Buddenhagen
8df0fe8632 remove unused setters 2010-06-02 11:05:26 +02:00
Oswald Buddenhagen
c63453d878 reorganize AST
turn else, for(), defineTest() and defineReplace() into own node
types instead of treating them as magic conditionals/functions.
on top of that, introduce a proper branching node type, so finding
the alternative code paths can be moved into the parser instead of
burdening the evaluator with it.
2010-06-02 11:05:26 +02:00
Oswald Buddenhagen
f1b591bb06 merge ProFunction into ProCondition
there is no point in the split, given that there is nothing virtual any
more.
2010-06-02 11:05:25 +02:00
Oswald Buddenhagen
79fd001aff fix memleak, part 2
the previous fix did not consider that ProFiles are a further
specialization of ProBlocks.

Reviewed-by: dt
Task-number: QTCREATORBUG-1003
2010-04-01 16:29:38 +02:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Oswald Buddenhagen
e22e8035c6 make profile cache thread safe
Reviewed-by: thiago
2010-02-26 13:09:20 +01:00
Oswald Buddenhagen
b309f9449a directly link ProItems instead of using QList<ProItem*>
somewhat faster again
2010-02-05 15:20:25 +01:00
Oswald Buddenhagen
9341f7da4e de-virtualize ProItem::kind(); use variable instead
now items have no vtable any more
2010-02-05 15:20:25 +01:00
Oswald Buddenhagen
143531289e inline trivial functions 2010-02-05 15:20:25 +01:00
Oswald Buddenhagen
42fd31fb12 remove unused functions 2010-02-05 15:20:25 +01:00
Oswald Buddenhagen
a2dbeecdec remove visitor pattern
it's overengineered for our purpose and would just get in the way of
planned optimizations.
2010-02-05 15:20:25 +01:00
Oswald Buddenhagen
9c7d803aec don't pre-split RHS of variable assignments
creating tons of items is a tad allocation-intensive and thus slow.

this is probably slower for often-included files, as now the splitting
is done in every evaluation pass.
2010-01-25 16:53:56 +01:00
Oswald Buddenhagen
61772da250 omit comments from the "AST"
now that the tree will not be written out any more, we can save some
cpu and memory by not recording the information.
2010-01-25 16:53:56 +01:00
Oswald Buddenhagen
cc709e963e purge unused "modified" flag from ProFile 2010-01-25 16:53:55 +01:00
hjk
93cbef8724 long live the king 2009-08-14 09:30:56 +02:00
Oswald Buddenhagen
90848b89b6 no point in ProFile being a QObject
cherry-pick of 9392acd40fc0102b6924c286fd6dbbc32244365b from qt
2009-07-14 11:29:20 +02:00
Jason McDonald
884b7af769 Update license headers and sales contact details.
Reviewed-by: Trust Me
2009-06-17 00:01:27 +10:00
Oswald Buddenhagen
88de3e6a45 support loops: implement for(), next() & break() 2009-05-25 18:35:12 +02:00
Oswald Buddenhagen
d077ba29c3 support custom functions: implement defineTest(), defineReplace(), defined(), return() & export() 2009-05-25 18:35:12 +02:00
hjk
8ca887aae2 Fixes: change file license headers to include LGPL 2009-02-25 09:15:00 +01:00
hjk
fe0533de2a Fixes: move all files in shared/* to src/shared/* 2009-01-26 16:19:24 +01:00