Tuesday, August 27, 2013

Re: Inheriting a required module [Error] - Trying to get an understanding

On Monday, August 26, 2013 10:40:34 PM UTC+2, Bob Spero wrote:
I have a GWT project where I created a folder named common for shared tasks. I tried a simple public static void testme() method doing a system out print line to see if it fires. 

When running I getting: 

[ERROR] [org.dash.board.Main] - Line 40: No source code is available for type org.dash.board.common.OutterClass; did you forget to inherit a required module?

I added to the gwt.xml:

<inherits name="org.dash.board"/> 

resulting in 
[ERROR] Unable to find 'org/dash/board.gwt.xml'

Only when I add the below does the system out print line fire. I guess my question is why does the compiler complain about inheritance when the fix is not inheriting anything? 

  <source path='client'/>
  <source path='common'/>

If people follow the "client" convention, then forgetting an <inherits> is the most common mistake that'd lead to a class not being on the source path.

Maybe there's an org.dash.board.BoardCommon module with <source path='common'/>, or a org.dash.board.common.Common with <source path=""/> that you forgot to inherit?

The assumption is that if that's something that should have been in the module you're working with, you should know the answer to the "did you forget…" question is "no": "no, I didn't forget to inherit a module, I expect that class to be in *my* module, so why isn't it included here? Oh, yeah, it's not in 'client' as I deviated from the default layout, let's fix that".

Suggestions to improve the error reporting are welcome though. Suggestions in the form of a patch are even more welcome! FYI, that error comes from dev/core/src/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsChecker.java, 

You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment