can you send the mail to the moose-dev? Because I'm busy.
Stef
On Feb 14, 2012, at 2:01 PM, Holger Hans Peter Freyther wrote:
Hi Stephan,
I took a break from my GSM work and wrap up my studies (German Diploma is gone, it ends up only being a Bachelor..). I tried to import Saros[1] into moose and ended up with Exceptions on parsing catch statements. I have attached a file that shows this issue and the backtrace is below:
*** VerveineJ visitor got exception: 'fr.inria.verveine.core.gen.famix.Type cannot be cast to fr.inria.verveine.core.gen.famix.Class' while processing file: /home/ich/uni/bachelor-arbeit/dpp/de.fu_berlin.inf.dpp/src/de/fu_berlin/inf/dpp/Example.java java.lang.ClassCastException: fr.inria.verveine.core.gen.famix.Type cannot be cast to fr.inria.verveine.core.gen.famix.Class at fr.inria.verveine.extractor.java.VerveineVisitor.visit(Unknown Source) at org.eclipse.jdt.core.dom.CatchClause.accept0(CatchClause.java:162) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2585) at org.eclipse.jdt.core.dom.TryStatement.accept0(TryStatement.java:258) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2585) at org.eclipse.jdt.core.dom.Block.accept0(Block.java:136) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2562) at org.eclipse.jdt.core.dom.IfStatement.accept0(IfStatement.java:190) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2585) at org.eclipse.jdt.core.dom.Block.accept0(Block.java:136) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2562) at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:504) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2585) at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:484) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2585) at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:219) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at fr.inria.verveine.extractor.java.FamixRequestor.acceptAST(Unknown Source) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1016) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:628) at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:988) at fr.inria.verveine.extractor.java.VerveineJParser.parse(Unknown Source) at fr.inria.verveine.extractor.java.VerveineJParser.main(Unknown Source)
I have attached a workaround but I don't understand under which circumstances a type might not be resolvable to a Class (wrong classpath). Somehow the code already accepts a nil class, so adding the exception handling only makes the code more ugly but might end up being correct.
cheers holger
PS: What is the license of that code?
[1] http://www.saros-project.org/ <Example.java><workaround.diff>