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
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
2113669fba
don't use fromRawData() for the file name parts.
...
the sub-strings "escaped" from the evaluator through the accessor, so
things did go boom, after all.
Reviewed-by: thorbjorn
2010-04-19 18:19:40 +02:00
Oswald Buddenhagen
d86f7dcd68
plug huge memory leak
...
in my quest to de-virtualize the ProItems i also devirtualized their
d'tors without providing a replacement. whoops.
Reviewed-by: dt
Task-number: QTCREATORBUG-1003
2010-04-01 11:09:21 +02:00
hjk
9595504bda
Long live the king!
2010-03-05 11:28:13 +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
b5fd00955f
get rid of lots of qfileinfo and qfile calls
...
partly by removing unnecessary calls, partly by providing minimalistic
reimplementations.
this gives a quite incredible performance boost ...
2010-01-25 16:53:56 +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
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
Oswald Buddenhagen
6ca93b31fd
remove return values from the visitors which need none
2009-05-25 18:35:11 +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