Runtime inspection and manipulation of object classes, methods, arguments and fields.