forked from qt-creator/qt-creator
ModelEditor: Introduce QMT_ASSERT
This change shall solve a lot of Coverity findings Change-Id: I1e699f7363426e9b6008fc77d3f498fe3d968b4f Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -150,10 +150,10 @@ void DiagramSceneController::deleteFromDiagram(const DSelection &dselection, MDi
|
||||
DSelection remainingDselection;
|
||||
foreach (const DSelection::Index &index, dselection.indices()) {
|
||||
DElement *delement = m_diagramController->findElement(index.elementKey(), diagram);
|
||||
QMT_CHECK(delement);
|
||||
QMT_ASSERT(delement, return);
|
||||
if (delement->modelUid().isValid()) {
|
||||
MElement *melement = m_modelController->findElement(delement->modelUid());
|
||||
QMT_CHECK(melement);
|
||||
QMT_ASSERT(melement, return);
|
||||
if (melement->owner())
|
||||
mselection.append(melement->uid(), melement->owner()->uid());
|
||||
} else {
|
||||
@@ -173,9 +173,9 @@ void DiagramSceneController::createDependency(DObject *endAObject, DObject *endB
|
||||
m_diagramController->undoController()->beginMergeSequence(tr("Create Dependency"));
|
||||
|
||||
MObject *endAModelObject = m_modelController->findObject<MObject>(endAObject->modelUid());
|
||||
QMT_CHECK(endAModelObject);
|
||||
QMT_ASSERT(endAModelObject, return);
|
||||
MObject *endBModelObject = m_modelController->findObject<MObject>(endBObject->modelUid());
|
||||
QMT_CHECK(endBModelObject);
|
||||
QMT_ASSERT(endBModelObject, return);
|
||||
|
||||
if (endAModelObject == endBModelObject)
|
||||
return;
|
||||
@@ -200,9 +200,9 @@ void DiagramSceneController::createInheritance(DClass *derivedClass, DClass *bas
|
||||
m_diagramController->undoController()->beginMergeSequence(tr("Create Inheritance"));
|
||||
|
||||
MClass *derivedModelClass = m_modelController->findObject<MClass>(derivedClass->modelUid());
|
||||
QMT_CHECK(derivedModelClass);
|
||||
QMT_ASSERT(derivedModelClass, return);
|
||||
MClass *baseModelClass = m_modelController->findObject<MClass>(baseClass->modelUid());
|
||||
QMT_CHECK(baseModelClass);
|
||||
QMT_ASSERT(baseModelClass, return);
|
||||
|
||||
if (derivedModelClass == baseModelClass)
|
||||
return;
|
||||
@@ -226,9 +226,9 @@ void DiagramSceneController::createAssociation(DClass *endAClass, DClass *endBCl
|
||||
m_diagramController->undoController()->beginMergeSequence(tr("Create Association"));
|
||||
|
||||
MClass *endAModelObject = m_modelController->findObject<MClass>(endAClass->modelUid());
|
||||
QMT_CHECK(endAModelObject);
|
||||
QMT_ASSERT(endAModelObject, return);
|
||||
MClass *endBModelObject = m_modelController->findObject<MClass>(endBClass->modelUid());
|
||||
QMT_CHECK(endBModelObject);
|
||||
QMT_ASSERT(endBModelObject, return);
|
||||
|
||||
// TODO allow self assignment with just one intermediate point and a nice round arrow
|
||||
if (endAModelObject == endBModelObject && intermediatePoints.count() < 2)
|
||||
@@ -263,18 +263,18 @@ bool DiagramSceneController::relocateRelationEndB(DRelation *relation, DObject *
|
||||
bool DiagramSceneController::isAddingAllowed(const Uid &modelElementKey, MDiagram *diagram)
|
||||
{
|
||||
MElement *modelElement = m_modelController->findElement(modelElementKey);
|
||||
QMT_CHECK(modelElement);
|
||||
QMT_ASSERT(modelElement, return false);
|
||||
if (m_diagramController->hasDelegate(modelElement, diagram))
|
||||
return false;
|
||||
if (auto modelRelation = dynamic_cast<MRelation *>(modelElement)) {
|
||||
MObject *endAModelObject = m_modelController->findObject(modelRelation->endAUid());
|
||||
QMT_CHECK(endAModelObject);
|
||||
QMT_ASSERT(endAModelObject, return false);
|
||||
DObject *endADiagramObject = m_diagramController->findDelegate<DObject>(endAModelObject, diagram);
|
||||
if (!endADiagramObject)
|
||||
return false;
|
||||
|
||||
MObject *endBModelObject = m_modelController->findObject(modelRelation->endBUid());
|
||||
QMT_CHECK(endBModelObject);
|
||||
QMT_ASSERT(endBModelObject, return false);
|
||||
DObject *endBDiagramObject = m_diagramController->findDelegate<DObject>(endBModelObject, diagram);
|
||||
if (!endBDiagramObject)
|
||||
return false;
|
||||
@@ -595,7 +595,7 @@ DElement *DiagramSceneController::addModelElement(const Uid &modelElementKey, co
|
||||
|
||||
DObject *DiagramSceneController::addObject(MObject *modelObject, const QPointF &pos, MDiagram *diagram)
|
||||
{
|
||||
QMT_CHECK(modelObject);
|
||||
QMT_ASSERT(modelObject, return nullptr);
|
||||
|
||||
if (m_diagramController->hasDelegate(modelObject, diagram))
|
||||
return 0;
|
||||
@@ -605,7 +605,7 @@ DObject *DiagramSceneController::addObject(MObject *modelObject, const QPointF &
|
||||
DFactory factory;
|
||||
modelObject->accept(&factory);
|
||||
auto diagramObject = dynamic_cast<DObject *>(factory.product());
|
||||
QMT_CHECK(diagramObject);
|
||||
QMT_ASSERT(diagramObject, return nullptr);
|
||||
diagramObject->setPos(pos);
|
||||
m_diagramController->addElement(diagramObject, diagram);
|
||||
alignOnRaster(diagramObject, diagram);
|
||||
@@ -657,7 +657,7 @@ DObject *DiagramSceneController::addObject(MObject *modelObject, const QPointF &
|
||||
DRelation *DiagramSceneController::addRelation(MRelation *modelRelation, const QList<QPointF> &intermediatePoints,
|
||||
MDiagram *diagram)
|
||||
{
|
||||
QMT_CHECK(modelRelation);
|
||||
QMT_ASSERT(modelRelation, return nullptr);
|
||||
|
||||
if (m_diagramController->hasDelegate(modelRelation, diagram))
|
||||
return 0;
|
||||
@@ -665,18 +665,18 @@ DRelation *DiagramSceneController::addRelation(MRelation *modelRelation, const Q
|
||||
DFactory factory;
|
||||
modelRelation->accept(&factory);
|
||||
auto diagramRelation = dynamic_cast<DRelation *>(factory.product());
|
||||
QMT_CHECK(diagramRelation);
|
||||
QMT_ASSERT(diagramRelation, return nullptr);
|
||||
|
||||
MObject *endAModelObject = m_modelController->findObject(modelRelation->endAUid());
|
||||
QMT_CHECK(endAModelObject);
|
||||
QMT_ASSERT(endAModelObject, return nullptr);
|
||||
DObject *endADiagramObject = m_diagramController->findDelegate<DObject>(endAModelObject, diagram);
|
||||
QMT_CHECK(endADiagramObject);
|
||||
QMT_ASSERT(endADiagramObject, return nullptr);
|
||||
diagramRelation->setEndAUid(endADiagramObject->uid());
|
||||
|
||||
MObject *endBModelObject = m_modelController->findObject(modelRelation->endBUid());
|
||||
QMT_CHECK(endBModelObject);
|
||||
QMT_ASSERT(endBModelObject, return nullptr);
|
||||
DObject *endBDiagramObject = m_diagramController->findDelegate<DObject>(endBModelObject, diagram);
|
||||
QMT_CHECK(endBDiagramObject);
|
||||
QMT_ASSERT(endBDiagramObject, return nullptr);
|
||||
diagramRelation->setEndBUid(endBDiagramObject->uid());
|
||||
|
||||
QList<DRelation::IntermediatePoint> relationPoints;
|
||||
@@ -712,17 +712,17 @@ bool DiagramSceneController::relocateRelationEnd(DRelation *relation, DObject *t
|
||||
Uid (MRelation::*endUid)() const,
|
||||
void (MRelation::*setEndUid)(const Uid &))
|
||||
{
|
||||
QMT_CHECK(relation);
|
||||
QMT_ASSERT(relation, return false);
|
||||
if (targetObject && targetObject->uid() != relation->endAUid()) {
|
||||
MRelation *modelRelation = m_modelController->findRelation(relation->modelUid());
|
||||
QMT_CHECK(modelRelation);
|
||||
QMT_ASSERT(modelRelation, return false);
|
||||
MObject *targetMObject = m_modelController->findObject(targetObject->modelUid());
|
||||
QMT_CHECK(targetMObject);
|
||||
QMT_ASSERT(targetMObject, return false);
|
||||
AcceptRelationVisitor visitor(modelRelation);
|
||||
targetMObject->accept(&visitor);
|
||||
if (visitor.isAccepted()) {
|
||||
MObject *currentTargetMObject = m_modelController->findObject((modelRelation->*endUid)());
|
||||
QMT_CHECK(currentTargetMObject);
|
||||
QMT_ASSERT(currentTargetMObject, return false);
|
||||
m_modelController->undoController()->beginMergeSequence(tr("Relocate Relation"));
|
||||
// move relation into new target if it was a child of the old target
|
||||
if (currentTargetMObject == modelRelation->owner())
|
||||
|
||||
Reference in New Issue
Block a user