diff options
author | Marcel Admiraal <madmiraal@users.noreply.github.com> | 2021-11-28 08:48:57 +0000 |
---|---|---|
committer | Marcel Admiraal <madmiraal@users.noreply.github.com> | 2021-11-29 14:51:44 +0000 |
commit | 272b3c3728b8bdc69e4086cd6a76bc80aa5d2688 (patch) | |
tree | 3d99da330eaed613abfb14244051b00e8e11f163 | |
parent | 52b7d5fa347fb88aa016e1e30414abd01e800381 (diff) |
Enable sorting of operator methods in class documentation.
-rw-r--r-- | core/doc_data.h | 31 | ||||
-rw-r--r-- | doc/classes/Transform2D.xml | 12 | ||||
-rw-r--r-- | doc/classes/Transform3D.xml | 14 | ||||
-rw-r--r-- | doc/classes/Vector2.xml | 14 | ||||
-rw-r--r-- | doc/classes/Vector3.xml | 20 | ||||
-rw-r--r-- | doc/classes/float.xml | 18 | ||||
-rw-r--r-- | doc/classes/int.xml | 28 |
7 files changed, 74 insertions, 63 deletions
diff --git a/core/doc_data.h b/core/doc_data.h index c75cdfcde5..066cc6b848 100644 --- a/core/doc_data.h +++ b/core/doc_data.h @@ -70,18 +70,29 @@ public: Vector<int> errors_returned; bool operator<(const MethodDoc &p_method) const { if (name == p_method.name) { - // Must be a constructor since there is no overloading. - // We want this arbitrary order for a class "Foo": - // - 1. Default constructor: Foo() - // - 2. Copy constructor: Foo(Foo) - // - 3+. Other constructors Foo(Bar, ...) based on first argument's name - if (arguments.size() == 0 || p_method.arguments.size() == 0) { // 1. + // Must be an operator or a constructor since there is no other overloading + if (name.left(8) == "operator") { + if (arguments.size() == p_method.arguments.size()) { + if (arguments.size() == 0) { + return false; + } + return arguments[0].type < p_method.arguments[0].type; + } return arguments.size() < p_method.arguments.size(); + } else { + // Must be a constructor + // We want this arbitrary order for a class "Foo": + // - 1. Default constructor: Foo() + // - 2. Copy constructor: Foo(Foo) + // - 3+. Other constructors Foo(Bar, ...) based on first argument's name + if (arguments.size() == 0 || p_method.arguments.size() == 0) { // 1. + return arguments.size() < p_method.arguments.size(); + } + if (arguments[0].type == return_type || p_method.arguments[0].type == p_method.return_type) { // 2. + return (arguments[0].type == return_type) || (p_method.arguments[0].type != p_method.return_type); + } + return arguments[0] < p_method.arguments[0]; } - if (arguments[0].type == return_type || p_method.arguments[0].type == p_method.return_type) { // 2. - return (arguments[0].type == return_type) || (p_method.arguments[0].type != p_method.return_type); - } - return arguments[0] < p_method.arguments[0]; } return name < p_method.name; } diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml index be41cdde99..97cbf6918d 100644 --- a/doc/classes/Transform2D.xml +++ b/doc/classes/Transform2D.xml @@ -225,17 +225,17 @@ </description> </operator> <operator name="operator *"> - <return type="Transform2D" /> - <argument index="0" name="right" type="Transform2D" /> + <return type="Rect2" /> + <argument index="0" name="right" type="Rect2" /> <description> - Composes these two transformation matrices by multiplying them together. This has the effect of transforming the second transform (the child) by the first transform (the parent). + Transforms (multiplies) the [Rect2] by the given [Transform2D] matrix. </description> </operator> <operator name="operator *"> - <return type="Rect2" /> - <argument index="0" name="right" type="Rect2" /> + <return type="Transform2D" /> + <argument index="0" name="right" type="Transform2D" /> <description> - Transforms (multiplies) the [Rect2] by the given [Transform2D] matrix. + Composes these two transformation matrices by multiplying them together. This has the effect of transforming the second transform (the child) by the first transform (the parent). </description> </operator> <operator name="operator *"> diff --git a/doc/classes/Transform3D.xml b/doc/classes/Transform3D.xml index 511574f6aa..e62cb9216e 100644 --- a/doc/classes/Transform3D.xml +++ b/doc/classes/Transform3D.xml @@ -152,6 +152,13 @@ </description> </operator> <operator name="operator *"> + <return type="AABB" /> + <argument index="0" name="right" type="AABB" /> + <description> + Transforms (multiplies) the [AABB] by the given [Transform3D] matrix. + </description> + </operator> + <operator name="operator *"> <return type="PackedVector3Array" /> <argument index="0" name="right" type="PackedVector3Array" /> <description> @@ -166,13 +173,6 @@ </description> </operator> <operator name="operator *"> - <return type="AABB" /> - <argument index="0" name="right" type="AABB" /> - <description> - Transforms (multiplies) the [AABB] by the given [Transform3D] matrix. - </description> - </operator> - <operator name="operator *"> <return type="Vector3" /> <argument index="0" name="right" type="Vector3" /> <description> diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml index 595af6222c..431815e75a 100644 --- a/doc/classes/Vector2.xml +++ b/doc/classes/Vector2.xml @@ -358,19 +358,19 @@ </operator> <operator name="operator *"> <return type="Vector2" /> - <argument index="0" name="right" type="Vector2" /> + <argument index="0" name="right" type="Transform2D" /> <description> - Multiplies each component of the [Vector2] by the components of the given [Vector2]. - [codeblock] - print(Vector2(10, 20) * Vector2(3, 4)) # Prints "(30, 80)" - [/codeblock] + Inversely transforms (multiplies) the [Vector2] by the given [Transform2D] transformation matrix. </description> </operator> <operator name="operator *"> <return type="Vector2" /> - <argument index="0" name="right" type="Transform2D" /> + <argument index="0" name="right" type="Vector2" /> <description> - Inversely transforms (multiplies) the [Vector2] by the given [Transform2D] transformation matrix. + Multiplies each component of the [Vector2] by the components of the given [Vector2]. + [codeblock] + print(Vector2(10, 20) * Vector2(3, 4)) # Prints "(30, 80)" + [/codeblock] </description> </operator> <operator name="operator *"> diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml index 62d467c505..6d20cc85ea 100644 --- a/doc/classes/Vector3.xml +++ b/doc/classes/Vector3.xml @@ -373,16 +373,6 @@ </operator> <operator name="operator *"> <return type="Vector3" /> - <argument index="0" name="right" type="Vector3" /> - <description> - Multiplies each component of the [Vector3] by the components of the given [Vector3]. - [codeblock] - print(Vector3(10, 20, 30) * Vector3(3, 4, 5)) # Prints "(30, 80, 150)" - [/codeblock] - </description> - </operator> - <operator name="operator *"> - <return type="Vector3" /> <argument index="0" name="right" type="Basis" /> <description> Inversely transforms (multiplies) the [Vector3] by the given [Basis] matrix. @@ -404,6 +394,16 @@ </operator> <operator name="operator *"> <return type="Vector3" /> + <argument index="0" name="right" type="Vector3" /> + <description> + Multiplies each component of the [Vector3] by the components of the given [Vector3]. + [codeblock] + print(Vector3(10, 20, 30) * Vector3(3, 4, 5)) # Prints "(30, 80, 150)" + [/codeblock] + </description> + </operator> + <operator name="operator *"> + <return type="Vector3" /> <argument index="0" name="right" type="float" /> <description> Multiplies each component of the [Vector3] by the given [float]. diff --git a/doc/classes/float.xml b/doc/classes/float.xml index c96360e6ba..9effe9d5bf 100644 --- a/doc/classes/float.xml +++ b/doc/classes/float.xml @@ -62,10 +62,13 @@ </description> </operator> <operator name="operator *"> - <return type="float" /> - <argument index="0" name="right" type="float" /> + <return type="Color" /> + <argument index="0" name="right" type="Color" /> <description> - Multiplies two [float]s. + Multiplies each component of the [Color] by the given [float]. + [codeblock] + print(1.5 * Color(0.5, 0.5, 0.5)) # Color(0.75, 0.75, 0.75) + [/codeblock] </description> </operator> <operator name="operator *"> @@ -113,13 +116,10 @@ </description> </operator> <operator name="operator *"> - <return type="Color" /> - <argument index="0" name="right" type="Color" /> + <return type="float" /> + <argument index="0" name="right" type="float" /> <description> - Multiplies each component of the [Color] by the given [float]. - [codeblock] - print(1.5 * Color(0.5, 0.5, 0.5)) # Color(0.75, 0.75, 0.75) - [/codeblock] + Multiplies two [float]s. </description> </operator> <operator name="operator *"> diff --git a/doc/classes/int.xml b/doc/classes/int.xml index bb36d83741..d212fe42bf 100644 --- a/doc/classes/int.xml +++ b/doc/classes/int.xml @@ -132,20 +132,6 @@ </description> </operator> <operator name="operator *"> - <return type="int" /> - <argument index="0" name="right" type="int" /> - <description> - Multiplies two [int]s. - </description> - </operator> - <operator name="operator *"> - <return type="float" /> - <argument index="0" name="right" type="float" /> - <description> - Multiplies an [int] and a [float]. The result is a [float]. - </description> - </operator> - <operator name="operator *"> <return type="Vector2" /> <argument index="0" name="right" type="Vector2" /> <description> @@ -176,6 +162,20 @@ Multiplies each component of the [Vector3i] by the given [int]. </description> </operator> + <operator name="operator *"> + <return type="float" /> + <argument index="0" name="right" type="float" /> + <description> + Multiplies an [int] and a [float]. The result is a [float]. + </description> + </operator> + <operator name="operator *"> + <return type="int" /> + <argument index="0" name="right" type="int" /> + <description> + Multiplies two [int]s. + </description> + </operator> <operator name="operator +"> <return type="float" /> <argument index="0" name="right" type="float" /> |