Browse Source

AS Autobindings: Process Context* in function parameters in standard way

1vanK 4 years ago
parent
commit
47aa41e2c1
100 changed files with 519 additions and 436 deletions
  1. 16 10
      Source/Tools/BindingGenerator/ASClassBinder.cpp
  2. 8 5
      Source/Tools/BindingGenerator/ASGlobalFunctionBinder.cpp
  3. 79 75
      Source/Tools/BindingGenerator/ASUtils.cpp
  4. 3 4
      Source/Tools/BindingGenerator/ASUtils.h
  5. 3 0
      Source/Tools/BindingGenerator/XmlAnalyzer.cpp
  6. 11 11
      Source/Urho3D/AngelScript/GeneratedGlobalFunctions.cpp
  7. 14 14
      Source/Urho3D/AngelScript/Generated_Members_A.cpp
  8. 6 6
      Source/Urho3D/AngelScript/Generated_Members_B.cpp
  9. 4 4
      Source/Urho3D/AngelScript/Generated_Members_Ca_Cm.cpp
  10. 29 29
      Source/Urho3D/AngelScript/Generated_Members_Cn_Cz.cpp
  11. 26 26
      Source/Urho3D/AngelScript/Generated_Members_Constraint.cpp
  12. 16 16
      Source/Urho3D/AngelScript/Generated_Members_D.cpp
  13. 2 2
      Source/Urho3D/AngelScript/Generated_Members_E.cpp
  14. 8 8
      Source/Urho3D/AngelScript/Generated_Members_F.cpp
  15. 3 3
      Source/Urho3D/AngelScript/Generated_Members_G.cpp
  16. 12 12
      Source/Urho3D/AngelScript/Generated_Members_I.cpp
  17. 26 5
      Source/Urho3D/AngelScript/Generated_Members_J.cpp
  18. 10 10
      Source/Urho3D/AngelScript/Generated_Members_L.cpp
  19. 8 8
      Source/Urho3D/AngelScript/Generated_Members_M.cpp
  20. 13 13
      Source/Urho3D/AngelScript/Generated_Members_N.cpp
  21. 13 13
      Source/Urho3D/AngelScript/Generated_Members_O.cpp
  22. 16 16
      Source/Urho3D/AngelScript/Generated_Members_P.cpp
  23. 18 18
      Source/Urho3D/AngelScript/Generated_Members_R.cpp
  24. 17 17
      Source/Urho3D/AngelScript/Generated_Members_Sa_Sm.cpp
  25. 25 25
      Source/Urho3D/AngelScript/Generated_Members_Sn_Sz.cpp
  26. 30 30
      Source/Urho3D/AngelScript/Generated_Members_Ta_Tm.cpp
  27. 2 2
      Source/Urho3D/AngelScript/Generated_Members_Tn_Tz.cpp
  28. 9 9
      Source/Urho3D/AngelScript/Generated_Members_U.cpp
  29. 12 12
      Source/Urho3D/AngelScript/Generated_Members_V.cpp
  30. 3 3
      Source/Urho3D/AngelScript/Generated_Members_W.cpp
  31. 3 3
      Source/Urho3D/AngelScript/Generated_Members_X.cpp
  32. 2 2
      Source/Urho3D/AngelScript/Generated_Members_Z.cpp
  33. 4 4
      Source/Urho3D/AngelScript/Generated_Templates.h
  34. 0 12
      Source/Urho3D/AngelScript/Manual_Resource.cpp
  35. 1 9
      Source/Urho3D/AngelScript/Manual_Resource.h
  36. 1 0
      Source/Urho3D/AngelScript/ScriptFile.h
  37. 1 0
      Source/Urho3D/AngelScript/ScriptInstance.h
  38. 1 0
      Source/Urho3D/Audio/Audio.h
  39. 1 0
      Source/Urho3D/Audio/Sound.h
  40. 1 0
      Source/Urho3D/Audio/SoundListener.h
  41. 1 0
      Source/Urho3D/Audio/SoundSource.h
  42. 1 0
      Source/Urho3D/Audio/SoundSource3D.h
  43. 1 0
      Source/Urho3D/Graphics/AnimatedModel.h
  44. 1 0
      Source/Urho3D/Graphics/Animation.h
  45. 1 0
      Source/Urho3D/Graphics/AnimationController.h
  46. 1 0
      Source/Urho3D/Graphics/BillboardSet.h
  47. 1 0
      Source/Urho3D/Graphics/Camera.h
  48. 1 0
      Source/Urho3D/Graphics/CustomGeometry.h
  49. 1 0
      Source/Urho3D/Graphics/DebugRenderer.h
  50. 1 0
      Source/Urho3D/Graphics/DecalSet.h
  51. 1 0
      Source/Urho3D/Graphics/Drawable.h
  52. 1 0
      Source/Urho3D/Graphics/Graphics.h
  53. 1 0
      Source/Urho3D/Graphics/Light.h
  54. 1 0
      Source/Urho3D/Graphics/Material.h
  55. 1 0
      Source/Urho3D/Graphics/Model.h
  56. 1 0
      Source/Urho3D/Graphics/Octree.h
  57. 1 0
      Source/Urho3D/Graphics/ParticleEffect.h
  58. 1 0
      Source/Urho3D/Graphics/ParticleEmitter.h
  59. 1 0
      Source/Urho3D/Graphics/RibbonTrail.h
  60. 1 0
      Source/Urho3D/Graphics/Shader.h
  61. 1 0
      Source/Urho3D/Graphics/Skybox.h
  62. 1 0
      Source/Urho3D/Graphics/StaticModel.h
  63. 1 0
      Source/Urho3D/Graphics/StaticModelGroup.h
  64. 1 0
      Source/Urho3D/Graphics/Technique.h
  65. 1 0
      Source/Urho3D/Graphics/Terrain.h
  66. 1 0
      Source/Urho3D/Graphics/TerrainPatch.h
  67. 1 0
      Source/Urho3D/Graphics/Texture2D.h
  68. 1 0
      Source/Urho3D/Graphics/Texture2DArray.h
  69. 1 0
      Source/Urho3D/Graphics/Texture3D.h
  70. 1 0
      Source/Urho3D/Graphics/TextureCube.h
  71. 1 0
      Source/Urho3D/Graphics/Zone.h
  72. 1 0
      Source/Urho3D/IK/IK.h
  73. 1 0
      Source/Urho3D/IK/IKConstraint.h
  74. 1 0
      Source/Urho3D/IK/IKEffector.h
  75. 1 0
      Source/Urho3D/IK/IKSolver.h
  76. 1 0
      Source/Urho3D/LuaScript/LuaFile.h
  77. 1 0
      Source/Urho3D/LuaScript/LuaScriptInstance.h
  78. 1 0
      Source/Urho3D/Navigation/CrowdAgent.h
  79. 1 0
      Source/Urho3D/Navigation/CrowdManager.h
  80. 1 0
      Source/Urho3D/Navigation/DynamicNavigationMesh.h
  81. 1 0
      Source/Urho3D/Navigation/NavArea.h
  82. 1 0
      Source/Urho3D/Navigation/Navigable.h
  83. 2 0
      Source/Urho3D/Navigation/NavigationMesh.h
  84. 1 0
      Source/Urho3D/Navigation/Obstacle.h
  85. 1 0
      Source/Urho3D/Navigation/OffMeshConnection.h
  86. 1 0
      Source/Urho3D/Network/Network.h
  87. 1 0
      Source/Urho3D/Network/NetworkPriority.h
  88. 1 0
      Source/Urho3D/Physics/CollisionShape.h
  89. 1 0
      Source/Urho3D/Physics/Constraint.h
  90. 2 0
      Source/Urho3D/Physics/PhysicsWorld.h
  91. 1 0
      Source/Urho3D/Physics/RaycastVehicle.h
  92. 1 0
      Source/Urho3D/Physics/RigidBody.h
  93. 1 0
      Source/Urho3D/Resource/Image.h
  94. 1 0
      Source/Urho3D/Resource/JSONFile.h
  95. 1 0
      Source/Urho3D/Resource/PListFile.h
  96. 1 0
      Source/Urho3D/Resource/ResourceCache.h
  97. 1 0
      Source/Urho3D/Resource/XMLFile.h
  98. 1 0
      Source/Urho3D/Scene/Animatable.h
  99. 1 0
      Source/Urho3D/Scene/Node.h
  100. 1 0
      Source/Urho3D/Scene/ObjectAnimation.h

+ 16 - 10
Source/Tools/BindingGenerator/ASClassBinder.cpp

@@ -206,7 +206,7 @@ static void RegisterStaticFunction(const ClassStaticFunctionAnalyzer& functionAn
         ConvertedVariable conv;
         try
         {
-            conv = CppVariableToAS(param.GetType(), param.GetDeclname(), VariableUsage::FunctionParameter, param.GetDefval());
+            conv = CppVariableToAS(param.GetType(), VariableUsage::FunctionParameter, param.GetDeclname(), param.GetDefval());
         }
         catch (const Exception& e)
         {
@@ -224,7 +224,7 @@ static void RegisterStaticFunction(const ClassStaticFunctionAnalyzer& functionAn
     
     try
     {
-        convertedReturn = CppVariableToAS(functionAnalyzer.GetReturnType(), "", VariableUsage::FunctionReturn);
+        convertedReturn = CppVariableToAS(functionAnalyzer.GetReturnType(), VariableUsage::FunctionReturn);
     }
     catch (const Exception& e)
     {
@@ -239,10 +239,13 @@ static void RegisterStaticFunction(const ClassStaticFunctionAnalyzer& functionAn
 
     for (const ConvertedVariable& conv : convertedParams)
     {
-        if (declParams.length() > 0)
-            declParams += ", ";
+        if (!conv.asDeclaration_.empty())
+        {
+            if (declParams.length() > 0)
+                declParams += ", ";
 
-        declParams += conv.asDeclaration_;
+            declParams += conv.asDeclaration_;
+        }
     }
 
     string asFunctionName = functionAnalyzer.GetName();
@@ -789,7 +792,7 @@ static void RegisterMethod(const ClassFunctionAnalyzer& functionAnalyzer, bool t
         
         try
         {
-            conv = CppVariableToAS(param.GetType(), param.GetDeclname(), VariableUsage::FunctionParameter, param.GetDefval());
+            conv = CppVariableToAS(param.GetType(), VariableUsage::FunctionParameter, param.GetDeclname(), param.GetDefval());
         }
         catch (const Exception& e)
         {
@@ -807,7 +810,7 @@ static void RegisterMethod(const ClassFunctionAnalyzer& functionAnalyzer, bool t
     
     try
     {
-        retConv = CppVariableToAS(functionAnalyzer.GetReturnType(), "", VariableUsage::FunctionReturn);
+        retConv = CppVariableToAS(functionAnalyzer.GetReturnType(), VariableUsage::FunctionReturn);
     }
     catch (const Exception& e)
     {
@@ -822,10 +825,13 @@ static void RegisterMethod(const ClassFunctionAnalyzer& functionAnalyzer, bool t
 
     for (const ConvertedVariable& conv : convertedParams)
     {
-        if (declParams.length() > 0)
-            declParams += ", ";
+        if (!conv.asDeclaration_.empty())
+        {
+            if (declParams.length() > 0)
+                declParams += ", ";
 
-        declParams += conv.asDeclaration_; // TODO функцию для джойна сделат ьвнутри конвертора
+            declParams += conv.asDeclaration_; // TODO функцию для джойна сделать внутри конвертора
+        }
     }
 
     string asReturnType = retConv.asDeclaration_;

+ 8 - 5
Source/Tools/BindingGenerator/ASGlobalFunctionBinder.cpp

@@ -123,7 +123,7 @@ static void BindGlobalFunction(const GlobalFunctionAnalyzer& functionAnalyzer)
         
         try
         {
-            conv = CppVariableToAS(param.GetType(), param.GetDeclname(), VariableUsage::FunctionParameter, param.GetDefval());
+            conv = CppVariableToAS(param.GetType(), VariableUsage::FunctionParameter, param.GetDeclname(), param.GetDefval());
         }
         catch (const Exception& e)
         {
@@ -132,10 +132,13 @@ static void BindGlobalFunction(const GlobalFunctionAnalyzer& functionAnalyzer)
             return;
         }
 
-        if (declParams.length() > 0)
-            declParams += ", ";
+        if (!conv.asDeclaration_.empty())
+        {
+            if (declParams.length() > 0)
+                declParams += ", ";
 
-        declParams += conv.asDeclaration_;
+            declParams += conv.asDeclaration_;
+        }
 
         if (conv.NeedWrapper())
             needWrapper = true;
@@ -147,7 +150,7 @@ static void BindGlobalFunction(const GlobalFunctionAnalyzer& functionAnalyzer)
 
     try
     {
-        retConv = CppVariableToAS(functionAnalyzer.GetReturnType(), "", VariableUsage::FunctionReturn);
+        retConv = CppVariableToAS(functionAnalyzer.GetReturnType(), VariableUsage::FunctionReturn);
     }
     catch (const Exception& e)
     {

+ 79 - 75
Source/Tools/BindingGenerator/ASUtils.cpp

@@ -183,7 +183,7 @@ shared_ptr<ClassAnalyzer> FindClassByID(const string& id)
 }
 
 // Variable name can be empty for function return type
-ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name, VariableUsage usage, string defaultValue)
+ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, VariableUsage usage, const string& name, const string& defaultValue)
 {
     ConvertedVariable result;
 
@@ -192,17 +192,34 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
 
     string cppTypeName = type.GetNameWithTemplateParams();
 
-    if (cppTypeName == "void" && !type.IsPointer() && usage == VariableUsage::FunctionReturn)
+    if (cppTypeName == "void")
     {
-        result.asDeclaration_ = "void";
-        return result;
+        if (usage == VariableUsage::FunctionReturn && !type.IsPointer())
+        {
+            result.asDeclaration_ = "void";
+            result.cppDeclaration_ = "void";
+            return result;
+        }
+
+        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
+    }
+
+    if (cppTypeName == "Context")
+    {
+        if (usage == VariableUsage::FunctionParameter && type.IsPointer())
+        {
+            result.glue_ = "    " + type.ToString() + " " + name + " = GetScriptContext();\n";
+            return result;
+        }
+
+        throw Exception("Error: type \"" + type.ToString() + "\" can used only as function parameter");
     }
 
     // Works with both Vector<String> and Vector<String>&
     if ((cppTypeName == "Vector<String>" || cppTypeName == "StringVector") && !type.IsPointer() && usage == VariableUsage::FunctionReturn)
     {
         result.asDeclaration_ = "Array<String>@";
-        result.newCppDeclaration_ = "CScriptArray*";
+        result.cppDeclaration_ = "CScriptArray*";
         result.glue_ = "return VectorToArray<String>(result, \"Array<String>\");\n";
         return result;
     }
@@ -228,7 +245,7 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
             throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
 
         result.asDeclaration_ = asSubtypeName + "@+";
-        result.newCppDeclaration_ = cppSubtypeName + "*";
+        result.cppDeclaration_ = cppSubtypeName + "*";
         result.glue_ = "return result.Detach();\n";
         return result;
     }
@@ -250,7 +267,7 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
         }
 
         result.asDeclaration_ = "Array<" + asSubtypeName + "@>@";
-        result.newCppDeclaration_ = "CScriptArray*";
+        result.cppDeclaration_ = "CScriptArray*";
 
         // Which variant is correct/better?
 #if 0
@@ -278,7 +295,7 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
         }
 
         result.asDeclaration_ = "Array<" + asSubtypeName + "@>@";
-        result.newCppDeclaration_ = "CScriptArray*";
+        result.cppDeclaration_ = "CScriptArray*";
         result.glue_ = "return VectorToHandleArray(result, \"Array<" + asSubtypeName + "@>\");\n";
         return result;
     }
@@ -300,22 +317,19 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
         }
 
         result.asDeclaration_ = "Array<" + asSubtypeName + ">@";
-        result.newCppDeclaration_ = "CScriptArray*";
+        result.cppDeclaration_ = "CScriptArray*";
         result.glue_ = "return VectorToArray(result, \"Array<" + asSubtypeName + ">\");\n";
         return result;
     }
 
     // =============================================================================
-    
-    if (cppTypeName == "Context" && usage == VariableUsage::FunctionParameter)
-        throw Exception("Context can be used as firs parameter of constructors only");
 
     if (cppTypeName == "Vector<String>" && type.IsConst() && type.IsReference() && usage == VariableUsage::FunctionParameter)
     {
         string newCppVarName = name + "_conv";
         //result->asDecl_ = "String[]&";
         result.asDeclaration_ = "Array<String>@+";
-        result.newCppDeclaration_ = "CScriptArray* " + newCppVarName;
+        result.cppDeclaration_ = "CScriptArray* " + newCppVarName;
         result.glue_ = "    " + cppTypeName + " " + name + " = ArrayToVector<String>(" + newCppVarName + ");\n";
 
         if (!defaultValue.empty())
@@ -346,7 +360,7 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
 
         string newCppVarName = name + "_conv";
         result.asDeclaration_ = "Array<" + asSubtypeName + ">@+";
-        result.newCppDeclaration_ = "CScriptArray* " + newCppVarName;
+        result.cppDeclaration_ = "CScriptArray* " + newCppVarName;
         result.glue_ = "    " + cppTypeName + " " + name + " = ArrayToPODVector<" + cppSubtypeName + ">(" + newCppVarName + ");\n";
 
         assert(defaultValue.empty()); // TODO: make
@@ -373,7 +387,7 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
 
         string newCppVarName = name + "_conv";
         result.asDeclaration_ = "Array<" + asSubtypeName + "@>@";
-        result.newCppDeclaration_ = "CScriptArray* " + newCppVarName;
+        result.cppDeclaration_ = "CScriptArray* " + newCppVarName;
         result.glue_ = "    " + cppTypeName + " " + name + " = ArrayToPODVector<" + cppSubtypeName + "*>(" + newCppVarName + ");\n";
 
         assert(defaultValue.empty()); // TODO: make
@@ -402,7 +416,7 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
 
         string newCppVarName = name + "_conv";
         result.asDeclaration_ = "Array<" + asSubtypeName + "@>@+";
-        result.newCppDeclaration_ = "CScriptArray* " + newCppVarName;
+        result.cppDeclaration_ = "CScriptArray* " + newCppVarName;
         result.glue_ = "    " + cppTypeName + " " + name + " = HandleArrayToVector<" + cppSubtypeName + ">(" + newCppVarName + ");\n";
         
         assert(defaultValue.empty()); // TODO: make
@@ -412,8 +426,6 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
 
     // =============================================================================
 
-    if (cppTypeName == "Context" && usage == VariableUsage::FunctionReturn)
-        throw Exception("Error: type \"" + type.ToString() + "\" can not be returned");
 
     if (!IsKnownCppType(cppTypeName))
         throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
@@ -443,9 +455,6 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
         asTypeName = cppTypeName;
     }
 
-    if (asTypeName == "void" && type.IsPointer())
-        throw Exception("Error: type \"void*\" can not automatically bind");
-
     if (asTypeName.find('<') != string::npos)
         throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
 
@@ -455,12 +464,16 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
     if (type.IsConst() && type.IsReference() && usage == VariableUsage::FunctionParameter)
     {
         result.asDeclaration_ = "const " + asTypeName + "&in";
+        result.cppDeclaration_ = type.ToString();
+
+        if (!name.empty())
+            result.cppDeclaration_ += " " + name;
 
         if (!defaultValue.empty())
         {
-            defaultValue = CppValueToAS(defaultValue);
-            defaultValue = ReplaceAll(defaultValue, "\"", "\\\"");
-            result.asDeclaration_ += " = " + defaultValue;
+            string asDefaultValue = CppValueToAS(defaultValue);
+            asDefaultValue = ReplaceAll(asDefaultValue, "\"", "\\\"");
+            result.asDeclaration_ += " = " + asDefaultValue;
         }
 
         //if (!name.empty())
@@ -485,6 +498,11 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
             throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
     }
 
+    result.cppDeclaration_ = type.ToString();
+
+    if (!name.empty())
+        result.cppDeclaration_ += " " + name;
+
     if (usage == VariableUsage::FunctionReturn && type.IsConst() && !type.IsPointer())
         result.asDeclaration_ = "const " + result.asDeclaration_;
 
@@ -493,9 +511,9 @@ ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name,
 
     if (!defaultValue.empty())
     {
-        defaultValue = CppValueToAS(defaultValue);
-        defaultValue = ReplaceAll(defaultValue, "\"", "\\\"");
-        result.asDeclaration_ += " = " + defaultValue;
+        string asDefaultValue = CppValueToAS(defaultValue);
+        asDefaultValue = ReplaceAll(asDefaultValue, "\"", "\\\"");
+        result.asDeclaration_ += " = " + asDefaultValue;
     }
 
     return result;
@@ -640,32 +658,27 @@ string GenerateWrapper(const GlobalFunctionAnalyzer& functionAnalyzer, const vec
 {
     string result;
 
-    string glueReturnType;
-
-    if (!convertedReturn.newCppDeclaration_.empty())
-        glueReturnType = convertedReturn.newCppDeclaration_;
-    else
-        glueReturnType = functionAnalyzer.GetReturnType().ToString();
+    string glueReturnType = convertedReturn.cppDeclaration_;
 
     vector<ParamAnalyzer> params = functionAnalyzer.GetParams();
     
     result = "static " + glueReturnType + " " + GenerateWrapperName(functionAnalyzer) + "(";
 
+    string cppDecl;
+
     for (size_t i = 0; i < convertedParams.size(); i++)
     {
-        if (i != 0)
-            result += ", ";
-
-        string paramDecl;
-
-        if (!convertedParams[i].newCppDeclaration_.empty())
-            paramDecl = convertedParams[i].newCppDeclaration_;
-        else
-            paramDecl = params[i].GetType().ToString() + " " + params[i].GetDeclname();
+        if (!convertedParams[i].cppDeclaration_.empty())
+        {
+            if (!cppDecl.empty())
+                cppDecl += ", ";
 
-        result += paramDecl;
+            cppDecl += convertedParams[i].cppDeclaration_;
+        }
     }
 
+    result += cppDecl;
+
     result +=
         ")\n"
         "{\n";
@@ -704,13 +717,8 @@ string GenerateWrapper(const ClassStaticFunctionAnalyzer& functionAnalyzer, cons
 {
     string result;
 
-    string glueReturnType;
+    string glueReturnType = convertedReturn.cppDeclaration_;
 
-    if (!convertedReturn.newCppDeclaration_.empty())
-        glueReturnType = convertedReturn.newCppDeclaration_;
-    else
-        glueReturnType = functionAnalyzer.GetReturnType().ToString();
-    
     string insideDefine = InsideDefine(functionAnalyzer.GetHeaderFile());
 
     if (!insideDefine.empty())
@@ -722,21 +730,21 @@ string GenerateWrapper(const ClassStaticFunctionAnalyzer& functionAnalyzer, cons
 
     vector<ParamAnalyzer> params = functionAnalyzer.GetParams();
 
+    string cppDecl;
+
     for (size_t i = 0; i < convertedParams.size(); i++)
     {
-        if (i != 0)
-            result += ", ";
-
-        string paramDecl;
-
-        if (!convertedParams[i].newCppDeclaration_.empty())
-            paramDecl = convertedParams[i].newCppDeclaration_;
-        else
-            paramDecl = params[i].GetType().ToString() + " " + params[i].GetDeclname();
+        if (!convertedParams[i].cppDeclaration_.empty())
+        {
+            if (!cppDecl.empty())
+                cppDecl += ", ";
 
-        result += paramDecl;
+            cppDecl += convertedParams[i].cppDeclaration_;
+        }
     }
 
+    result += cppDecl;
+
     result +=
         ")\n"
         "{\n";
@@ -785,33 +793,29 @@ string GenerateWrapper(const ClassFunctionAnalyzer& functionAnalyzer, bool templ
     if (!insideDefine.empty())
         result += "#ifdef " + insideDefine + "\n";
 
-    string glueReturnType;
-
-    if (!convertedReturn.newCppDeclaration_.empty())
-        glueReturnType = convertedReturn.newCppDeclaration_;
-    else
-        glueReturnType = functionAnalyzer.GetReturnType().ToString();
+    string glueReturnType = convertedReturn.cppDeclaration_;
 
     result +=
         "// " + functionAnalyzer.GetLocation() + "\n"
-        "static " + glueReturnType + " " + GenerateWrapperName(functionAnalyzer, templateVersion) + "(" + functionAnalyzer.GetClassName() + "* ptr";
+        "static " + glueReturnType + " " + GenerateWrapperName(functionAnalyzer, templateVersion) + "(";
 
     vector<ParamAnalyzer> params = functionAnalyzer.GetParams();
 
+    string cppDecl = functionAnalyzer.GetClassName() + string("* ptr");
+
     for (size_t i = 0; i < convertedParams.size(); i++)
     {
-        result += ", ";
-
-        string paramDecl;
-
-        if (!convertedParams[i].newCppDeclaration_.empty())
-            paramDecl = convertedParams[i].newCppDeclaration_;
-        else
-            paramDecl = params[i].GetType().ToString() + " " + params[i].GetDeclname();
+        if (!convertedParams[i].cppDeclaration_.empty())
+        {
+            if (!cppDecl.empty())
+                cppDecl += ", ";
 
-        result += paramDecl;
+            cppDecl += convertedParams[i].cppDeclaration_;
+        }
     }
 
+    result += cppDecl;
+
     result +=
         ")\n"
         "{\n";

+ 3 - 4
Source/Tools/BindingGenerator/ASUtils.h

@@ -44,11 +44,10 @@ enum class TypeUsage
 struct ConvertedVariable
 {
     string asDeclaration_;
-
-    string newCppDeclaration_;
+    string cppDeclaration_;
     string glue_;
 
-    bool NeedWrapper() const { return !glue_.empty() || !newCppDeclaration_.empty(); }
+    bool NeedWrapper() const { return !glue_.empty(); }
 };
 
 enum class VariableUsage
@@ -59,7 +58,7 @@ enum class VariableUsage
     ClassVariable,
 };
 
-ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name, VariableUsage usage, string defaultValue = "");
+ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, VariableUsage usage, const string& name = "", const string& defaultValue = "");
 
 string CppTypeToAS(const TypeAnalyzer& type, TypeUsage typeUsage);
 

+ 3 - 0
Source/Tools/BindingGenerator/XmlAnalyzer.cpp

@@ -50,6 +50,7 @@ TypeAnalyzer::TypeAnalyzer(xml_node type, const TemplateSpecialization& speciali
 
     fullType_ = RemoveRefs(type);
     fullType_ = RemoveFirst(fullType_, "URHO3D_API ");
+    fullType_ = RemoveFirst(fullType_, " URHO3D_API");
     fullType_ = CutStart(fullType_, "constexpr ");
     fullType_ = ReplaceAll(fullType_, " *", "*");
     fullType_ = ReplaceAll(fullType_, " &", "&");
@@ -495,6 +496,7 @@ string GlobalVariableAnalyzer::GetLocation() const
     string result = ExtractDefinition(memberdef_);
 
     result = RemoveFirst(result, "URHO3D_API ");
+    result = RemoveFirst(result, " URHO3D_API");
 
     assert(Contains(result, " Urho3D::"));
     result = ReplaceFirst(result, " Urho3D::", " ");
@@ -906,6 +908,7 @@ string GetFunctionLocation(xml_node memberdef)
     }
     
     result = RemoveFirst(result, "URHO3D_API ");
+    result = RemoveFirst(result, " URHO3D_API");
 
     result = ReplaceAll(result, " **", "** ");
     result = ReplaceAll(result, " &&", "&& ");

+ 11 - 11
Source/Urho3D/AngelScript/GeneratedGlobalFunctions.cpp

@@ -63,7 +63,7 @@ void ASRegisterGeneratedGlobalFunctions(asIScriptEngine* engine)
     engine->RegisterGlobalFunction("float Atan2(float, float)", asFUNCTIONPR(Atan2, (float, float), float), asCALL_CDECL);
 
     // void BufferToString(String& dest, const void* data, unsigned size) | File: ../Core/StringUtils.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
 
     // template<class T> T Ceil(T x) | File: ../Math/MathDefs.h
     engine->RegisterGlobalFunction("float Ceil(float)", asFUNCTIONPR(Ceil, (float), float), asCALL_CDECL);
@@ -352,19 +352,19 @@ void ASRegisterGeneratedGlobalFunctions(asIScriptEngine* engine)
     engine->RegisterGlobalFunction("float RandomNormal(float, float)", asFUNCTIONPR(RandomNormal, (float, float), float), asCALL_CDECL);
 
     // void RegisterAudioLibrary(Context* context) | File: ../Audio/Audio.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
 
     // void RegisterGraphicsLibrary(Context* context) | File: ../Graphics/Graphics.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
 
     // void RegisterResourceLibrary(Context* context) | File: ../Resource/ResourceCache.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
 
     // void RegisterSceneLibrary(Context* context) | File: ../Scene/Scene.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
 
     // void RegisterUILibrary(Context* context) | File: ../UI/UI.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
 
     // String RemoveTrailingSlash(const String& pathName) | File: ../IO/FileSystem.h
     engine->RegisterGlobalFunction("String RemoveTrailingSlash(const String&in)", asFUNCTIONPR(RemoveTrailingSlash, (const String&), String), asCALL_CDECL);
@@ -659,27 +659,27 @@ void ASRegisterGeneratedGlobalFunctions(asIScriptEngine* engine)
 
 #ifdef URHO3D_IK
     // void RegisterIKLibrary(Context* context) | File: ../IK/IK.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
 #endif
 
 #ifdef URHO3D_NAVIGATION
     // void RegisterNavigationLibrary(Context* context) | File: ../Navigation/NavigationMesh.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
 #endif
 
 #ifdef URHO3D_NETWORK
     // void RegisterNetworkLibrary(Context* context) | File: ../Network/Network.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
 #endif
 
 #ifdef URHO3D_PHYSICS
     // void RegisterPhysicsLibrary(Context* context) | File: ../Physics/PhysicsWorld.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
 #endif
 
 #ifdef URHO3D_URHO2D
     // void RegisterUrho2DLibrary(Context* context) | File: ../Urho2D/Urho2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
 #endif
 }
 

+ 14 - 14
Source/Urho3D/AngelScript/Generated_Members_A.cpp

@@ -329,7 +329,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     // unsigned Deserializer::Tell() const | File: ../IO/Deserializer.h
     engine->RegisterObjectMethod("AbstractFile", "uint Tell() const", asMETHODPR(AbstractFile, Tell, () const, unsigned), asCALL_THISCALL);
     // virtual unsigned Serializer::Write(const void* data, unsigned size)=0 | File: ../IO/Serializer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool Serializer::WriteBool(bool value) | File: ../IO/Serializer.h
     engine->RegisterObjectMethod("AbstractFile", "bool WriteBool(bool)", asMETHODPR(AbstractFile, WriteBool, (bool), bool), asCALL_THISCALL);
     // bool Serializer::WriteBoundingBox(const BoundingBox& value) | File: ../IO/Serializer.h
@@ -465,7 +465,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Animatable", "const String& GetCategory() const", asMETHODPR(Animatable, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Animatable", "const String& get_category() const", asMETHODPR(Animatable, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Animatable", "VariantMap& GetEventDataMap() const", asMETHODPR(Animatable, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -547,7 +547,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Animatable", "int Refs() const", asMETHODPR(Animatable, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Animatable", "int get_refs() const", asMETHODPR(Animatable, Refs, () const, int), asCALL_THISCALL);
     // static void Animatable::RegisterObject(Context* context) | File: ../Scene/Animatable.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Animatable", asBEHAVE_RELEASE, "void f()", asMETHODPR(Animatable, ReleaseRef, (), void), asCALL_THISCALL);
     // void Animatable::RemoveAttributeAnimation(const String& name) | File: ../Scene/Animatable.h
@@ -743,7 +743,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -987,7 +987,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     engine->RegisterObjectMethod("AnimatedModel", "int Refs() const", asMETHODPR(AnimatedModel, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("AnimatedModel", "int get_refs() const", asMETHODPR(AnimatedModel, Refs, () const, int), asCALL_THISCALL);
     // static void AnimatedModel::RegisterObject(Context* context) | File: ../Graphics/AnimatedModel.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("AnimatedModel", asBEHAVE_RELEASE, "void f()", asMETHODPR(AnimatedModel, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1295,7 +1295,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // Material* StaticSprite2D::GetCustomMaterial() const | File: ../Urho2D/StaticSprite2D.h
     engine->RegisterObjectMethod("AnimatedSprite2D", "Material@+ GetCustomMaterial() const", asMETHODPR(AnimatedSprite2D, GetCustomMaterial, () const, Material*), asCALL_THISCALL);
     engine->RegisterObjectMethod("AnimatedSprite2D", "Material@+ get_customMaterial() const", asMETHODPR(AnimatedSprite2D, GetCustomMaterial, () const, Material*), asCALL_THISCALL);
@@ -1539,7 +1539,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     engine->RegisterObjectMethod("AnimatedSprite2D", "int Refs() const", asMETHODPR(AnimatedSprite2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("AnimatedSprite2D", "int get_refs() const", asMETHODPR(AnimatedSprite2D, Refs, () const, int), asCALL_THISCALL);
     // static void AnimatedSprite2D::RegisterObject(Context* context) | File: ../Urho2D/AnimatedSprite2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("AnimatedSprite2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(AnimatedSprite2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1824,7 +1824,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Animation", "const String& GetCategory() const", asMETHODPR(Animation, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Animation", "const String& get_category() const", asMETHODPR(Animation, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Animation", "VariantMap& GetEventDataMap() const", asMETHODPR(Animation, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -1915,7 +1915,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Animation", "int Refs() const", asMETHODPR(Animation, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Animation", "int get_refs() const", asMETHODPR(Animation, Refs, () const, int), asCALL_THISCALL);
     // static void Animation::RegisterObject(Context* context) | File: ../Graphics/Animation.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Animation", asBEHAVE_RELEASE, "void f()", asMETHODPR(Animation, ReleaseRef, (), void), asCALL_THISCALL);
     // void ResourceWithMetadata::RemoveAllMetadata() | File: ../Resource/Resource.h
@@ -2079,7 +2079,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -2224,7 +2224,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     engine->RegisterObjectMethod("AnimationController", "int Refs() const", asMETHODPR(AnimationController, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("AnimationController", "int get_refs() const", asMETHODPR(AnimationController, Refs, () const, int), asCALL_THISCALL);
     // static void AnimationController::RegisterObject(Context* context) | File: ../Graphics/AnimationController.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("AnimationController", asBEHAVE_RELEASE, "void f()", asMETHODPR(AnimationController, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -2395,7 +2395,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     engine->RegisterObjectMethod("AnimationSet2D", "const String& GetCategory() const", asMETHODPR(AnimationSet2D, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("AnimationSet2D", "const String& get_category() const", asMETHODPR(AnimationSet2D, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("AnimationSet2D", "VariantMap& GetEventDataMap() const", asMETHODPR(AnimationSet2D, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -2469,7 +2469,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     engine->RegisterObjectMethod("AnimationSet2D", "int Refs() const", asMETHODPR(AnimationSet2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("AnimationSet2D", "int get_refs() const", asMETHODPR(AnimationSet2D, Refs, () const, int), asCALL_THISCALL);
     // static void AnimationSet2D::RegisterObject(Context* context) | File: ../Urho2D/AnimationSet2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("AnimationSet2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(AnimationSet2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Resource::ResetUseTimer() | File: ../Resource/Resource.h
@@ -2743,7 +2743,7 @@ void ASRegisterGenerated_Members_A(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Audio", "const String& GetCategory() const", asMETHODPR(Audio, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Audio", "const String& get_category() const", asMETHODPR(Audio, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Audio", "VariantMap& GetEventDataMap() const", asMETHODPR(Audio, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h

+ 6 - 6
Source/Urho3D/AngelScript/Generated_Members_B.cpp

@@ -282,7 +282,7 @@ void ASRegisterGenerated_Members_B(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -500,7 +500,7 @@ void ASRegisterGenerated_Members_B(asIScriptEngine* engine)
     engine->RegisterObjectMethod("BillboardSet", "int Refs() const", asMETHODPR(BillboardSet, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("BillboardSet", "int get_refs() const", asMETHODPR(BillboardSet, Refs, () const, int), asCALL_THISCALL);
     // static void BillboardSet::RegisterObject(Context* context) | File: ../Graphics/BillboardSet.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("BillboardSet", asBEHAVE_RELEASE, "void f()", asMETHODPR(BillboardSet, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -832,7 +832,7 @@ void ASRegisterGenerated_Members_B(asIScriptEngine* engine)
     engine->RegisterObjectMethod("BorderImage", "IntRect GetCombinedScreenRect()", asMETHODPR(BorderImage, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("BorderImage", "IntRect get_combinedScreenRect()", asMETHODPR(BorderImage, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -1174,7 +1174,7 @@ void ASRegisterGenerated_Members_B(asIScriptEngine* engine)
     engine->RegisterObjectMethod("BorderImage", "int Refs() const", asMETHODPR(BorderImage, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("BorderImage", "int get_refs() const", asMETHODPR(BorderImage, Refs, () const, int), asCALL_THISCALL);
     // static void BorderImage::RegisterObject(Context* context) | File: ../UI/BorderImage.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("BorderImage", asBEHAVE_RELEASE, "void f()", asMETHODPR(BorderImage, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -1825,7 +1825,7 @@ void ASRegisterGenerated_Members_B(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Button", "IntRect GetCombinedScreenRect()", asMETHODPR(Button, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("Button", "IntRect get_combinedScreenRect()", asMETHODPR(Button, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -2182,7 +2182,7 @@ void ASRegisterGenerated_Members_B(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Button", "int Refs() const", asMETHODPR(Button, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Button", "int get_refs() const", asMETHODPR(Button, Refs, () const, int), asCALL_THISCALL);
     // static void Button::RegisterObject(Context* context) | File: ../UI/Button.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Button", asBEHAVE_RELEASE, "void f()", asMETHODPR(Button, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h

+ 4 - 4
Source/Urho3D/AngelScript/Generated_Members_Ca_Cm.cpp

@@ -140,7 +140,7 @@ void ASRegisterGenerated_Members_Ca_Cm(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Camera::GetDistance(const Vector3& worldPos) const | File: ../Graphics/Camera.h
@@ -332,7 +332,7 @@ void ASRegisterGenerated_Members_Ca_Cm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Camera", "int Refs() const", asMETHODPR(Camera, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Camera", "int get_refs() const", asMETHODPR(Camera, Refs, () const, int), asCALL_THISCALL);
     // static void Camera::RegisterObject(Context* context) | File: ../Graphics/Camera.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Camera", asBEHAVE_RELEASE, "void f()", asMETHODPR(Camera, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -653,7 +653,7 @@ void ASRegisterGenerated_Members_Ca_Cm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("CheckBox", "IntRect GetCombinedScreenRect()", asMETHODPR(CheckBox, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("CheckBox", "IntRect get_combinedScreenRect()", asMETHODPR(CheckBox, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -998,7 +998,7 @@ void ASRegisterGenerated_Members_Ca_Cm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("CheckBox", "int Refs() const", asMETHODPR(CheckBox, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("CheckBox", "int get_refs() const", asMETHODPR(CheckBox, Refs, () const, int), asCALL_THISCALL);
     // static void CheckBox::RegisterObject(Context* context) | File: ../UI/CheckBox.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("CheckBox", asBEHAVE_RELEASE, "void f()", asMETHODPR(CheckBox, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h

+ 29 - 29
Source/Urho3D/AngelScript/Generated_Members_Cn_Cz.cpp

@@ -485,7 +485,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float CollisionShape2D::GetDensity() const | File: ../Urho2D/CollisionShape2D.h
     engine->RegisterObjectMethod("CollisionBox2D", "float GetDensity() const", asMETHODPR(CollisionBox2D, GetDensity, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionBox2D", "float get_density() const", asMETHODPR(CollisionBox2D, GetDensity, () const, float), asCALL_THISCALL);
@@ -622,7 +622,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("CollisionBox2D", "int Refs() const", asMETHODPR(CollisionBox2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionBox2D", "int get_refs() const", asMETHODPR(CollisionBox2D, Refs, () const, int), asCALL_THISCALL);
     // static void CollisionBox2D::RegisterObject(Context* context) | File: ../Urho2D/CollisionBox2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void CollisionShape2D::ReleaseFixture() | File: ../Urho2D/CollisionShape2D.h
     engine->RegisterObjectMethod("CollisionBox2D", "void ReleaseFixture()", asMETHODPR(CollisionBox2D, ReleaseFixture, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -840,7 +840,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float CollisionShape2D::GetDensity() const | File: ../Urho2D/CollisionShape2D.h
     engine->RegisterObjectMethod("CollisionChain2D", "float GetDensity() const", asMETHODPR(CollisionChain2D, GetDensity, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionChain2D", "float get_density() const", asMETHODPR(CollisionChain2D, GetDensity, () const, float), asCALL_THISCALL);
@@ -986,7 +986,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("CollisionChain2D", "int Refs() const", asMETHODPR(CollisionChain2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionChain2D", "int get_refs() const", asMETHODPR(CollisionChain2D, Refs, () const, int), asCALL_THISCALL);
     // static void CollisionChain2D::RegisterObject(Context* context) | File: ../Urho2D/CollisionChain2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void CollisionShape2D::ReleaseFixture() | File: ../Urho2D/CollisionShape2D.h
     engine->RegisterObjectMethod("CollisionChain2D", "void ReleaseFixture()", asMETHODPR(CollisionChain2D, ReleaseFixture, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -1206,7 +1206,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float CollisionShape2D::GetDensity() const | File: ../Urho2D/CollisionShape2D.h
     engine->RegisterObjectMethod("CollisionCircle2D", "float GetDensity() const", asMETHODPR(CollisionCircle2D, GetDensity, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionCircle2D", "float get_density() const", asMETHODPR(CollisionCircle2D, GetDensity, () const, float), asCALL_THISCALL);
@@ -1343,7 +1343,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("CollisionCircle2D", "int Refs() const", asMETHODPR(CollisionCircle2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionCircle2D", "int get_refs() const", asMETHODPR(CollisionCircle2D, Refs, () const, int), asCALL_THISCALL);
     // static void CollisionCircle2D::RegisterObject(Context* context) | File: ../Urho2D/CollisionCircle2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void CollisionShape2D::ReleaseFixture() | File: ../Urho2D/CollisionShape2D.h
     engine->RegisterObjectMethod("CollisionCircle2D", "void ReleaseFixture()", asMETHODPR(CollisionCircle2D, ReleaseFixture, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -1556,7 +1556,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float CollisionShape2D::GetDensity() const | File: ../Urho2D/CollisionShape2D.h
     engine->RegisterObjectMethod("CollisionEdge2D", "float GetDensity() const", asMETHODPR(CollisionEdge2D, GetDensity, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionEdge2D", "float get_density() const", asMETHODPR(CollisionEdge2D, GetDensity, () const, float), asCALL_THISCALL);
@@ -1696,7 +1696,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("CollisionEdge2D", "int Refs() const", asMETHODPR(CollisionEdge2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionEdge2D", "int get_refs() const", asMETHODPR(CollisionEdge2D, Refs, () const, int), asCALL_THISCALL);
     // static void CollisionEdge2D::RegisterObject(Context* context) | File: ../Urho2D/CollisionEdge2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void CollisionShape2D::ReleaseFixture() | File: ../Urho2D/CollisionShape2D.h
     engine->RegisterObjectMethod("CollisionEdge2D", "void ReleaseFixture()", asMETHODPR(CollisionEdge2D, ReleaseFixture, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -1909,7 +1909,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float CollisionShape2D::GetDensity() const | File: ../Urho2D/CollisionShape2D.h
     engine->RegisterObjectMethod("CollisionPolygon2D", "float GetDensity() const", asMETHODPR(CollisionPolygon2D, GetDensity, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionPolygon2D", "float get_density() const", asMETHODPR(CollisionPolygon2D, GetDensity, () const, float), asCALL_THISCALL);
@@ -2052,7 +2052,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("CollisionPolygon2D", "int Refs() const", asMETHODPR(CollisionPolygon2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionPolygon2D", "int get_refs() const", asMETHODPR(CollisionPolygon2D, Refs, () const, int), asCALL_THISCALL);
     // static void CollisionPolygon2D::RegisterObject(Context* context) | File: ../Urho2D/CollisionPolygon2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void CollisionShape2D::ReleaseFixture() | File: ../Urho2D/CollisionShape2D.h
     engine->RegisterObjectMethod("CollisionPolygon2D", "void ReleaseFixture()", asMETHODPR(CollisionPolygon2D, ReleaseFixture, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -2263,7 +2263,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -2400,7 +2400,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("CollisionShape", "int Refs() const", asMETHODPR(CollisionShape, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionShape", "int get_refs() const", asMETHODPR(CollisionShape, Refs, () const, int), asCALL_THISCALL);
     // static void CollisionShape::RegisterObject(Context* context) | File: ../Physics/CollisionShape.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("CollisionShape", asBEHAVE_RELEASE, "void f()", asMETHODPR(CollisionShape, ReleaseRef, (), void), asCALL_THISCALL);
     // void CollisionShape::ReleaseShape() | File: ../Physics/CollisionShape.h
@@ -2629,7 +2629,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float CollisionShape2D::GetDensity() const | File: ../Urho2D/CollisionShape2D.h
     engine->RegisterObjectMethod("CollisionShape2D", "float GetDensity() const", asMETHODPR(CollisionShape2D, GetDensity, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionShape2D", "float get_density() const", asMETHODPR(CollisionShape2D, GetDensity, () const, float), asCALL_THISCALL);
@@ -2763,7 +2763,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("CollisionShape2D", "int Refs() const", asMETHODPR(CollisionShape2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("CollisionShape2D", "int get_refs() const", asMETHODPR(CollisionShape2D, Refs, () const, int), asCALL_THISCALL);
     // static void CollisionShape2D::RegisterObject(Context* context) | File: ../Urho2D/CollisionShape2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void CollisionShape2D::ReleaseFixture() | File: ../Urho2D/CollisionShape2D.h
     engine->RegisterObjectMethod("CollisionShape2D", "void ReleaseFixture()", asMETHODPR(CollisionShape2D, ReleaseFixture, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -3122,7 +3122,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -3227,7 +3227,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Component", "int Refs() const", asMETHODPR(Component, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Component", "int get_refs() const", asMETHODPR(Component, Refs, () const, int), asCALL_THISCALL);
     // static void Animatable::RegisterObject(Context* context) | File: ../Scene/Animatable.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Component", asBEHAVE_RELEASE, "void f()", asMETHODPR(Component, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -3387,7 +3387,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Connection", "const String& GetCategory() const", asMETHODPR(Connection, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Connection", "const String& get_category() const", asMETHODPR(Connection, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // const Controls& Connection::GetControls() const | File: ../Network/Connection.h
     engine->RegisterObjectMethod("Connection", "const Controls& GetControls() const", asMETHODPR(Connection, GetControls, () const, const Controls&), asCALL_THISCALL);
     // const String& Connection::GetDownloadName() const | File: ../Network/Connection.h
@@ -3613,7 +3613,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Console", "const String& GetCommandInterpreter() const", asMETHODPR(Console, GetCommandInterpreter, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Console", "const String& get_commandInterpreter() const", asMETHODPR(Console, GetCommandInterpreter, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // XMLFile* Console::GetDefaultStyle() const | File: ../Engine/Console.h
     engine->RegisterObjectMethod("Console", "XMLFile@+ GetDefaultStyle() const", asMETHODPR(Console, GetDefaultStyle, () const, XMLFile*), asCALL_THISCALL);
     engine->RegisterObjectMethod("Console", "XMLFile@+ get_defaultStyle() const", asMETHODPR(Console, GetDefaultStyle, () const, XMLFile*), asCALL_THISCALL);
@@ -3783,7 +3783,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstantBuffer", "const String& GetCategory() const", asMETHODPR(ConstantBuffer, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstantBuffer", "const String& get_category() const", asMETHODPR(ConstantBuffer, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("ConstantBuffer", "VariantMap& GetEventDataMap() const", asMETHODPR(ConstantBuffer, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -3864,11 +3864,11 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstantBuffer", "void SetGlobalVar(StringHash, const Variant&in)", asMETHODPR(ConstantBuffer, SetGlobalVar, (StringHash, const Variant&), void), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstantBuffer", "void set_globalVar(StringHash, const Variant&in)", asMETHODPR(ConstantBuffer, SetGlobalVar, (StringHash, const Variant&), void), asCALL_THISCALL);
     // void ConstantBuffer::SetParameter(unsigned offset, unsigned size, const void* data) | File: ../Graphics/ConstantBuffer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool ConstantBuffer::SetSize(unsigned size) | File: ../Graphics/ConstantBuffer.h
     engine->RegisterObjectMethod("ConstantBuffer", "bool SetSize(uint)", asMETHODPR(ConstantBuffer, SetSize, (unsigned), bool), asCALL_THISCALL);
     // void ConstantBuffer::SetVector3ArrayParameter(unsigned offset, unsigned rows, const void* data) | File: ../Graphics/ConstantBuffer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // void Object::SubscribeToEvent(StringHash eventType, EventHandler* handler) | File: ../Core/Object.h
     // Error: type "EventHandler*" can not automatically bind
     // void Object::SubscribeToEvent(Object* sender, StringHash eventType, EventHandler* handler) | File: ../Core/Object.h
@@ -4097,7 +4097,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // Vector3 CrowdAgent::GetDesiredVelocity() const | File: ../Navigation/CrowdAgent.h
@@ -4256,7 +4256,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("CrowdAgent", "int Refs() const", asMETHODPR(CrowdAgent, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("CrowdAgent", "int get_refs() const", asMETHODPR(CrowdAgent, Refs, () const, int), asCALL_THISCALL);
     // static void CrowdAgent::RegisterObject(Context* context) | File: ../Navigation/CrowdAgent.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("CrowdAgent", asBEHAVE_RELEASE, "void f()", asMETHODPR(CrowdAgent, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -4474,7 +4474,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float CrowdManager::GetDistanceToWall(const Vector3& point, float radius, int queryFilterType, Vector3* hitPos=nullptr, Vector3* hitNormal=nullptr) | File: ../Navigation/CrowdManager.h
@@ -4617,7 +4617,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("CrowdManager", "int Refs() const", asMETHODPR(CrowdManager, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("CrowdManager", "int get_refs() const", asMETHODPR(CrowdManager, Refs, () const, int), asCALL_THISCALL);
     // static void CrowdManager::RegisterObject(Context* context) | File: ../Navigation/CrowdManager.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("CrowdManager", asBEHAVE_RELEASE, "void f()", asMETHODPR(CrowdManager, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -4899,7 +4899,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Cursor", "IntRect GetCombinedScreenRect()", asMETHODPR(Cursor, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("Cursor", "IntRect get_combinedScreenRect()", asMETHODPR(Cursor, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -5249,7 +5249,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Cursor", "int Refs() const", asMETHODPR(Cursor, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Cursor", "int get_refs() const", asMETHODPR(Cursor, Refs, () const, int), asCALL_THISCALL);
     // static void Cursor::RegisterObject(Context* context) | File: ../UI/Cursor.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Cursor", asBEHAVE_RELEASE, "void f()", asMETHODPR(Cursor, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -5708,7 +5708,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -5918,7 +5918,7 @@ void ASRegisterGenerated_Members_Cn_Cz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("CustomGeometry", "int Refs() const", asMETHODPR(CustomGeometry, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("CustomGeometry", "int get_refs() const", asMETHODPR(CustomGeometry, Refs, () const, int), asCALL_THISCALL);
     // static void CustomGeometry::RegisterObject(Context* context) | File: ../Graphics/CustomGeometry.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("CustomGeometry", asBEHAVE_RELEASE, "void f()", asMETHODPR(CustomGeometry, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h

+ 26 - 26
Source/Urho3D/AngelScript/Generated_Members_Constraint.cpp

@@ -301,7 +301,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Constraint", "ConstraintType GetConstraintType() const", asMETHODPR(Constraint, GetConstraintType, () const, ConstraintType), asCALL_THISCALL);
     engine->RegisterObjectMethod("Constraint", "ConstraintType get_constraintType() const", asMETHODPR(Constraint, GetConstraintType, () const, ConstraintType), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // void Constraint::GetDependencyNodes(PODVector<Node*>& dest) override | File: ../Physics/Constraint.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // bool Constraint::GetDisableCollision() const | File: ../Physics/Constraint.h
@@ -441,7 +441,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Constraint", "int Refs() const", asMETHODPR(Constraint, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Constraint", "int get_refs() const", asMETHODPR(Constraint, Refs, () const, int), asCALL_THISCALL);
     // static void Constraint::RegisterObject(Context* context) | File: ../Physics/Constraint.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint::ReleaseConstraint() | File: ../Physics/Constraint.h
     engine->RegisterObjectMethod("Constraint", "void ReleaseConstraint()", asMETHODPR(Constraint, ReleaseConstraint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -665,7 +665,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -778,7 +778,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Constraint2D", "int Refs() const", asMETHODPR(Constraint2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Constraint2D", "int get_refs() const", asMETHODPR(Constraint2D, Refs, () const, int), asCALL_THISCALL);
     // static void Constraint2D::RegisterObject(Context* context) | File: ../Urho2D/Constraint2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint2D::ReleaseJoint() | File: ../Urho2D/Constraint2D.h
     engine->RegisterObjectMethod("Constraint2D", "void ReleaseJoint()", asMETHODPR(Constraint2D, ReleaseJoint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -968,7 +968,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float ConstraintDistance2D::GetDampingRatio() const | File: ../Urho2D/ConstraintDistance2D.h
     engine->RegisterObjectMethod("ConstraintDistance2D", "float GetDampingRatio() const", asMETHODPR(ConstraintDistance2D, GetDampingRatio, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintDistance2D", "float get_dampingRatio() const", asMETHODPR(ConstraintDistance2D, GetDampingRatio, () const, float), asCALL_THISCALL);
@@ -1096,7 +1096,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstraintDistance2D", "int Refs() const", asMETHODPR(ConstraintDistance2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintDistance2D", "int get_refs() const", asMETHODPR(ConstraintDistance2D, Refs, () const, int), asCALL_THISCALL);
     // static void ConstraintDistance2D::RegisterObject(Context* context) | File: ../Urho2D/ConstraintDistance2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint2D::ReleaseJoint() | File: ../Urho2D/Constraint2D.h
     engine->RegisterObjectMethod("ConstraintDistance2D", "void ReleaseJoint()", asMETHODPR(ConstraintDistance2D, ReleaseJoint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -1308,7 +1308,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -1427,7 +1427,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstraintFriction2D", "int Refs() const", asMETHODPR(ConstraintFriction2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintFriction2D", "int get_refs() const", asMETHODPR(ConstraintFriction2D, Refs, () const, int), asCALL_THISCALL);
     // static void ConstraintFriction2D::RegisterObject(Context* context) | File: ../Urho2D/ConstraintFriction2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint2D::ReleaseJoint() | File: ../Urho2D/Constraint2D.h
     engine->RegisterObjectMethod("ConstraintFriction2D", "void ReleaseJoint()", asMETHODPR(ConstraintFriction2D, ReleaseJoint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -1630,7 +1630,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -1752,7 +1752,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstraintGear2D", "int Refs() const", asMETHODPR(ConstraintGear2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintGear2D", "int get_refs() const", asMETHODPR(ConstraintGear2D, Refs, () const, int), asCALL_THISCALL);
     // static void ConstraintGear2D::RegisterObject(Context* context) | File: ../Urho2D/ConstraintGear2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint2D::ReleaseJoint() | File: ../Urho2D/Constraint2D.h
     engine->RegisterObjectMethod("ConstraintGear2D", "void ReleaseJoint()", asMETHODPR(ConstraintGear2D, ReleaseJoint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -1958,7 +1958,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float ConstraintMotor2D::GetCorrectionFactor() const | File: ../Urho2D/ConstraintMotor2D.h
     engine->RegisterObjectMethod("ConstraintMotor2D", "float GetCorrectionFactor() const", asMETHODPR(ConstraintMotor2D, GetCorrectionFactor, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintMotor2D", "float get_correctionFactor() const", asMETHODPR(ConstraintMotor2D, GetCorrectionFactor, () const, float), asCALL_THISCALL);
@@ -2083,7 +2083,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstraintMotor2D", "int Refs() const", asMETHODPR(ConstraintMotor2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintMotor2D", "int get_refs() const", asMETHODPR(ConstraintMotor2D, Refs, () const, int), asCALL_THISCALL);
     // static void ConstraintMotor2D::RegisterObject(Context* context) | File: ../Urho2D/ConstraintMotor2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint2D::ReleaseJoint() | File: ../Urho2D/Constraint2D.h
     engine->RegisterObjectMethod("ConstraintMotor2D", "void ReleaseJoint()", asMETHODPR(ConstraintMotor2D, ReleaseJoint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -2292,7 +2292,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float ConstraintMouse2D::GetDampingRatio() const | File: ../Urho2D/ConstraintMouse2D.h
     engine->RegisterObjectMethod("ConstraintMouse2D", "float GetDampingRatio() const", asMETHODPR(ConstraintMouse2D, GetDampingRatio, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintMouse2D", "float get_dampingRatio() const", asMETHODPR(ConstraintMouse2D, GetDampingRatio, () const, float), asCALL_THISCALL);
@@ -2417,7 +2417,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstraintMouse2D", "int Refs() const", asMETHODPR(ConstraintMouse2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintMouse2D", "int get_refs() const", asMETHODPR(ConstraintMouse2D, Refs, () const, int), asCALL_THISCALL);
     // static void ConstraintMouse2D::RegisterObject(Context* context) | File: ../Urho2D/ConstraintMouse2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint2D::ReleaseJoint() | File: ../Urho2D/Constraint2D.h
     engine->RegisterObjectMethod("ConstraintMouse2D", "void ReleaseJoint()", asMETHODPR(ConstraintMouse2D, ReleaseJoint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -2629,7 +2629,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // bool ConstraintPrismatic2D::GetEnableLimit() const | File: ../Urho2D/ConstraintPrismatic2D.h
@@ -2760,7 +2760,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstraintPrismatic2D", "int Refs() const", asMETHODPR(ConstraintPrismatic2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintPrismatic2D", "int get_refs() const", asMETHODPR(ConstraintPrismatic2D, Refs, () const, int), asCALL_THISCALL);
     // static void ConstraintPrismatic2D::RegisterObject(Context* context) | File: ../Urho2D/ConstraintPrismatic2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint2D::ReleaseJoint() | File: ../Urho2D/Constraint2D.h
     engine->RegisterObjectMethod("ConstraintPrismatic2D", "void ReleaseJoint()", asMETHODPR(ConstraintPrismatic2D, ReleaseJoint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -2978,7 +2978,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -3106,7 +3106,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstraintPulley2D", "int Refs() const", asMETHODPR(ConstraintPulley2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintPulley2D", "int get_refs() const", asMETHODPR(ConstraintPulley2D, Refs, () const, int), asCALL_THISCALL);
     // static void ConstraintPulley2D::RegisterObject(Context* context) | File: ../Urho2D/ConstraintPulley2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint2D::ReleaseJoint() | File: ../Urho2D/Constraint2D.h
     engine->RegisterObjectMethod("ConstraintPulley2D", "void ReleaseJoint()", asMETHODPR(ConstraintPulley2D, ReleaseJoint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -3318,7 +3318,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // bool ConstraintRevolute2D::GetEnableLimit() const | File: ../Urho2D/ConstraintRevolute2D.h
@@ -3449,7 +3449,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstraintRevolute2D", "int Refs() const", asMETHODPR(ConstraintRevolute2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintRevolute2D", "int get_refs() const", asMETHODPR(ConstraintRevolute2D, Refs, () const, int), asCALL_THISCALL);
     // static void ConstraintRevolute2D::RegisterObject(Context* context) | File: ../Urho2D/ConstraintRevolute2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint2D::ReleaseJoint() | File: ../Urho2D/Constraint2D.h
     engine->RegisterObjectMethod("ConstraintRevolute2D", "void ReleaseJoint()", asMETHODPR(ConstraintRevolute2D, ReleaseJoint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -3664,7 +3664,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -3786,7 +3786,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstraintRope2D", "int Refs() const", asMETHODPR(ConstraintRope2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintRope2D", "int get_refs() const", asMETHODPR(ConstraintRope2D, Refs, () const, int), asCALL_THISCALL);
     // static void ConstraintRope2D::RegisterObject(Context* context) | File: ../Urho2D/ConstraintRope2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint2D::ReleaseJoint() | File: ../Urho2D/Constraint2D.h
     engine->RegisterObjectMethod("ConstraintRope2D", "void ReleaseJoint()", asMETHODPR(ConstraintRope2D, ReleaseJoint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -3992,7 +3992,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float ConstraintWeld2D::GetDampingRatio() const | File: ../Urho2D/ConstraintWeld2D.h
     engine->RegisterObjectMethod("ConstraintWeld2D", "float GetDampingRatio() const", asMETHODPR(ConstraintWeld2D, GetDampingRatio, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintWeld2D", "float get_dampingRatio() const", asMETHODPR(ConstraintWeld2D, GetDampingRatio, () const, float), asCALL_THISCALL);
@@ -4111,7 +4111,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstraintWeld2D", "int Refs() const", asMETHODPR(ConstraintWeld2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintWeld2D", "int get_refs() const", asMETHODPR(ConstraintWeld2D, Refs, () const, int), asCALL_THISCALL);
     // static void ConstraintWeld2D::RegisterObject(Context* context) | File: ../Urho2D/ConstraintWeld2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint2D::ReleaseJoint() | File: ../Urho2D/Constraint2D.h
     engine->RegisterObjectMethod("ConstraintWeld2D", "void ReleaseJoint()", asMETHODPR(ConstraintWeld2D, ReleaseJoint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -4320,7 +4320,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float ConstraintWheel2D::GetDampingRatio() const | File: ../Urho2D/ConstraintWheel2D.h
     engine->RegisterObjectMethod("ConstraintWheel2D", "float GetDampingRatio() const", asMETHODPR(ConstraintWheel2D, GetDampingRatio, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintWheel2D", "float get_dampingRatio() const", asMETHODPR(ConstraintWheel2D, GetDampingRatio, () const, float), asCALL_THISCALL);
@@ -4448,7 +4448,7 @@ void ASRegisterGenerated_Members_Constraint(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ConstraintWheel2D", "int Refs() const", asMETHODPR(ConstraintWheel2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ConstraintWheel2D", "int get_refs() const", asMETHODPR(ConstraintWheel2D, Refs, () const, int), asCALL_THISCALL);
     // static void ConstraintWheel2D::RegisterObject(Context* context) | File: ../Urho2D/ConstraintWheel2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Constraint2D::ReleaseJoint() | File: ../Urho2D/Constraint2D.h
     engine->RegisterObjectMethod("ConstraintWheel2D", "void ReleaseJoint()", asMETHODPR(ConstraintWheel2D, ReleaseJoint, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h

+ 16 - 16
Source/Urho3D/AngelScript/Generated_Members_D.cpp

@@ -251,7 +251,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Database", "const String& GetCategory() const", asMETHODPR(Database, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Database", "const String& get_category() const", asMETHODPR(Database, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Database", "VariantMap& GetEventDataMap() const", asMETHODPR(Database, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -369,7 +369,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     engine->RegisterObjectMethod("DebugHud", "const String& GetCategory() const", asMETHODPR(DebugHud, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("DebugHud", "const String& get_category() const", asMETHODPR(DebugHud, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // XMLFile* DebugHud::GetDefaultStyle() const | File: ../Engine/DebugHud.h
     engine->RegisterObjectMethod("DebugHud", "XMLFile@+ GetDefaultStyle() const", asMETHODPR(DebugHud, GetDefaultStyle, () const, XMLFile*), asCALL_THISCALL);
     engine->RegisterObjectMethod("DebugHud", "XMLFile@+ get_defaultStyle() const", asMETHODPR(DebugHud, GetDefaultStyle, () const, XMLFile*), asCALL_THISCALL);
@@ -556,9 +556,9 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     // void DebugRenderer::AddTriangle(const Vector3& v1, const Vector3& v2, const Vector3& v3, unsigned color, bool depthTest=true) | File: ../Graphics/DebugRenderer.h
     engine->RegisterObjectMethod("DebugRenderer", "void AddTriangle(const Vector3&in, const Vector3&in, const Vector3&in, uint, bool = true)", asMETHODPR(DebugRenderer, AddTriangle, (const Vector3&, const Vector3&, const Vector3&, unsigned, bool), void), asCALL_THISCALL);
     // void DebugRenderer::AddTriangleMesh(const void* vertexData, unsigned vertexSize, const void* indexData, unsigned indexSize, unsigned indexStart, unsigned indexCount, const Matrix3x4& transform, const Color& color, bool depthTest=true) | File: ../Graphics/DebugRenderer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // void DebugRenderer::AddTriangleMesh(const void* vertexData, unsigned vertexSize, unsigned vertexStart, const void* indexData, unsigned indexSize, unsigned indexStart, unsigned indexCount, const Matrix3x4& transform, const Color& color, bool depthTest=true) | File: ../Graphics/DebugRenderer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // void Serializable::AllocateNetworkState() | File: ../Scene/Serializable.h
     engine->RegisterObjectMethod("DebugRenderer", "void AllocateNetworkState()", asMETHODPR(DebugRenderer, AllocateNetworkState, (), void), asCALL_THISCALL);
     // virtual void Serializable::ApplyAttributes() | File: ../Scene/Serializable.h
@@ -610,7 +610,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -728,7 +728,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     engine->RegisterObjectMethod("DebugRenderer", "int Refs() const", asMETHODPR(DebugRenderer, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("DebugRenderer", "int get_refs() const", asMETHODPR(DebugRenderer, Refs, () const, int), asCALL_THISCALL);
     // static void DebugRenderer::RegisterObject(Context* context) | File: ../Graphics/DebugRenderer.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("DebugRenderer", asBEHAVE_RELEASE, "void f()", asMETHODPR(DebugRenderer, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -922,7 +922,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // PODVector<unsigned char> DecalSet::GetDecalsAttr() const | File: ../Graphics/DecalSet.h
     // Error: type "PODVector<unsigned char>" can not automatically bind
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
@@ -1137,7 +1137,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     engine->RegisterObjectMethod("DecalSet", "int Refs() const", asMETHODPR(DecalSet, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("DecalSet", "int get_refs() const", asMETHODPR(DecalSet, Refs, () const, int), asCALL_THISCALL);
     // static void DecalSet::RegisterObject(Context* context) | File: ../Graphics/DecalSet.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("DecalSet", asBEHAVE_RELEASE, "void f()", asMETHODPR(DecalSet, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1502,7 +1502,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -1692,7 +1692,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Drawable", "int Refs() const", asMETHODPR(Drawable, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Drawable", "int get_refs() const", asMETHODPR(Drawable, Refs, () const, int), asCALL_THISCALL);
     // static void Drawable::RegisterObject(Context* context) | File: ../Graphics/Drawable.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Drawable", asBEHAVE_RELEASE, "void f()", asMETHODPR(Drawable, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1923,7 +1923,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -2121,7 +2121,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Drawable2D", "int Refs() const", asMETHODPR(Drawable2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Drawable2D", "int get_refs() const", asMETHODPR(Drawable2D, Refs, () const, int), asCALL_THISCALL);
     // static void Drawable2D::RegisterObject(Context* context) | File: ../Urho2D/Drawable2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Drawable2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(Drawable2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -2435,7 +2435,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     engine->RegisterObjectMethod("DropDownList", "IntRect GetCombinedScreenRect()", asMETHODPR(DropDownList, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("DropDownList", "IntRect get_combinedScreenRect()", asMETHODPR(DropDownList, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -2829,7 +2829,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     engine->RegisterObjectMethod("DropDownList", "int Refs() const", asMETHODPR(DropDownList, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("DropDownList", "int get_refs() const", asMETHODPR(DropDownList, Refs, () const, int), asCALL_THISCALL);
     // static void DropDownList::RegisterObject(Context* context) | File: ../UI/DropDownList.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("DropDownList", asBEHAVE_RELEASE, "void f()", asMETHODPR(DropDownList, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -3342,7 +3342,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float NavigationMesh::GetDetailSampleDistance() const | File: ../Navigation/NavigationMesh.h
@@ -3522,7 +3522,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     engine->RegisterObjectMethod("DynamicNavigationMesh", "int Refs() const", asMETHODPR(DynamicNavigationMesh, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("DynamicNavigationMesh", "int get_refs() const", asMETHODPR(DynamicNavigationMesh, Refs, () const, int), asCALL_THISCALL);
     // static void DynamicNavigationMesh::RegisterObject(Context* context) | File: ../Navigation/DynamicNavigationMesh.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("DynamicNavigationMesh", asBEHAVE_RELEASE, "void f()", asMETHODPR(DynamicNavigationMesh, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h

+ 2 - 2
Source/Urho3D/AngelScript/Generated_Members_E.cpp

@@ -85,7 +85,7 @@ void ASRegisterGenerated_Members_E(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Engine", "const String& GetCategory() const", asMETHODPR(Engine, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Engine", "const String& get_category() const", asMETHODPR(Engine, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Engine", "VariantMap& GetEventDataMap() const", asMETHODPR(Engine, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -269,7 +269,7 @@ void ASRegisterGenerated_Members_E(asIScriptEngine* engine)
     engine->RegisterObjectMethod("EventProfiler", "const String& GetCategory() const", asMETHODPR(EventProfiler, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("EventProfiler", "const String& get_category() const", asMETHODPR(EventProfiler, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // const ProfilerBlock* Profiler::GetCurrentBlock() | File: ../Core/Profiler.h
     // Error: type "ProfilerBlock" can not automatically bind bacause have @nobind mark
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h

+ 8 - 8
Source/Urho3D/AngelScript/Generated_Members_F.cpp

@@ -191,7 +191,7 @@ void ASRegisterGenerated_Members_F(asIScriptEngine* engine)
     engine->RegisterObjectMethod("File", "uint GetChecksum()", asMETHODPR(File, GetChecksum, (), unsigned), asCALL_THISCALL);
     engine->RegisterObjectMethod("File", "uint get_checksum()", asMETHODPR(File, GetChecksum, (), unsigned), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("File", "VariantMap& GetEventDataMap() const", asMETHODPR(File, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -390,7 +390,7 @@ void ASRegisterGenerated_Members_F(asIScriptEngine* engine)
     engine->RegisterObjectMethod("File", "int WeakRefs() const", asMETHODPR(File, WeakRefs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("File", "int get_weakRefs() const", asMETHODPR(File, WeakRefs, () const, int), asCALL_THISCALL);
     // unsigned File::Write(const void* data, unsigned size) override | File: ../IO/File.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool Serializer::WriteBool(bool value) | File: ../IO/Serializer.h
     engine->RegisterObjectMethod("File", "bool WriteBool(bool)", asMETHODPR(File, WriteBool, (bool), bool), asCALL_THISCALL);
     // bool Serializer::WriteBoundingBox(const BoundingBox& value) | File: ../IO/Serializer.h
@@ -514,7 +514,7 @@ void ASRegisterGenerated_Members_F(asIScriptEngine* engine)
     // Button* FileSelector::GetCloseButton() const | File: ../UI/FileSelector.h
     engine->RegisterObjectMethod("FileSelector", "Button@+ GetCloseButton() const", asMETHODPR(FileSelector, GetCloseButton, () const, Button*), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // XMLFile* FileSelector::GetDefaultStyle() const | File: ../UI/FileSelector.h
     engine->RegisterObjectMethod("FileSelector", "XMLFile@+ GetDefaultStyle() const", asMETHODPR(FileSelector, GetDefaultStyle, () const, XMLFile*), asCALL_THISCALL);
     engine->RegisterObjectMethod("FileSelector", "XMLFile@+ get_defaultStyle() const", asMETHODPR(FileSelector, GetDefaultStyle, () const, XMLFile*), asCALL_THISCALL);
@@ -603,7 +603,7 @@ void ASRegisterGenerated_Members_F(asIScriptEngine* engine)
     engine->RegisterObjectMethod("FileSelector", "int Refs() const", asMETHODPR(FileSelector, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("FileSelector", "int get_refs() const", asMETHODPR(FileSelector, Refs, () const, int), asCALL_THISCALL);
     // static void FileSelector::RegisterObject(Context* context) | File: ../UI/FileSelector.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("FileSelector", asBEHAVE_RELEASE, "void f()", asMETHODPR(FileSelector, ReleaseRef, (), void), asCALL_THISCALL);
     // void Object::SendEvent(StringHash eventType) | File: ../Core/Object.h
@@ -699,7 +699,7 @@ void ASRegisterGenerated_Members_F(asIScriptEngine* engine)
     engine->RegisterObjectMethod("FileSystem", "const String& GetCategory() const", asMETHODPR(FileSystem, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("FileSystem", "const String& get_category() const", asMETHODPR(FileSystem, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // String FileSystem::GetCurrentDir() const | File: ../IO/FileSystem.h
     engine->RegisterObjectMethod("FileSystem", "String GetCurrentDir() const", asMETHODPR(FileSystem, GetCurrentDir, () const, String), asCALL_THISCALL);
     engine->RegisterObjectMethod("FileSystem", "String get_currentDir() const", asMETHODPR(FileSystem, GetCurrentDir, () const, String), asCALL_THISCALL);
@@ -850,7 +850,7 @@ void ASRegisterGenerated_Members_F(asIScriptEngine* engine)
     engine->RegisterObjectMethod("FileWatcher", "const String& GetCategory() const", asMETHODPR(FileWatcher, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("FileWatcher", "const String& get_category() const", asMETHODPR(FileWatcher, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // static ThreadID Thread::GetCurrentThreadID() | File: ../Core/Thread.h
     // Not registered because have @nobind mark
     // float FileWatcher::GetDelay() const | File: ../IO/FileWatcher.h
@@ -1000,7 +1000,7 @@ void ASRegisterGenerated_Members_F(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Font", "const String& GetCategory() const", asMETHODPR(Font, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Font", "const String& get_category() const", asMETHODPR(Font, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Font", "VariantMap& GetEventDataMap() const", asMETHODPR(Font, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -1075,7 +1075,7 @@ void ASRegisterGenerated_Members_F(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Font", "int Refs() const", asMETHODPR(Font, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Font", "int get_refs() const", asMETHODPR(Font, Refs, () const, int), asCALL_THISCALL);
     // static void Font::RegisterObject(Context* context) | File: ../UI/Font.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Font::ReleaseFaces() | File: ../UI/Font.h
     engine->RegisterObjectMethod("Font", "void ReleaseFaces()", asMETHODPR(Font, ReleaseFaces, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h

+ 3 - 3
Source/Urho3D/AngelScript/Generated_Members_G.cpp

@@ -136,7 +136,7 @@ void ASRegisterGenerated_Members_G(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Geometry", "const String& GetCategory() const", asMETHODPR(Geometry, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Geometry", "const String& get_category() const", asMETHODPR(Geometry, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Geometry", "VariantMap& GetEventDataMap() const", asMETHODPR(Geometry, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -359,7 +359,7 @@ void ASRegisterGenerated_Members_G(asIScriptEngine* engine)
     // bool Graphics::GetColorWrite() const | File: ../Graphics/Graphics.h
     engine->RegisterObjectMethod("Graphics", "bool GetColorWrite() const", asMETHODPR(Graphics, GetColorWrite, () const, bool), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // CullMode Graphics::GetCullMode() const | File: ../Graphics/Graphics.h
     engine->RegisterObjectMethod("Graphics", "CullMode GetCullMode() const", asMETHODPR(Graphics, GetCullMode, () const, CullMode), asCALL_THISCALL);
     // int Graphics::GetCurrentMonitor() const | File: ../Graphics/Graphics.h
@@ -680,7 +680,7 @@ void ASRegisterGenerated_Members_G(asIScriptEngine* engine)
     // void Graphics::Minimize() | File: ../Graphics/Graphics.h
     engine->RegisterObjectMethod("Graphics", "void Minimize()", asMETHODPR(Graphics, Minimize, (), void), asCALL_THISCALL);
     // bool Graphics::NeedParameterUpdate(ShaderParameterGroup group, const void* source) | File: ../Graphics/Graphics.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // virtual void Object::OnEvent(Object* sender, StringHash eventType, VariantMap& eventData) | File: ../Core/Object.h
     engine->RegisterObjectMethod("Graphics", "void OnEvent(Object@+, StringHash, VariantMap&)", asMETHODPR(Graphics, OnEvent, (Object*, StringHash, VariantMap&), void), asCALL_THISCALL);
     // void Graphics::OnWindowMoved() | File: ../Graphics/Graphics.h

+ 12 - 12
Source/Urho3D/AngelScript/Generated_Members_I.cpp

@@ -222,7 +222,7 @@ void ASRegisterGenerated_Members_I(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -335,7 +335,7 @@ void ASRegisterGenerated_Members_I(asIScriptEngine* engine)
     engine->RegisterObjectMethod("IKConstraint", "int Refs() const", asMETHODPR(IKConstraint, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("IKConstraint", "int get_refs() const", asMETHODPR(IKConstraint, Refs, () const, int), asCALL_THISCALL);
     // static void IKConstraint::RegisterObject(Context* context) | File: ../IK/IKConstraint.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("IKConstraint", asBEHAVE_RELEASE, "void f()", asMETHODPR(IKConstraint, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -517,7 +517,7 @@ void ASRegisterGenerated_Members_I(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -653,7 +653,7 @@ void ASRegisterGenerated_Members_I(asIScriptEngine* engine)
     engine->RegisterObjectMethod("IKEffector", "int Refs() const", asMETHODPR(IKEffector, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("IKEffector", "int get_refs() const", asMETHODPR(IKEffector, Refs, () const, int), asCALL_THISCALL);
     // static void IKEffector::RegisterObject(Context* context) | File: ../IK/IKEffector.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("IKEffector", asBEHAVE_RELEASE, "void f()", asMETHODPR(IKEffector, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -878,7 +878,7 @@ void ASRegisterGenerated_Members_I(asIScriptEngine* engine)
     engine->RegisterObjectMethod("IKSolver", "bool GetCONSTRAINTS() const", asMETHODPR(IKSolver, GetCONSTRAINTS, () const, bool), asCALL_THISCALL);
     engine->RegisterObjectMethod("IKSolver", "bool get_CONSTRAINTS() const", asMETHODPR(IKSolver, GetCONSTRAINTS, () const, bool), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -1012,7 +1012,7 @@ void ASRegisterGenerated_Members_I(asIScriptEngine* engine)
     engine->RegisterObjectMethod("IKSolver", "int Refs() const", asMETHODPR(IKSolver, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("IKSolver", "int get_refs() const", asMETHODPR(IKSolver, Refs, () const, int), asCALL_THISCALL);
     // static void IKSolver::RegisterObject(Context* context) | File: ../IK/IKSolver.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("IKSolver", asBEHAVE_RELEASE, "void f()", asMETHODPR(IKSolver, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1200,7 +1200,7 @@ void ASRegisterGenerated_Members_I(asIScriptEngine* engine)
     // CompressedLevel Image::GetCompressedLevel(unsigned index) const | File: ../Resource/Image.h
     engine->RegisterObjectMethod("Image", "CompressedLevel GetCompressedLevel(uint) const", asMETHODPR(Image, GetCompressedLevel, (unsigned) const, CompressedLevel), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // unsigned char* Image::GetData() const | File: ../Resource/Image.h
     // Error: type "unsigned char*" can not automatically bind
     // SharedPtr<Image> Image::GetDecompressedImage() const | File: ../Resource/Image.h
@@ -1324,7 +1324,7 @@ void ASRegisterGenerated_Members_I(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Image", "int Refs() const", asMETHODPR(Image, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Image", "int get_refs() const", asMETHODPR(Image, Refs, () const, int), asCALL_THISCALL);
     // static void Image::RegisterObject(Context* context) | File: ../Resource/Image.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Image", asBEHAVE_RELEASE, "void f()", asMETHODPR(Image, ReleaseRef, (), void), asCALL_THISCALL);
     // void Resource::ResetUseTimer() | File: ../Resource/Resource.h
@@ -1433,7 +1433,7 @@ void ASRegisterGenerated_Members_I(asIScriptEngine* engine)
     engine->RegisterObjectMethod("IndexBuffer", "const String& GetCategory() const", asMETHODPR(IndexBuffer, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("IndexBuffer", "const String& get_category() const", asMETHODPR(IndexBuffer, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("IndexBuffer", "VariantMap& GetEventDataMap() const", asMETHODPR(IndexBuffer, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -1531,9 +1531,9 @@ void ASRegisterGenerated_Members_I(asIScriptEngine* engine)
     // void Object::SetBlockEvents(bool block) | File: ../Core/Object.h
     engine->RegisterObjectMethod("IndexBuffer", "void SetBlockEvents(bool)", asMETHODPR(IndexBuffer, SetBlockEvents, (bool), void), asCALL_THISCALL);
     // bool IndexBuffer::SetData(const void* data) | File: ../Graphics/IndexBuffer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool IndexBuffer::SetDataRange(const void* data, unsigned start, unsigned count, bool discard=false) | File: ../Graphics/IndexBuffer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // void Object::SetGlobalVar(StringHash key, const Variant& value) | File: ../Core/Object.h
     engine->RegisterObjectMethod("IndexBuffer", "void SetGlobalVar(StringHash, const Variant&in)", asMETHODPR(IndexBuffer, SetGlobalVar, (StringHash, const Variant&), void), asCALL_THISCALL);
     engine->RegisterObjectMethod("IndexBuffer", "void set_globalVar(StringHash, const Variant&in)", asMETHODPR(IndexBuffer, SetGlobalVar, (StringHash, const Variant&), void), asCALL_THISCALL);
@@ -1596,7 +1596,7 @@ void ASRegisterGenerated_Members_I(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Input", "const String& GetCategory() const", asMETHODPR(Input, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Input", "const String& get_category() const", asMETHODPR(Input, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Input", "VariantMap& GetEventDataMap() const", asMETHODPR(Input, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h

+ 26 - 5
Source/Urho3D/AngelScript/Generated_Members_J.cpp

@@ -67,6 +67,27 @@ static void JSONValue_JSONValue_JSONValue(JSONValue* ptr, const JSONValue &value
     new(ptr) JSONValue(value);
 }
 
+// void JSONValue::SetVariant(const Variant& variant, Context* context=nullptr) | File: ../Resource/JSONValue.h
+static void JSONValue_SetVariant_Variant_Context(JSONValue* ptr, const Variant& variant)
+{
+    Context* context = GetScriptContext();
+    ptr->SetVariant(variant, context);
+}
+
+// void JSONValue::SetVariantMap(const VariantMap& variantMap, Context* context=nullptr) | File: ../Resource/JSONValue.h
+static void JSONValue_SetVariantMap_VariantMap_Context(JSONValue* ptr, const VariantMap& variantMap)
+{
+    Context* context = GetScriptContext();
+    ptr->SetVariantMap(variantMap, context);
+}
+
+// void JSONValue::SetVariantValue(const Variant& variant, Context* context=nullptr) | File: ../Resource/JSONValue.h
+static void JSONValue_SetVariantValue_Variant_Context(JSONValue* ptr, const Variant& variant)
+{
+    Context* context = GetScriptContext();
+    ptr->SetVariantValue(variant, context);
+}
+
 void ASRegisterGenerated_Members_J(asIScriptEngine* engine)
 {
     // void RefCounted::AddRef() | File: ../Container/RefCounted.h
@@ -89,7 +110,7 @@ void ASRegisterGenerated_Members_J(asIScriptEngine* engine)
     engine->RegisterObjectMethod("JSONFile", "const String& GetCategory() const", asMETHODPR(JSONFile, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("JSONFile", "const String& get_category() const", asMETHODPR(JSONFile, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("JSONFile", "VariantMap& GetEventDataMap() const", asMETHODPR(JSONFile, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -159,7 +180,7 @@ void ASRegisterGenerated_Members_J(asIScriptEngine* engine)
     engine->RegisterObjectMethod("JSONFile", "int Refs() const", asMETHODPR(JSONFile, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("JSONFile", "int get_refs() const", asMETHODPR(JSONFile, Refs, () const, int), asCALL_THISCALL);
     // static void JSONFile::RegisterObject(Context* context) | File: ../Resource/JSONFile.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("JSONFile", asBEHAVE_RELEASE, "void f()", asMETHODPR(JSONFile, ReleaseRef, (), void), asCALL_THISCALL);
     // void Resource::ResetUseTimer() | File: ../Resource/Resource.h
@@ -401,11 +422,11 @@ void ASRegisterGenerated_Members_J(asIScriptEngine* engine)
     // void JSONValue::SetType(JSONValueType valueType, JSONNumberType numberType=JSONNT_NAN) | File: ../Resource/JSONValue.h
     engine->RegisterObjectMethod("JSONValue", "void SetType(JSONValueType, JSONNumberType = JSONNT_NAN)", asMETHODPR(JSONValue, SetType, (JSONValueType, JSONNumberType), void), asCALL_THISCALL);
     // void JSONValue::SetVariant(const Variant& variant, Context* context=nullptr) | File: ../Resource/JSONValue.h
-    // Context can be used as firs parameter of constructors only
+    engine->RegisterObjectMethod("JSONValue", "void SetVariant(const Variant&in)", asFUNCTION(JSONValue_SetVariant_Variant_Context), asCALL_CDECL_OBJFIRST);
     // void JSONValue::SetVariantMap(const VariantMap& variantMap, Context* context=nullptr) | File: ../Resource/JSONValue.h
-    // Context can be used as firs parameter of constructors only
+    engine->RegisterObjectMethod("JSONValue", "void SetVariantMap(const VariantMap&in)", asFUNCTION(JSONValue_SetVariantMap_VariantMap_Context), asCALL_CDECL_OBJFIRST);
     // void JSONValue::SetVariantValue(const Variant& variant, Context* context=nullptr) | File: ../Resource/JSONValue.h
-    // Context can be used as firs parameter of constructors only
+    engine->RegisterObjectMethod("JSONValue", "void SetVariantValue(const Variant&in)", asFUNCTION(JSONValue_SetVariantValue_Variant_Context), asCALL_CDECL_OBJFIRST);
     // void JSONValue::SetVariantVector(const VariantVector& variantVector, Context* context=nullptr) | File: ../Resource/JSONValue.h
     // Error: type "const VariantVector&" can not automatically bind
     // unsigned JSONValue::Size() const | File: ../Resource/JSONValue.h

+ 10 - 10
Source/Urho3D/AngelScript/Generated_Members_L.cpp

@@ -263,7 +263,7 @@ void ASRegisterGenerated_Members_L(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -546,7 +546,7 @@ void ASRegisterGenerated_Members_L(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Light", "int Refs() const", asMETHODPR(Light, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Light", "int get_refs() const", asMETHODPR(Light, Refs, () const, int), asCALL_THISCALL);
     // static void Light::RegisterObject(Context* context) | File: ../Graphics/Light.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Light", asBEHAVE_RELEASE, "void f()", asMETHODPR(Light, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -922,7 +922,7 @@ void ASRegisterGenerated_Members_L(asIScriptEngine* engine)
     engine->RegisterObjectMethod("LineEdit", "IntRect GetCombinedScreenRect()", asMETHODPR(LineEdit, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("LineEdit", "IntRect get_combinedScreenRect()", asMETHODPR(LineEdit, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // BorderImage* LineEdit::GetCursor() const | File: ../UI/LineEdit.h
     engine->RegisterObjectMethod("LineEdit", "BorderImage@+ GetCursor() const", asMETHODPR(LineEdit, GetCursor, () const, BorderImage*), asCALL_THISCALL);
     engine->RegisterObjectMethod("LineEdit", "BorderImage@+ get_cursor() const", asMETHODPR(LineEdit, GetCursor, () const, BorderImage*), asCALL_THISCALL);
@@ -1296,7 +1296,7 @@ void ASRegisterGenerated_Members_L(asIScriptEngine* engine)
     engine->RegisterObjectMethod("LineEdit", "int Refs() const", asMETHODPR(LineEdit, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("LineEdit", "int get_refs() const", asMETHODPR(LineEdit, Refs, () const, int), asCALL_THISCALL);
     // static void LineEdit::RegisterObject(Context* context) | File: ../UI/LineEdit.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("LineEdit", asBEHAVE_RELEASE, "void f()", asMETHODPR(LineEdit, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -1851,7 +1851,7 @@ void ASRegisterGenerated_Members_L(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ListView", "UIElement@+ GetContentElement() const", asMETHODPR(ListView, GetContentElement, () const, UIElement*), asCALL_THISCALL);
     engine->RegisterObjectMethod("ListView", "UIElement@+ get_contentElement() const", asMETHODPR(ListView, GetContentElement, () const, UIElement*), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -2238,7 +2238,7 @@ void ASRegisterGenerated_Members_L(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ListView", "int Refs() const", asMETHODPR(ListView, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ListView", "int get_refs() const", asMETHODPR(ListView, Refs, () const, int), asCALL_THISCALL);
     // static void ListView::RegisterObject(Context* context) | File: ../UI/ListView.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("ListView", asBEHAVE_RELEASE, "void f()", asMETHODPR(ListView, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -2653,7 +2653,7 @@ void ASRegisterGenerated_Members_L(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Localization", "const String& GetCategory() const", asMETHODPR(Localization, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Localization", "const String& get_category() const", asMETHODPR(Localization, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Localization", "VariantMap& GetEventDataMap() const", asMETHODPR(Localization, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -2786,7 +2786,7 @@ void ASRegisterGenerated_Members_L(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Log", "const String& GetCategory() const", asMETHODPR(Log, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Log", "const String& get_category() const", asMETHODPR(Log, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Log", "VariantMap& GetEventDataMap() const", asMETHODPR(Log, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -2964,7 +2964,7 @@ void ASRegisterGenerated_Members_L(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -3067,7 +3067,7 @@ void ASRegisterGenerated_Members_L(asIScriptEngine* engine)
     engine->RegisterObjectMethod("LogicComponent", "int Refs() const", asMETHODPR(LogicComponent, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("LogicComponent", "int get_refs() const", asMETHODPR(LogicComponent, Refs, () const, int), asCALL_THISCALL);
     // static void Animatable::RegisterObject(Context* context) | File: ../Scene/Animatable.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("LogicComponent", asBEHAVE_RELEASE, "void f()", asMETHODPR(LogicComponent, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h

+ 8 - 8
Source/Urho3D/AngelScript/Generated_Members_M.cpp

@@ -256,7 +256,7 @@ void ASRegisterGenerated_Members_M(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Material", "const String& GetCategory() const", asMETHODPR(Material, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Material", "const String& get_category() const", asMETHODPR(Material, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // CullMode Material::GetCullMode() const | File: ../Graphics/Material.h
     engine->RegisterObjectMethod("Material", "CullMode GetCullMode() const", asMETHODPR(Material, GetCullMode, () const, CullMode), asCALL_THISCALL);
     engine->RegisterObjectMethod("Material", "CullMode get_cullMode() const", asMETHODPR(Material, GetCullMode, () const, CullMode), asCALL_THISCALL);
@@ -395,7 +395,7 @@ void ASRegisterGenerated_Members_M(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Material", "int Refs() const", asMETHODPR(Material, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Material", "int get_refs() const", asMETHODPR(Material, Refs, () const, int), asCALL_THISCALL);
     // static void Material::RegisterObject(Context* context) | File: ../Graphics/Material.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Material", asBEHAVE_RELEASE, "void f()", asMETHODPR(Material, ReleaseRef, (), void), asCALL_THISCALL);
     // void Material::ReleaseShaders() | File: ../Graphics/Material.h
@@ -1036,7 +1036,7 @@ void ASRegisterGenerated_Members_M(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Menu", "IntRect GetCombinedScreenRect()", asMETHODPR(Menu, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("Menu", "IntRect get_combinedScreenRect()", asMETHODPR(Menu, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -1404,7 +1404,7 @@ void ASRegisterGenerated_Members_M(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Menu", "int Refs() const", asMETHODPR(Menu, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Menu", "int get_refs() const", asMETHODPR(Menu, Refs, () const, int), asCALL_THISCALL);
     // static void Menu::RegisterObject(Context* context) | File: ../UI/Menu.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Menu", asBEHAVE_RELEASE, "void f()", asMETHODPR(Menu, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -1811,7 +1811,7 @@ void ASRegisterGenerated_Members_M(asIScriptEngine* engine)
     engine->RegisterObjectMethod("MessageBox", "const String& GetCategory() const", asMETHODPR(MessageBox, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("MessageBox", "const String& get_category() const", asMETHODPR(MessageBox, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("MessageBox", "VariantMap& GetEventDataMap() const", asMETHODPR(MessageBox, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -1869,7 +1869,7 @@ void ASRegisterGenerated_Members_M(asIScriptEngine* engine)
     engine->RegisterObjectMethod("MessageBox", "int Refs() const", asMETHODPR(MessageBox, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("MessageBox", "int get_refs() const", asMETHODPR(MessageBox, Refs, () const, int), asCALL_THISCALL);
     // static void MessageBox::RegisterObject(Context* context) | File: ../UI/MessageBox.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("MessageBox", asBEHAVE_RELEASE, "void f()", asMETHODPR(MessageBox, ReleaseRef, (), void), asCALL_THISCALL);
     // void Object::SendEvent(StringHash eventType) | File: ../Core/Object.h
@@ -1948,7 +1948,7 @@ void ASRegisterGenerated_Members_M(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Model", "const String& GetCategory() const", asMETHODPR(Model, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Model", "const String& get_category() const", asMETHODPR(Model, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Model", "VariantMap& GetEventDataMap() const", asMETHODPR(Model, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -2058,7 +2058,7 @@ void ASRegisterGenerated_Members_M(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Model", "int Refs() const", asMETHODPR(Model, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Model", "int get_refs() const", asMETHODPR(Model, Refs, () const, int), asCALL_THISCALL);
     // static void Model::RegisterObject(Context* context) | File: ../Graphics/Model.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Model", asBEHAVE_RELEASE, "void f()", asMETHODPR(Model, ReleaseRef, (), void), asCALL_THISCALL);
     // void ResourceWithMetadata::RemoveAllMetadata() | File: ../Resource/Resource.h

+ 13 - 13
Source/Urho3D/AngelScript/Generated_Members_N.cpp

@@ -223,7 +223,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     engine->RegisterObjectMethod("NamedPipe", "uint GetChecksum()", asMETHODPR(NamedPipe, GetChecksum, (), unsigned), asCALL_THISCALL);
     engine->RegisterObjectMethod("NamedPipe", "uint get_checksum()", asMETHODPR(NamedPipe, GetChecksum, (), unsigned), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("NamedPipe", "VariantMap& GetEventDataMap() const", asMETHODPR(NamedPipe, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -419,7 +419,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     engine->RegisterObjectMethod("NamedPipe", "int WeakRefs() const", asMETHODPR(NamedPipe, WeakRefs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("NamedPipe", "int get_weakRefs() const", asMETHODPR(NamedPipe, WeakRefs, () const, int), asCALL_THISCALL);
     // unsigned NamedPipe::Write(const void* data, unsigned size) override | File: ../IO/NamedPipe.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool Serializer::WriteBool(bool value) | File: ../IO/Serializer.h
     engine->RegisterObjectMethod("NamedPipe", "bool WriteBool(bool)", asMETHODPR(NamedPipe, WriteBool, (bool), bool), asCALL_THISCALL);
     // bool Serializer::WriteBoundingBox(const BoundingBox& value) | File: ../IO/Serializer.h
@@ -584,7 +584,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -694,7 +694,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     engine->RegisterObjectMethod("NavArea", "int Refs() const", asMETHODPR(NavArea, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("NavArea", "int get_refs() const", asMETHODPR(NavArea, Refs, () const, int), asCALL_THISCALL);
     // static void NavArea::RegisterObject(Context* context) | File: ../Navigation/NavArea.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("NavArea", asBEHAVE_RELEASE, "void f()", asMETHODPR(NavArea, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -871,7 +871,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -981,7 +981,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Navigable", "int Refs() const", asMETHODPR(Navigable, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Navigable", "int get_refs() const", asMETHODPR(Navigable, Refs, () const, int), asCALL_THISCALL);
     // static void Navigable::RegisterObject(Context* context) | File: ../Navigation/Navigable.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Navigable", asBEHAVE_RELEASE, "void f()", asMETHODPR(Navigable, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1196,7 +1196,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float NavigationMesh::GetDetailSampleDistance() const | File: ../Navigation/NavigationMesh.h
@@ -1367,7 +1367,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     engine->RegisterObjectMethod("NavigationMesh", "int Refs() const", asMETHODPR(NavigationMesh, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("NavigationMesh", "int get_refs() const", asMETHODPR(NavigationMesh, Refs, () const, int), asCALL_THISCALL);
     // static void NavigationMesh::RegisterObject(Context* context) | File: ../Navigation/NavigationMesh.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("NavigationMesh", asBEHAVE_RELEASE, "void f()", asMETHODPR(NavigationMesh, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1587,7 +1587,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     // Connection* Network::GetConnection(const SLNet::AddressOrGUID& connection) const | File: ../Network/Network.h
     // Error: type "const SLNet::AddressOrGUID&" can not automatically bind
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Network", "VariantMap& GetEventDataMap() const", asMETHODPR(Network, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -1807,7 +1807,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float NetworkPriority::GetDistanceFactor() const | File: ../Network/NetworkPriority.h
@@ -1920,7 +1920,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     engine->RegisterObjectMethod("NetworkPriority", "int Refs() const", asMETHODPR(NetworkPriority, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("NetworkPriority", "int get_refs() const", asMETHODPR(NetworkPriority, Refs, () const, int), asCALL_THISCALL);
     // static void NetworkPriority::RegisterObject(Context* context) | File: ../Network/NetworkPriority.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("NetworkPriority", asBEHAVE_RELEASE, "void f()", asMETHODPR(NetworkPriority, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -2154,7 +2154,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     // template<class T> void Node::GetComponents(PODVector<T*>& dest, bool recursive=false) const | File: ../Scene/Node.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // const PODVector<Node*>& Node::GetDependencyNodes() const | File: ../Scene/Node.h
     engine->RegisterObjectMethod("Node", "Array<Node@>@ GetDependencyNodes() const", asFUNCTION(Node_GetDependencyNodes_void), asCALL_CDECL_OBJFIRST);
     // template<class T> T*  Node::GetDerivedComponent(bool recursive=false) const | File: ../Scene/Node.h
@@ -2400,7 +2400,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Node", "int Refs() const", asMETHODPR(Node, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Node", "int get_refs() const", asMETHODPR(Node, Refs, () const, int), asCALL_THISCALL);
     // static void Node::RegisterObject(Context* context) | File: ../Scene/Node.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Node", asBEHAVE_RELEASE, "void f()", asMETHODPR(Node, ReleaseRef, (), void), asCALL_THISCALL);
     // void Node::Remove() | File: ../Scene/Node.h

+ 13 - 13
Source/Urho3D/AngelScript/Generated_Members_O.cpp

@@ -119,7 +119,7 @@ void ASRegisterGenerated_Members_O(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Object", "const String& GetCategory() const", asMETHODPR(Object, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Object", "const String& get_category() const", asMETHODPR(Object, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Object", "VariantMap& GetEventDataMap() const", asMETHODPR(Object, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -240,7 +240,7 @@ void ASRegisterGenerated_Members_O(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ObjectAnimation", "const String& GetCategory() const", asMETHODPR(ObjectAnimation, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("ObjectAnimation", "const String& get_category() const", asMETHODPR(ObjectAnimation, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("ObjectAnimation", "VariantMap& GetEventDataMap() const", asMETHODPR(ObjectAnimation, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -309,7 +309,7 @@ void ASRegisterGenerated_Members_O(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ObjectAnimation", "int Refs() const", asMETHODPR(ObjectAnimation, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ObjectAnimation", "int get_refs() const", asMETHODPR(ObjectAnimation, Refs, () const, int), asCALL_THISCALL);
     // static void ObjectAnimation::RegisterObject(Context* context) | File: ../Scene/ObjectAnimation.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("ObjectAnimation", asBEHAVE_RELEASE, "void f()", asMETHODPR(ObjectAnimation, ReleaseRef, (), void), asCALL_THISCALL);
     // void ObjectAnimation::RemoveAttributeAnimation(const String& name) | File: ../Scene/ObjectAnimation.h
@@ -387,7 +387,7 @@ void ASRegisterGenerated_Members_O(asIScriptEngine* engine)
     // virtual SharedPtr<Object> ObjectFactory::CreateObject()=0 | File: ../Core/Object.h
     engine->RegisterObjectMethod("ObjectFactory", "Object@+ CreateObject()", asFUNCTION(ObjectFactory_CreateObject_void), asCALL_CDECL_OBJFIRST);
     // Context* ObjectFactory::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // StringHash ObjectFactory::GetType() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("ObjectFactory", "StringHash GetType() const", asMETHODPR(ObjectFactory, GetType, () const, StringHash), asCALL_THISCALL);
     // const TypeInfo* ObjectFactory::GetTypeInfo() const | File: ../Core/Object.h
@@ -468,7 +468,7 @@ void ASRegisterGenerated_Members_O(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -584,7 +584,7 @@ void ASRegisterGenerated_Members_O(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Obstacle", "int Refs() const", asMETHODPR(Obstacle, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Obstacle", "int get_refs() const", asMETHODPR(Obstacle, Refs, () const, int), asCALL_THISCALL);
     // static void Obstacle::RegisterObject(Context* context) | File: ../Navigation/Obstacle.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Obstacle", asBEHAVE_RELEASE, "void f()", asMETHODPR(Obstacle, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -710,9 +710,9 @@ void ASRegisterGenerated_Members_O(asIScriptEngine* engine)
     // void RefCounted::AddRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("OcclusionBuffer", asBEHAVE_ADDREF, "void f()", asMETHODPR(OcclusionBuffer, AddRef, (), void), asCALL_THISCALL);
     // bool OcclusionBuffer::AddTriangles(const Matrix3x4& model, const void* vertexData, unsigned vertexSize, unsigned vertexStart, unsigned vertexCount) | File: ../Graphics/OcclusionBuffer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool OcclusionBuffer::AddTriangles(const Matrix3x4& model, const void* vertexData, unsigned vertexSize, const void* indexData, unsigned indexSize, unsigned indexStart, unsigned indexCount) | File: ../Graphics/OcclusionBuffer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // void OcclusionBuffer::BuildDepthHierarchy() | File: ../Graphics/OcclusionBuffer.h
     engine->RegisterObjectMethod("OcclusionBuffer", "void BuildDepthHierarchy()", asMETHODPR(OcclusionBuffer, BuildDepthHierarchy, (), void), asCALL_THISCALL);
     // template<typename T> T* Object::Cast() | File: ../Core/Object.h
@@ -733,7 +733,7 @@ void ASRegisterGenerated_Members_O(asIScriptEngine* engine)
     engine->RegisterObjectMethod("OcclusionBuffer", "const String& GetCategory() const", asMETHODPR(OcclusionBuffer, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("OcclusionBuffer", "const String& get_category() const", asMETHODPR(OcclusionBuffer, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // CullMode OcclusionBuffer::GetCullMode() const | File: ../Graphics/OcclusionBuffer.h
     engine->RegisterObjectMethod("OcclusionBuffer", "CullMode GetCullMode() const", asMETHODPR(OcclusionBuffer, GetCullMode, () const, CullMode), asCALL_THISCALL);
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -924,7 +924,7 @@ void ASRegisterGenerated_Members_O(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // const BoundingBox& Octant::GetCullingBox() const | File: ../Graphics/Octree.h
     engine->RegisterObjectMethod("Octree", "const BoundingBox& GetCullingBox() const", asMETHODPR(Octree, GetCullingBox, () const, const BoundingBox&), asCALL_THISCALL);
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
@@ -1061,7 +1061,7 @@ void ASRegisterGenerated_Members_O(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Octree", "int Refs() const", asMETHODPR(Octree, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Octree", "int get_refs() const", asMETHODPR(Octree, Refs, () const, int), asCALL_THISCALL);
     // static void Octree::RegisterObject(Context* context) | File: ../Graphics/Octree.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Octree", asBEHAVE_RELEASE, "void f()", asMETHODPR(Octree, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1247,7 +1247,7 @@ void ASRegisterGenerated_Members_O(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // Node* OffMeshConnection::GetEndPoint() const | File: ../Navigation/OffMeshConnection.h
@@ -1366,7 +1366,7 @@ void ASRegisterGenerated_Members_O(asIScriptEngine* engine)
     engine->RegisterObjectMethod("OffMeshConnection", "int Refs() const", asMETHODPR(OffMeshConnection, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("OffMeshConnection", "int get_refs() const", asMETHODPR(OffMeshConnection, Refs, () const, int), asCALL_THISCALL);
     // static void OffMeshConnection::RegisterObject(Context* context) | File: ../Navigation/OffMeshConnection.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("OffMeshConnection", asBEHAVE_RELEASE, "void f()", asMETHODPR(OffMeshConnection, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h

+ 16 - 16
Source/Urho3D/AngelScript/Generated_Members_P.cpp

@@ -344,7 +344,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     engine->RegisterObjectMethod("PackageFile", "uint GetChecksum() const", asMETHODPR(PackageFile, GetChecksum, () const, unsigned), asCALL_THISCALL);
     engine->RegisterObjectMethod("PackageFile", "uint get_checksum() const", asMETHODPR(PackageFile, GetChecksum, () const, unsigned), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // const HashMap<String, PackageEntry>& PackageFile::GetEntries() const | File: ../IO/PackageFile.h
     // Error: type "const HashMap<String, PackageEntry>&" can not automatically bind
     // const PackageEntry* PackageFile::GetEntry(const String& fileName) const | File: ../IO/PackageFile.h
@@ -506,7 +506,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ParticleEffect", "const Vector3& GetConstantForce() const", asMETHODPR(ParticleEffect, GetConstantForce, () const, const Vector3&), asCALL_THISCALL);
     engine->RegisterObjectMethod("ParticleEffect", "const Vector3& get_constantForce() const", asMETHODPR(ParticleEffect, GetConstantForce, () const, const Vector3&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float ParticleEffect::GetDampingForce() const | File: ../Graphics/ParticleEffect.h
     engine->RegisterObjectMethod("ParticleEffect", "float GetDampingForce() const", asMETHODPR(ParticleEffect, GetDampingForce, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("ParticleEffect", "float get_dampingForce() const", asMETHODPR(ParticleEffect, GetDampingForce, () const, float), asCALL_THISCALL);
@@ -677,7 +677,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ParticleEffect", "int Refs() const", asMETHODPR(ParticleEffect, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ParticleEffect", "int get_refs() const", asMETHODPR(ParticleEffect, Refs, () const, int), asCALL_THISCALL);
     // static void ParticleEffect::RegisterObject(Context* context) | File: ../Graphics/ParticleEffect.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("ParticleEffect", asBEHAVE_RELEASE, "void f()", asMETHODPR(ParticleEffect, ReleaseRef, (), void), asCALL_THISCALL);
     // void ParticleEffect::RemoveColorFrame(unsigned index) | File: ../Graphics/ParticleEffect.h
@@ -886,7 +886,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ParticleEffect2D", "const String& GetCategory() const", asMETHODPR(ParticleEffect2D, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("ParticleEffect2D", "const String& get_category() const", asMETHODPR(ParticleEffect2D, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float ParticleEffect2D::GetDuration() const | File: ../Urho2D/ParticleEffect2D.h
     engine->RegisterObjectMethod("ParticleEffect2D", "float GetDuration() const", asMETHODPR(ParticleEffect2D, GetDuration, () const, float), asCALL_THISCALL);
     // EmitterType2D ParticleEffect2D::GetEmitterType() const | File: ../Urho2D/ParticleEffect2D.h
@@ -1015,7 +1015,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ParticleEffect2D", "int Refs() const", asMETHODPR(ParticleEffect2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ParticleEffect2D", "int get_refs() const", asMETHODPR(ParticleEffect2D, Refs, () const, int), asCALL_THISCALL);
     // static void ParticleEffect2D::RegisterObject(Context* context) | File: ../Urho2D/ParticleEffect2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("ParticleEffect2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(ParticleEffect2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Resource::ResetUseTimer() | File: ../Resource/Resource.h
@@ -1235,7 +1235,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -1473,7 +1473,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ParticleEmitter", "int Refs() const", asMETHODPR(ParticleEmitter, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ParticleEmitter", "int get_refs() const", asMETHODPR(ParticleEmitter, Refs, () const, int), asCALL_THISCALL);
     // static void ParticleEmitter::RegisterObject(Context* context) | File: ../Graphics/ParticleEmitter.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("ParticleEmitter", asBEHAVE_RELEASE, "void f()", asMETHODPR(ParticleEmitter, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1773,7 +1773,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -1988,7 +1988,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ParticleEmitter2D", "int Refs() const", asMETHODPR(ParticleEmitter2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ParticleEmitter2D", "int get_refs() const", asMETHODPR(ParticleEmitter2D, Refs, () const, int), asCALL_THISCALL);
     // static void ParticleEmitter2D::RegisterObject(Context* context) | File: ../Urho2D/ParticleEmitter2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("ParticleEmitter2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(ParticleEmitter2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -2384,7 +2384,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // CollisionGeometryDataCache& PhysicsWorld::GetConvexCache() | File: ../Physics/PhysicsWorld.h
     // Error: type "CollisionGeometryDataCache&" can not automatically bind
     // int PhysicsWorld::getDebugMode() const override | File: ../Physics/PhysicsWorld.h
@@ -2545,7 +2545,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     engine->RegisterObjectMethod("PhysicsWorld", "int Refs() const", asMETHODPR(PhysicsWorld, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("PhysicsWorld", "int get_refs() const", asMETHODPR(PhysicsWorld, Refs, () const, int), asCALL_THISCALL);
     // static void PhysicsWorld::RegisterObject(Context* context) | File: ../Physics/PhysicsWorld.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("PhysicsWorld", asBEHAVE_RELEASE, "void f()", asMETHODPR(PhysicsWorld, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -2796,7 +2796,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // bool PhysicsWorld2D::GetContinuousPhysics() const | File: ../Urho2D/PhysicsWorld2D.h
     engine->RegisterObjectMethod("PhysicsWorld2D", "bool GetContinuousPhysics() const", asMETHODPR(PhysicsWorld2D, GetContinuousPhysics, () const, bool), asCALL_THISCALL);
     engine->RegisterObjectMethod("PhysicsWorld2D", "bool get_continuousPhysics() const", asMETHODPR(PhysicsWorld2D, GetContinuousPhysics, () const, bool), asCALL_THISCALL);
@@ -2955,7 +2955,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     engine->RegisterObjectMethod("PhysicsWorld2D", "int Refs() const", asMETHODPR(PhysicsWorld2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("PhysicsWorld2D", "int get_refs() const", asMETHODPR(PhysicsWorld2D, Refs, () const, int), asCALL_THISCALL);
     // static void PhysicsWorld2D::RegisterObject(Context* context) | File: ../Urho2D/PhysicsWorld2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("PhysicsWorld2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(PhysicsWorld2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -3239,7 +3239,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Profiler", "const String& GetCategory() const", asMETHODPR(Profiler, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Profiler", "const String& get_category() const", asMETHODPR(Profiler, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // const ProfilerBlock* Profiler::GetCurrentBlock() | File: ../Core/Profiler.h
     // Error: type "ProfilerBlock" can not automatically bind bacause have @nobind mark
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -3471,7 +3471,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ProgressBar", "IntRect GetCombinedScreenRect()", asMETHODPR(ProgressBar, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("ProgressBar", "IntRect get_combinedScreenRect()", asMETHODPR(ProgressBar, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -3832,7 +3832,7 @@ void ASRegisterGenerated_Members_P(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ProgressBar", "int Refs() const", asMETHODPR(ProgressBar, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ProgressBar", "int get_refs() const", asMETHODPR(ProgressBar, Refs, () const, int), asCALL_THISCALL);
     // static void ProgressBar::RegisterObject(Context* context) | File: ../UI/ProgressBar.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("ProgressBar", asBEHAVE_RELEASE, "void f()", asMETHODPR(ProgressBar, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h

+ 18 - 18
Source/Urho3D/AngelScript/Generated_Members_R.cpp

@@ -311,13 +311,13 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     // float Ray::HitDistance(const Vector3& v0, const Vector3& v1, const Vector3& v2, Vector3* outNormal=nullptr, Vector3* outBary=nullptr) const | File: ../Math/Ray.h
     // Error: type "Vector3*" can not automatically bind
     // float Ray::HitDistance(const void* vertexData, unsigned vertexStride, unsigned vertexStart, unsigned vertexCount, Vector3* outNormal=nullptr, Vector2* outUV=nullptr, unsigned uvOffset=0) const | File: ../Math/Ray.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // float Ray::HitDistance(const void* vertexData, unsigned vertexStride, const void* indexData, unsigned indexSize, unsigned indexStart, unsigned indexCount, Vector3* outNormal=nullptr, Vector2* outUV=nullptr, unsigned uvOffset=0) const | File: ../Math/Ray.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool Ray::InsideGeometry(const void* vertexData, unsigned vertexSize, unsigned vertexStart, unsigned vertexCount) const | File: ../Math/Ray.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool Ray::InsideGeometry(const void* vertexData, unsigned vertexSize, const void* indexData, unsigned indexSize, unsigned indexStart, unsigned indexCount) const | File: ../Math/Ray.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // Ray& Ray::operator=(const Ray& rhs) noexcept=default | File: ../Math/Ray.h
     engine->RegisterObjectMethod("Ray", "Ray& opAssign(const Ray&in)", asMETHODPR(Ray, operator=, (const Ray&), Ray&), asCALL_THISCALL);
     // bool Ray::operator==(const Ray& rhs) const | File: ../Math/Ray.h
@@ -424,7 +424,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     // Vector3 RaycastVehicle::GetContactPosition(int wheel) const | File: ../Physics/RaycastVehicle.h
     engine->RegisterObjectMethod("RaycastVehicle", "Vector3 GetContactPosition(int) const", asMETHODPR(RaycastVehicle, GetContactPosition, (int) const, Vector3), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // IntVector3 RaycastVehicle::GetCoordinateSystem() const | File: ../Physics/RaycastVehicle.h
     engine->RegisterObjectMethod("RaycastVehicle", "IntVector3 GetCoordinateSystem() const", asMETHODPR(RaycastVehicle, GetCoordinateSystem, () const, IntVector3), asCALL_THISCALL);
     engine->RegisterObjectMethod("RaycastVehicle", "IntVector3 get_coordinateSystem() const", asMETHODPR(RaycastVehicle, GetCoordinateSystem, () const, IntVector3), asCALL_THISCALL);
@@ -591,7 +591,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     engine->RegisterObjectMethod("RaycastVehicle", "int Refs() const", asMETHODPR(RaycastVehicle, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("RaycastVehicle", "int get_refs() const", asMETHODPR(RaycastVehicle, Refs, () const, int), asCALL_THISCALL);
     // static void RaycastVehicle::RegisterObject(Context* context) | File: ../Physics/RaycastVehicle.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("RaycastVehicle", asBEHAVE_RELEASE, "void f()", asMETHODPR(RaycastVehicle, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1087,7 +1087,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Renderer", "const String& GetCategory() const", asMETHODPR(Renderer, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "const String& get_category() const", asMETHODPR(Renderer, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // Texture2D* Renderer::GetDefaultLightRamp() const | File: ../Graphics/Renderer.h
     engine->RegisterObjectMethod("Renderer", "Texture2D@+ GetDefaultLightRamp() const", asMETHODPR(Renderer, GetDefaultLightRamp, () const, Texture2D*), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer", "Texture2D@+ get_defaultLightRamp() const", asMETHODPR(Renderer, GetDefaultLightRamp, () const, Texture2D*), asCALL_THISCALL);
@@ -1515,7 +1515,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -1707,7 +1707,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Renderer2D", "int Refs() const", asMETHODPR(Renderer2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Renderer2D", "int get_refs() const", asMETHODPR(Renderer2D, Refs, () const, int), asCALL_THISCALL);
     // static void Renderer2D::RegisterObject(Context* context) | File: ../Urho2D/Renderer2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Renderer2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(Renderer2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1897,7 +1897,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Resource", "const String& GetCategory() const", asMETHODPR(Resource, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Resource", "const String& get_category() const", asMETHODPR(Resource, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Resource", "VariantMap& GetEventDataMap() const", asMETHODPR(Resource, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -2054,7 +2054,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ResourceCache", "const String& GetCategory() const", asMETHODPR(ResourceCache, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("ResourceCache", "const String& get_category() const", asMETHODPR(ResourceCache, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("ResourceCache", "VariantMap& GetEventDataMap() const", asMETHODPR(ResourceCache, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -2269,7 +2269,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ResourceWithMetadata", "const String& GetCategory() const", asMETHODPR(ResourceWithMetadata, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("ResourceWithMetadata", "const String& get_category() const", asMETHODPR(ResourceWithMetadata, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("ResourceWithMetadata", "VariantMap& GetEventDataMap() const", asMETHODPR(ResourceWithMetadata, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -2482,7 +2482,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -2713,7 +2713,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     engine->RegisterObjectMethod("RibbonTrail", "int Refs() const", asMETHODPR(RibbonTrail, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("RibbonTrail", "int get_refs() const", asMETHODPR(RibbonTrail, Refs, () const, int), asCALL_THISCALL);
     // static void RibbonTrail::RegisterObject(Context* context) | File: ../Graphics/RibbonTrail.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("RibbonTrail", asBEHAVE_RELEASE, "void f()", asMETHODPR(RibbonTrail, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -3047,7 +3047,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     engine->RegisterObjectMethod("RigidBody", "float GetContactProcessingThreshold() const", asMETHODPR(RigidBody, GetContactProcessingThreshold, () const, float), asCALL_THISCALL);
     engine->RegisterObjectMethod("RigidBody", "float get_contactProcessingThreshold() const", asMETHODPR(RigidBody, GetContactProcessingThreshold, () const, float), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -3207,7 +3207,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     engine->RegisterObjectMethod("RigidBody", "int Refs() const", asMETHODPR(RigidBody, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("RigidBody", "int get_refs() const", asMETHODPR(RigidBody, Refs, () const, int), asCALL_THISCALL);
     // static void RigidBody::RegisterObject(Context* context) | File: ../Physics/RigidBody.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RigidBody::ReleaseBody() | File: ../Physics/RigidBody.h
     engine->RegisterObjectMethod("RigidBody", "void ReleaseBody()", asMETHODPR(RigidBody, ReleaseBody, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -3505,7 +3505,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -3643,7 +3643,7 @@ void ASRegisterGenerated_Members_R(asIScriptEngine* engine)
     engine->RegisterObjectMethod("RigidBody2D", "int Refs() const", asMETHODPR(RigidBody2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("RigidBody2D", "int get_refs() const", asMETHODPR(RigidBody2D, Refs, () const, int), asCALL_THISCALL);
     // static void RigidBody2D::RegisterObject(Context* context) | File: ../Urho2D/RigidBody2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RigidBody2D::ReleaseBody() | File: ../Urho2D/RigidBody2D.h
     engine->RegisterObjectMethod("RigidBody2D", "void ReleaseBody()", asMETHODPR(RigidBody2D, ReleaseBody, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h

+ 17 - 17
Source/Urho3D/AngelScript/Generated_Members_Sa_Sm.cpp

@@ -462,7 +462,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     // template<class T> void Node::GetComponents(PODVector<T*>& dest, bool recursive=false) const | File: ../Scene/Node.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // const PODVector<Node*>& Node::GetDependencyNodes() const | File: ../Scene/Node.h
     engine->RegisterObjectMethod("Scene", "Array<Node@>@ GetDependencyNodes() const", asFUNCTION(Scene_GetDependencyNodes_void), asCALL_CDECL_OBJFIRST);
     // template<class T> T*  Node::GetDerivedComponent(bool recursive=false) const | File: ../Scene/Node.h
@@ -774,7 +774,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Scene", "int Refs() const", asMETHODPR(Scene, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Scene", "int get_refs() const", asMETHODPR(Scene, Refs, () const, int), asCALL_THISCALL);
     // static void Scene::RegisterObject(Context* context) | File: ../Scene/Scene.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Scene::RegisterVar(const String& name) | File: ../Scene/Scene.h
     engine->RegisterObjectMethod("Scene", "void RegisterVar(const String&in)", asMETHODPR(Scene, RegisterVar, (const String&), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -1256,7 +1256,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ScrollBar", "IntRect GetCombinedScreenRect()", asMETHODPR(ScrollBar, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("ScrollBar", "IntRect get_combinedScreenRect()", asMETHODPR(ScrollBar, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -1622,7 +1622,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ScrollBar", "int Refs() const", asMETHODPR(ScrollBar, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ScrollBar", "int get_refs() const", asMETHODPR(ScrollBar, Refs, () const, int), asCALL_THISCALL);
     // static void ScrollBar::RegisterObject(Context* context) | File: ../UI/ScrollBar.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("ScrollBar", asBEHAVE_RELEASE, "void f()", asMETHODPR(ScrollBar, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -2138,7 +2138,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ScrollView", "UIElement@+ GetContentElement() const", asMETHODPR(ScrollView, GetContentElement, () const, UIElement*), asCALL_THISCALL);
     engine->RegisterObjectMethod("ScrollView", "UIElement@+ get_contentElement() const", asMETHODPR(ScrollView, GetContentElement, () const, UIElement*), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -2488,7 +2488,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ScrollView", "int Refs() const", asMETHODPR(ScrollView, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ScrollView", "int get_refs() const", asMETHODPR(ScrollView, Refs, () const, int), asCALL_THISCALL);
     // static void ScrollView::RegisterObject(Context* context) | File: ../UI/ScrollView.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("ScrollView", asBEHAVE_RELEASE, "void f()", asMETHODPR(ScrollView, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -2878,7 +2878,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Serializable", "const String& GetCategory() const", asMETHODPR(Serializable, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Serializable", "const String& get_category() const", asMETHODPR(Serializable, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Serializable", "VariantMap& GetEventDataMap() const", asMETHODPR(Serializable, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -3033,7 +3033,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     RegisterSubclass<RefCounted, Serializable>(engine, "RefCounted", "Serializable");
 
     // virtual unsigned Serializer::Write(const void* data, unsigned size)=0 | File: ../IO/Serializer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool Serializer::WriteBool(bool value) | File: ../IO/Serializer.h
     engine->RegisterObjectMethod("Serializer", "bool WriteBool(bool)", asMETHODPR(Serializer, WriteBool, (bool), bool), asCALL_THISCALL);
     // bool Serializer::WriteBoundingBox(const BoundingBox& value) | File: ../IO/Serializer.h
@@ -3140,7 +3140,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Shader", "const String& GetCategory() const", asMETHODPR(Shader, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Shader", "const String& get_category() const", asMETHODPR(Shader, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Shader", "VariantMap& GetEventDataMap() const", asMETHODPR(Shader, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -3211,7 +3211,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Shader", "int Refs() const", asMETHODPR(Shader, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Shader", "int get_refs() const", asMETHODPR(Shader, Refs, () const, int), asCALL_THISCALL);
     // static void Shader::RegisterObject(Context* context) | File: ../Graphics/Shader.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Shader", asBEHAVE_RELEASE, "void f()", asMETHODPR(Shader, ReleaseRef, (), void), asCALL_THISCALL);
     // void Resource::ResetUseTimer() | File: ../Resource/Resource.h
@@ -3338,7 +3338,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ShaderPrecache", "const String& GetCategory() const", asMETHODPR(ShaderPrecache, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("ShaderPrecache", "const String& get_category() const", asMETHODPR(ShaderPrecache, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("ShaderPrecache", "VariantMap& GetEventDataMap() const", asMETHODPR(ShaderPrecache, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -3636,7 +3636,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -3849,7 +3849,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Skybox", "int Refs() const", asMETHODPR(Skybox, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Skybox", "int get_refs() const", asMETHODPR(Skybox, Refs, () const, int), asCALL_THISCALL);
     // static void Skybox::RegisterObject(Context* context) | File: ../Graphics/Skybox.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Skybox", asBEHAVE_RELEASE, "void f()", asMETHODPR(Skybox, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -4169,7 +4169,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Slider", "IntRect GetCombinedScreenRect()", asMETHODPR(Slider, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("Slider", "IntRect get_combinedScreenRect()", asMETHODPR(Slider, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -4526,7 +4526,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Slider", "int Refs() const", asMETHODPR(Slider, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Slider", "int get_refs() const", asMETHODPR(Slider, Refs, () const, int), asCALL_THISCALL);
     // static void Slider::RegisterObject(Context* context) | File: ../UI/Slider.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Slider", asBEHAVE_RELEASE, "void f()", asMETHODPR(Slider, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -4955,7 +4955,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -5075,7 +5075,7 @@ void ASRegisterGenerated_Members_Sa_Sm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("SmoothedTransform", "int Refs() const", asMETHODPR(SmoothedTransform, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("SmoothedTransform", "int get_refs() const", asMETHODPR(SmoothedTransform, Refs, () const, int), asCALL_THISCALL);
     // static void SmoothedTransform::RegisterObject(Context* context) | File: ../Scene/SmoothedTransform.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("SmoothedTransform", asBEHAVE_RELEASE, "void f()", asMETHODPR(SmoothedTransform, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h

+ 25 - 25
Source/Urho3D/AngelScript/Generated_Members_Sn_Sz.cpp

@@ -498,7 +498,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Sound", "const String& GetCategory() const", asMETHODPR(Sound, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Sound", "const String& get_category() const", asMETHODPR(Sound, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // SharedArrayPtr<signed char> Sound::GetData() const | File: ../Audio/Sound.h
     // Error: type "SharedArrayPtr<signed char>" can not automatically bind
     // unsigned Sound::GetDataSize() const | File: ../Audio/Sound.h
@@ -608,7 +608,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Sound", "int Refs() const", asMETHODPR(Sound, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Sound", "int get_refs() const", asMETHODPR(Sound, Refs, () const, int), asCALL_THISCALL);
     // static void Sound::RegisterObject(Context* context) | File: ../Audio/Sound.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Sound", asBEHAVE_RELEASE, "void f()", asMETHODPR(Sound, ReleaseRef, (), void), asCALL_THISCALL);
     // void ResourceWithMetadata::RemoveAllMetadata() | File: ../Resource/Resource.h
@@ -633,7 +633,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     // void Object::SetBlockEvents(bool block) | File: ../Core/Object.h
     engine->RegisterObjectMethod("Sound", "void SetBlockEvents(bool)", asMETHODPR(Sound, SetBlockEvents, (bool), void), asCALL_THISCALL);
     // void Sound::SetData(const void* data, unsigned dataSize) | File: ../Audio/Sound.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // void Sound::SetFormat(unsigned frequency, bool sixteenBit, bool stereo) | File: ../Audio/Sound.h
     engine->RegisterObjectMethod("Sound", "void SetFormat(uint, bool, bool)", asMETHODPR(Sound, SetFormat, (unsigned, bool, bool), void), asCALL_THISCALL);
     // void Object::SetGlobalVar(StringHash key, const Variant& value) | File: ../Core/Object.h
@@ -747,7 +747,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -852,7 +852,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("SoundListener", "int Refs() const", asMETHODPR(SoundListener, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("SoundListener", "int get_refs() const", asMETHODPR(SoundListener, Refs, () const, int), asCALL_THISCALL);
     // static void SoundListener::RegisterObject(Context* context) | File: ../Audio/SoundListener.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("SoundListener", asBEHAVE_RELEASE, "void f()", asMETHODPR(SoundListener, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1029,7 +1029,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -1173,7 +1173,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("SoundSource", "int Refs() const", asMETHODPR(SoundSource, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("SoundSource", "int get_refs() const", asMETHODPR(SoundSource, Refs, () const, int), asCALL_THISCALL);
     // static void SoundSource::RegisterObject(Context* context) | File: ../Audio/SoundSource.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("SoundSource", asBEHAVE_RELEASE, "void f()", asMETHODPR(SoundSource, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1385,7 +1385,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -1541,7 +1541,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("SoundSource3D", "int Refs() const", asMETHODPR(SoundSource3D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("SoundSource3D", "int get_refs() const", asMETHODPR(SoundSource3D, Refs, () const, int), asCALL_THISCALL);
     // static void SoundSource3D::RegisterObject(Context* context) | File: ../Audio/SoundSource3D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("SoundSource3D", asBEHAVE_RELEASE, "void f()", asMETHODPR(SoundSource3D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1924,7 +1924,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // unsigned SplinePath::GetControlledIdAttr() const | File: ../Scene/SplinePath.h
     engine->RegisterObjectMethod("SplinePath", "uint GetControlledIdAttr() const", asMETHODPR(SplinePath, GetControlledIdAttr, () const, unsigned), asCALL_THISCALL);
     // Node* SplinePath::GetControlledNode() const | File: ../Scene/SplinePath.h
@@ -2054,7 +2054,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("SplinePath", "int Refs() const", asMETHODPR(SplinePath, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("SplinePath", "int get_refs() const", asMETHODPR(SplinePath, Refs, () const, int), asCALL_THISCALL);
     // static void SplinePath::RegisterObject(Context* context) | File: ../Scene/SplinePath.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("SplinePath", asBEHAVE_RELEASE, "void f()", asMETHODPR(SplinePath, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -2318,7 +2318,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Sprite", "IntRect GetCombinedScreenRect()", asMETHODPR(Sprite, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("Sprite", "IntRect get_combinedScreenRect()", asMETHODPR(Sprite, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -2654,7 +2654,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Sprite", "int Refs() const", asMETHODPR(Sprite, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Sprite", "int get_refs() const", asMETHODPR(Sprite, Refs, () const, int), asCALL_THISCALL);
     // static void Sprite::RegisterObject(Context* context) | File: ../UI/Sprite.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Sprite", asBEHAVE_RELEASE, "void f()", asMETHODPR(Sprite, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -3024,7 +3024,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Sprite2D", "const String& GetCategory() const", asMETHODPR(Sprite2D, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Sprite2D", "const String& get_category() const", asMETHODPR(Sprite2D, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // bool Sprite2D::GetDrawRectangle(Rect& rect, bool flipX=false, bool flipY=false) const | File: ../Urho2D/Sprite2D.h
     engine->RegisterObjectMethod("Sprite2D", "bool GetDrawRectangle(Rect&, bool = false, bool = false) const", asMETHODPR(Sprite2D, GetDrawRectangle, (Rect&, bool, bool) const, bool), asCALL_THISCALL);
     // bool Sprite2D::GetDrawRectangle(Rect& rect, const Vector2& hotSpot, bool flipX=false, bool flipY=false) const | File: ../Urho2D/Sprite2D.h
@@ -3114,7 +3114,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Sprite2D", "int Refs() const", asMETHODPR(Sprite2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Sprite2D", "int get_refs() const", asMETHODPR(Sprite2D, Refs, () const, int), asCALL_THISCALL);
     // static void Sprite2D::RegisterObject(Context* context) | File: ../Urho2D/Sprite2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Sprite2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(Sprite2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Resource::ResetUseTimer() | File: ../Resource/Resource.h
@@ -3224,7 +3224,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("SpriteSheet2D", "const String& GetCategory() const", asMETHODPR(SpriteSheet2D, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("SpriteSheet2D", "const String& get_category() const", asMETHODPR(SpriteSheet2D, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("SpriteSheet2D", "VariantMap& GetEventDataMap() const", asMETHODPR(SpriteSheet2D, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -3294,7 +3294,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("SpriteSheet2D", "int Refs() const", asMETHODPR(SpriteSheet2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("SpriteSheet2D", "int get_refs() const", asMETHODPR(SpriteSheet2D, Refs, () const, int), asCALL_THISCALL);
     // static void SpriteSheet2D::RegisterObject(Context* context) | File: ../Urho2D/SpriteSheet2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("SpriteSheet2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(SpriteSheet2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Resource::ResetUseTimer() | File: ../Resource/Resource.h
@@ -3434,7 +3434,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -3647,7 +3647,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("StaticModel", "int Refs() const", asMETHODPR(StaticModel, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("StaticModel", "int get_refs() const", asMETHODPR(StaticModel, Refs, () const, int), asCALL_THISCALL);
     // static void StaticModel::RegisterObject(Context* context) | File: ../Graphics/StaticModel.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("StaticModel", asBEHAVE_RELEASE, "void f()", asMETHODPR(StaticModel, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -3902,7 +3902,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -4123,7 +4123,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("StaticModelGroup", "int Refs() const", asMETHODPR(StaticModelGroup, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("StaticModelGroup", "int get_refs() const", asMETHODPR(StaticModelGroup, Refs, () const, int), asCALL_THISCALL);
     // static void StaticModelGroup::RegisterObject(Context* context) | File: ../Graphics/StaticModelGroup.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("StaticModelGroup", asBEHAVE_RELEASE, "void f()", asMETHODPR(StaticModelGroup, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -4394,7 +4394,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // Material* StaticSprite2D::GetCustomMaterial() const | File: ../Urho2D/StaticSprite2D.h
     engine->RegisterObjectMethod("StaticSprite2D", "Material@+ GetCustomMaterial() const", asMETHODPR(StaticSprite2D, GetCustomMaterial, () const, Material*), asCALL_THISCALL);
     engine->RegisterObjectMethod("StaticSprite2D", "Material@+ get_customMaterial() const", asMETHODPR(StaticSprite2D, GetCustomMaterial, () const, Material*), asCALL_THISCALL);
@@ -4629,7 +4629,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("StaticSprite2D", "int Refs() const", asMETHODPR(StaticSprite2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("StaticSprite2D", "int get_refs() const", asMETHODPR(StaticSprite2D, Refs, () const, int), asCALL_THISCALL);
     // static void StaticSprite2D::RegisterObject(Context* context) | File: ../Urho2D/StaticSprite2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("StaticSprite2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(StaticSprite2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -4937,7 +4937,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // Material* StaticSprite2D::GetCustomMaterial() const | File: ../Urho2D/StaticSprite2D.h
     engine->RegisterObjectMethod("StretchableSprite2D", "Material@+ GetCustomMaterial() const", asMETHODPR(StretchableSprite2D, GetCustomMaterial, () const, Material*), asCALL_THISCALL);
     engine->RegisterObjectMethod("StretchableSprite2D", "Material@+ get_customMaterial() const", asMETHODPR(StretchableSprite2D, GetCustomMaterial, () const, Material*), asCALL_THISCALL);
@@ -5172,7 +5172,7 @@ void ASRegisterGenerated_Members_Sn_Sz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("StretchableSprite2D", "int Refs() const", asMETHODPR(StretchableSprite2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("StretchableSprite2D", "int get_refs() const", asMETHODPR(StretchableSprite2D, Refs, () const, int), asCALL_THISCALL);
     // static void StretchableSprite2D::RegisterObject(Context* context) | File: ../Urho2D/StretchableSprite2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("StretchableSprite2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(StretchableSprite2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h

+ 30 - 30
Source/Urho3D/AngelScript/Generated_Members_Ta_Tm.cpp

@@ -440,7 +440,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Technique", "const String& GetCategory() const", asMETHODPR(Technique, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Technique", "const String& get_category() const", asMETHODPR(Technique, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("Technique", "VariantMap& GetEventDataMap() const", asMETHODPR(Technique, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -534,7 +534,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Technique", "int Refs() const", asMETHODPR(Technique, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Technique", "int get_refs() const", asMETHODPR(Technique, Refs, () const, int), asCALL_THISCALL);
     // static void Technique::RegisterObject(Context* context) | File: ../Graphics/Technique.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Technique", asBEHAVE_RELEASE, "void f()", asMETHODPR(Technique, ReleaseRef, (), void), asCALL_THISCALL);
     // void Technique::ReleaseShaders() | File: ../Graphics/Technique.h
@@ -668,7 +668,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Terrain::GetDrawDistance() const | File: ../Graphics/Terrain.h
@@ -863,7 +863,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Terrain", "int Refs() const", asMETHODPR(Terrain, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Terrain", "int get_refs() const", asMETHODPR(Terrain, Refs, () const, int), asCALL_THISCALL);
     // static void Terrain::RegisterObject(Context* context) | File: ../Graphics/Terrain.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Terrain", asBEHAVE_RELEASE, "void f()", asMETHODPR(Terrain, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1130,7 +1130,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // const IntVector2& TerrainPatch::GetCoordinates() const | File: ../Graphics/TerrainPatch.h
     engine->RegisterObjectMethod("TerrainPatch", "const IntVector2& GetCoordinates() const", asMETHODPR(TerrainPatch, GetCoordinates, () const, const IntVector2&), asCALL_THISCALL);
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
@@ -1344,7 +1344,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("TerrainPatch", "int Refs() const", asMETHODPR(TerrainPatch, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("TerrainPatch", "int get_refs() const", asMETHODPR(TerrainPatch, Refs, () const, int), asCALL_THISCALL);
     // static void TerrainPatch::RegisterObject(Context* context) | File: ../Graphics/TerrainPatch.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("TerrainPatch", asBEHAVE_RELEASE, "void f()", asMETHODPR(TerrainPatch, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -1660,7 +1660,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Text", "IntRect GetCombinedScreenRect()", asMETHODPR(Text, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("Text", "IntRect get_combinedScreenRect()", asMETHODPR(Text, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -2040,7 +2040,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Text", "int Refs() const", asMETHODPR(Text, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Text", "int get_refs() const", asMETHODPR(Text, Refs, () const, int), asCALL_THISCALL);
     // static void Text::RegisterObject(Context* context) | File: ../UI/Text.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Text", asBEHAVE_RELEASE, "void f()", asMETHODPR(Text, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -2496,7 +2496,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -2764,7 +2764,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Text3D", "int Refs() const", asMETHODPR(Text3D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Text3D", "int get_refs() const", asMETHODPR(Text3D, Refs, () const, int), asCALL_THISCALL);
     // static void Text3D::RegisterObject(Context* context) | File: ../UI/Text3D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Text3D", asBEHAVE_RELEASE, "void f()", asMETHODPR(Text3D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -3054,7 +3054,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Texture", "uint GetComponents() const", asMETHODPR(Texture, GetComponents, () const, unsigned), asCALL_THISCALL);
     engine->RegisterObjectMethod("Texture", "uint get_components() const", asMETHODPR(Texture, GetComponents, () const, unsigned), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // unsigned Texture::GetDataSize(int width, int height) const | File: ../Graphics/Texture.h
     engine->RegisterObjectMethod("Texture", "uint GetDataSize(int, int) const", asMETHODPR(Texture, GetDataSize, (int, int) const, unsigned), asCALL_THISCALL);
     // unsigned Texture::GetDataSize(int width, int height, int depth) const | File: ../Graphics/Texture.h
@@ -3378,7 +3378,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Texture2D", "uint GetComponents() const", asMETHODPR(Texture2D, GetComponents, () const, unsigned), asCALL_THISCALL);
     engine->RegisterObjectMethod("Texture2D", "uint get_components() const", asMETHODPR(Texture2D, GetComponents, () const, unsigned), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // bool Texture2D::GetData(unsigned level, void* dest) const | File: ../Graphics/Texture2D.h
     // Error: type "void*" can not automatically bind
     // unsigned Texture::GetDataSize(int width, int height) const | File: ../Graphics/Texture.h
@@ -3547,7 +3547,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     // void Texture::RegenerateLevels() | File: ../Graphics/Texture.h
     engine->RegisterObjectMethod("Texture2D", "void RegenerateLevels()", asMETHODPR(Texture2D, RegenerateLevels, (), void), asCALL_THISCALL);
     // static void Texture2D::RegisterObject(Context* context) | File: ../Graphics/Texture2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Texture2D::Release() override | File: ../Graphics/Texture2D.h
     engine->RegisterObjectMethod("Texture2D", "void Release()", asMETHODPR(Texture2D, Release, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -3586,7 +3586,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Texture2D", "void SetBorderColor(const Color&in)", asMETHODPR(Texture2D, SetBorderColor, (const Color&), void), asCALL_THISCALL);
     engine->RegisterObjectMethod("Texture2D", "void set_borderColor(const Color&in)", asMETHODPR(Texture2D, SetBorderColor, (const Color&), void), asCALL_THISCALL);
     // bool Texture2D::SetData(unsigned level, int x, int y, int width, int height, const void* data) | File: ../Graphics/Texture2D.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool Texture2D::SetData(Image* image, bool useAlpha=false) | File: ../Graphics/Texture2D.h
     engine->RegisterObjectMethod("Texture2D", "bool SetData(Image@+, bool = false)", asMETHODPR(Texture2D, SetData, (Image*, bool), bool), asCALL_THISCALL);
     // void Texture::SetFilterMode(TextureFilterMode mode) | File: ../Graphics/Texture.h
@@ -3723,7 +3723,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Texture2DArray", "uint GetComponents() const", asMETHODPR(Texture2DArray, GetComponents, () const, unsigned), asCALL_THISCALL);
     engine->RegisterObjectMethod("Texture2DArray", "uint get_components() const", asMETHODPR(Texture2DArray, GetComponents, () const, unsigned), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // bool Texture2DArray::GetData(unsigned layer, unsigned level, void* dest) const | File: ../Graphics/Texture2DArray.h
     // Error: type "void*" can not automatically bind
     // unsigned Texture::GetDataSize(int width, int height) const | File: ../Graphics/Texture.h
@@ -3891,7 +3891,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     // void Texture::RegenerateLevels() | File: ../Graphics/Texture.h
     engine->RegisterObjectMethod("Texture2DArray", "void RegenerateLevels()", asMETHODPR(Texture2DArray, RegenerateLevels, (), void), asCALL_THISCALL);
     // static void Texture2DArray::RegisterObject(Context* context) | File: ../Graphics/Texture2DArray.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Texture2DArray::Release() override | File: ../Graphics/Texture2DArray.h
     engine->RegisterObjectMethod("Texture2DArray", "void Release()", asMETHODPR(Texture2DArray, Release, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -3930,7 +3930,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Texture2DArray", "void SetBorderColor(const Color&in)", asMETHODPR(Texture2DArray, SetBorderColor, (const Color&), void), asCALL_THISCALL);
     engine->RegisterObjectMethod("Texture2DArray", "void set_borderColor(const Color&in)", asMETHODPR(Texture2DArray, SetBorderColor, (const Color&), void), asCALL_THISCALL);
     // bool Texture2DArray::SetData(unsigned layer, unsigned level, int x, int y, int width, int height, const void* data) | File: ../Graphics/Texture2DArray.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool Texture2DArray::SetData(unsigned layer, Deserializer& source) | File: ../Graphics/Texture2DArray.h
     engine->RegisterObjectMethod("Texture2DArray", "bool SetData(uint, Deserializer&)", asMETHODPR(Texture2DArray, SetData, (unsigned, Deserializer&), bool), asCALL_THISCALL);
     // bool Texture2DArray::SetData(unsigned layer, Image* image, bool useAlpha=false) | File: ../Graphics/Texture2DArray.h
@@ -4072,7 +4072,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Texture3D", "uint GetComponents() const", asMETHODPR(Texture3D, GetComponents, () const, unsigned), asCALL_THISCALL);
     engine->RegisterObjectMethod("Texture3D", "uint get_components() const", asMETHODPR(Texture3D, GetComponents, () const, unsigned), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // bool Texture3D::GetData(unsigned level, void* dest) const | File: ../Graphics/Texture3D.h
     // Error: type "void*" can not automatically bind
     // unsigned Texture::GetDataSize(int width, int height) const | File: ../Graphics/Texture.h
@@ -4234,7 +4234,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     // void Texture::RegenerateLevels() | File: ../Graphics/Texture.h
     engine->RegisterObjectMethod("Texture3D", "void RegenerateLevels()", asMETHODPR(Texture3D, RegenerateLevels, (), void), asCALL_THISCALL);
     // static void Texture3D::RegisterObject(Context* context) | File: ../Graphics/Texture3D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void Texture3D::Release() override | File: ../Graphics/Texture3D.h
     engine->RegisterObjectMethod("Texture3D", "void Release()", asMETHODPR(Texture3D, Release, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -4273,7 +4273,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Texture3D", "void SetBorderColor(const Color&in)", asMETHODPR(Texture3D, SetBorderColor, (const Color&), void), asCALL_THISCALL);
     engine->RegisterObjectMethod("Texture3D", "void set_borderColor(const Color&in)", asMETHODPR(Texture3D, SetBorderColor, (const Color&), void), asCALL_THISCALL);
     // bool Texture3D::SetData(unsigned level, int x, int y, int z, int width, int height, int depth, const void* data) | File: ../Graphics/Texture3D.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool Texture3D::SetData(Image* image, bool useAlpha=false) | File: ../Graphics/Texture3D.h
     engine->RegisterObjectMethod("Texture3D", "bool SetData(Image@+, bool = false)", asMETHODPR(Texture3D, SetData, (Image*, bool), bool), asCALL_THISCALL);
     // void Texture::SetFilterMode(TextureFilterMode mode) | File: ../Graphics/Texture.h
@@ -4410,7 +4410,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("TextureCube", "uint GetComponents() const", asMETHODPR(TextureCube, GetComponents, () const, unsigned), asCALL_THISCALL);
     engine->RegisterObjectMethod("TextureCube", "uint get_components() const", asMETHODPR(TextureCube, GetComponents, () const, unsigned), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // bool TextureCube::GetData(CubeMapFace face, unsigned level, void* dest) const | File: ../Graphics/TextureCube.h
     // Error: type "void*" can not automatically bind
     // unsigned Texture::GetDataSize(int width, int height) const | File: ../Graphics/Texture.h
@@ -4577,7 +4577,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     // void Texture::RegenerateLevels() | File: ../Graphics/Texture.h
     engine->RegisterObjectMethod("TextureCube", "void RegenerateLevels()", asMETHODPR(TextureCube, RegenerateLevels, (), void), asCALL_THISCALL);
     // static void TextureCube::RegisterObject(Context* context) | File: ../Graphics/TextureCube.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void TextureCube::Release() override | File: ../Graphics/TextureCube.h
     engine->RegisterObjectMethod("TextureCube", "void Release()", asMETHODPR(TextureCube, Release, (), void), asCALL_THISCALL);
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
@@ -4616,7 +4616,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("TextureCube", "void SetBorderColor(const Color&in)", asMETHODPR(TextureCube, SetBorderColor, (const Color&), void), asCALL_THISCALL);
     engine->RegisterObjectMethod("TextureCube", "void set_borderColor(const Color&in)", asMETHODPR(TextureCube, SetBorderColor, (const Color&), void), asCALL_THISCALL);
     // bool TextureCube::SetData(CubeMapFace face, unsigned level, int x, int y, int width, int height, const void* data) | File: ../Graphics/TextureCube.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool TextureCube::SetData(CubeMapFace face, Deserializer& source) | File: ../Graphics/TextureCube.h
     engine->RegisterObjectMethod("TextureCube", "bool SetData(CubeMapFace, Deserializer&)", asMETHODPR(TextureCube, SetData, (CubeMapFace, Deserializer&), bool), asCALL_THISCALL);
     // bool TextureCube::SetData(CubeMapFace face, Image* image, bool useAlpha=false) | File: ../Graphics/TextureCube.h
@@ -4805,7 +4805,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -4927,7 +4927,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("TileMap2D", "int Refs() const", asMETHODPR(TileMap2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("TileMap2D", "int get_refs() const", asMETHODPR(TileMap2D, Refs, () const, int), asCALL_THISCALL);
     // static void TileMap2D::RegisterObject(Context* context) | File: ../Urho2D/TileMap2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("TileMap2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(TileMap2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -5107,7 +5107,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // int TileMapLayer2D::GetDrawOrder() const | File: ../Urho2D/TileMapLayer2D.h
@@ -5251,7 +5251,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("TileMapLayer2D", "int Refs() const", asMETHODPR(TileMapLayer2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("TileMapLayer2D", "int get_refs() const", asMETHODPR(TileMapLayer2D, Refs, () const, int), asCALL_THISCALL);
     // static void TileMapLayer2D::RegisterObject(Context* context) | File: ../Urho2D/TileMapLayer2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("TileMapLayer2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(TileMapLayer2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -5455,7 +5455,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Time", "const String& GetCategory() const", asMETHODPR(Time, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Time", "const String& get_category() const", asMETHODPR(Time, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float Time::GetElapsedTime() | File: ../Core/Timer.h
     engine->RegisterObjectMethod("Time", "float GetElapsedTime()", asMETHODPR(Time, GetElapsedTime, (), float), asCALL_THISCALL);
     engine->RegisterObjectMethod("Time", "float get_elapsedTime()", asMETHODPR(Time, GetElapsedTime, (), float), asCALL_THISCALL);
@@ -5614,7 +5614,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("TmxFile2D", "const String& GetCategory() const", asMETHODPR(TmxFile2D, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("TmxFile2D", "const String& get_category() const", asMETHODPR(TmxFile2D, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("TmxFile2D", "VariantMap& GetEventDataMap() const", asMETHODPR(TmxFile2D, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -5692,7 +5692,7 @@ void ASRegisterGenerated_Members_Ta_Tm(asIScriptEngine* engine)
     engine->RegisterObjectMethod("TmxFile2D", "int Refs() const", asMETHODPR(TmxFile2D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("TmxFile2D", "int get_refs() const", asMETHODPR(TmxFile2D, Refs, () const, int), asCALL_THISCALL);
     // static void TmxFile2D::RegisterObject(Context* context) | File: ../Urho2D/TmxFile2D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("TmxFile2D", asBEHAVE_RELEASE, "void f()", asMETHODPR(TmxFile2D, ReleaseRef, (), void), asCALL_THISCALL);
     // void Resource::ResetUseTimer() | File: ../Resource/Resource.h

+ 2 - 2
Source/Urho3D/AngelScript/Generated_Members_Tn_Tz.cpp

@@ -203,7 +203,7 @@ void ASRegisterGenerated_Members_Tn_Tz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ToolTip", "IntRect GetCombinedScreenRect()", asMETHODPR(ToolTip, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("ToolTip", "IntRect get_combinedScreenRect()", asMETHODPR(ToolTip, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -523,7 +523,7 @@ void ASRegisterGenerated_Members_Tn_Tz(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ToolTip", "int Refs() const", asMETHODPR(ToolTip, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ToolTip", "int get_refs() const", asMETHODPR(ToolTip, Refs, () const, int), asCALL_THISCALL);
     // static void ToolTip::RegisterObject(Context* context) | File: ../UI/ToolTip.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("ToolTip", asBEHAVE_RELEASE, "void f()", asMETHODPR(ToolTip, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h

+ 9 - 9
Source/Urho3D/AngelScript/Generated_Members_U.cpp

@@ -167,7 +167,7 @@ void ASRegisterGenerated_Members_U(asIScriptEngine* engine)
     engine->RegisterObjectMethod("UI", "const String& GetClipboardText() const", asMETHODPR(UI, GetClipboardText, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("UI", "const String& get_clipboardText() const", asMETHODPR(UI, GetClipboardText, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // Cursor* UI::GetCursor() const | File: ../UI/UI.h
     engine->RegisterObjectMethod("UI", "Cursor@+ GetCursor() const", asMETHODPR(UI, GetCursor, () const, Cursor*), asCALL_THISCALL);
     engine->RegisterObjectMethod("UI", "Cursor@+ get_cursor() const", asMETHODPR(UI, GetCursor, () const, Cursor*), asCALL_THISCALL);
@@ -528,7 +528,7 @@ void ASRegisterGenerated_Members_U(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -642,7 +642,7 @@ void ASRegisterGenerated_Members_U(asIScriptEngine* engine)
     engine->RegisterObjectMethod("UIComponent", "int Refs() const", asMETHODPR(UIComponent, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("UIComponent", "int get_refs() const", asMETHODPR(UIComponent, Refs, () const, int), asCALL_THISCALL);
     // static void UIComponent::RegisterObject(Context* context) | File: ../UI/UIComponent.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("UIComponent", asBEHAVE_RELEASE, "void f()", asMETHODPR(UIComponent, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -886,7 +886,7 @@ void ASRegisterGenerated_Members_U(asIScriptEngine* engine)
     engine->RegisterObjectMethod("UIElement", "IntRect GetCombinedScreenRect()", asMETHODPR(UIElement, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("UIElement", "IntRect get_combinedScreenRect()", asMETHODPR(UIElement, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -1203,7 +1203,7 @@ void ASRegisterGenerated_Members_U(asIScriptEngine* engine)
     engine->RegisterObjectMethod("UIElement", "int Refs() const", asMETHODPR(UIElement, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("UIElement", "int get_refs() const", asMETHODPR(UIElement, Refs, () const, int), asCALL_THISCALL);
     // static void UIElement::RegisterObject(Context* context) | File: ../UI/UIElement.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("UIElement", asBEHAVE_RELEASE, "void f()", asMETHODPR(UIElement, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -1646,7 +1646,7 @@ void ASRegisterGenerated_Members_U(asIScriptEngine* engine)
     engine->RegisterObjectMethod("UISelectable", "IntRect GetCombinedScreenRect()", asMETHODPR(UISelectable, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("UISelectable", "IntRect get_combinedScreenRect()", asMETHODPR(UISelectable, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -1969,7 +1969,7 @@ void ASRegisterGenerated_Members_U(asIScriptEngine* engine)
     engine->RegisterObjectMethod("UISelectable", "int Refs() const", asMETHODPR(UISelectable, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("UISelectable", "int get_refs() const", asMETHODPR(UISelectable, Refs, () const, int), asCALL_THISCALL);
     // static void UISelectable::RegisterObject(Context* context) | File: ../UI/UISelectable.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("UISelectable", asBEHAVE_RELEASE, "void f()", asMETHODPR(UISelectable, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -2351,7 +2351,7 @@ void ASRegisterGenerated_Members_U(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -2464,7 +2464,7 @@ void ASRegisterGenerated_Members_U(asIScriptEngine* engine)
     engine->RegisterObjectMethod("UnknownComponent", "int Refs() const", asMETHODPR(UnknownComponent, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("UnknownComponent", "int get_refs() const", asMETHODPR(UnknownComponent, Refs, () const, int), asCALL_THISCALL);
     // static void UnknownComponent::RegisterObject(Context* context) | File: ../Scene/UnknownComponent.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("UnknownComponent", asBEHAVE_RELEASE, "void f()", asMETHODPR(UnknownComponent, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h

+ 12 - 12
Source/Urho3D/AngelScript/Generated_Members_V.cpp

@@ -498,7 +498,7 @@ void ASRegisterGenerated_Members_V(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ValueAnimation", "const String& GetCategory() const", asMETHODPR(ValueAnimation, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("ValueAnimation", "const String& get_category() const", asMETHODPR(ValueAnimation, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // float ValueAnimation::GetEndTime() const | File: ../Scene/ValueAnimation.h
     engine->RegisterObjectMethod("ValueAnimation", "float GetEndTime() const", asMETHODPR(ValueAnimation, GetEndTime, () const, float), asCALL_THISCALL);
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -586,7 +586,7 @@ void ASRegisterGenerated_Members_V(asIScriptEngine* engine)
     engine->RegisterObjectMethod("ValueAnimation", "int Refs() const", asMETHODPR(ValueAnimation, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("ValueAnimation", "int get_refs() const", asMETHODPR(ValueAnimation, Refs, () const, int), asCALL_THISCALL);
     // static void ValueAnimation::RegisterObject(Context* context) | File: ../Scene/ValueAnimation.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("ValueAnimation", asBEHAVE_RELEASE, "void f()", asMETHODPR(ValueAnimation, ReleaseRef, (), void), asCALL_THISCALL);
     // void Resource::ResetUseTimer() | File: ../Resource/Resource.h
@@ -1067,7 +1067,7 @@ void ASRegisterGenerated_Members_V(asIScriptEngine* engine)
     // bool Variant::operator==(const Matrix4& rhs) const | File: ../Core/Variant.h
     engine->RegisterObjectMethod("Variant", "bool opEquals(const Matrix4&in) const", asMETHODPR(Variant, operator==, (const Matrix4&) const, bool), asCALL_THISCALL);
     // void Variant::SetBuffer(const void* data, unsigned size) | File: ../Core/Variant.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // template<class T> void Variant::SetCustom(const T& value) | File: ../Core/Variant.h
     // Not registered because template
     // void Variant::SetCustomVariantValue(const CustomVariantValue& value) | File: ../Core/Variant.h
@@ -1604,7 +1604,7 @@ void ASRegisterGenerated_Members_V(asIScriptEngine* engine)
     // void VectorBuffer::SetData(const PODVector<unsigned char>& data) | File: ../IO/VectorBuffer.h
     // Error: type "const PODVector<unsigned char>&" can not automatically bind
     // void VectorBuffer::SetData(const void* data, unsigned size) | File: ../IO/VectorBuffer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // void VectorBuffer::SetData(Deserializer& source, unsigned size) | File: ../IO/VectorBuffer.h
     engine->RegisterObjectMethod("VectorBuffer", "void SetData(Deserializer&, uint)", asMETHODPR(VectorBuffer, SetData, (Deserializer&, unsigned), void), asCALL_THISCALL);
     // virtual void AbstractFile::SetName(const String& name) | File: ../IO/AbstractFile.h
@@ -1619,7 +1619,7 @@ void ASRegisterGenerated_Members_V(asIScriptEngine* engine)
     // VectorBuffer::VectorBuffer(Deserializer& source, unsigned size) | File: ../IO/VectorBuffer.h
     engine->RegisterObjectBehaviour("VectorBuffer", asBEHAVE_CONSTRUCT, "void f(Deserializer&, uint)", asFUNCTION(VectorBuffer_VectorBuffer_Deserializer_unsigned), asCALL_CDECL_OBJFIRST);
     // unsigned VectorBuffer::Write(const void* data, unsigned size) override | File: ../IO/VectorBuffer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool Serializer::WriteBool(bool value) | File: ../IO/Serializer.h
     engine->RegisterObjectMethod("VectorBuffer", "bool WriteBool(bool)", asMETHODPR(VectorBuffer, WriteBool, (bool), bool), asCALL_THISCALL);
     // bool Serializer::WriteBoundingBox(const BoundingBox& value) | File: ../IO/Serializer.h
@@ -1731,7 +1731,7 @@ void ASRegisterGenerated_Members_V(asIScriptEngine* engine)
     engine->RegisterObjectMethod("VertexBuffer", "const String& GetCategory() const", asMETHODPR(VertexBuffer, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("VertexBuffer", "const String& get_category() const", asMETHODPR(VertexBuffer, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // const VertexElement* VertexBuffer::GetElement(VertexElementSemantic semantic, unsigned char index=0) const | File: ../Graphics/VertexBuffer.h
     // Error: type "const VertexElement*" can not automatically bind
     // const VertexElement* VertexBuffer::GetElement(VertexElementType type, VertexElementSemantic semantic, unsigned char index=0) const | File: ../Graphics/VertexBuffer.h
@@ -1865,9 +1865,9 @@ void ASRegisterGenerated_Members_V(asIScriptEngine* engine)
     // void Object::SetBlockEvents(bool block) | File: ../Core/Object.h
     engine->RegisterObjectMethod("VertexBuffer", "void SetBlockEvents(bool)", asMETHODPR(VertexBuffer, SetBlockEvents, (bool), void), asCALL_THISCALL);
     // bool VertexBuffer::SetData(const void* data) | File: ../Graphics/VertexBuffer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool VertexBuffer::SetDataRange(const void* data, unsigned start, unsigned count, bool discard=false) | File: ../Graphics/VertexBuffer.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // void Object::SetGlobalVar(StringHash key, const Variant& value) | File: ../Core/Object.h
     engine->RegisterObjectMethod("VertexBuffer", "void SetGlobalVar(StringHash, const Variant&in)", asMETHODPR(VertexBuffer, SetGlobalVar, (StringHash, const Variant&), void), asCALL_THISCALL);
     engine->RegisterObjectMethod("VertexBuffer", "void set_globalVar(StringHash, const Variant&in)", asMETHODPR(VertexBuffer, SetGlobalVar, (StringHash, const Variant&), void), asCALL_THISCALL);
@@ -1940,7 +1940,7 @@ void ASRegisterGenerated_Members_V(asIScriptEngine* engine)
     engine->RegisterObjectMethod("View", "const String& GetCategory() const", asMETHODPR(View, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("View", "const String& get_category() const", asMETHODPR(View, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // Camera* View::GetCullCamera() const | File: ../Graphics/View.h
     engine->RegisterObjectMethod("View", "Camera@+ GetCullCamera() const", asMETHODPR(View, GetCullCamera, () const, Camera*), asCALL_THISCALL);
     // bool View::GetDrawDebug() const | File: ../Graphics/View.h
@@ -2216,7 +2216,7 @@ void ASRegisterGenerated_Members_V(asIScriptEngine* engine)
     engine->RegisterObjectMethod("View3D", "IntRect GetCombinedScreenRect()", asMETHODPR(View3D, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("View3D", "IntRect get_combinedScreenRect()", asMETHODPR(View3D, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -2605,7 +2605,7 @@ void ASRegisterGenerated_Members_V(asIScriptEngine* engine)
     engine->RegisterObjectMethod("View3D", "int Refs() const", asMETHODPR(View3D, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("View3D", "int get_refs() const", asMETHODPR(View3D, Refs, () const, int), asCALL_THISCALL);
     // static void View3D::RegisterObject(Context* context) | File: ../UI/View3D.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("View3D", asBEHAVE_RELEASE, "void f()", asMETHODPR(View3D, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -3028,7 +3028,7 @@ void ASRegisterGenerated_Members_V(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Viewport", "const String& GetCategory() const", asMETHODPR(Viewport, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("Viewport", "const String& get_category() const", asMETHODPR(Viewport, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // Camera* Viewport::GetCullCamera() const | File: ../Graphics/Viewport.h
     engine->RegisterObjectMethod("Viewport", "Camera@+ GetCullCamera() const", asMETHODPR(Viewport, GetCullCamera, () const, Camera*), asCALL_THISCALL);
     engine->RegisterObjectMethod("Viewport", "Camera@+ get_cullCamera() const", asMETHODPR(Viewport, GetCullCamera, () const, Camera*), asCALL_THISCALL);

+ 3 - 3
Source/Urho3D/AngelScript/Generated_Members_W.cpp

@@ -198,7 +198,7 @@ void ASRegisterGenerated_Members_W(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Window", "IntRect GetCombinedScreenRect()", asMETHODPR(Window, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     engine->RegisterObjectMethod("Window", "IntRect get_combinedScreenRect()", asMETHODPR(Window, GetCombinedScreenRect, (), IntRect), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void UIElement::GetDebugDrawBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor) | File: ../UI/UIElement.h
     // Error: type "PODVector<UIBatch>&" can not automatically bind
     // XMLFile* UIElement::GetDefaultStyle(bool recursiveUp=true) const | File: ../UI/UIElement.h
@@ -570,7 +570,7 @@ void ASRegisterGenerated_Members_W(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Window", "int Refs() const", asMETHODPR(Window, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Window", "int get_refs() const", asMETHODPR(Window, Refs, () const, int), asCALL_THISCALL);
     // static void Window::RegisterObject(Context* context) | File: ../UI/Window.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Window", asBEHAVE_RELEASE, "void f()", asMETHODPR(Window, ReleaseRef, (), void), asCALL_THISCALL);
     // void UIElement::Remove() | File: ../UI/UIElement.h
@@ -982,7 +982,7 @@ void ASRegisterGenerated_Members_W(asIScriptEngine* engine)
     engine->RegisterObjectMethod("WorkQueue", "const String& GetCategory() const", asMETHODPR(WorkQueue, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("WorkQueue", "const String& get_category() const", asMETHODPR(WorkQueue, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("WorkQueue", "VariantMap& GetEventDataMap() const", asMETHODPR(WorkQueue, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h

+ 3 - 3
Source/Urho3D/AngelScript/Generated_Members_X.cpp

@@ -240,7 +240,7 @@ void ASRegisterGenerated_Members_X(asIScriptEngine* engine)
     // bool XMLElement::SetBoundingBox(const BoundingBox& value) | File: ../Resource/XMLElement.h
     engine->RegisterObjectMethod("XMLElement", "bool SetBoundingBox(const BoundingBox&in)", asMETHODPR(XMLElement, SetBoundingBox, (const BoundingBox&), bool), asCALL_THISCALL);
     // bool XMLElement::SetBuffer(const String& name, const void* data, unsigned size) | File: ../Resource/XMLElement.h
-    // Error: type "void*" can not automatically bind
+    // Error: type "const void*" can not automatically bind
     // bool XMLElement::SetBuffer(const String& name, const PODVector<unsigned char>& value) | File: ../Resource/XMLElement.h
     // Error: type "const PODVector<unsigned char>&" can not automatically bind
     // bool XMLElement::SetColor(const String& name, const Color& value) | File: ../Resource/XMLElement.h
@@ -334,7 +334,7 @@ void ASRegisterGenerated_Members_X(asIScriptEngine* engine)
     engine->RegisterObjectMethod("XMLFile", "const String& GetCategory() const", asMETHODPR(XMLFile, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod("XMLFile", "const String& get_category() const", asMETHODPR(XMLFile, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // pugi::xml_document* XMLFile::GetDocument() const | File: ../Resource/XMLFile.h
     // Error: type "pugi::xml_document*" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -407,7 +407,7 @@ void ASRegisterGenerated_Members_X(asIScriptEngine* engine)
     engine->RegisterObjectMethod("XMLFile", "int Refs() const", asMETHODPR(XMLFile, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("XMLFile", "int get_refs() const", asMETHODPR(XMLFile, Refs, () const, int), asCALL_THISCALL);
     // static void XMLFile::RegisterObject(Context* context) | File: ../Resource/XMLFile.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("XMLFile", asBEHAVE_RELEASE, "void f()", asMETHODPR(XMLFile, ReleaseRef, (), void), asCALL_THISCALL);
     // void Resource::ResetUseTimer() | File: ../Resource/Resource.h

+ 2 - 2
Source/Urho3D/AngelScript/Generated_Members_Z.cpp

@@ -120,7 +120,7 @@ void ASRegisterGenerated_Members_Z(asIScriptEngine* engine)
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // float Drawable::GetDistance() const | File: ../Graphics/Drawable.h
@@ -344,7 +344,7 @@ void ASRegisterGenerated_Members_Z(asIScriptEngine* engine)
     engine->RegisterObjectMethod("Zone", "int Refs() const", asMETHODPR(Zone, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("Zone", "int get_refs() const", asMETHODPR(Zone, Refs, () const, int), asCALL_THISCALL);
     // static void Zone::RegisterObject(Context* context) | File: ../Graphics/Zone.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("Zone", asBEHAVE_RELEASE, "void f()", asMETHODPR(Zone, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h

+ 4 - 4
Source/Urho3D/AngelScript/Generated_Templates.h

@@ -110,7 +110,7 @@ template <class T> void RegisterComponent(asIScriptEngine* engine, const char* c
     // template<class T> void Component::GetComponents(PODVector<T*>& dest) const | File: ../Scene/Component.h
     // Not registered because template
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // virtual void Component::GetDependencyNodes(PODVector<Node*>& dest) | File: ../Scene/Component.h
     // Error: type "PODVector<Node*>&" can not automatically bind
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
@@ -215,7 +215,7 @@ template <class T> void RegisterComponent(asIScriptEngine* engine, const char* c
     engine->RegisterObjectMethod(className, "int Refs() const", asMETHODPR(T, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod(className, "int get_refs() const", asMETHODPR(T, Refs, () const, int), asCALL_THISCALL);
     // static void Animatable::RegisterObject(Context* context) | File: ../Scene/Animatable.h
-    // Context can be used as firs parameter of constructors only
+    // Not registered because have @nobind mark
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour(className, asBEHAVE_RELEASE, "void f()", asMETHODPR(T, ReleaseRef, (), void), asCALL_THISCALL);
     // void Component::Remove() | File: ../Scene/Component.h
@@ -345,7 +345,7 @@ template <class T> void RegisterObject(asIScriptEngine* engine, const char* clas
     engine->RegisterObjectMethod(className, "const String& GetCategory() const", asMETHODPR(T, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod(className, "const String& get_category() const", asMETHODPR(T, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod(className, "VariantMap& GetEventDataMap() const", asMETHODPR(T, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h
@@ -457,7 +457,7 @@ template <class T> void RegisterResource(asIScriptEngine* engine, const char* cl
     engine->RegisterObjectMethod(className, "const String& GetCategory() const", asMETHODPR(T, GetCategory, () const, const String&), asCALL_THISCALL);
     engine->RegisterObjectMethod(className, "const String& get_category() const", asMETHODPR(T, GetCategory, () const, const String&), asCALL_THISCALL);
     // Context* Object::GetContext() const | File: ../Core/Object.h
-    // Error: type "Context*" can not be returned
+    // Error: type "Context*" can used only as function parameter
     // VariantMap& Object::GetEventDataMap() const | File: ../Core/Object.h
     engine->RegisterObjectMethod(className, "VariantMap& GetEventDataMap() const", asMETHODPR(T, GetEventDataMap, () const, VariantMap&), asCALL_THISCALL);
     // EventHandler* Object::GetEventHandler() const | File: ../Core/Object.h

+ 0 - 12
Source/Urho3D/AngelScript/Manual_Resource.cpp

@@ -145,18 +145,6 @@ CScriptArray* ResourceCacheGetResources(StringHash type, ResourceCache* ptr)
 
 // ========================================================================================
 
-// void JSONValue::SetVariant(const Variant &variant, Context *context=nullptr) | File: ../Resource/JSONValue.h
-void JSONValueSetVariant(const Variant& variant, JSONValue& jsonValue)
-{
-    jsonValue.SetVariant(variant, GetScriptContext());
-}
-
-// void JSONValue::SetVariantMap(const VariantMap &variantMap, Context *context=nullptr) | File: ../Resource/JSONValue.h
-void JSONValueSetVariantMap(const VariantMap& variantMap, JSONValue& jsonValue)
-{
-    jsonValue.SetVariantMap(variantMap, GetScriptContext());
-}
-
 CScriptArray* JSONValueGetKeys(const JSONValue& jsonValue)
 {
     Vector<String> keys;

+ 1 - 9
Source/Urho3D/AngelScript/Manual_Resource.h

@@ -99,19 +99,11 @@ CScriptArray* ResourceCacheGetResources(StringHash type, ResourceCache* ptr);
 
 // ========================================================================================
 
-// void JSONValue::SetVariant(const Variant &variant, Context *context=nullptr) | File: ../Resource/JSONValue.h
-void JSONValueSetVariant(const Variant& variant, JSONValue& jsonValue);
-// void JSONValue::SetVariantMap(const VariantMap &variantMap, Context *context=nullptr) | File: ../Resource/JSONValue.h
-void JSONValueSetVariantMap(const VariantMap& variantMap, JSONValue& jsonValue);
 CScriptArray* JSONValueGetKeys(const JSONValue& jsonValue);
 CScriptArray* JSONValueGetValues(const JSONValue& jsonValue);
 
 #define REGISTER_MANUAL_PART_JSONValue(T, className) \
     engine->RegisterObjectMethod(className, "Array<String>@ get_keys() const", asFUNCTION(JSONValueGetKeys), asCALL_CDECL_OBJLAST); \
-    engine->RegisterObjectMethod(className, "Array<JSONValue>@ get_values() const", asFUNCTION(JSONValueGetValues), asCALL_CDECL_OBJLAST); \
-    /* void JSONValue::SetVariant(const Variant &variant, Context *context=nullptr) | File: ../Resource/JSONValue.h */ \
-    engine->RegisterObjectMethod(className, "void SetVariant(const Variant&in)", asFUNCTION(JSONValueSetVariant), asCALL_CDECL_OBJLAST); \
-    /* void JSONValue::SetVariantMap(const VariantMap &variantMap, Context *context=nullptr) | File: ../Resource/JSONValue.h */ \
-    engine->RegisterObjectMethod(className, "void SetVariantMap(const VariantMap&in)", asFUNCTION(JSONValueSetVariantMap), asCALL_CDECL_OBJLAST);
+    engine->RegisterObjectMethod(className, "Array<JSONValue>@ get_values() const", asFUNCTION(JSONValueGetValues), asCALL_CDECL_OBJLAST);
 
 }

+ 1 - 0
Source/Urho3D/AngelScript/ScriptFile.h

@@ -53,6 +53,7 @@ public:
     /// Destruct.
     ~ScriptFile() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/AngelScript/ScriptInstance.h

@@ -67,6 +67,7 @@ public:
     /// Destruct.
     ~ScriptInstance() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Handle attribute write access.

+ 1 - 0
Source/Urho3D/Audio/Audio.h

@@ -162,6 +162,7 @@ private:
 };
 
 /// Register Audio library objects.
+/// @nobind
 void URHO3D_API RegisterAudioLibrary(Context* context);
 
 }

+ 1 - 0
Source/Urho3D/Audio/Sound.h

@@ -41,6 +41,7 @@ public:
     /// Destruct and free sound data.
     ~Sound() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Audio/SoundListener.h

@@ -38,6 +38,7 @@ public:
     /// Destruct.
     ~SoundListener() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 };
 

+ 1 - 0
Source/Urho3D/Audio/SoundSource.h

@@ -46,6 +46,7 @@ public:
     /// Destruct. Remove self from the audio subsystem.
     ~SoundSource() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Seek to time.

+ 1 - 0
Source/Urho3D/Audio/SoundSource3D.h

@@ -38,6 +38,7 @@ public:
     /// Construct.
     explicit SoundSource3D(Context* context);
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Visualize the component as debug geometry.

+ 1 - 0
Source/Urho3D/Graphics/AnimatedModel.h

@@ -45,6 +45,7 @@ public:
     /// Destruct.
     ~AnimatedModel() override;
     /// Register object factory. Drawable must be registered first.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load from binary data. Return true if successful.

+ 1 - 0
Source/Urho3D/Graphics/Animation.h

@@ -127,6 +127,7 @@ public:
     /// Destruct.
     ~Animation() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Graphics/AnimationController.h

@@ -92,6 +92,7 @@ public:
     /// Destruct.
     ~AnimationController() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Handle enabled/disabled state change.

+ 1 - 0
Source/Urho3D/Graphics/BillboardSet.h

@@ -69,6 +69,7 @@ public:
     /// Destruct.
     ~BillboardSet() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Process octree raycast. May be called from a worker thread.

+ 1 - 0
Source/Urho3D/Graphics/Camera.h

@@ -57,6 +57,7 @@ public:
     /// Destruct.
     ~Camera() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Visualize the component as debug geometry.

+ 1 - 0
Source/Urho3D/Graphics/CustomGeometry.h

@@ -56,6 +56,7 @@ public:
     /// Destruct.
     ~CustomGeometry() override;
     /// Register object factory. Drawable must be registered first.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Process octree raycast. May be called from a worker thread.

+ 1 - 0
Source/Urho3D/Graphics/DebugRenderer.h

@@ -98,6 +98,7 @@ public:
     /// Destruct.
     ~DebugRenderer() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Set line antialiasing on/off. Default false.

+ 1 - 0
Source/Urho3D/Graphics/DecalSet.h

@@ -110,6 +110,7 @@ public:
     /// Destruct.
     ~DecalSet() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Apply attribute changes that can not be applied immediately. Called after scene load or a network update.

+ 1 - 0
Source/Urho3D/Graphics/Drawable.h

@@ -121,6 +121,7 @@ public:
     /// Destruct.
     ~Drawable() override;
     /// Register object attributes. Drawable must be registered first.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Handle enabled/disabled state change.

+ 1 - 0
Source/Urho3D/Graphics/Graphics.h

@@ -922,6 +922,7 @@ private:
 };
 
 /// Register Graphics library objects.
+/// @nobind
 void URHO3D_API RegisterGraphicsLibrary(Context* context);
 
 }

+ 1 - 0
Source/Urho3D/Graphics/Light.h

@@ -159,6 +159,7 @@ public:
     /// Destruct.
     ~Light() override;
     /// Register object factory. Drawable must be registered first.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Process octree raycast. May be called from a worker thread.

+ 1 - 0
Source/Urho3D/Graphics/Material.h

@@ -113,6 +113,7 @@ public:
     /// Destruct.
     ~Material() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Graphics/Model.h

@@ -115,6 +115,7 @@ public:
     /// Destruct.
     ~Model() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Graphics/Octree.h

@@ -169,6 +169,7 @@ public:
     /// Destruct.
     ~Octree() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Visualize the component as debug geometry.

+ 1 - 0
Source/Urho3D/Graphics/ParticleEffect.h

@@ -117,6 +117,7 @@ public:
     /// Destruct.
     ~ParticleEffect() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Graphics/ParticleEmitter.h

@@ -61,6 +61,7 @@ public:
     /// Destruct.
     ~ParticleEmitter() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Handle enabled/disabled state change.

+ 1 - 0
Source/Urho3D/Graphics/RibbonTrail.h

@@ -72,6 +72,7 @@ public:
     /// Destruct.
     ~RibbonTrail() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
     /// Process octree raycast. May be called from a worker thread.
     void ProcessRayQuery(const RayOctreeQuery& query, PODVector<RayQueryResult>& results) override;

+ 1 - 0
Source/Urho3D/Graphics/Shader.h

@@ -41,6 +41,7 @@ public:
     /// Destruct.
     ~Shader() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Graphics/Skybox.h

@@ -38,6 +38,7 @@ public:
     /// Destruct.
     ~Skybox() override;
     /// Register object factory. StaticModel must be registered first.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Process octree raycast. May be called from a worker thread.

+ 1 - 0
Source/Urho3D/Graphics/StaticModel.h

@@ -49,6 +49,7 @@ public:
     /// Destruct.
     ~StaticModel() override;
     /// Register object factory. Drawable must be registered first.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Process octree raycast. May be called from a worker thread.

+ 1 - 0
Source/Urho3D/Graphics/StaticModelGroup.h

@@ -38,6 +38,7 @@ public:
     /// Destruct.
     ~StaticModelGroup() override;
     /// Register object factory. StaticModel must be registered first.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Apply attribute changes that can not be applied immediately. Called after scene load or a network update.

+ 1 - 0
Source/Urho3D/Graphics/Technique.h

@@ -225,6 +225,7 @@ public:
     /// Destruct.
     ~Technique() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Graphics/Terrain.h

@@ -45,6 +45,7 @@ public:
     /// Destruct.
     ~Terrain() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Apply attribute changes that can not be applied immediately. Called after scene load or a network update.

+ 1 - 0
Source/Urho3D/Graphics/TerrainPatch.h

@@ -42,6 +42,7 @@ public:
     /// Destruct.
     ~TerrainPatch() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Process octree raycast. May be called from a worker thread.

+ 1 - 0
Source/Urho3D/Graphics/Texture2D.h

@@ -43,6 +43,7 @@ public:
     /// Destruct.
     ~Texture2D() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Graphics/Texture2DArray.h

@@ -43,6 +43,7 @@ public:
     /// Destruct.
     ~Texture2DArray() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Graphics/Texture3D.h

@@ -41,6 +41,7 @@ public:
     /// Destruct.
     ~Texture3D() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Graphics/TextureCube.h

@@ -43,6 +43,7 @@ public:
     /// Destruct.
     ~TextureCube() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Graphics/Zone.h

@@ -40,6 +40,7 @@ public:
     /// Destruct.
     ~Zone() override;
     /// Register object factory. Drawable must be registered first.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Visualize the component as debug geometry.

+ 1 - 0
Source/Urho3D/IK/IK.h

@@ -40,6 +40,7 @@ namespace Urho3D
 class Context;
 
 /// Registers all IK systems to the specified context.
+/// @nobind
 void RegisterIKLibrary(Context* context);
 
 } // namespace Urho3D

+ 1 - 0
Source/Urho3D/IK/IKConstraint.h

@@ -45,6 +45,7 @@ public:
     ~IKConstraint() override;
 
     /// Registers this class as an object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     float GetStiffness() const;

+ 1 - 0
Source/Urho3D/IK/IKEffector.h

@@ -68,6 +68,7 @@ public:
     ~IKEffector() override;
 
     /// Registers this class as an object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Test if a certain feature is enabled (see IKEffector::Feature).

+ 1 - 0
Source/Urho3D/IK/IKSolver.h

@@ -170,6 +170,7 @@ public:
     /// Default destructor.
     ~IKSolver() override;
     /// Registers this class to the context.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Returns the active algorithm.

+ 1 - 0
Source/Urho3D/LuaScript/LuaFile.h

@@ -41,6 +41,7 @@ public:
     /// Destruct.
     ~LuaFile() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/LuaScript/LuaScriptInstance.h

@@ -67,6 +67,7 @@ public:
     /// Destruct.
     ~LuaScriptInstance() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Handle attribute write access.

+ 1 - 0
Source/Urho3D/Navigation/CrowdAgent.h

@@ -84,6 +84,7 @@ public:
     /// Destruct.
     ~CrowdAgent() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
     /// Apply attribute changes that can not be applied immediately. Called after scene load or a network update.
     void ApplyAttributes() override;

+ 1 - 0
Source/Urho3D/Navigation/CrowdManager.h

@@ -69,6 +69,7 @@ public:
     /// Destruct.
     ~CrowdManager() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
     /// Apply attribute changes that can not be applied immediately. Called after scene load or a network update.
     void ApplyAttributes() override;

+ 1 - 0
Source/Urho3D/Navigation/DynamicNavigationMesh.h

@@ -52,6 +52,7 @@ public:
     ~DynamicNavigationMesh() override;
 
     /// Register with engine context.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Allocate the navigation mesh without building any tiles. Bounding box is not padded. Return true if successful.

+ 1 - 0
Source/Urho3D/Navigation/NavArea.h

@@ -38,6 +38,7 @@ public:
     /// Destruct.
     ~NavArea() override;
     /// Register object factory and attributes.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Render debug geometry for the bounds.

+ 1 - 0
Source/Urho3D/Navigation/Navigable.h

@@ -38,6 +38,7 @@ public:
     /// Destruct.
     ~Navigable() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Set whether geometry is automatically collected from child nodes. Default true.

+ 2 - 0
Source/Urho3D/Navigation/NavigationMesh.h

@@ -101,6 +101,7 @@ public:
     /// Destruct.
     ~NavigationMesh() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Visualize the component as debug geometry.
@@ -393,6 +394,7 @@ protected:
 };
 
 /// Register Navigation library objects.
+/// @nobind
 void URHO3D_API RegisterNavigationLibrary(Context* context);
 
 }

+ 1 - 0
Source/Urho3D/Navigation/Obstacle.h

@@ -44,6 +44,7 @@ public:
     ~Obstacle() override;
 
     /// Register Obstacle with engine context.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Update the owning mesh when enabled status has changed.

+ 1 - 0
Source/Urho3D/Navigation/OffMeshConnection.h

@@ -38,6 +38,7 @@ public:
     /// Destruct.
     ~OffMeshConnection() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Apply attribute changes that can not be applied immediately. Called after scene load or a network update.

+ 1 - 0
Source/Urho3D/Network/Network.h

@@ -205,6 +205,7 @@ private:
 };
 
 /// Register Network library objects.
+/// @nobind
 void URHO3D_API RegisterNetworkLibrary(Context* context);
 
 }

+ 1 - 0
Source/Urho3D/Network/NetworkPriority.h

@@ -38,6 +38,7 @@ public:
     /// Destruct.
     ~NetworkPriority() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Set base priority. Default 100 (send updates at full frequency).

+ 1 - 0
Source/Urho3D/Physics/CollisionShape.h

@@ -150,6 +150,7 @@ public:
     /// Destruct. Free the geometry data and clean up unused data from the geometry data cache.
     ~CollisionShape() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Apply attribute changes that can not be applied immediately. Called after scene load or a network update.

+ 1 - 0
Source/Urho3D/Physics/Constraint.h

@@ -57,6 +57,7 @@ public:
     /// Destruct.
     ~Constraint() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Apply attribute changes that can not be applied immediately. Called after scene load or a network update.

+ 2 - 0
Source/Urho3D/Physics/PhysicsWorld.h

@@ -138,6 +138,7 @@ public:
     /// Destruct.
     ~PhysicsWorld() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Check if an AABB is visible for debug drawing.
@@ -379,6 +380,7 @@ private:
 };
 
 /// Register Physics library objects.
+/// @nobind
 void URHO3D_API RegisterPhysicsLibrary(Context* context);
 
 }

+ 1 - 0
Source/Urho3D/Physics/RaycastVehicle.h

@@ -41,6 +41,7 @@ public:
     ~RaycastVehicle() override;
 
     /// Register object factory and attributes.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Handle enabled/disabled state change.

+ 1 - 0
Source/Urho3D/Physics/RigidBody.h

@@ -59,6 +59,7 @@ public:
     /// Destruct. Free the rigid body and geometries.
     ~RigidBody() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Apply attribute changes that can not be applied immediately. Called after scene load or a network update.

+ 1 - 0
Source/Urho3D/Resource/Image.h

@@ -88,6 +88,7 @@ public:
     /// Destruct.
     ~Image() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Resource/JSONFile.h

@@ -39,6 +39,7 @@ public:
     /// Destruct.
     ~JSONFile() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Resource/PListFile.h

@@ -150,6 +150,7 @@ public:
     /// Destruct.
     ~PListFile() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Resource/ResourceCache.h

@@ -317,6 +317,7 @@ template <class T> void ResourceCache::GetResources(PODVector<T*>& result) const
 }
 
 /// Register Resource library subsystems and objects.
+/// @nobind
 void URHO3D_API RegisterResourceLibrary(Context* context);
 
 }

+ 1 - 0
Source/Urho3D/Resource/XMLFile.h

@@ -48,6 +48,7 @@ public:
     /// Destruct.
     ~XMLFile() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

+ 1 - 0
Source/Urho3D/Scene/Animatable.h

@@ -70,6 +70,7 @@ public:
     /// Destruct.
     ~Animatable() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load from XML data. Return true if successful.

+ 1 - 0
Source/Urho3D/Scene/Node.h

@@ -84,6 +84,7 @@ public:
     /// Destruct. Any child nodes are detached.
     ~Node() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load from binary data. Return true if successful.

+ 1 - 0
Source/Urho3D/Scene/ObjectAnimation.h

@@ -44,6 +44,7 @@ public:
     /// Destruct.
     ~ObjectAnimation() override;
     /// Register object factory.
+    /// @nobind
     static void RegisterObject(Context* context);
 
     /// Load resource from stream. May be called from a worker thread. Return true if successful.

Some files were not shown because too many files changed in this diff