This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | java.lang.ClassCastException in ServiceProviderProcessor | ||
---|---|---|---|
Product: | platform | Reporter: | Vladimir Voskresensky <vv159170> |
Component: | Lookup | Assignee: | Jesse Glick <jglick> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jglick, jlahoda, jtulach |
Priority: | P3 | ||
Version: | 7.0 | ||
Hardware: | PC | ||
OS: | Solaris | ||
Issue Type: | DEFECT | Exception Reporter: |
Description
Vladimir Voskresensky
2011-02-25 08:11:33 UTC
Jesse, something wrong in your code. Reassign back, if I shall investigate the problem. @interface ServiceProvider declares @Target(ElementType.TYPE) so the processor naturally assumes that elements of roundEnv.getElementsAnnotatedWith(ServiceProvider.class) will be assignable to TypeElement. If someone tries to put @ServiceProvider on a method declaration, that should have been caught as a syntactic error before invoking any processors. See https://svn.java.net/svn/sezpoz~svn/trunk/sezpoz/src/main/java/net/java/sezpoz/impl/Indexer6.java revision 144 for another similar example. It seems that the Java editor sometimes passes invalid inputs to a processor. Joe Darcy says that processors will sometimes be called with input which is clearly invalid at a lower level (incl. according to @Target), and must be written defensively. I think the processor need not do anything except skip such input quietly - some other part of javac should have issued an error previously, or perhaps will issue an error later. core-main #f44447798710 Integrated into 'main-golden', will be available in build *201104230000* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/f44447798710 User: Jesse Glick <jglick@netbeans.org> Log: #195983: java.lang.ClassCastException in ServiceProviderProcessor Integrated into 'main-golden' Changeset: http://hg.netbeans.org/main-golden/rev/17bf5e8346a9 User: Jesse Glick <jglick@netbeans.org> Log: Yet another workaround for #195983. When will a general fix in java.source be found? Integrated into 'main-golden' Changeset: http://hg.netbeans.org/main-golden/rev/a994011ae133 User: Jesse Glick <jglick@netbeans.org> Log: More #195983 workarounds. java.lang.NullPointerException at org.netbeans.modules.openide.awt.ActionProcessor.handleProcess(ActionProcessor.java:190) at org.openide.filesystems.annotations.LayerGeneratingProcessor.process(LayerGeneratingProcessor.java:124) java.lang.NullPointerException at org.netbeans.modules.settings.convertors.ConvertorProcessor.handleProcess(ConvertorProcessor.java:153) at org.openide.filesystems.annotations.LayerGeneratingProcessor.process(LayerGeneratingProcessor.java:124) Integrated into 'main-golden' Changeset: http://hg.netbeans.org/main-golden/rev/834c56ca0aa2 User: Jesse Glick <jglick@netbeans.org> Log: More #195983 workarounds. |