Commit Graph

1649 Commits

Author SHA1 Message Date
Nikolai Kosjar
6cafc424e8 CppTools: Tests: Stop writing into source dir
Instead, always write into a unique temporary directory in
QDir::tempPath().

Where applicable, read the test source from files instead of first
writing the file.

Some clean ups in test_codegen*.

Change-Id: Id48dc50c6ca16252edfd9fc8a86ba0de9f9be486
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2014-12-19 10:29:16 +01:00
Eike Ziller
487b05dba8 Adapt bugtracker URL
Change-Id: I93a256f18e720edb0bcfc2b409c119abfdcf2a2b
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2014-12-19 10:18:23 +01:00
Erik Verbruggen
242b3f4110 C++: clean up numeric literal parsing and add support for n3472.
Separate the messy pp-number parsing from the numeric literal parsing.
The C/C++ preprocessor makes a grown man cry, but at least we have
"proper" literal parsing when we want it, including C++1y binary
literals.

Next step is digit separators (n3781).

Change-Id: Ia069eef454ed5c056f77694a5b8a595d0b76adc4
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2014-12-18 15:46:22 +01:00
Ulf Hermann
dac7e8644e Timeline: test TimelineAbstractRenderer
Change-Id: I9860af4b6aedbd656103bf5def38f1830b1352e1
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-18 13:04:28 +01:00
Ulf Hermann
f0da74d35d Timeline: Streamline model implementations
Allow models to be created without a parent and provide default
implementations for virtual methods. It's actually fine to have all
ranges in row 0 and in black by default. Having default implementations
makes things easier to test.

Change-Id: Ibb842ef295cdcfa13d8ca4be3489906af72e9699
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-18 13:04:09 +01:00
Ulf Hermann
7053378fdf Timeline: Complete test coverage of TimelineModel.
Change-Id: If27c51b1189bc0bb0333837c58849bc79b779845
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-18 13:03:38 +01:00
Ulf Hermann
c40d9e9d17 Timeline: Create new library from contents of QmlProfiler
Change-Id: I964b2f149e237eb25a08600e8dab8968e8bc0cb9
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-16 15:22:48 +01:00
Nikita Baryshnikov
464cd2df71 Test TimeLineModel fix compilation
after 516c0d6020

Change-Id: I2d2cdf0c899946f9bb792db2a10c12b03dfef4bc
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2014-12-15 16:27:06 +01:00
Nikolai Kosjar
e3977de08e C++: Finish gcc's include_next support
This implements the actual include_next logic and thus completes

    commit b934cc1
    C++: pass #include_next down to CppPreprocessor::tryIncludeFile

    commmit 140b502
    C++: Highlight argument to gcc's #include_next extension

Based on https://gcc.gnu.org/onlinedocs/cpp/Wrapper-Headers.html

Task-number: QTCREATORBUG-10225
Change-Id: I7eef7f5ea64a114f6d092304d32b72c55c2ce134
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2014-12-15 15:37:36 +01:00
hjk
8815990903 Debugger: Fix std::unordered_* dumpers with GCC 4.9.1
Change-Id: I5d5ed9cfc68af061970b0055b76cb563ca04ee53
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-12-12 13:54:37 +01:00
Ulf Hermann
725623583f QmlProfiler: Separate expanded and collapsed row heights and counts
We'll need to access both of them when building the scene graph. This
change also clarifies the dynamics between expanding categories and
row heights and offsets.

Change-Id: I2e2bf488ad973c95d05f230bf6fff63598f39bf2
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-05 14:15:15 +01:00
Eike Ziller
d341c48246 Merge remote-tracking branch 'origin/3.3' 2014-12-01 15:44:30 +01:00
hjk
8fdce7cdac Debugger: Disable QVariant(KeySequence) dumper for LLDB
This triggers errors in LLDB
  error: main.o Parsing a die that is being parsed die:
      0x00001ddf: DW_TAG_subprogram operator void *QMetaObject::Connection::*
  error: main.o Parsing a die that is being parsed die:
      0x000100fa: DW_TAG_subprogram operator QObjectData *QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::*

Change-Id: Iae6a8ca1fbd84c43c7d31b65e017792d1b6a1e0b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-12-01 12:03:17 +01:00
hjk
bf9a3b2020 Debugger: Fix LLDB reference display for LLDB 320.x
There is seemingly still no proper API for that, and
the old hack broke. Use a new one.

Change-Id: I9e638ca1fbd84c43c7d31b65e017792d1b6a1e0b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-11-28 14:55:03 +01:00
Nikolai Kosjar
2fc4acbc35 CppEditor: Avoid duplicate "Add #include XYZ"
Task-number: QTCREATORBUG-13422
Change-Id: I3648bf44760fdac4e8e1e79652519136af6032c8
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2014-11-28 14:01:10 +01:00
hjk
315fb0372e Debugger: Add more reference related autotests
Change-Id: Iae638ca1fbd84c43c7d31b65e017792d1b6a1e0b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-11-28 12:48:28 +01:00
hjk
9f272bcb8c Debugger: Also output dumper location in LLDB auto test
Change-Id: I51a017ced91198bdc4e822cfcc1c45580945a773
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-11-27 07:09:34 +01:00
Eike Ziller
938326ef2c Merge remote-tracking branch 'origin/3.3' 2014-11-26 11:11:46 +01:00
hjk
42fc31bff7 Debugger: Require some clang version for clang specific test
Change-Id: Ib6ba0ffb5957a60e700abd9a540bd7bbf5888b2a
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-25 13:02:24 +01:00
Eike Ziller
a47fbb8309 Merge remote-tracking branch 'origin/3.3'
Conflicts:
	src/plugins/coreplugin/coreplugin.cpp
	src/plugins/coreplugin/themesettingswidget.cpp
	src/plugins/qbsprojectmanager/qbsprojectmanager.cpp
	src/plugins/qbsprojectmanager/qbsprojectmanager.h
	src/plugins/qmlprofiler/qml/Overview.js
	src/shared/qbs

Change-Id: Ibe92c166fc5bfbcb4d6964e50ca7298d8459d60e
2014-11-24 15:43:48 +01:00
hjk
1a1ec50801 Debugger: Adjust std::vector<bool> dumper autotest for recent Clang
Change-Id: I1998f0750c5905a3dc4e83db297edc135cd2a39a
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-11-21 15:12:11 +01:00
hjk
20675704c6 Debugger: Add ability to check for clang version in tests
Change-Id: Ie56de7a0e59cadd8557f7a2fd00d434470000f3c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-11-21 15:12:04 +01:00
Ulf Hermann
10d942e268 QmlProfiler: Split AbstractTimelineModel in two classes
We need a general purpose TimelineModel and a specialized
QmlProfilerTimelineModel.

Change-Id: I2da02d65efa11e160cab5fa9f8a21075beb0e2bf
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-11-21 14:03:58 +01:00
Ulf Hermann
af84726c51 QmlProfiler: fix autotest
Change-Id: Ibe5e7638eb7f3d88ed02e6de12b81c9b2aba3e7d
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-11-21 14:03:49 +01:00
Ulf Hermann
91cb52d40b QmlProfiler: Require model manager when constructing timeline models
This relieves us of the headaches created by figuring out what should
happen if the model manager is changed later. Extension models can be
safely created through a factory.

Change-Id: I8cf8fd6d639e4e6c9da66351ea44cfc35fd614a5
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-11-21 10:54:29 +01:00
Christian Stenger
dbf663198c Test: Fix valgrind auto test
Change-Id: I6ea9f4d174170b9e430ea77b2337dfdb9971c13c
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-20 12:26:18 +01:00
Nikolai Kosjar
beac7b9539 C++: Fix highlighting after "invalid code"
For the semantic info document we do not expand function like macros and
because of that certain macro invocations lead to invalid code that we
need to handle, e.g.:

	Q_GLOBAL_STATIC(CppTools::SymbolFinder, symbolFinder)
	class Foo {};

This change makes parsing Foo in the semantic info document successfully
again, which affects highlighting of that class.

Change-Id: I389265ac64d3f0b8b8f406d38fa58d78820b14ba
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2014-11-19 16:10:56 +01:00
Christian Stenger
cd8dc3ae12 Tests: Fix tst_fileutils for Qt5.4+
Change-Id: I65b4eb8dff91c69bff50c63cd42a4894df0470f0
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2014-11-18 14:43:22 +01:00
Nikolai Kosjar
69504c25ca C++: Document::functionAt provides line information
Needed for the debugger.

