forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/2.8'
Conflicts: qtcreator.pri qtcreator.qbs src/plugins/projectexplorer/projectexplorer.cpp Change-Id: I37e550646f877b50693043894976a693ac22ad5e
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import qbs.base 1.0
|
||||
import qbs.TextFile
|
||||
import qbs.fileinfo as FileInfo
|
||||
import qbs.FileInfo
|
||||
|
||||
Module {
|
||||
Depends { id: qtcore; name: "Qt.core" }
|
||||
|
||||
@@ -507,6 +507,10 @@ class Dumper:
|
||||
#self.debugger.EnableLog("lldb", ["all"])
|
||||
self.debugger.Initialize()
|
||||
self.debugger.HandleCommand("settings set auto-confirm on")
|
||||
if not hasattr(lldb.SBType, 'GetCanonicalType'): # "Test" for 179.5
|
||||
warn("DISABLING DEFAULT FORMATTERS")
|
||||
self.debugger.HandleCommand('type category delete gnu-libstdc++')
|
||||
self.debugger.HandleCommand('type category delete libcxx')
|
||||
self.process = None
|
||||
self.target = None
|
||||
self.eventState = lldb.eStateInvalid
|
||||
@@ -559,7 +563,7 @@ class Dumper:
|
||||
elif c == ',':
|
||||
if level == 0:
|
||||
if index == 0:
|
||||
return inner
|
||||
return inner.strip()
|
||||
index -= 1
|
||||
inner = ''
|
||||
else:
|
||||
@@ -571,7 +575,7 @@ class Dumper:
|
||||
else:
|
||||
inner += c
|
||||
skipSpace = False
|
||||
return inner
|
||||
return inner.strip()
|
||||
|
||||
def templateArgument(self, typeobj, index):
|
||||
type = typeobj.GetTemplateArgumentType(index)
|
||||
@@ -1142,7 +1146,7 @@ class Dumper:
|
||||
for i in xrange(m):
|
||||
child = value.GetChildAtIndex(i)
|
||||
with UnnamedSubItem(self, "@%d" % (i + 1)):
|
||||
#self.put('iname="%s",' % self.currentIName)
|
||||
self.put('iname="%s",' % self.currentIName)
|
||||
self.put('name="[%s]",' % child.name)
|
||||
self.putItem(child)
|
||||
for i in xrange(m, n):
|
||||
@@ -1618,6 +1622,7 @@ execfile(os.path.join(currentDir, "qttypes.py"))
|
||||
def doit():
|
||||
|
||||
db = Dumper()
|
||||
db.report('lldbversion="%s"' % lldb.SBDebugger.GetVersionString())
|
||||
db.report('state="enginesetupok"')
|
||||
|
||||
while True:
|
||||
|
||||
@@ -221,10 +221,10 @@ def qdump__QByteArray(d, value):
|
||||
d.putDisplay(StopDisplay)
|
||||
elif format == 2:
|
||||
d.putField("editformat", DisplayLatin1String)
|
||||
d.putField("editvalue", d.encodeByteArray(value, None))
|
||||
d.putField("editvalue", d.encodeByteArray(value))
|
||||
elif format == 3:
|
||||
d.putField("editformat", DisplayUtf8String)
|
||||
d.putField("editvalue", d.encodeByteArray(value, None))
|
||||
d.putField("editvalue", d.encodeByteArray(value))
|
||||
if d.isExpanded():
|
||||
d.putArrayData(d.charType(), data, size)
|
||||
|
||||
@@ -1734,10 +1734,14 @@ def qdump__QString(d, value):
|
||||
d.putDisplay(StopDisplay)
|
||||
elif format == 2:
|
||||
d.putField("editformat", DisplayUtf16String)
|
||||
d.putField("editvalue", d.encodeString(value, None))
|
||||
d.putField("editvalue", d.encodeString(value))
|
||||
|
||||
|
||||
def qdump__QStringRef(d, value):
|
||||
if isNull(value["m_string"]):
|
||||
d.putValue("(null)");
|
||||
d.putNumChild(0)
|
||||
return
|
||||
s = value["m_string"].dereference()
|
||||
data, size, alloc = d.stringData(s)
|
||||
data += 2 * int(value["m_position"])
|
||||
@@ -2374,9 +2378,10 @@ def qform__std__string():
|
||||
return "Inline,In Separate Window"
|
||||
|
||||
def qdump__std__string(d, value):
|
||||
qdump__std__stringHelper1(d, value, 1)
|
||||
|
||||
def qdump__std__stringHelper1(d, value, charSize):
|
||||
data = value["_M_dataplus"]["_M_p"]
|
||||
baseType = value.type.strip_typedefs()
|
||||
charSize = d.templateArgument(baseType, 0).sizeof
|
||||
# We can't lookup the std::string::_Rep type without crashing LLDB,
|
||||
# so hard-code assumption on member position
|
||||
# struct { size_type _M_length, size_type _M_capacity, int _M_refcount; }
|
||||
@@ -2409,9 +2414,7 @@ def qdump_stringHelper(d, data, size, charSize):
|
||||
d.putDisplay(StopDisplay)
|
||||
elif format == 2:
|
||||
d.putField("editformat", displayType)
|
||||
if n != size:
|
||||
mem = d.readRawMemory(p, size)
|
||||
d.putField("editvalue", mem)
|
||||
d.putField("editvalue", d.readRawMemory(data, size))
|
||||
|
||||
|
||||
def qdump__std____1__string(d, value):
|
||||
@@ -2586,13 +2589,15 @@ def qdump__string(d, value):
|
||||
qdump__std__string(d, value)
|
||||
|
||||
def qdump__std__wstring(d, value):
|
||||
qdump__std__string(d, value)
|
||||
charSize = d.lookupType('wchar_t').sizeof
|
||||
qdump__std__stringHelper1(d, value, charSize)
|
||||
|
||||
def qdump__std__basic_string(d, value):
|
||||
qdump__std__string(d, value)
|
||||
innerType = d.templateArgument(value.type, 0)
|
||||
qdump__std__stringHelper1(d, value, innerType.sizeof)
|
||||
|
||||
def qdump__wstring(d, value):
|
||||
qdump__std__string(d, value)
|
||||
qdump__std__wstring(d, value)
|
||||
|
||||
|
||||
def qdump____gnu_cxx__hash_set(d, value):
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
20
src/libs/3rdparty/cplusplus/Templates.cpp
vendored
20
src/libs/3rdparty/cplusplus/Templates.cpp
vendored
@@ -39,12 +39,18 @@ CloneType::CloneType(Clone *clone)
|
||||
|
||||
FullySpecifiedType CloneType::cloneType(const FullySpecifiedType &type, Subst *subst)
|
||||
{
|
||||
TypeSubstPair typeSubstPair = std::make_pair(type, subst);
|
||||
if (_cache.find(typeSubstPair) != _cache.end())
|
||||
return _cache[typeSubstPair];
|
||||
|
||||
std::swap(_subst, subst);
|
||||
FullySpecifiedType ty(type);
|
||||
std::swap(_type, ty);
|
||||
accept(_type.type());
|
||||
std::swap(_type, ty);
|
||||
std::swap(_subst, subst);
|
||||
|
||||
_cache[typeSubstPair] = ty;
|
||||
return ty;
|
||||
}
|
||||
|
||||
@@ -179,13 +185,22 @@ Symbol *CloneSymbol::cloneSymbol(Symbol *symbol, Subst *subst)
|
||||
if (! symbol)
|
||||
return 0;
|
||||
|
||||
SymbolSubstPair symbolSubstPair = std::make_pair(symbol, subst);
|
||||
if (_cache.find(symbolSubstPair) != _cache.end()) {
|
||||
Symbol *cachedSymbol = _cache[symbolSubstPair];
|
||||
if (cachedSymbol->scope() == symbol->scope())
|
||||
return cachedSymbol;
|
||||
}
|
||||
|
||||
Symbol *r = 0;
|
||||
std::swap(_subst, subst);
|
||||
std::swap(_symbol, r);
|
||||
accept(symbol);
|
||||
std::swap(_symbol, r);
|
||||
std::swap(_subst, subst);
|
||||
|
||||
CPP_CHECK(r != 0);
|
||||
_cache[symbolSubstPair] = r;
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -394,6 +409,10 @@ const Name *CloneName::cloneName(const Name *name, Subst *subst)
|
||||
if (! name)
|
||||
return 0;
|
||||
|
||||
NameSubstPair nameSubstPair = std::make_pair(name, subst);
|
||||
if (_cache.find(nameSubstPair) != _cache.end())
|
||||
return _cache[nameSubstPair];
|
||||
|
||||
const Name *r = 0;
|
||||
std::swap(_subst, subst);
|
||||
std::swap(_name, r);
|
||||
@@ -401,6 +420,7 @@ const Name *CloneName::cloneName(const Name *name, Subst *subst)
|
||||
std::swap(_name, r);
|
||||
std::swap(_subst, subst);
|
||||
CPP_CHECK(r != 0);
|
||||
_cache[nameSubstPair] = r;
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
11
src/libs/3rdparty/cplusplus/Templates.h
vendored
11
src/libs/3rdparty/cplusplus/Templates.h
vendored
@@ -27,7 +27,9 @@
|
||||
#include "Name.h"
|
||||
#include "NameVisitor.h"
|
||||
#include "SymbolVisitor.h"
|
||||
|
||||
#include <map>
|
||||
#include <utility>
|
||||
|
||||
namespace CPlusPlus {
|
||||
|
||||
@@ -93,6 +95,9 @@ protected:
|
||||
virtual void visit(ObjCForwardProtocolDeclaration *type);
|
||||
|
||||
protected:
|
||||
typedef std::pair <const FullySpecifiedType, Subst *> TypeSubstPair;
|
||||
std::map<TypeSubstPair, FullySpecifiedType> _cache;
|
||||
|
||||
Clone *_clone;
|
||||
Control *_control;
|
||||
Subst *_subst;
|
||||
@@ -118,6 +123,9 @@ protected:
|
||||
virtual void visit(const SelectorNameId *name);
|
||||
|
||||
protected:
|
||||
typedef std::pair <const Name *, Subst *> NameSubstPair;
|
||||
std::map<NameSubstPair, const Name *> _cache;
|
||||
|
||||
Clone *_clone;
|
||||
Control *_control;
|
||||
Subst *_subst;
|
||||
@@ -163,6 +171,9 @@ protected:
|
||||
virtual bool visit(ObjCPropertyDeclaration *symbol);
|
||||
|
||||
protected:
|
||||
typedef std::pair <Symbol *, Subst *> SymbolSubstPair;
|
||||
std::map<SymbolSubstPair, Symbol *> _cache;
|
||||
|
||||
Clone *_clone;
|
||||
Control *_control;
|
||||
Subst *_subst;
|
||||
|
||||
@@ -1232,7 +1232,8 @@ void ClassOrNamespace::NestedClassInstantiator::instantiate(ClassOrNamespace *en
|
||||
|
||||
foreach (Symbol *s, nestedClassOrNamespace->_symbols) {
|
||||
Symbol *clone = _cloner.symbol(s, &_subst);
|
||||
clone->setScope(s->scope());
|
||||
if (!clone->enclosingScope()) // Not from the cache but just cloned.
|
||||
clone->setScope(s->enclosingScope());
|
||||
nestedClassOrNamespaceInstantiation->_symbols.append(clone);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,7 +67,12 @@ private:
|
||||
class QmlJS::SharedValueOwner : public ValueOwner
|
||||
{
|
||||
public:
|
||||
SharedValueOwner();
|
||||
enum SharedValueOwnerKind{
|
||||
Qt4Kind = 1,
|
||||
Qt5Kind = 2
|
||||
};
|
||||
|
||||
SharedValueOwner(SharedValueOwnerKind kind = Qt5Kind);
|
||||
|
||||
ObjectValue *_objectPrototype;
|
||||
ObjectValue *_functionPrototype;
|
||||
@@ -109,9 +114,18 @@ public:
|
||||
ColorValue _colorValue;
|
||||
AnchorLineValue _anchorLineValue;
|
||||
};
|
||||
Q_GLOBAL_STATIC(SharedValueOwner, sharedValueOwner)
|
||||
|
||||
SharedValueOwner::SharedValueOwner()
|
||||
SharedValueOwner *ValueOwner::sharedValueOwner(QString kind)
|
||||
{
|
||||
static SharedValueOwner qt5owner(SharedValueOwner::Qt5Kind);
|
||||
static SharedValueOwner qt4owner(SharedValueOwner::Qt4Kind);
|
||||
if (kind == QLatin1String("Qt4Kind"))
|
||||
return &qt4owner;
|
||||
else
|
||||
return &qt5owner;
|
||||
}
|
||||
|
||||
SharedValueOwner::SharedValueOwner(SharedValueOwnerKind kind)
|
||||
: ValueOwner(this) // need to avoid recursing in ValueOwner ctor
|
||||
{
|
||||
_objectPrototype = newObject(/*prototype = */ 0);
|
||||
@@ -526,8 +540,21 @@ SharedValueOwner::SharedValueOwner()
|
||||
|
||||
// firebug/webkit compat
|
||||
ObjectValue *consoleObject = newObject(/*prototype */ 0);
|
||||
addFunction(consoleObject, QLatin1String("log"), 1);
|
||||
addFunction(consoleObject, QLatin1String("debug"), 1);
|
||||
addFunction(consoleObject, QLatin1String("log"), 1, 0, true);
|
||||
addFunction(consoleObject, QLatin1String("debug"), 1, 0, true);
|
||||
if (kind == Qt5Kind) {
|
||||
addFunction(consoleObject, QLatin1String("info"), 1, 0, true);
|
||||
addFunction(consoleObject, QLatin1String("warn"), 1, 0, true);
|
||||
addFunction(consoleObject, QLatin1String("error"), 1, 0, true);
|
||||
addFunction(consoleObject, QLatin1String("assert"), 1, 0, true);
|
||||
addFunction(consoleObject, QLatin1String("count"), 0, 1);
|
||||
addFunction(consoleObject, QLatin1String("profile"), 0);
|
||||
addFunction(consoleObject, QLatin1String("profileEnd"), 0);
|
||||
addFunction(consoleObject, QLatin1String("time"), 1);
|
||||
addFunction(consoleObject, QLatin1String("timeEnd"), 1);
|
||||
addFunction(consoleObject, QLatin1String("trace"), 0);
|
||||
addFunction(consoleObject, QLatin1String("exception"), 1, 0, true);
|
||||
}
|
||||
_globalObject->setMember(QLatin1String("console"), consoleObject);
|
||||
|
||||
// translation functions
|
||||
|
||||
@@ -66,6 +66,7 @@ class QMLJS_EXPORT ValueOwner
|
||||
Q_DISABLE_COPY(ValueOwner)
|
||||
|
||||
public:
|
||||
static SharedValueOwner *sharedValueOwner(QString kind = QString());
|
||||
ValueOwner(const SharedValueOwner *shared = 0);
|
||||
~ValueOwner();
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import qbs.base 1.0
|
||||
import qbs.fileinfo as FileInfo
|
||||
import qbs.FileInfo
|
||||
import "../../qbs/defaults.js" as Defaults
|
||||
|
||||
Product {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import qbs.base 1.0
|
||||
import qbs.fileinfo as FileInfo
|
||||
import qbs.FileInfo
|
||||
|
||||
import "../QtcPlugin.qbs" as QtcPlugin
|
||||
import "../../../qbs/defaults.js" as Defaults
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import qbs.base 1.0
|
||||
import qbs.fileinfo as FileInfo
|
||||
import qbs.FileInfo
|
||||
|
||||
import "../QtcPlugin.qbs" as QtcPlugin
|
||||
import "../../../qbs/defaults.js" as Defaults
|
||||
|
||||
@@ -7,7 +7,7 @@ include(cpp/cpp.pri)
|
||||
INCLUDEPATH += ../../tools/utils
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4) {
|
||||
QT += printsupport designer designercomponents
|
||||
QT += printsupport designer designercomponents-private
|
||||
} else {
|
||||
# -- figure out shared dir location
|
||||
!exists($$[QT_INSTALL_HEADERS]/QtDesigner/private/qdesigner_integration_p.h) {
|
||||
|
||||
@@ -522,22 +522,7 @@ void BranchModel::checkoutBranch(const QModelIndex &idx)
|
||||
|
||||
// No StashGuard since this function for now is only used with clean working dir.
|
||||
// If it is ever used from another place, please add StashGuard here
|
||||
QString errorMessage;
|
||||
if (m_client->synchronousCheckout(m_workingDirectory, branch, &errorMessage)) {
|
||||
if (errorMessage.isEmpty()) {
|
||||
QModelIndex currentIdx = currentBranch();
|
||||
if (currentIdx.isValid()) {
|
||||
m_currentBranch = 0;
|
||||
emit dataChanged(currentIdx, currentIdx);
|
||||
}
|
||||
m_currentBranch = indexToNode(idx);
|
||||
emit dataChanged(idx, idx);
|
||||
} else {
|
||||
refresh(m_workingDirectory, &errorMessage); // not sure all went well... better refresh!
|
||||
}
|
||||
}
|
||||
if (!errorMessage.isEmpty())
|
||||
VcsBase::VcsBaseOutputWindow::instance()->appendError(errorMessage);
|
||||
m_client->synchronousCheckout(m_workingDirectory, branch);
|
||||
}
|
||||
|
||||
bool BranchModel::branchIsMerged(const QModelIndex &idx)
|
||||
|
||||
@@ -1276,7 +1276,8 @@ bool GitClient::synchronousCheckout(const QString &workingDirectory,
|
||||
QByteArray errorText;
|
||||
QStringList arguments;
|
||||
arguments << QLatin1String("checkout") << ref;
|
||||
const bool rc = fullySynchronousGit(workingDirectory, arguments, &outputText, &errorText);
|
||||
const bool rc = fullySynchronousGit(workingDirectory, arguments, &outputText, &errorText,
|
||||
VcsBasePlugin::ExpectRepoChanges);
|
||||
const QString output = commandOutputFromLocal8Bit(outputText);
|
||||
outputWindow()->append(output);
|
||||
if (!rc) {
|
||||
|
||||
@@ -446,12 +446,11 @@ void DeviceKitInformation::kitsWereLoaded()
|
||||
foreach (Kit *k, KitManager::instance()->kits())
|
||||
fix(k);
|
||||
|
||||
connect(DeviceManager::instance(), SIGNAL(deviceAdded(Core::Id)),
|
||||
this, SLOT(deviceAdded(Core::Id)));
|
||||
connect(DeviceManager::instance(), SIGNAL(deviceRemoved(Core::Id)),
|
||||
this, SLOT(deviceRemoved(Core::Id)));
|
||||
connect(DeviceManager::instance(), SIGNAL(deviceUpdated(Core::Id)),
|
||||
this, SLOT(deviceUpdated(Core::Id)));
|
||||
DeviceManager *dm = DeviceManager::instance();
|
||||
connect(dm, SIGNAL(deviceListChanged()), this, SLOT(devicesChanged()));
|
||||
connect(dm, SIGNAL(deviceAdded(Core::Id)), this, SLOT(devicesChanged()));
|
||||
connect(dm, SIGNAL(deviceRemoved(Core::Id)), this, SLOT(devicesChanged()));
|
||||
connect(dm, SIGNAL(deviceUpdated(Core::Id)), this, SLOT(deviceUpdated(Core::Id)));
|
||||
|
||||
connect(KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)),
|
||||
this, SLOT(kitUpdated(ProjectExplorer::Kit*)));
|
||||
@@ -472,19 +471,9 @@ void DeviceKitInformation::kitUpdated(Kit *k)
|
||||
setup(k); // Set default device if necessary
|
||||
}
|
||||
|
||||
void DeviceKitInformation::deviceAdded(const Core::Id &id)
|
||||
void DeviceKitInformation::devicesChanged()
|
||||
{
|
||||
Q_UNUSED(id);
|
||||
DeviceMatcher m;
|
||||
foreach (Kit *k, KitManager::instance()->kits(&m)) {
|
||||
setup(k); // Set default device if necessary
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceKitInformation::deviceRemoved(const Core::Id &id)
|
||||
{
|
||||
DeviceMatcher m(id);
|
||||
foreach (Kit *k, KitManager::instance()->kits(&m))
|
||||
foreach (Kit *k, KitManager::instance()->kits())
|
||||
setup(k); // Set default device if necessary
|
||||
}
|
||||
|
||||
|
||||
@@ -215,9 +215,8 @@ public:
|
||||
|
||||
private slots:
|
||||
void kitsWereLoaded();
|
||||
void deviceAdded(const Core::Id &id);
|
||||
void deviceRemoved(const Core::Id &id);
|
||||
void deviceUpdated(const Core::Id &id);
|
||||
void devicesChanged();
|
||||
void kitUpdated(ProjectExplorer::Kit *k);
|
||||
};
|
||||
|
||||
|
||||
@@ -380,13 +380,21 @@ const QList<Project *> &SessionManager::projects() const
|
||||
QStringList SessionManager::dependencies(const QString &proName) const
|
||||
{
|
||||
QStringList result;
|
||||
foreach (const QString &dep, m_depMap.value(proName))
|
||||
result += dependencies(dep);
|
||||
|
||||
result << proName;
|
||||
dependencies(proName, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
void SessionManager::dependencies(const QString &proName, QStringList &result) const
|
||||
{
|
||||
QStringList depends = m_depMap.value(proName);
|
||||
|
||||
foreach (const QString &dep, depends)
|
||||
dependencies(dep, result);
|
||||
|
||||
if (!result.contains(proName))
|
||||
result.append(proName);
|
||||
}
|
||||
|
||||
QStringList SessionManager::dependenciesOrder() const
|
||||
{
|
||||
QList<QPair<QString, QStringList> > unordered;
|
||||
|
||||
@@ -160,6 +160,7 @@ private:
|
||||
bool recursiveDependencyCheck(const QString &newDep, const QString &checkDep) const;
|
||||
QStringList dependencies(const QString &proName) const;
|
||||
QStringList dependenciesOrder() const;
|
||||
void dependencies(const QString &proName, QStringList &result) const;
|
||||
|
||||
SessionNode *m_sessionNode;
|
||||
QString m_sessionName;
|
||||
|
||||
@@ -229,7 +229,7 @@ void QbsInstallStep::setInstallRoot(const QString &ir)
|
||||
{
|
||||
if (m_qbsInstallOptions.installRoot() == ir)
|
||||
return;
|
||||
m_qbsInstallOptions.installRoot() = ir;
|
||||
m_qbsInstallOptions.setInstallRoot(ir);
|
||||
emit changed();
|
||||
}
|
||||
|
||||
|
||||
@@ -620,7 +620,10 @@ void QbsProjectNode::update(const qbs::ProjectData &prjData)
|
||||
}
|
||||
}
|
||||
|
||||
if (!prjData.name().isEmpty())
|
||||
setDisplayName(prjData.name());
|
||||
else
|
||||
setDisplayName(m_project->displayName());
|
||||
|
||||
removeProjectNodes(toRemove);
|
||||
addProjectNodes(toAdd);
|
||||
|
||||
@@ -392,6 +392,10 @@ void QbsProject::parse(const QVariantMap &config, const Utils::Environment &env,
|
||||
{
|
||||
QTC_ASSERT(!dir.isNull(), return);
|
||||
|
||||
// Clear buildsystem related tasks:
|
||||
ProjectExplorer::ProjectExplorerPlugin::instance()->taskHub()
|
||||
->clearTasks(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM);
|
||||
|
||||
qbs::SetupProjectParameters params;
|
||||
params.setBuildConfiguration(config);
|
||||
qbs::ErrorInfo err = params.expandBuildConfiguration(m_manager->settings());
|
||||
|
||||
@@ -168,6 +168,7 @@ void MemcheckRunner::logSocketConnected()
|
||||
|
||||
void MemcheckRunner::readLogSocket()
|
||||
{
|
||||
QTC_ASSERT(d->logSocket, return);
|
||||
emit logMessageReceived(d->logSocket->readAll());
|
||||
}
|
||||
|
||||
|
||||
Submodule src/shared/qbs updated: 6e432eef92...4051b5f9c8
@@ -914,7 +914,9 @@ void tst_Dumpers::dumper()
|
||||
contents.replace("\\\"", "\"");
|
||||
} else if (m_debuggerEngine == DumpTestLldbEngine) {
|
||||
//qDebug() << "GOT OUTPUT: " << output;
|
||||
QVERIFY(output.startsWith("data="));
|
||||
int pos = output.indexOf("data=[{");
|
||||
QVERIFY(pos != -1);
|
||||
output = output.mid(pos);
|
||||
contents = output;
|
||||
|
||||
//int posNameSpaceStart = output.indexOf("@NS@");
|
||||
@@ -3113,9 +3115,12 @@ void tst_Dumpers::dumper_data()
|
||||
QTest::newRow("QStringRef1")
|
||||
<< Data("#include <QStringRef>\n",
|
||||
"QString str = \"Hello\";\n"
|
||||
"QStringRef ref(&str, 1, 2);")
|
||||
"QStringRef ref1(&str, 1, 2);\n"
|
||||
"QStringRef ref2;\n"
|
||||
"unused(&ref1, &ref2);\n")
|
||||
% CoreProfile()
|
||||
% Check("ref", "\"el\"", "@QStringRef");
|
||||
% Check("ref1", "\"el\"", "@QStringRef")
|
||||
% Check("ref2", "(null)", "@QStringRef");
|
||||
|
||||
QTest::newRow("QStringList")
|
||||
<< Data("#include <QStringList>\n",
|
||||
|
||||
Reference in New Issue
Block a user