| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
qHash(QString) has only 28 bits, so we can use the upper bits
for flagging whether the hash is valid.
size effect:
LP32: align(4, 4 + 4 + 1) = 12 vs. align(4, 4 + 4) = 8
LP64: align(8, 8 + 8 + 1) = 24 vs. align(8, 8 + 8) = 16
P64: align(8, 8 + 4 + 1) = 16 vs. align(8, 8 + 4) = 16
|
|
|
|
|
| |
making the range discontiguous just makes the switch()
jump table bigger or not applicable at all.
|
|
|
|
| |
Task-number: QTBUG-8360
|
|
|
|
| |
normalize the user input first
|
|
|
|
|
|
|
|
| |
if the pro file for the translations lives in a sibling tree of the
actual source tree, messages from included headers wouldn't have been
collected, as they were not considered part of the project.
Task-number: QTBUG-7495
|
|
|
|
| |
this has always been kind of an omission ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
previously, the semantics of nesting projects were pretty bizarre:
the list of TS files grew ever as the subdirs were visited. the
source files otoh were cleared for every project. this meant that
some TS files were updated over and over again, each time with different
data.
this is obviously total nonsense, so there is no compatibilty to keep.
so here come the new semantics:
- each project is scanned separately. it has separate include paths and
may override the inherited CODECFORSRC.
- the messages from all sub-projects are merged
- if a sub-project has a TRANSLATIONS entry, it is "detached" from its
parent project, thus starting an own merged translator. it is also
possible to name an empty set of TS files to simply exclude the
sub-project.
- CODECFORTR can be specified in each project with TRANSLATIONS
- if TS files are specified on the command line, they override
TRANSLATIONS from the top level project and stop processing of
detached projects alltogether. if multiple top-level projects are
specified, they are all merged.
this is somewhat slower, as now includes are re-scanned per project,
while previously all sources were simply accumulated and scanned as one
project. this can be fixed retroactively if needed.
|
|
|
|
|
| |
lrelease needs only the TRANSLATIONS value anyway, so there is hardly
anything to share for real
|
| |
|
| |
|
|
|
|
| |
really no point in doing so ...
|
|\
| |
| |
| |
| | |
Conflicts:
tests/auto/linguist/lupdate/testlupdate.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Task-number: QTBUG-6072
|
| |
| |
| |
| |
| |
| |
| | |
92e9a48 ("eliminate Translator::replace()") eliminated the correctness
as well. whoops.
this code should be more efficient as well ...
|
| |
| |
| |
| | |
Reviewed-by: TrustMe
|
|/ |
|
|
|
|
|
|
|
|
|
| |
... so the tools are usable with QT_FATAL_WARNINGS.
it may be sensible to "degrade" the c++ parser warnings to info
messages. possibly later ...
Task-number: QTBUG-5683
|
|
|
|
|
| |
Task-number: QTBUG-4499
Task-number: QTBUG-5276
|
| |
|
|
|
|
| |
querying the actual codec before the file has been read is pointless
|
|
|
|
|
|
| |
this makes sense if one uses lupdate only for validation purposes, i.e.
to find out if the code uses only ids which are defined in some external
specification.
|
|
|
|
|
| |
when comparing two messages which both have ids, compare only the ids.
this affects finding/reporting duplicates and merging.
|
|
|
|
| |
preparation work ...
|
| |
|
|
|
|
| |
consistent with all other source parsers
|
|
|
|
| |
... with gotos :)
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
this has two effects:
- using-declarations which use forward-declared classes work without
collecting the forward declarations, as the resolution happens at a
place where the class definition must have been encountered already
- it should be a bit faster
|
|
|
|
|
|
| |
the optimization not to look for parent definitions if we already knew
that there would be none did not consider that we only know that the
leaf node is missing, not any intermediate nodes.
|
| |
|
| |
|
|
|
|
|
|
| |
there must be a space after the //: and similar comments, otherwise
harmless comments of the sort of //====== foo here ===== will be parsed
as message ids, etc.
|
|
|
|
| |
--help says it does, but it didn't really.
|
|\ |
|
| | |
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
"A class with a reference member must have a user-defined constructor."
|
| |
| |
| |
| |
| | |
this will save quite some hash lookups (even if in empty hashes)
and make the VisitRecorder bitmap smaller.
|
| |
| |
| |
| |
| | |
drop the parse results of files which are unlikely to be included (i.e.,
which are not headers).
|
| |
| |
| |
| |
| |
| | |
which means that one can set an arbitrary context.
as a side effect, this caches the stringified context of
Q_OBJECT-derived classes.
|
| |
| |
| |
| |
| |
| | |
... by virtue of the Q_DECLARE_TR_FUNCTIONS macro.
so remove the artificial limitation to classes (which was mostly an
optimization anyway).
|
| |
| |
| |
| |
| |
| |
| | |
do not import all data from included files into the current file (which
turned out to be extremely expensive for 3rdparty/webkit), but do
hierarchical lookups on demand. this makes the lookups as such much
slower, of course, but it still pays off.
|
| | |
|
| |
| |
| |
| |
| | |
they don't create useful namespaces and don't hold flags, so it is
pointless to clutter the namespace maps with them.
|
| |
| |
| |
| | |
no need for parameter "unresolved"
|
| |
| |
| |
| | |
needsTrFunctions was never set any more
|
| |
| |
| |
| |
| | |
cuts away a few thousand instructions.
need to revisit this in case of making the parser a dynamic library.
|
| | |
|