Ссылки на используемые классы
От: Dr.Sandy  
Дата: 19.07.04 14:58
Оценка:
Можно ли используя, например, reflection, получить во время выполнения информацию о том, на какие классы есть линки в некотором классе?

Пример:

public class A
{
private B m_bSomeData;

public void myMethod()
{
C cSomeData = new C();
}
}

Как определить, что для использования класса A.class нам также понадобятся B.class и C.class?
Re: Ссылки на используемые классы
От: dshe  
Дата: 19.07.04 15:08
Оценка:
Здравствуйте, Dr.Sandy, Вы писали:

DS>Можно ли используя, например, reflection, получить во время выполнения информацию о том, на какие классы есть линки в некотором классе?


Рефлекшена недостаточно. Нужно анализировать .class файл. Можно воспользоваться сторонними библиотеками, которые анализируют .class файлы, а можно написать самому.

Если будешь писать сам, то тебе достаточно будет пройтись по пулу констант и повыбирать CONSTANT_Class_info вхождения. Я как-то писал утилиту, которая находит зависимости между .class файлами.
--
Дмитро
Re[2]: Ссылки на используемые классы
От: dshe  
Дата: 19.07.04 15:30
Оценка:
Здравствуйте, dshe, Вы писали:

D>Здравствуйте, Dr.Sandy, Вы писали:


DS>>Можно ли используя, например, reflection, получить во время выполнения информацию о том, на какие классы есть линки в некотором классе?


D>Рефлекшена недостаточно. Нужно анализировать .class файл. Можно воспользоваться сторонними библиотеками, которые анализируют .class файлы, а можно написать самому.


D>Если будешь писать сам, то тебе достаточно будет пройтись по пулу констант и повыбирать CONSTANT_Class_info вхождения. Я как-то писал утилиту, которая находит зависимости между .class файлами.


Поспешил... Надо еще повыдирать имена классов из сигнатур методов, которые находятся в CONSTANT_NameAndType_info.
--
Дмитро
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.