[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bindings
Subject:    [Kde-bindings] smokegen mistaking classes as forwarded
From:       Dimitar Dobrev <dpldobrev () yahoo ! com>
Date:       2013-04-29 19:07:19
Message-ID: 1367262439.89683.YahooMailNeo () web122405 ! mail ! ne1 ! yahoo ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]




    Hello,

    We have the following situation with Qt 5 that smokegen cannot handle: \
QMetaObject::Connection, declared in qobjectsdef.h, is not wrapped. These lines at \
SmokeDataFile::SmokeDataFile() in writeSmokeDataFile:  

    if (!Options::classList.contains(iter.key()) || iter.value().isForwardDecl())
        externalClasses << &iter.value();

    marks this class as external. This makes it impossible to wrap Qt 5 because this class is \
the return type of the QObject::connect function in Qt 5. Removing the \
"iter.value().isForwardDecl()" part wraps the class (which makes wrapping possible) but fails \
to wrap any of its members so it's half a solution. Removing the other usages of  \
"isForwardDecl()" would wrap the members as well but this generates a whole lot of errors \
because of classes that are really external. I haven't delved any deeper yet but does anyone \
have a clue?

    Regards,
    Dimitar Dobrev


[Attachment #5 (text/html)]

<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new \
york, times, serif;font-size:12pt"><div><br></div><div style="color: rgb(0, 0, 0); font-size: \
16px; font-family: times new roman,new york,times,serif; background-color: transparent; \
font-style: normal;"><span class="tab">&nbsp;&nbsp;&nbsp; Hello,</span></div><div style="color: \
rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; \
background-color: transparent; font-style: normal;"><br><span class="tab"></span></div><div \
class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: \
times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span \
class="tab">&nbsp;&nbsp;&nbsp; We have the following situation with Qt 5 that smokegen cannot \
handle: QMetaObject::Connection, declared </span><span class="tab"></span><span class="tab">in \
<a  href="http://qt.gitorious.org/qt/qtbase/blobs/stable/src/corelib/kernel/qobjectdefs.h">qobjectsdef.h</a>, \
is not wrapped. These lines at SmokeDataFile::SmokeDataFile() in \
writeSmokeDataFile:</span></div><div class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, \
0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: \
transparent; font-style: normal;"><span class="tab">&nbsp;&nbsp;&nbsp; <br></span></div><div \
class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: \
times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span \
class="tab">&nbsp;&nbsp;&nbsp; if (!Options::classList.contains(iter.key()) || \
iter.value().isForwardDecl())</span></div><div class="yui_3_7_2_17_1367261500790_38" \
style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; \
background-color: transparent; font-style: normal;"><span  class="tab">&nbsp;&nbsp;&nbsp; \
</span><span class="tab">&nbsp;&nbsp;&nbsp; externalClasses &lt;&lt; \
&amp;iter.value();</span><span class="tab"></span></div><div \
class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: \
times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span \
class="tab"></span><span class="tab"><br></span></div><div \
class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: \
times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span \
class="tab">&nbsp;&nbsp;&nbsp; marks this cla</span>ss as external. This makes it impossible to \
wrap Qt 5 because this class is the return type of the QObject::connect function in Qt 5. \
Removing the <span class="tab">"iter.value().isForwardDecl()</span>" part wraps the class \
(which makes wrapping possible) but fails to wrap any of its members so it's half a  solution. \
Removing the other usages of&nbsp; "<span class="tab">isForwardDecl()</span>" would wrap the \
members as well but this generates a whole lot of errors because of classes that are really \
external. I haven't delved any deeper yet but does anyone have a clue?</div><div \
class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: \
times new roman,new york,times,serif; background-color: transparent; font-style: \
normal;"><br></div><div class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); \
font-size: 16px; font-family: times new roman,new york,times,serif; background-color: \
transparent; font-style: normal;"><span class="tab">&nbsp;&nbsp;&nbsp; \
Regards,</span></div><div class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); \
font-size: 16px; font-family: times new roman,new york,times,serif; background-color: \
transparent; font-style: normal;"><span class="tab">&nbsp;&nbsp;&nbsp; Dimitar  \
Dobrev</span><br><span class="tab"></span></div></div></body></html>



_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic