I am working on GObject bindings for Go programming language and would like to know how to retrieve functionality of macros which are missing from GIR files, such as G_APPLICATION
`G_APPLICATION` is a safe cast macro for the C API; it's meant to be used as a run time type check and cast for any instance. It is, basically, a safe version of a C cast, like `(GApplication *)`.
Typically, you should never have to use it outside of the C API; if you want to verify that a pointer to an instance is, in fact, a pointer to a GApplication instance, you can use `g_type_check_instance_cast()` with the instance and the expected GType.