Get a class descriptor for the class.

        :param str class_name:  Name of class.
        :param bool init_class: Whether the class initializer <clinit> should be
                                executed.
        :param func step_func: Callback function executed at every step of the simulation manager during
                             the execution of the main <clinit> method

def get_class(self, class_name, init_class=False, step_func=None):
        """
        Get a class descriptor for the class.

        :param str class_name:  Name of class.
        :param bool init_class: Whether the class initializer <clinit> should be
                                executed.
        :param func step_func: Callback function executed at every step of the simulation manager during
                             the execution of the main <clinit> method
        """
        # try to get the soot class object from CLE
        java_binary = self.state.javavm_registers.load('ip_binary')
        soot_class = java_binary.get_soot_class(class_name, none_if_missing=True)
        # create class descriptor
        class_descriptor = SootClassDescriptor(class_name, soot_class)
        # load/initialize class
        if init_class:
            self.init_class(class_descriptor, step_func=step_func)
        return class_descriptor