Stack overflow when parsing code

Issue #4 duplicate
Former user created an issue

Hi,

When I'm parsing the code of my application I've got that stack overflow exception:

java.lang.StackOverflowError
    at com.intellij.psi.impl.compiled.ClsFileImpl.getStubTree(ClsFileImpl.java:517)
    at com.intellij.psi.impl.compiled.ClsFileImpl.getStub(ClsFileImpl.java:495)
    at com.intellij.psi.impl.compiled.ClsFileImpl.getLanguageLevel(ClsFileImpl.java:275)
    at com.intellij.psi.util.PsiUtil.getLanguageLevel(PsiUtil.java:997)
    at com.intellij.psi.impl.PsiClassImplUtil.withSubstitutors(PsiClassImplUtil.java:992)
    at com.intellij.psi.impl.PsiClassImplUtil.getAllWithSubstitutorsByMap(PsiClassImplUtil.java:185)
    at com.intellij.psi.impl.PsiClassImplUtil.getAllByMap(PsiClassImplUtil.java:190)
    at com.intellij.psi.impl.PsiClassImplUtil.getAllFields(PsiClassImplUtil.java:74)
    at com.intellij.psi.impl.compiled.ClsClassImpl.getAllFields(ClsClassImpl.java:259)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateClassAttributes(ClassDiagramGenerator.java:372)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateClassMembers(ClassDiagramGenerator.java:361)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateClassIntoPackage(ClassDiagramGenerator.java:333)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:296)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generate(ClassDiagramGenerator.java:299)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClass(ClassDiagramGenerator.java:435)
    at org.pmesmeur.sketchit.diagram.clazz.ClassDiagramGenerator$ClassGenerator.generateInnerClasses(ClassDiagramGenerator.java:427)

Best regards,

Benoit

Comments (3)

  1. Log in to comment