Fix ClassDB API portability with some android and editor classes

- `EditorNavigationMeshGenerator` was being registered as part of the Core API,
even after d3f48f88bb84d22b7805ce971ac86cf1953a29fd. We must make sure to
set Editor as the current ClassDB API type before creating an instance.

- The `VisualScriptEngineSingleton.constant` property has a property hint string
that's different between tools and non-tools builds. This commit makes the
hint string to no longer be set in `_bind_methods`, and to instead set it in
`_validate_property`. This way it's ignored when calculating the API hash.

- `JavaClassWrapper` is now registered in ClassDB on all platforms,
using a dummy implementation on platforms other than Android.
This fixes API portability between Android and other platforms.

- Updated `--class-db-json` command to ignore non-virtual methods that start
with an underscore (see: 4be87c6016a5893cbde897924e540df4c988cee5).
This commit is contained in:
Ignacio Etcheverry
2020-01-19 20:02:40 +01:00
parent 3d40a35f0b
commit bdf2a26d45
2 changed files with 14 additions and 5 deletions

View File

@@ -614,6 +614,9 @@ class VisualScriptEngineSingleton : public VisualScriptNode {
String singleton;
protected:
void _validate_property(PropertyInfo &property) const;
static void _bind_methods();
public: