summaryrefslogtreecommitdiffstats
path: root/modules/mono/editor/bindings_generator.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add C# support for bitfield enums (flags)Raul Santos2022-07-061-0/+10
|
* Implement a BitField hintreduz2022-07-051-6/+6
| | | | Allows to specify the binder that an enum must be treated as a bitfield.
* Make enum/constant binds 64-bit.bruvzg2022-06-171-5/+7
|
* Generate typed array parameters in C# bindingsRaul Santos2022-06-031-10/+63
| | | | | | Adds support for generating C# bindings that use the generic `Array<T>` type instead of the non-generic `Array` type when the registered ClassDB method specifies the array element type.
* Replace most uses of Map by HashMapreduz2022-05-161-21/+21
| | | | | | | | | | | | * Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
* Add a new HashMap implementationreduz2022-05-121-22/+20
| | | | | | | | | | | | | | | | | Adds a new, cleaned up, HashMap implementation. * Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing). * Keeps elements in a double linked list for simpler, ordered, iteration. * Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much for performance vs keeping the key, but helps replace old code). * Uses a more modern C++ iterator API, deprecates the old one. * Supports custom allocator (in case there is a wish to use a paged one). This class aims to unify all the associative template usage and replace it by this one: * Map<> (whereas key order does not matter, which is 99% of cases) * HashMap<> * OrderedHashMap<> * OAHashMap<>
* Rename Transform2D "elements" to "columns"Aaron Franke2022-04-291-1/+1
|
* Make FileAccess and DirAccess classes reference counted.bruvzg2022-04-111-10/+8
|
* Support static methods in C# bindings generatorRaul Santos2022-03-221-18/+38
|
* Ignore PhysicsServer3DExtension class in C#Raul Santos2022-03-181-0/+9
| | | | | | | PhysicsServer3DExtension inherits from PhysicsServer3D which is a singleton class, since singleton classes are generated as static in C# it would generate invalid C# so for now we'll be ignoring PhysicsServer3DExtension.
* Refactor `bbcode_to_xml` into multiple specific methodsRaul Santos2022-03-031-249/+241
| | | | | | The specific `_append_xml_*` methods implement the logic that generates the proper XML documentation for the given BBCode tag and target and appends it to the output.
* Find inherited members in C# documentation generatorRaul Santos2022-03-031-2/+10
|
* Add theme_item support to C# documentation generatorRaul Santos2022-03-031-1/+6
|
* Fix checking for `@GlobalScope` in C# documentation generatorRaul Santos2022-03-031-20/+29
|
* Check for missing methods/members in C# documentation generatorRaul Santos2022-03-031-6/+32
| | | | | | | | | - Outputs errors for missing members or methods when generating the C# documentation. - Hardcodes a special case for the `_init` method, in C# we'll reference the constructor. - Ignores properties with slashes (since they are not declared in C# and can't be referenced in the documentation).
* Fix references to global constants in C# documentation generatorRaul Santos2022-03-031-0/+11
| | | | | Tries to find the referenced constants in the GlobalScope if not found in the target class or if no class is specified.
* Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde2022-02-161-1/+2
| | | | | Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
* Support signals in C# documentationRaul Santos2022-02-101-9/+36
|
* Cleanup and move char functions to the `char_utils.h` header.bruvzg2022-02-041-2/+2
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* clang-format: Enable `BreakBeforeTernaryOperators`Rémi Verschelde2021-10-281-2/+1
| | | | | clang-format keeps breaking the way it handles break *after* ternary operators, so I give up and go with the only style they seem to actually test.
* clang-format: Disable alignment of operands, too unreliableRémi Verschelde2021-10-281-20/+20
| | | | | | | | | Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
* Fix properties arrays in C# bindings generatorRaul Santos2021-09-081-1/+1
|
* Fix constant tag documentation in C# bindings generatorRaul Santos2021-09-031-1/+1
|
* C#: Fix bindings generator for Callable argument default valueIgnacio Roldán Etcheverry2021-08-201-1/+11
| | | | | Previously there weren't any Callable arguments with a default value, but d4dd859991205e6cecfa9a0553b89db47c983d0b introduced one.
* Use C++ iterators in the Mono moduleRaul Santos2021-07-271-3/+1
|
* Use Array.Empty instead of allocating a every timeRaul Santos2021-07-261-3/+13
| | | | | | Use `System.Array.Empty<T>` to get an empty array instead of allocating a new one every time. Since arrays are immutable there is no need to allocate them every time.
* Fix bindings generator range iterator errorsRaul Santos2021-07-251-64/+53
|
* Use const references where possible for List range iteratorsRémi Verschelde2021-07-251-5/+5
|
* Use C++ iterators for Lists in many situationsAaron Franke2021-07-231-81/+63
|
* Fix a typo in C# bindings generator for default value typesAaron Franke2021-06-181-3/+3
|
* Merge pull request #34668 from aaronfranke/to-stringRémi Verschelde2021-06-131-7/+4
|\ | | | | [Core] Reformat structure string operators
| * Reformat structure string operatorsAaron Franke2021-06-111-7/+4
| | | | | | | | | | | | The order of numbers is not changed except for Transform2D. All logic is done inside of their structures (and not in Variant). For the number of decimals printed, they now use String::num_real which works best with real_t, except for Color which is fixed at 4 decimals (this is a reliable number of float digits when converting from 16-bpc so it seems like a good choice)
* | Rename Reference to RefCountedPedro J. Estébanez2021-06-111-7/+7
| |
* | Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde2021-06-111-2/+2
|/ | | | | File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
* Rename Quat to QuaternionMarcel Admiraal2021-06-041-7/+7
|
* Rename files and the exposed name for Transform3DAaron Franke2021-06-031-2/+2
|
* Rename Variant TRANSFORM to TRANSFORM3DAaron Franke2021-06-031-2/+2
| | | Also _transform to _transform3d
* Rename Transform to Transform3D in coreAaron Franke2021-06-031-3/+3
|
* C#: Fix StringName leak warnings after generating bindingsIgnacio Etcheverry2021-03-131-33/+45
| | | | | `Main::cleanup()` prints warnings if it finds `StringName`s still alive. We need the `BindingsGenerator` to be destructed before calling cleanup.
* Fix C# bindings generator for default value typesAaron Franke2021-02-251-19/+59
|
* Make glue generation shutdown more gracefulPedro J. Estébanez2021-02-221-0/+3
|
* Merge pull request #45158 from aaronfranke/cs-packedarrayRémi Verschelde2021-02-201-0/+79
|\ | | | | Add C# array features from core PackedArrays
| * Add C# array features from core PackedArraysAaron Franke2021-02-161-0/+79
| |
* | Merge pull request #45032 from neikeq/classdb-tests-for-44856Rémi Verschelde2021-02-181-1/+25
|\ \ | |/ |/| Add ClassDB tests to look for core API deps on editor API
| * Add ClassDB tests to look for core API deps on editor APIIgnacio Etcheverry2021-01-091-1/+25
| | | | | | | | | | | | | | The ClassDB tests will detect when the core API has dependencies on the editor API, which is not allowed. This should prevent or warn early about issues like #44856
* | CI: Update to clang-format 11 and apply ternary operator changesRémi Verschelde2021-01-121-1/+1
|/
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* Rename empty() to is_empty()Marcel Admiraal2020-12-281-12/+12
|
* Merge pull request #44105 from neikeq/mono-wasm-m2n-hookRémi Verschelde2020-12-171-57/+14
|\ | | | | Mono: Make Godot provide its own WASM m2n trampolines