azaka / gamekit

Automatically exported from code.google.com/p/gamekit
0 stars 1 forks source link

SWIG 3.0.2 is complaining about the lua interface generation. #333

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. change the SWIG version to the newest version such as 3.0.2
2. activate the CMAKE option to generate the lua interfaces
3. make

What is the expected output? What do you see instead?

[ 81%] C:/MinGW/msys/1.0/local/bin/swig.exe OgreKitLua.cpp -Lua OgreKit.i
C:\gamekit-experiment\Engine\Script\Api\gsBricks.h(551) : Warning 325: Nested 
class not currently supported (EventListener ignor
ed)
Scanning dependencies of target OgreKitCore
[ 81%] Building CXX object 
Engine/CMakeFiles/OgreKitCore.dir/Script/Api/gsBricks.cpp.obj
[ 81%] Building CXX object 
Engine/CMakeFiles/OgreKitCore.dir/Script/Api/Generated/OgreKitLua.cpp.obj
Linking CXX static library ..\Bin\lib\libOgreKitCore.a

What version of the product are you using? On what operating system?

the latest version.

Please provide any additional information below.

inside GsBrick.h file, the nested class definition form the EventListener, SWIG 
complain about it.

class gsBrick
{
protected:
    bool m_isLocal;

    template<typename T>
    T* create(gsLogicObject* parent, const gkString& name)
    {
        T* ret = 0;
        if (parent)
        {
            gkString cpy = name;
            if (cpy.empty())
                cpy = parent->getUniqueName();

            gkLogicLink* lnk = parent->get();
            if (lnk && !parent->hasBrick(lnk, cpy))
            {
                gkGameObject* ob = lnk->getObject();
                ret = new T(ob, lnk, cpy);
                ret->setMask(1);
                ret->setDebugMask(lnk->getDebug());
                lnk->push(ret, this);
            }
        }
        return ret;
    }

    class EventListener : public gkLogicBrick::Listener
    {
    private:
        gkLuaEvent* m_evt;
        gkLogicBrick* m_parent;

    public:
        EventListener(gsListenerMode mode, gkLogicBrick* par, gsSelf self, gsFunction func);
        virtual ~EventListener();

        virtual bool executeEvent(gkLogicBrick* brick);
    };

    EventListener* m_listener;

Original issue reported on code.google.com by seongnam...@gmail.com on 4 Nov 2014 at 9:32