ceylon-ide-eclipse
ceylon-ide-eclipse copied to clipboard
annoying console output
After I closed a ceylon project I found I was getting stacktraces dumped to my console
Java Model Exception: Java Model Status [fixtures does not exist]
at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:498)
at org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfoCheckExistence(JavaModelManager.java:2309)
at org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo(JavaProject.java:1908)
at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1958)
at org.eclipse.jdt.internal.core.PackageFragmentRoot.getRawClasspathEntry(PackageFragmentRoot.java:551)
at com.redhat.ceylon.eclipse.core.model.loader.JDTModelLoader.loadPackage(JDTModelLoader.java:368)
at com.redhat.ceylon.compiler.loader.model.LazyPackage.getDirectMember(LazyPackage.java:84)
at com.redhat.ceylon.compiler.loader.model.LazyPackage.getMember(LazyPackage.java:72)
at com.redhat.ceylon.compiler.typechecker.model.Unit.getLanguageModuleDeclaration(Unit.java:215)
at com.redhat.ceylon.compiler.typechecker.model.Unit.getOptionalAnnotationDeclaration(Unit.java:1056)
at com.redhat.ceylon.compiler.typechecker.analyzer.AnnotationVisitor.checkAnnotations(AnnotationVisitor.java:612)
at com.redhat.ceylon.compiler.typechecker.analyzer.AnnotationVisitor.visit(AnnotationVisitor.java:235)
at com.redhat.ceylon.compiler.typechecker.tree.Visitor.visit(Visitor.java:49)
at com.redhat.ceylon.compiler.typechecker.tree.Tree$AttributeDeclaration.visit(Tree.java:1160)
at com.redhat.ceylon.compiler.typechecker.tree.CustomTree$AttributeDeclaration.visit(CustomTree.java:42)
at com.redhat.ceylon.compiler.typechecker.tree.Walker.walkBody(Walker.java:355)
at com.redhat.ceylon.compiler.typechecker.tree.Walker.walkClassBody(Walker.java:363)
at com.redhat.ceylon.compiler.typechecker.tree.Tree$ClassBody.visitChildren(Tree.java:1741)
at com.redhat.ceylon.compiler.typechecker.tree.Visitor.visitAny(Visitor.java:10)
at com.redhat.ceylon.compiler.typechecker.tree.Visitor.visit(Visitor.java:66)
at com.redhat.ceylon.compiler.typechecker.tree.Visitor.visit(Visitor.java:68)
at com.redhat.ceylon.compiler.typechecker.tree.Tree$ClassBody.visit(Tree.java:1733)
at com.redhat.ceylon.compiler.typechecker.tree.Walker.walkObjectDefinition(Walker.java:304)
at com.redhat.ceylon.compiler.typechecker.tree.Tree$ObjectDefinition.visitChildren(Tree.java:1388)
at com.redhat.ceylon.compiler.typechecker.tree.Visitor.visitAny(Visitor.java:10)
at com.redhat.ceylon.compiler.typechecker.tree.Visitor.visit(Visitor.java:110)
at com.redhat.ceylon.compiler.typechecker.tree.Visitor.visit(Visitor.java:111)
at com.redhat.ceylon.compiler.typechecker.tree.Visitor.visit(Visitor.java:26)
at com.redhat.ceylon.compiler.typechecker.tree.Visitor.visit(Visitor.java:47)
at com.redhat.ceylon.compiler.typechecker.tree.Visitor.visit(Visitor.java:56)
at com.redhat.ceylon.compiler.typechecker.tree.Tree$ObjectDefinition.visit(Tree.java:1380)
at com.redhat.ceylon.compiler.typechecker.tree.Walker.walkCompilationUnit(Walker.java:18)
at com.redhat.ceylon.compiler.typechecker.tree.Tree$CompilationUnit.visitChildren(Tree.java:30)
at com.redhat.ceylon.compiler.typechecker.tree.Visitor.visitAny(Visitor.java:10)
at com.redhat.ceylon.compiler.typechecker.tree.Visitor.visit(Visitor.java:12)
at com.redhat.ceylon.compiler.typechecker.tree.Tree$CompilationUnit.visit(Tree.java:22)
at com.redhat.ceylon.compiler.typechecker.context.PhasedUnit.analyseTypes(PhasedUnit.java:263)
at com.redhat.ceylon.eclipse.code.parse.CeylonParseController$3.run(CeylonParseController.java:455)
at com.redhat.ceylon.eclipse.code.parse.CeylonParseController$4.run(CeylonParseController.java:473)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
(fixtures was the name of the project)
@davidfestal said:
OK, it seems the projects are already closed and it still tries to parse / typecheck the editor contents We should find a way to cancel such work when the IDE is being shut-down, or the prject is being closed
but also, and more generally, we should be dumping this stuff as a warning in the error log rather than dumping it to the standard error/output.