Intellij 15.0.2 - missing subclass / superclass symbols

Hi, I'm using IntelliJ Ultimate 15.0.2 for a fairly large maven project. IntelliJ used to show super/subclass symbol in the editor gutter, but now is not showing it anymore. These visual indicators are very useful when working on large projects. Are others seeing similar issues? Is there toolbar/menu options to turn this on?

Thanks

14 comments
Comment actions Permalink

Please try File | Invalidate Caches | Invalidate and Restart.

0
Comment actions Permalink

Serge,

Thanks for your input. However, still didn't work.
I even tried creating a new project from template, Create class A, B which extends A, still same issue.

-Hossein.

0
Comment actions Permalink

Please attach idea.log (https://intellij-support.jetbrains.com/entries/23352446), a screenshot of the problem and a sample project to reproduce.

Also try starting with all the defaults (move/rename IDE folders: https://intellij-support.jetbrains.com/entries/23358108) and see if it helps.

0
Comment actions Permalink

@Serge, Please see attached.

Thanks



Attachment(s):
foo.zip
0
Comment actions Permalink

The icon is missing for navigation in the gutter, I'll ask the developers if it's by design or a bug.

Please note that you can use Navigate | Super Class instead of mouse clicking (Ctrl+U) which is faster.

0
Comment actions Permalink

@Serge,

I know about navigation and using the hirerchy (^H). However the visual indicators are really needed and very helpful.

In my main large project, even subclass symbol isn't showing. Again, these symbols are VERY usefull when working on existing system where you need to analyze project. For example immediately (using visual indicator) see if there are subclasses and if so, clicking on the subclass icon showing all the subclasses. In the attached screenshot, you can see that hierarchy is showing subclass, but explorer isn't showing subclass symbol in gutter.

Thanks for checking into this.

-Hossein.



Attachment(s):
foo2.png
0
Comment actions Permalink

Hello,
It seems IDEA never showed UP icons (to super class). It does, however, show the DOWN icon on the gutter (to subclasses).
If it doesn't show down icons for you, could you please attach the project to reproduce?
(I was unable to reproduce the issue with down icons in your "foo" project above)
Thanks,
Alexey Kudravtsev

0
Comment actions Permalink

Alexey,

Thanks for your response.
I can't really share my project. However, you can see this from the attached image.
Maybe this is an issue in the large maven projects because the down symbol shows in simple project but not in complex project??



Attachment(s):
foo2.png
0
Comment actions Permalink

Maybe this exception has something to do with that:

2015-12-28 11:11:07,587 [1410691]  ERROR - m.intellij.util.ExecutorsQuery - The name "${vlp33.nameSpace}" is not legal for JDOM/XML Namespace URIs: Namespace URIs cannot begin with a dollar sign ($). org.jdom.IllegalNameException: The name "${vlp33.nameSpace}" is not legal for JDOM/XML Namespace URIs: Namespace URIs cannot begin with a dollar sign ($).      at org.jdom.Namespace.getNamespace(Namespace.java:157)      at org.jdom.input.SAXHandler.startPrefixMapping(SAXHandler.java:514)      at org.apache.xerces.parsers.AbstractSAXParser.startNamespaceMapping(Unknown Source)      at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)      at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)      at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)      at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)      at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)      at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)      at org.jdom.input.SAXBuilder.build(SAXBuilder.java:518)      at org.jdom.input.SAXBuilder.build(SAXBuilder.java:946)      at com.intellij.openapi.util.JDOMUtil.loadDocument(JDOMUtil.java:315)      at com.intellij.openapi.util.JDOMUtil.loadDocument(JDOMUtil.java:309)      at com.intellij.spring.model.xml.custom.CustomBeanRegistry.getIdealBeanText(CustomBeanRegistry.java:181)      at com.intellij.spring.model.xml.custom.CustomBeanRegistry.getParseResult(CustomBeanRegistry.java:145)      at com.intellij.spring.model.xml.impl.CustomBeanWrapperImpl$1.compute(CustomBeanWrapperImpl.java:39)      at com.intellij.spring.model.xml.impl.CustomBeanWrapperImpl$1.compute(CustomBeanWrapperImpl.java:31)      at com.intellij.openapi.util.VolatileNotNullLazyValue.getValue(VolatileNotNullLazyValue.java:34)      at com.intellij.spring.model.xml.impl.CustomBeanWrapperImpl.getCachedValue(CustomBeanWrapperImpl.java:95)      at com.intellij.spring.model.xml.impl.CustomBeanWrapperImpl.getCustomBeans(CustomBeanWrapperImpl.java:109)      at com.intellij.spring.model.utils.search.executors.CustomBeanWrappersQueryExecutor.processCustomBeanWrapper(CustomBeanWrappersQueryExecutor.java:31)      at com.intellij.spring.model.utils.search.executors.CustomBeanWrappersQueryExecutor.access$000(CustomBeanWrappersQueryExecutor.java:15)      at com.intellij.spring.model.utils.search.executors.CustomBeanWrappersQueryExecutor$1.process(CustomBeanWrappersQueryExecutor.java:23)      at com.intellij.spring.model.utils.search.executors.CustomBeanWrappersQueryExecutor$1.process(CustomBeanWrappersQueryExecutor.java:20)      at com.intellij.spring.index.SpringXmlBeansIndex$7.processDomElement(SpringXmlBeansIndex.java:306)      at com.intellij.spring.index.SpringXmlBeansIndex$10.execute(SpringXmlBeansIndex.java:374)      at gnu.trove.TIntArrayList.forEach(TIntArrayList.java:577)      at com.intellij.spring.index.SpringXmlBeansIndex.processDomElements(SpringXmlBeansIndex.java:378)      at com.intellij.spring.index.SpringXmlBeansIndex.processCustomBeans(SpringXmlBeansIndex.java:312)      at com.intellij.spring.model.utils.search.executors.CustomBeanWrappersQueryExecutor.processQuery(CustomBeanWrappersQueryExecutor.java:20)      at com.intellij.spring.model.utils.search.executors.CustomBeanWrappersQueryExecutor$BeanClass.processQuery(CustomBeanWrappersQueryExecutor.java:51)      at com.intellij.openapi.application.QueryExecutorBase.execute(QueryExecutorBase.java:79)      at com.intellij.util.ExecutorsQuery.processResults(ExecutorsQuery.java:45)      at com.intellij.util.AbstractQuery.forEach(AbstractQuery.java:75)      at com.intellij.util.AbstractQuery.findAll(AbstractQuery.java:37)      at com.intellij.spring.contexts.model.LocalXmlModelIndexProcessor$CachingProcessor$1.create(LocalXmlModelIndexProcessor.java:129)      at com.intellij.spring.contexts.model.LocalXmlModelIndexProcessor$CachingProcessor$1.create(LocalXmlModelIndexProcessor.java:125)      at com.intellij.util.containers.FactoryMap.get(FactoryMap.java:56)      at com.intellij.spring.contexts.model.LocalXmlModelIndexProcessor$CachingProcessor.process(LocalXmlModelIndexProcessor.java:155)      at com.intellij.spring.contexts.model.LocalXmlModelIndexProcessor.processByClass(LocalXmlModelIndexProcessor.java:262)      at com.intellij.spring.contexts.model.LocalXmlModelImpl.processByClass(LocalXmlModelImpl.java:417)      at com.intellij.spring.contexts.model.SpringModel.processByClass(SpringModel.java:174)      at com.intellij.spring.contexts.model.SpringModel.processByClass(SpringModel.java:174)      at com.intellij.spring.model.utils.SpringModelSearchers.containsBean(SpringModelSearchers.java:89)      at com.intellij.spring.model.utils.SpringModelSearchers.doesBeanExist(SpringModelSearchers.java:77)      at com.intellij.spring.java.SpringJavaClassInfo$1.compute(SpringJavaClassInfo.java:83)      at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)      at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)      at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)      at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)      at com.intellij.spring.java.SpringJavaClassInfo.isMapped(SpringJavaClassInfo.java:208)      at com.intellij.spring.code.SpringImplicitUsageProvider.isMappedBeanClass(SpringImplicitUsageProvider.java:82)      at com.intellij.spring.code.SpringImplicitUsageProvider.isBeanClassOrConstructor(SpringImplicitUsageProvider.java:69)      at com.intellij.spring.code.SpringImplicitUsageProvider.isImplicitUsage(SpringImplicitUsageProvider.java:36)      at com.intellij.codeInsight.daemon.impl.UnusedSymbolUtil.isImplicitUsage(UnusedSymbolUtil.java:53)      at com.intellij.codeInsight.daemon.impl.UnusedSymbolUtil.a(UnusedSymbolUtil.java:307)      at com.intellij.codeInsight.daemon.impl.UnusedSymbolUtil.isClassUsed(UnusedSymbolUtil.java:296)      at com.intellij.codeInsight.daemon.impl.analysis.PostHighlightingVisitor.a(PostHighlightingVisitor.java:477)      at com.intellij.codeInsight.daemon.impl.analysis.PostHighlightingVisitor.a(PostHighlightingVisitor.java:263)      at com.intellij.codeInsight.daemon.impl.analysis.PostHighlightingVisitor.collectHighlights(PostHighlightingVisitor.java:197)      at com.intellij.codeInsight.daemon.impl.analysis.HighlightVisitorImpl$3.run(HighlightVisitorImpl.java:186)      at com.intellij.codeInsight.daemon.impl.analysis.RefCountHolder.analyze(RefCountHolder.java:306)      at com.intellij.codeInsight.daemon.impl.analysis.HighlightVisitorImpl.analyze(HighlightVisitorImpl.java:179)      at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:311)      at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$200(GeneralHighlightingPass.java:65)      at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$4.run(GeneralHighlightingPass.java:314)      at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:87)      at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:311)      at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:280)      at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:219)      at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:82)      at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:67)      at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:444)      at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)      at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:435)      at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)      at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)      at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)      at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:432)      at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:408)      at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:206)      at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)      at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)      at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)      at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)      at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)


Alexey, please check.

0
Comment actions Permalink

It might. I contacted the responsible developer, will check.

0
Comment actions Permalink

Hello,

it seems you have somehwere in your Spring XML file custom beans using attributes with

${vlp33.nameSpace}


which we currently do not parse correctly when processing custom beans.

A fix to skip these is present in next EAP version of IntelliJ IDEA 16. As a workaround, you can either replace this dynamic property usage in your XML or exclude the corresponding XML file(s) from your Spring facet configuration.

0
Comment actions Permalink

Thanks for checking into this.
Can you please provide ETA on the next EAP 16 version OR is update available in the current EAP 16?

Thanks

0
Comment actions Permalink

The EAP version containing this fix will be released next week.

0
Comment actions Permalink

Thanks for the new EAP (16) updates. It includes the fix tor the issue that I had mentioned.

 

Thanks, -Hossein Amerkashi.

0

Please sign in to leave a comment.