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

List:       kde-bindings
Subject:    [Kde-bindings] KDE/kdebindings/generator/generators/smoke
From:       Arno Rehn <kde () arnorehn ! de>
Date:       2010-05-25 12:58:35
Message-ID: 20100525125835.27334AC8C0 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1130463 by arnorehn:

Store 'long long' types in Smoke::StackItem::s_voidp. This will restore correct 'long \
long' handling in QtRuby and break the already broken 'long' handling in C# even \
more. This should however be fixed with the new C# bindings generated by assemblygen.

CCMAIL: kde-bindings@kde.org

 M  +2 -2      generator_smoke.cpp  
 M  +2 -2      helpers.cpp  


--- trunk/KDE/kdebindings/generator/generators/smoke/generator_smoke.cpp \
#1130462:1130463 @@ -212,9 +212,9 @@
     
     Options::qtMode = ParserOptions::qtMode;
     
+    Options::voidpTypes << "long long" << "long long int" << "unsigned long long" << \
"unsigned long long int"; +    
     // Fill the type map. It maps some long integral types to shorter forms as used \
                in SMOKE.
-    Util::typeMap["long long"] = "long";
-    Util::typeMap["long long int"] = "long";
     Util::typeMap["long int"] = "long";
     Util::typeMap["short int"] = "short";
     Util::typeMap["long double"] = "double";
--- trunk/KDE/kdebindings/generator/generators/smoke/helpers.cpp #1130462:1130463
@@ -503,7 +503,7 @@
         return "s_uint";
     }
 
-    if (type->pointerDepth() > 0 || type->isRef() || type->isFunctionPointer() || \
type->isArray() +    if (type->pointerDepth() > 0 || type->isRef() || \
type->isFunctionPointer() || type->isArray() || \
Options::voidpTypes.contains(type->name())  || (!type->isIntegral() && \
!type->getEnum()))  {
         return "s_class";
@@ -538,7 +538,7 @@
         return "(void*)" + var;
     } else if (type->isRef()) {
         return "(void*)&" + var;
-    } else if (type->isIntegral()) {
+    } else if (type->isIntegral() && !Options::voidpTypes.contains(type->name())) {
         return var;
     } else if (type->getEnum()) {
         return var;
_______________________________________________
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