Mam niestandardowy generator, który generuje kod tylko dla klas somes w moim projekcie. Poniższy kod jest na początku metody generate
i umieszcza wszystkie klasy będę musiał pracować na liście clazzes
GWT TypeOracle.getTypes nie zwraca wszystkich typów
TypeOracle oracle = context.getTypeOracle();
JClassType markerInterfaceType = oracle.findType(MY_PARENT_CLASS.class.getName());
List<JClassType> clazzes = new ArrayList<JClassType>();
for (JClassType classType : oracle.getTypes()) {
if (!classType.equals(markerInterfaceType)
&& classType.isAssignableTo(markerInterfaceType)) {
clazzes.add(classType);
}
}
Ten kod został niezmieniony od ponad roku, ale od ostatniego tygodnia wydaje się, że generator nie bierze pod uwagę kilku klas.
Po pewnym kopania, stwierdziliśmy, że te zajęcia nie są jeszcze na liście zwróconej przez oracle.getTypes()
- te ignorowane klasy nie są nowo utworzone klasy (niektóre pozostały niezmienione przez kilka miesięcy)
- Jak daleko jak mogę stwierdzić, nie ma sposobu na rozróżnienie klasy, która zostanie zignorowana z jakiejkolwiek innej klasy
- Nie dokonano aktualizacji w naszej wersji gwt (niektórzy z nas używają 2.5.0, inni 2.5.1)
- Brak aktualizacji w pakietach używanych przez te klasy s albo
oracle.findType(MISSING_CLASS.class.getName())
powracanull
- problem pojawia się tylko dla niektórych osób, ale nie w tych samych klasach
- zmiana nazwy problematycznych klas wydaje rozwiązania problemu
mój najlepszy przypuszczenie byłoby, że mam gdzieś problem z pamięcią podręczną, ale nie mam pojęcia, gdzie szukać.
Próbowałeś usuwania zawartości folderu GWT-UnitCache? To często pomaga mi naprawiać pozornie dziwne błędy. Masz również przykładowe nazwy brakujących klas? Ponieważ zmiana nazwy pomaga, obok problemu związanego z buforowaniem równie dobrze może być związana z nazwą. –