Автозаполнение Eclipse - как он узнает о дженериках, когда доступен только двоичный jar?

Дженерики Java реализованы с использованием тип стирание. Это означает, что если у меня есть метод:

public void setMapParam(Map<String, Integer> p) { ... }

после компиляции, он окажется в .class как:

public void setMapParam(Map p) { ... }

У меня есть файл JAR с универсальными классами и методами, подобными приведенным выше. Это просто двоичный файл. Никаких исходников нет ничего.

Но когда я использую его в коде, Автоматическое завершение Eclipse дает мне setMapParam (Map p) , хотя в двоичном виде это похоже на setMapParam (Map p) .

Как теперь Eclipse имеет тип ( Map ), даже если подпись метода была удалена (в Map )? Или мне что-то не хватает?

11
задан ElenaT 20 February 2011 в 15:42
поделиться