У меня есть массив байтов, представляющих байты файла класса.
Я пытаюсь получить суперкласс класса, представленного байтовым массивом. В настоящее время я использую отражение метода "defineClass" класса ClassLoader для создания определения класса, представленного байтовым массивом. Затем я получаю суперкласс, вызывая getSuperclass () для вновь созданного объекта Class.
На основе суперкласса класса, который представлен байтовым массивом, мне нужно выполнить преобразования байт-кода. Затем конечной целью является переопределение класса, представленного байтовым массивом после его преобразований.
Проблема в том, что я не могу переопределить преобразованный класс в качестве его исходного имени, поскольку два + класса с одинаковым именем не могут быть определены в одном и том же экземпляре JVM.
Мне действительно нужно иметь возможность выполнять преобразования на основе суперкласса класса, представленного байтовым массивом, и мне действительно нужно переопределить преобразованный класс с его исходным именем.
Есть ли способ получить суперкласс класса, когда класс находится в форме массива байтов? Основываясь на формате файла .class, я предположил бы, что мог бы каким-то образом «случайно» определить суперкласс, не определяя класс как объект класса и не загружая его в JVM, но я не совсем уверен, с чего бы я начал это делать.
Есть предложения?