GTK and Vala
Vala is a programming language using modern high level abstractions without imposing additional runtime requirements and without using a different ABI compared to applications and libraries written in C. Vala uses the GObject type system and has additional code generation routines that make targeting the GNOME stack simple. Vala has many other uses where native binaries are required..
GTK Documentation for Vala
There is an official GTK API Documentation for using GTK and Vala together, deals with the Vala bindings for GLib, GTK, Cairo, GtkSourceView and other GLib-compatible libraries(more than 256).
There are also a growing number of examples and through tests of language features in the test suite.
If you are interested in contributing to the Vala and GTK binding project, you can get a head start by reading the instructions on how to get started for contributing to Vala here.
If you want to get in touch with the original source files, you can visit the project’s git repository on GNOME.