[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"> 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"> 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"> <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"> 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"> \
</span><span class="tab"> externalClasses << \
&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"> 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 "<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"> \
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"> 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