Skip to content

Commit da90c1e

Browse files
committed
Python binding is compilable with new script bind engine, but didn't pass all test cases yet.
1 parent 024a992 commit da90c1e

File tree

10 files changed

+195
-138
lines changed

10 files changed

+195
-138
lines changed

benchmark/benchmarkmain.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ void doBenchmarkLuaBind();
44

55
int main()
66
{
7-
// printf("Press any key..."); getchar();
7+
// printf("Press any key to start..."); getchar();
88

99
doBenchmarkLuaBind();
1010

src/scriptbind/gbindcontext.cpp

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -139,28 +139,15 @@ GObjectGlueDataPointer GBindingContext::newObjectGlueData(
139139
const bool allowGC,
140140
const GScriptInstanceCv cv
141141
)
142-
{
143-
return GObjectGlueDataPointer(new GObjectGlueData(this->shareFromThis(), classData, instance, allowGC, cv));
144-
}
145-
146-
GObjectGlueDataPointer GBindingContext::newOrReuseObjectGlueData(
147-
const GClassGlueDataPointer & classData,
148-
const GVariant & instance,
149-
const bool allowGC,
150-
const GScriptInstanceCv cv
151-
)
152142
{
153143
GObjectInstancePointer objectInstance(this->classPool->findObjectData(instance));
154144

155-
GObjectGlueDataPointer data;
156145
if(objectInstance) {
157-
data.reset(new GObjectGlueData(this->shareFromThis(), classData, objectInstance, allowGC, cv));
146+
return GObjectGlueDataPointer(new GObjectGlueData(this->shareFromThis(), classData, objectInstance, cv));
158147
}
159148
else {
160-
data.reset(new GObjectGlueData(this->shareFromThis(), classData, instance, allowGC, cv));
149+
return GObjectGlueDataPointer(new GObjectGlueData(this->shareFromThis(), classData, instance, allowGC, cv));
161150
}
162-
163-
return data;
164151
}
165152

166153
GMethodGlueDataPointer GBindingContext::newMethodGlueData(const GScriptValue & scriptValue)

src/scriptbind/gbindcontext.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,6 @@ class GBindingContext : public GShareFromThis<GBindingContext>
7676
const bool allowGC,
7777
const GScriptInstanceCv cv
7878
);
79-
GObjectGlueDataPointer newOrReuseObjectGlueData(
80-
const GClassGlueDataPointer & classData,
81-
const GVariant & instance,
82-
const bool allowGC,
83-
const GScriptInstanceCv cv
84-
);
8579

8680
GMethodGlueDataPointer newMethodGlueData(const GScriptValue & scriptValue);
8781

src/scriptbind/gbindconverttoscript.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ typename Methods::ResultType namedMemberToScript(const GGlueDataPointer & glueDa
328328

329329
GObjectGlueDataPointer castedObjectData;
330330
if(instance != nullptr && objectData) {
331-
castedObjectData = context->newOrReuseObjectGlueData(context->getClassData(metaClass.get()), instance, false, objectData->getCV());
331+
castedObjectData = context->newObjectGlueData(context->getClassData(metaClass.get()), instance, false, objectData->getCV());
332332
}
333333

334334
return Methods::doScriptValueToScript(

src/scriptbind/gbindgluedata.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,6 @@ GObjectGlueData::GObjectGlueData(
210210
const GContextPointer & context,
211211
const GClassGlueDataPointer & classGlueData,
212212
const GObjectInstancePointer & objectInstance,
213-
const bool allowGC,
214213
const GScriptInstanceCv cv
215214
)
216215
:

src/scriptbind/gbindgluedata.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,6 @@ class GObjectGlueData : public GGlueData, public GShareFromThis<GObjectGlueData>
244244
const GContextPointer & context,
245245
const GClassGlueDataPointer & classGlueData,
246246
const GObjectInstancePointer & objectInstance,
247-
const bool allowGC,
248247
const GScriptInstanceCv cv
249248
);
250249

src/scriptbind/gluabind.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,11 @@ void helperBindAllOperators(const GContextPointer & context, const GObjectGlueDa
237237
IMetaClass * metaClass, bool bindingToObject);
238238
void helperBindClass(const GContextPointer & context, IMetaClass * metaClass);
239239
void helperBindEnum(const GContextPointer & context, IMetaEnum * metaEnum);
240-
void helperBindMethodList(const GContextPointer & context, const GObjectGlueDataPointer & objectData, const GMethodGlueDataPointer & methodData);
240+
void helperBindMethodList(
241+
const GContextPointer & context,
242+
const GObjectGlueDataPointer & objectData,
243+
const GMethodGlueDataPointer & methodData
244+
);
241245

242246
typedef GCallback<GLuaGlobalAccessor * ()> GlobalAccessorGetter;
243247
bool doValueToScript(const GContextPointer & context, GLuaScriptObject * scriptObject, const GScriptValue & value, const ScriptValueToScriptData & data, const char * name = nullptr);
@@ -344,7 +348,7 @@ void objectToLua(
344348
}
345349

346350
void * userData = lua_newuserdata(L, getGlueDataWrapperSize<GObjectGlueData>());
347-
GObjectGlueDataPointer objectData(context->newOrReuseObjectGlueData(classData, instance, allowGC, cv));
351+
GObjectGlueDataPointer objectData(context->newObjectGlueData(classData, instance, allowGC, cv));
348352
newGlueDataWrapper(userData, objectData);
349353

350354
if(outputGlueData != nullptr) {
@@ -855,7 +859,11 @@ void helperBindClass(const GContextPointer & context, IMetaClass * metaClass)
855859
lua_setmetatable(L, -2);
856860
}
857861

858-
void helperBindMethodList(const GContextPointer & context, const GObjectGlueDataPointer & objectData, const GMethodGlueDataPointer & methodData)
862+
void helperBindMethodList(
863+
const GContextPointer & context,
864+
const GObjectGlueDataPointer & objectData,
865+
const GMethodGlueDataPointer & methodData
866+
)
859867
{
860868
lua_State * L = getLuaState(context);
861869

@@ -908,13 +916,13 @@ bool doValueToScript(
908916
}
909917

910918
case GScriptValue::typeMethod: {
911-
GMethodGlueDataPointer methodData = context->newMethodGlueData(value);
919+
const GMethodGlueDataPointer methodData = context->newMethodGlueData(value);
912920
helperBindMethodList(context, data.objectData, methodData);
913921
break;
914922
}
915923

916924
case GScriptValue::typeOverloadedMethods: {
917-
GMethodGlueDataPointer methodData = context->newMethodGlueData(value);
925+
const GMethodGlueDataPointer methodData = context->newMethodGlueData(value);
918926
helperBindMethodList(context, data.objectData, methodData);
919927
break;
920928
}

0 commit comments

Comments
 (0)