У меня есть сценарий, в котором у меня написан код для версии 1 библиотеки, но я хочу отправить версию 2 библиотеки вместо этого. Код отправлен и поэтому не подлежит изменению. Я обеспокоен тем, что он может попытаться получить доступ к классам или членам библиотеки, которые существовали в v1, но были удалены в v2.
Я подумал, что можно написать инструмент для простой проверки, чтобы увидеть, будет ли код ссылаться на более новую версию библиотеки. Я ценю, что код может все еще быть очень сломанным, даже если код ссылается. Я думаю об этом с другой стороны - если код не будет ссылаться, то я могу быть уверен, что есть проблема.
Насколько я вижу, мне нужно пройти через байт-код, проверяя ссылки, вызовы методов и обращения к полям к классам библиотеки, а затем использовать отражение, чтобы проверить, существует ли класс / член.
У меня есть три вопроса:
(1) Такой инструмент уже существует?
(2) У меня такое ощущение, что мне гораздо сложнее представить, что я что-то упустил - так ли это?
(3) Вам известна удобная библиотека, которая позволила бы мне проверять байт-код, чтобы я мог найти вызовы методов, ссылки и т. Д .?
Спасибо!