Change-Id: I6465f6dc53017df212e403ea8a9a1c7977ac1671
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-12 12:29:51 +01:00
Nikolai Kosjar
cefd1832ce C++: Include class name for inline functions in functionAt
The code that constructed the fully qualified name used
enclosingNamespace() which skips classes.

Use LookupContext::fullyQualifiedName() instead.

Change-Id: Ic03a91c0fe120c52dc69f3e78e82a574458d8314
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-11 11:50:46 +01:00
Nikolai Kosjar
079e7a500f C++: Tests: Make document_functionAt data driven
Change-Id: I8e811b21c584e7b6a2b8eb61830cb680f6fefa95
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-11 11:23:13 +01:00
Christian Kandeler
9d677e3302 qbs build: Remove unneeded import statements.
The respective items are available without it.

Change-Id: Idc840cf08e7bec84f561c096afe8de25b1fb8468
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-11-10 15:45:14 +01:00
Orgad Shaneh
e871225057 C++: Add a failing test for pp concat bug
Task-number: QTCREATORBUG-13219
Change-Id: I6278d7977f0ce560e793838c90cfbc867e1af025
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2014-11-07 08:52:31 +01:00
Orgad Shaneh
b4112d7806 Tests: Fix compilation
Broken by ca151d07fa.

Change-Id: Ic6b58b5749d5811d1250840c81d692837e9a2cea
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2014-11-07 08:18:28 +01:00
Eike Ziller
9c7019f0b2 License update.
Change-Id: I0acde2c3b995693de682679471f03af85bdd0a61
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-15 15:19:55 +02:00
Nikolai Kosjar
390b4f0e0b C++: Fix parsing of "Foo *foo = new Foo()"
It should be parsed as an DeclarationStatement, but instead it was
parsed as an ExpressionStatement.

Regression introduced with

    commit d3c5fff66d.
    C++: Fix expensive parsing of expressions

The introduced ASTCache did not save the correct return value of a
parse* function. Because of that, the first return in
Parser::parseExpressionList returned false on the second invocation
(cache hit), instead of true, which resulted in an ExpressionStatement.

Task-number: QTCREATORBUG-13122
Change-Id: I8dbd8852b0909edddcd3195b484f4cea92328cc5
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-10-15 10:08:19 +02:00
hjk
e43af30faa Debugger: Add auto test for QVarLengthArray dumper
Change-Id: I25af89bea8fe7781ae6b1b21fd294753f8519ee6
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-10-14 22:15:15 +02:00
Eike Ziller
ea27143239 Merge remote-tracking branch 'origin/3.2'
Conflicts:
	src/libs/utils/ipaddresslineedit.cpp
	src/libs/utils/logging.h
	src/plugins/analyzerbase/AnalyzerBase.pluginspec.in
	src/plugins/android/Android.pluginspec.in
	src/plugins/android/androiddeploystep.cpp
	src/plugins/android/androiddeploystep.h
	src/plugins/android/androiddeploystepfactory.cpp
	src/plugins/android/androiddeploystepwidget.cpp
	src/plugins/android/androidpackagecreationfactory.cpp
	src/plugins/android/androidpackagecreationstep.cpp
	src/plugins/android/androidpackagecreationstep.h
	src/plugins/android/androidpackagecreationwidget.cpp
	src/plugins/android/androidpackagecreationwidget.h
	src/plugins/android/javafilewizard.cpp
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/baremetal/BareMetal.pluginspec.in
	src/plugins/bazaar/Bazaar.pluginspec.in
	src/plugins/beautifier/Beautifier.pluginspec.in
	src/plugins/bineditor/BinEditor.pluginspec.in
	src/plugins/bookmarks/Bookmarks.pluginspec.in
	src/plugins/clangcodemodel/ClangCodeModel.pluginspec.in
	src/plugins/clangcodemodel/clanghighlightingsupport.cpp
	src/plugins/clangcodemodel/clangsymbolsearcher.cpp
	src/plugins/classview/ClassView.pluginspec.in
	src/plugins/clearcase/ClearCase.pluginspec.in
	src/plugins/cmakeprojectmanager/CMakeProjectManager.pluginspec.in
	src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp
	src/plugins/cmakeprojectmanager/cmakehighlighter.cpp
	src/plugins/coreplugin/Core.pluginspec.in
	src/plugins/cpaster/CodePaster.pluginspec.in
	src/plugins/cppeditor/CppEditor.pluginspec.in
	src/plugins/cppeditor/cppfilewizard.cpp
	src/plugins/cpptools/CppTools.pluginspec.in
	src/plugins/cpptools/cpphighlightingsupportinternal.cpp
	src/plugins/cpptools/cppmodelmanagerinterface.cpp
	src/plugins/cpptools/cppmodelmanagerinterface.h
	src/plugins/cvs/CVS.pluginspec.in
	src/plugins/debugger/Debugger.pluginspec.in
	src/plugins/designer/Designer.pluginspec.in
	src/plugins/diffeditor/DiffEditor.pluginspec.in
	src/plugins/emacskeys/EmacsKeys.pluginspec.in
	src/plugins/fakevim/FakeVim.pluginspec.in
	src/plugins/genericprojectmanager/GenericProjectManager.pluginspec.in
	src/plugins/git/Git.pluginspec.in
	src/plugins/git/gitorious/gitorious.cpp
	src/plugins/git/gitorious/gitorious.h
	src/plugins/git/gitorious/gitoriousclonewizard.cpp
	src/plugins/git/gitorious/gitorioushostwidget.cpp
	src/plugins/git/gitorious/gitorioushostwidget.h
	src/plugins/git/gitorious/gitorioushostwizardpage.cpp
	src/plugins/git/gitorious/gitoriousprojectwidget.cpp
	src/plugins/git/gitorious/gitoriousprojectwidget.h
	src/plugins/git/gitorious/gitoriousprojectwizardpage.cpp
	src/plugins/git/gitorious/gitoriousprojectwizardpage.h
	src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp
	src/plugins/git/gitorious/gitoriousrepositorywizardpage.h
	src/plugins/glsleditor/GLSLEditor.pluginspec.in
	src/plugins/glsleditor/glsleditorfactory.cpp
	src/plugins/glsleditor/glslfilewizard.cpp
	src/plugins/helloworld/HelloWorld.pluginspec.in
	src/plugins/help/Help.pluginspec.in
	src/plugins/imageviewer/ImageViewer.pluginspec.in
	src/plugins/ios/Ios.pluginspec.in
	src/plugins/macros/Macros.pluginspec.in
	src/plugins/mercurial/Mercurial.pluginspec.in
	src/plugins/perforce/Perforce.pluginspec.in
	src/plugins/projectexplorer/ProjectExplorer.pluginspec.in
	src/plugins/pythoneditor/PythonEditor.pluginspec.in
	src/plugins/pythoneditor/pythoneditorwidget.cpp
	src/plugins/pythoneditor/wizard/pythonfilewizard.cpp
	src/plugins/qbsprojectmanager/QbsProjectManager.pluginspec.in
	src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
	src/plugins/qmakeprojectmanager/QmakeProjectManager.pluginspec.in
	src/plugins/qmakeprojectmanager/profileeditorfactory.cpp
	src/plugins/qmldesigner/QmlDesigner.pluginspec.in
	src/plugins/qmljseditor/QmlJSEditor.pluginspec.in
	src/plugins/qmljseditor/qmljseditorfactory.cpp
	src/plugins/qmljstools/QmlJSTools.pluginspec.in
	src/plugins/qmlprofiler/QmlProfiler.pluginspec.in
	src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec.in
	src/plugins/qnx/Qnx.pluginspec.in
	src/plugins/qtsupport/QtSupport.pluginspec.in
	src/plugins/remotelinux/RemoteLinux.pluginspec.in
	src/plugins/resourceeditor/ResourceEditor.pluginspec.in
	src/plugins/resourceeditor/resourcewizard.h
	src/plugins/subversion/Subversion.pluginspec.in
	src/plugins/tasklist/TaskList.pluginspec.in
	src/plugins/texteditor/TextEditor.pluginspec.in
	src/plugins/texteditor/basetexteditor_p.h
	src/plugins/texteditor/basetextmark.cpp
	src/plugins/texteditor/codeassist/basicproposalitemlistmodel.h
	src/plugins/texteditor/codeassist/defaultassistinterface.h
	src/plugins/texteditor/codeassist/iassistproposalitem.cpp
	src/plugins/texteditor/itexteditor.cpp
	src/plugins/texteditor/itexteditor.h
	src/plugins/texteditor/itextmark.cpp
	src/plugins/texteditor/plaintexteditor.cpp
	src/plugins/texteditor/plaintexteditor.h
	src/plugins/texteditor/texteditoractionhandler.cpp
	src/plugins/todo/Todo.pluginspec.in
	src/plugins/updateinfo/UpdateInfo.pluginspec.in
	src/plugins/valgrind/Valgrind.pluginspec.in
	src/plugins/vcsbase/VcsBase.pluginspec.in
	src/plugins/welcome/Welcome.pluginspec.in
	src/plugins/winrt/WinRt.pluginspec.in
	tests/auto/debugger/temporarydir.h

