Browse Source

AS Bindings: Cleanup registration macro comments

1vanK 4 years ago
parent
commit
d17b5ec016
1 changed files with 28 additions and 23 deletions
  1. 28 23
      Source/Urho3D/AngelScript/RegistrationMacros.h

+ 28 - 23
Source/Urho3D/AngelScript/RegistrationMacros.h

@@ -38,62 +38,67 @@ namespace Urho3D
 
 // RegisterGlobalFunction(decl, AS_FUNCTION(f), AS_CALL_CDECL)
 // RegisterGlobalFunction(decl, AS_FUNCTIONPR(f, p, r), AS_CALL_CDECL)
-// RegisterObjectBehaviour(obj, asBEHAVE_FACTORY, decl, AS_FUNCTION(f), AS_CALL_CDECL);
+// RegisterObjectBehaviour(obj, asBEHAVE_FACTORY, decl, AS_FUNCTION(f), AS_CALL_CDECL)
+// RegisterObjectBehaviour(obj, asBEHAVE_FACTORY, decl, AS_FUNCTIONPR(f, p, r), AS_CALL_CDECL)
 #ifdef AS_MAX_PORTABILITY
-	#define AS_FUNCTION(f) WRAP_FN(f) // RegisterGlobalFunction(decl, WRAP_FN(f), asCALL_GENERIC)
-	#define AS_FUNCTIONPR(f, p, r) WRAP_FN_PR(f, p, r) // RegisterGlobalFunction(decl, WRAP_FN_PR(f, p, r), asCALL_GENERIC)
+	#define AS_FUNCTION(f) WRAP_FN(f)
+	#define AS_FUNCTIONPR(f, p, r) WRAP_FN_PR(f, p, r)
 	#define AS_CALL_CDECL asCALL_GENERIC
 #else
-	#define AS_FUNCTION(f) asFUNCTION(f) // RegisterGlobalFunction(decl, asFUNCTION(f), asCALL_CDECL)
-	#define AS_FUNCTIONPR(f, p, r) asFUNCTIONPR(f, p, r) // RegisterGlobalFunction(decl, asFUNCTIONPR(f, p, r), asCALL_CDECL)
+	#define AS_FUNCTION(f) asFUNCTION(f)
+	#define AS_FUNCTIONPR(f, p, r) asFUNCTIONPR(f, p, r)
 	#define AS_CALL_CDECL asCALL_CDECL
 #endif
 
+// RegisterObjectBehaviour(obj, behaviour, decl, AS_METHOD(c, m), AS_CALL_THISCALL)
+// RegisterObjectBehaviour(obj, behaviour, decl, AS_METHODPR(c, m, p, r), AS_CALL_THISCALL)
+//     where behaviour is asBEHAVE_ADDREF or asBEHAVE_RELEASE
 // RegisterObjectMethod(obj, decl, AS_METHOD(c, m), AS_CALL_THISCALL)
 // RegisterObjectMethod(obj, decl, AS_METHODPR(c, m, p, r), AS_CALL_THISCALL)
-// RegisterObjectBehaviour(obj, asBEHAVE_ADDREF, decl, AS_METHODPR(c, m, p, r), AS_CALL_THISCALL)
-// RegisterObjectBehaviour(obj, asBEHAVE_RELEASE, decl, AS_METHODPR(c, m, p, r), AS_CALL_THISCALL);
 #ifdef AS_MAX_PORTABILITY
-	#define AS_METHOD(c, m) WRAP_MFN(c, m) // RegisterObjectMethod(obj, decl, WRAP_MFN(c, m), asCALL_GENERIC)
-	#define AS_METHODPR(c, m, p, r) WRAP_MFN_PR(c, m, p, r) // RegisterObjectMethod(obj, decl, WRAP_MFN_PR(c, m, p, r), asCALL_GENERIC)
+	#define AS_METHOD(c, m) WRAP_MFN(c, m)
+	#define AS_METHODPR(c, m, p, r) WRAP_MFN_PR(c, m, p, r)
 	#define AS_CALL_THISCALL asCALL_GENERIC
 #else
-	#define AS_METHOD(c, m) asMETHOD(c, m) // RegisterObjectMethod(obj, decl, asMETHOD(c, m), asCALL_THISCALL)
-	#define AS_METHODPR(c, m, p, r) asMETHODPR(c, m, p, r) // RegisterObjectMethod(obj, decl, asMETHODPR(c, m, p, r), asCALL_THISCALL)
+	#define AS_METHOD(c, m) asMETHOD(c, m)
+	#define AS_METHODPR(c, m, p, r) asMETHODPR(c, m, p, r)
 	#define AS_CALL_THISCALL asCALL_THISCALL
 #endif
 
+// RegisterObjectBehaviour(obj, behaviour, decl, AS_FUNCTION_OBJFIRST(f), AS_CALL_CDECL_OBJFIRST)
+// RegisterObjectBehaviour(obj, behaviour, decl, AS_FUNCTION_OBJLAST(f), AS_CALL_CDECL_OBJLAST)
+//     where behaviour is asBEHAVE_CONSTRUCT, asBEHAVE_ADDREF or asBEHAVE_RELEASE
 // RegisterObjectMethod(obj, decl, AS_FUNCTION_OBJFIRST(f), AS_CALL_CDECL_OBJFIRST)
-// RegisterObjectMethod(obj, decl, AS_FUNCTION_OBJLAST(f), AS_CALL_CDECL_OBJLAST)
 // RegisterObjectMethod(obj, decl, AS_FUNCTIONPT_OBJFIRST(f, p, r), AS_CALL_CDECL_OBJFIRST)
+// RegisterObjectMethod(obj, decl, AS_FUNCTION_OBJLAST(f), AS_CALL_CDECL_OBJLAST)
 // RegisterObjectMethod(obj, decl, AS_FUNCTIONPT_OBJLAST(f, p, r), AS_CALL_CDECL_OBJLAST)
 #ifdef AS_MAX_PORTABILITY
-	#define AS_FUNCTION_OBJFIRST(f) WRAP_OBJ_FIRST(f) // RegisterObjectMethod(obj, decl, WRAP_OBJ_FIRST(f), asCALL_GENERIC)
-	#define AS_FUNCTION_OBJLAST(f) WRAP_OBJ_LAST(f) // RegisterObjectMethod(obj, decl, WRAP_OBJ_LAST(f), asCALL_GENERIC)
-	#define AS_FUNCTIONPR_OBJFIRST(f, p, r) WRAP_OBJ_FIRST_PR(f, p, r) // RegisterObjectMethod(obj, decl, WRAP_OBJ_FIRST_PR(f, p, r), asCALL_GENERIC)
-	#define AS_FUNCTIONPR_OBJLAST(f, p, r) WRAP_OBJ_LAST_PR(f, p, r) // RegisterObjectMethod(obj, decl, WRAP_OBJ_LAST_PR(f, p, r), asCALL_GENERIC)
+	#define AS_FUNCTION_OBJFIRST(f) WRAP_OBJ_FIRST(f)
+	#define AS_FUNCTION_OBJLAST(f) WRAP_OBJ_LAST(f)
+	#define AS_FUNCTIONPR_OBJFIRST(f, p, r) WRAP_OBJ_FIRST_PR(f, p, r)
+	#define AS_FUNCTIONPR_OBJLAST(f, p, r) WRAP_OBJ_LAST_PR(f, p, r)
 	#define AS_CALL_CDECL_OBJFIRST asCALL_GENERIC
 	#define AS_CALL_CDECL_OBJLAST asCALL_GENERIC
 #else
-	#define AS_FUNCTION_OBJFIRST(f) asFUNCTION(f) // RegisterObjectMethod(obj, decl, asFUNCTION(f), asCALL_CDECL_OBJFIRST)
-	#define AS_FUNCTION_OBJLAST(f) asFUNCTION(f) // RegisterObjectMethod(obj, decl, asFUNCTION(f), asCALL_CDECL_OBJLAST)
-	#define AS_FUNCTIONPR_OBJFIRST(f, p, r) asFUNCTIONPR(f, p, r) // RegisterObjectMethod(obj, decl, asFUNCTIONPR(f, p, r), asCALL_CDECL_OBJFIRST)
-	#define AS_FUNCTIONPR_OBJLAST(f, p, r) asFUNCTIONPR(f, p, r) // RegisterObjectMethod(obj, decl, asFUNCTIONPR(f, p, r), asCALL_CDECL_OBJLAST)
+	#define AS_FUNCTION_OBJFIRST(f) asFUNCTION(f)
+	#define AS_FUNCTION_OBJLAST(f) asFUNCTION(f)
+	#define AS_FUNCTIONPR_OBJFIRST(f, p, r) asFUNCTIONPR(f, p, r)
+	#define AS_FUNCTIONPR_OBJLAST(f, p, r) asFUNCTIONPR(f, p, r)
 	#define AS_CALL_CDECL_OBJFIRST asCALL_CDECL_OBJFIRST
 	#define AS_CALL_CDECL_OBJLAST asCALL_CDECL_OBJLAST
 #endif
 
 // RegisterObjectBehaviour(obj, asBEHAVE_DESTRUCT, decl, AS_DESTRUCTOR(c), AS_CALL_CDECL_OBJFIRST)
+// RegisterObjectBehaviour(obj, asBEHAVE_DESTRUCT, decl, AS_DESTRUCTOR(c), AS_CALL_CDECL_OBJLAST)
 #ifdef AS_MAX_PORTABILITY
-	#define AS_DESTRUCTOR(c) WRAP_DES(c) // RegisterObjectBehaviour(obj, asBEHAVE_DESTRUCT, decl, WRAP_DES(c), asCALL_GENERIC)
+	#define AS_DESTRUCTOR(c) WRAP_DES(c)
 #else
-	template <typename T>
+	template <class T>
 	void ASNativeDestructor(T* ptr)
 	{
 		ptr->~T();
 	}
 
-	// RegisterObjectBehaviour(obj, asBEHAVE_DESTRUCT, decl, asFUNCTION(ASNativeDestructor<c>), asCALL_CDECL_OBJFIRST)
 	#define AS_DESTRUCTOR(c) asFUNCTION(ASNativeDestructor<c>)
 #endif