فهرست منبع

AS Autobinings: Remove glue for destructors because template glue function is used

1vanK 4 سال پیش
والد
کامیت
0e05a4cbf7

+ 0 - 7
Source/Tools/BindingGenerator/ASClassBinderNew.cpp

@@ -142,13 +142,6 @@ static void RegisterDestructor(const ClassAnalyzer& classAnalyzer, ProcessedClas
 
 
     result->name_ = "~" + className;
     result->name_ = "~" + className;
 
 
-    // TODO: remove glue
-    result->glue_ =
-        "static void " + wrapperName + "(" + className + "* ptr)\n"
-        "{\n"
-        "    ptr->~" + className + "();\n"
-        "}\n";
-
     result->registration_ = "engine->RegisterObjectBehaviour(\"" + className + "\", asBEHAVE_DESTRUCT, \"void f()\", AS_DESTRUCTOR(" + className + "), AS_CALL_CDECL_OBJFIRST);";
     result->registration_ = "engine->RegisterObjectBehaviour(\"" + className + "\", asBEHAVE_DESTRUCT, \"void f()\", AS_DESTRUCTOR(" + className + "), AS_CALL_CDECL_OBJFIRST);";
 
 
     shared_ptr<ClassFunctionAnalyzer> thisDestructor = classAnalyzer.GetDefinedThisDestructor();
     shared_ptr<ClassFunctionAnalyzer> thisDestructor = classAnalyzer.GetDefinedThisDestructor();

+ 1 - 1
Source/Tools/BindingGenerator/ASResult.cpp

@@ -569,7 +569,7 @@ namespace Result
                 openedDefine = processedClass.insideDefine_;
                 openedDefine = processedClass.insideDefine_;
             }
             }
 
 
-            if (processedClass.destructor_)
+            if (processedClass.destructor_ && !processedClass.destructor_->glue_.empty())
             {
             {
                 ofs <<
                 ofs <<
                     "// " << processedClass.destructor_->comment_ << "\n"
                     "// " << processedClass.destructor_->comment_ << "\n"

+ 0 - 7
Source/Urho3D/AngelScript/Addons.cpp

@@ -2344,11 +2344,6 @@ static void ConstructStringCopy(const String& str, String* ptr)
     new(ptr) String(str);
     new(ptr) String(str);
 }
 }
 
 
-static void DestructString(String* ptr)
-{
-    ptr->~String();
-}
-
 static char* StringCharAt(unsigned i, String& str)
 static char* StringCharAt(unsigned i, String& str)
 {
 {
     if (i >= str.Length())
     if (i >= str.Length())
@@ -2404,8 +2399,6 @@ static void ConstructStringBool(bool value, String* ptr)
     new(ptr) String(value);
     new(ptr) String(value);
 }
 }
 
 
-
-
 static void StringSetUTF8FromLatin1(const String& src, String& str)
 static void StringSetUTF8FromLatin1(const String& src, String& str)
 {
 {
     str.SetUTF8FromLatin1(src.CString());
     str.SetUTF8FromLatin1(src.CString());

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 462
Source/Urho3D/AngelScript/GeneratedClasses.cpp


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است