Godot version:
3.1 Beta1 (probably every version)
OS/device including version:
Windows 10
Issue description:
If you try to call Input.Connect() anywhere it says Input does not have a Connect definition.

Steps to reproduce:
Input.Connect("joy_connection_changed", this, nameof(MyMethod));
This should exist though because there is a joystick connection signal http://docs.godotengine.org/en/latest/classes/class_input.html#signals
yeah, weird, it seems that it's not inheriting the methods from Object
wow, Inputseems to be inheriting stuff from mscorlib's System.Object instead of Godot.Object...
Here's a list of other broken classes like Input:
ARVRServer, AudioServer, ClassDB, Engine, Geometry, GodotSharp, IP, InputMap, JSON, JavaScript, OS, Performance, Physics2DServer, PhysicsServer, ProjectSettings, ResourceLoader, ResourceSaver, TranslationServer, VisualServer
It seems to be something wrong in the glue generation. All these broken classes use that get_singleton() function.

@piratesephiroth every class is derived from System.Object in C#.
The way we went with the singleton objects from that image is a static class instead of the singleton pattern. The reason for this is because Input.Instance could be too verbose to write. I didn't think any of these classes would declare signals.
The solution I'm thinking of is keeping the current way of doing it and also using the singleton pattern. e.g.: Godot.Input would be a static class but it would also have a Instance property of type Godot.Singletons.Input. The latter inherits from Godot.Object as expected.
This way we can keep the shorter version Input.IsActionPressed("...") while relying on the other one for this kind of use cases Input.Instance.Connect(...).
Can you check if #26071 does what you need? In the end I went with Singleton instead of Instance for the property name, as the latter was conflicting with ClassDB.Instance (although this method may be renamed in the future to ClassDB.Instantiate).
The type of the returned instance is Godot.Object.
This may change in 4.0 to something better, but for now this should be enough.
Works!
Most helpful comment
@piratesephiroth every class is derived from
System.Objectin C#.The way we went with the singleton objects from that image is a static class instead of the singleton pattern. The reason for this is because
Input.Instancecould be too verbose to write. I didn't think any of these classes would declare signals.The solution I'm thinking of is keeping the current way of doing it and also using the singleton pattern. e.g.:
Godot.Inputwould be a static class but it would also have aInstanceproperty of typeGodot.Singletons.Input. The latter inherits fromGodot.Objectas expected.This way we can keep the shorter version
Input.IsActionPressed("...")while relying on the other one for this kind of use casesInput.Instance.Connect(...).