Change-Id: I254af8be8119fe9855287909e17d4b8ca9d2fc2f
2014-10-14 15:36:16 +02:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Nikolai Kosjar
c2e5f1c819 C++: Pass on the byte offsets of macro arguments
...to the Document/Block.

Change-Id: I1a96dc70ac93254e6030326b36a5df9a2cdc2bd8
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-10-08 09:51:17 +02:00
Ulf Hermann
dbb4e761ef QmlProfiler: Update abstracttimelinemodel test
height() needs a modelmanager now and rowCount() is centralized.

Change-Id: I7fc1833d4bb5de4df99bed0e43f1da836e45df21
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-09-29 14:26:55 +02:00
Ulf Hermann
38f4d6a5f2 QmlProfiler: rename "eventId" fields to "typeId" and "selectionId"
The convention is now that selections are the rows in the expanded
timeline, "types" are the types in the QmlProfilerDataModel, and
events are the single boxes in the timeline. Thus, the event view
shows only types and for consistency the V8 view does so, too.

Having eventId as synonym for "type index" and "event index" as
actual index into the list of events is confusing.

Change-Id: I6b7c4c3f1ab0a8b71c511de52ab296a2e91cf5f0
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-09-29 13:06:45 +02:00
Christian Stenger
02c260e6ca Tests: Fix compile
Introduced with 953cdb971f

Change-Id: I9d69cfcff1778e8428a6da18fc300d8aaaac2904
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-26 16:12:03 +02:00
hjk
bc111ef37a Debugger: Only auto test dumper for boost >= 1.54
Change-Id: Ib8d0f2c6ed0323eb969c6a6eed9ea0a6c0e3cf8e
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-26 13:47:18 +02:00
hjk
953cdb971f TextEditor: More BaseText* -> Text* renamings
*Document* and *Layout* classes, all basetext* files

Change-Id: I1c6e376733a434fcb5c7f19c6210dfa031eeafde
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-09-26 10:12:51 +02:00
hjk
bf5f14a4e1 Debugger: Fix QHash display of "compact" keys
Add make std::string usable as "compact" key.

Change-Id: Idbfcf9d299e2dde392025166a20c3d0ab60239a6
(cherry picked from commit 2776536a7e)
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-26 09:35:36 +02:00
hjk
9402ab1d47 Debugger: Disable boost_unordered autotest for gdb < 7.6
Change-Id: I67e63892ff997312fb23f421b0eabaf9bc1eb4aa
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-26 08:52:02 +02:00
Nikolai Kosjar
4da91bef8d C++: Fix endless loop in lookup on Windows
...for templates with typedefs referencing the respectively other
template (basic_ostream <-> ostreambuf_iterator).

Tested with MSVC 2013.

Regression introduced by ba42ceb0cb.

Task-number: QTCREATORBUG-13064
Task-number: QTCREATORBUG-13065
Change-Id: I71a45c720663a73c3302eb7da731e6ad2d8f0fbd
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-09-25 11:35:47 +02:00
Nikolai Kosjar
c9f309f9be C++: Tests: Extract some functions in tst_checksymbols
...so we can use them in a follow-up change.

Change-Id: I0ddc5bb966e72ab5c527f6814650d70492bbbdb5
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-25 11:29:23 +02:00
Oswald Buddenhagen
62da66a0aa AbstractMacroExpander: expand macros recursively
Started-by: Tobias Hunger <tobias.hunger@digia.com>
Change-Id: Id2e88efbb475221cd7c0347f7d5e7009e4372eec
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-09-15 17:13:57 +02:00