Bug 392984

Summary: c++ importer does not recognize 'explicit' keyword
Product: [Applications] umbrello Reporter: Ralf Habacker <ralf.habacker>
Component: importerAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 2.24.3 (KDE Applications 17.12.3)   
Target Milestone: ---   
Platform: Other   
OS: Microsoft Windows   
Latest Commit: Version Fixed In: 2.25.1 (KDE Applications 18.04.1)
Sentry Crash Report:

Description Ralf Habacker 2018-04-10 22:36:21 UTC
How to reproduce:

1. start umbrello
2. import the following code into umbrello

class ExplicitConstructorClass {
    explicit ExplicitConstructorClass(QString &param);
};

3. Open properties for imported methods in class 'ExplicitConstructorClass'

What happens ?
There are no information displayed for the 'explicit' keyword

What is required ?
The 'explicit' keyword should be imported and displayed
Comment 1 Ralf Habacker 2018-04-17 18:31:18 UTC
Git commit d54c4979cbffc557e9c8bc3658aba90c509d1f6c by Ralf Habacker.
Committed on 17/04/2018 at 18:31.
Pushed by habacker into branch 'Applications/18.04'.

Fix "c++ importer does not recognize 'explicit' keyword"

It would be better to have a way to add more than one stereotype
to a UMLObject, but that's not yet implemented. Instead, an imported
explicit constructor gets a stereotype "explicit constructor".

A c++ test file has been added with this commit.
FIXED-IN:2.25.0 (KDE Applications 18.04.0)

M  +2    -0    lib/cppparser/parser.cpp
A  +7    -0    test/import/cxx/explicit-constructor.h     [License: UNKNOWN]  *
M  +19   -13   umbrello/codeimport/kdevcppparser/cpptree2uml.cpp

The files marked with a * at the end have a non valid license. Please read: https://community.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.


https://commits.kde.org/umbrello/d54c4979cbffc557e9c8bc3658aba90c509d1f6c
Comment 2 Ralf Habacker 2018-04-20 15:23:01 UTC
Git commit 33d1e40db6b7888c1f08635dbffee32a33ed255c by Ralf Habacker.
Committed on 20/04/2018 at 15:22.
Pushed by habacker into branch 'Applications/18.04'.

Add c++ import support for combinations of 'explicit', 'constexp' keywords in combination with constructors
FIXED-IN:2.25.1 (KDE Applications 18.04.1)

M  +16   -0    test/import/cxx/cxx11-constexpr.h
M  +21   -8    umbrello/codeimport/kdevcppparser/cpptree2uml.cpp

https://commits.kde.org/umbrello/33d1e40db6b7888c1f08635dbffee32a33ed255c