I rebuilt the toolkit from source and narrowed down the issue a bit myself, definitely seems to have something to do with inner classes being defined inside generic classes. Unfortunately my codebase is pretty big and we do this in multiple spots, so I'm still trying to get around it. Will see if i can make similar changes to what Raman has done... but I think that the code around this part of resolving generic types could use a little more error handling to identify these cases at least, because without compiling from source with my own debug statements I wasn't even able to figure out which classes it first started complaining about.
cheers Dan On Jan 8, 4:23 am, Raman <rama...@gmail.com> wrote: > Looks like I have finally solved the problem. > > The case was something like this. > I am using ExtGWT which has a class TreePanel with an inner class > TreeNode, which looks like below: > > public class TreePanel<M extends ModelData> { > > ------------ > ------------- > class TreeNode { > ------------ > ----------- > private M data; > } > ---------- > > } > > And, since the TreeNode class is public inside TreePanel, I was > directly using TreeNode class in my code. > > I would do: > > import ......TrePanel.TreeNode; > ------------- > -------------- > > TreeNode node = xxxxxxxxxxxx; > > As you can see, TreeNode internally uses the type M, which is not > defined in the above kind of usage. > And GWT compiler gets confused when it sees this. > > I solved this problem by removing the import statement as accessing > the TreeNode only in the context of the outer class(TreePanel) like > this: > > TreePanel<MyModeldata>.TreeNode node = xxxxx; > > This solved the issue.
-- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.