[umbrello-devel] [umbrello] [Bug 336810] Incorrect namespace assignment of base class with c++ import

Ralf Habacker ralf.habacker at freenet.de
Sat Jun 28 09:50:54 UTC 2014


https://bugs.kde.org/show_bug.cgi?id=336810

Ralf Habacker <ralf.habacker at freenet.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---
     Ever confirmed|0                           |1

--- Comment #4 from Ralf Habacker <ralf.habacker at freenet.de> ---
(In reply to comment #3)
> Git commit 0160b7d8f8f76f3c2da00012314f0e4454c7105e by Oliver Kellogg.
> Committed on 28/06/2014 at 08:23.
> Pushed by okellogg into branch 'master'.
> 
> umbrello/codeimport/kdevcppparser/cpptree2uml.cpp
> - In function parseBaseClause() first call Import_Utils::createUMLObject()
>   for creating the parent object coresponding to baseName, and then call
>     Import_Utils::createGeneralization(UMLClassifier*, UMLClassifier*)
>   with the parent object obtained.
This fixes the mentioned case, thanks. Unfortunally the fix seems not to be
complete because with the following testcase class GlobalA is shown in Logical
View but assigned to namespace NameSpace which is wrong.

class GlobalA {
public:  
  GlobalA();
};

namespace NameSpace {

class NameSpacedC : public GlobalA
{
public:
  NameSpacedC();
};
}

The following testcase fails too
/// class Global::A
class A { public:  A(); };

namespace N1 {

  /// class N1::A
class A { public:  A(); };
}

namespace N2 {

/// class N2::A
class A { public:  A(); };

/// class N2::B
class B : public A { public: B(); };

/// class N2::C
class C : public ::A { public; C(); };

/// class N2::D
class C : public N1::A { public; C(); };
}

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the umbrello-devel mailing list