Thanks a lot to both of you for working on this.
Cheers, Doru
On 2 May 2011, at 10:32, Nicolas Anquetil wrote:
thanks for looking into it
It seems it is a problem with JDT parser. You can get the sources (or I can send them to you) to pin-point the problem
nicolas
De: "Matthias Junker" junker.matt@gmail.com À: "Moose-related development" moose-dev@iam.unibe.ch Envoyé: Lundi 2 Mai 2011 10:25:14 Objet: [Moose-dev] Re: VerveineJ problem
Hey, just tried that. The files are collected properly. However it seems i get a compilation error in one class which obviously stops the parsing. So this doesn't really have to do anything with the subprojects.
I couldn't find out yet why it stops since in intellij the project compiles without problems. Will try to find out more.
Thanks for your help. Cheers Matt
On Mon, May 2, 2011 at 10:20 AM, Nicolas Anquetil nicolas.anquetil@inria.fr wrote:
Hi,
I solved it "fast" because I was on holidays :-) Time's up, back to work :-(
The first thing you could look at is whether it collects correctly all the files to parse:
- in verveine.extractor.java/src/fr/inria/verveine/extrcator/java/VerveineJParser.java
[Eclipse: project verveine.extractor.java ; package fr.inria.verveine.extrcator.java ]
method private void collectJavaFiles(Collection<String> paths, Collection<String> files) { for (String p : paths) { collectJavaFiles(new File(p), files); } } look at the values in 'files' in the end.
If this is correct, Then you can look inFamixRequestor, the class that prints the name of the parsed files and calls the Verveine visitor if it is not called for your other subproject, then the problem might be in JDT itself :-(
nicolas
De: "Matthias Junker" junker.matt@gmail.com À: "Moose-related development" moose-dev@iam.unibe.ch Envoyé: Dimanche 1 Mai 2011 22:51:37
Objet: [Moose-dev] Re: VerveineJ problem
However i just realized my second problem still exists. It still only parses two of the four subprojects now and stops then without exception. i tried what doru suggested but that didn't help, so the .project files were not the problem. i will try to debug a bit in order to find out what the problem is.
Cheers Matt
On Sun, May 1, 2011 at 10:49 PM, Matthias Junker junker.matt@gmail.comwrote: Hey, i tried again and it works now. Thanks a lot for solving this so fast.
Cheers Matt
On Sun, May 1, 2011 at 9:26 PM, Nicolas Anquetil nicolas.anquetil@inria.frwrote:
basically the problem was that I did not anticipate a complex construct like that :-)
nicolas
----- Mail original -----
De: "Tudor Girba" tudor.girba@gmail.com À: "Moose-related development" moose-dev@iam.unibe.ch Envoyé: Dimanche 1 Mai 2011 21:21:34 Objet: [Moose-dev] Re: VerveineJ problem Hi Nicolas,
Cool :). What was the problem?
Cheers, Doru
On 1 May 2011, at 21:14, Nicolas Anquetil wrote:
OK
I think I got it ... It is in the tests and it is green
nicolas
De: "Matthias Junker" junker.matt@gmail.com À: "Moose-related development" moose-dev@iam.unibe.ch Envoyé: Jeudi 28 Avril 2011 19:20:58 Objet: [Moose-dev] Re: VerveineJ problem
Hey, Will try this. I tried to parse the subprojects individually in the meantime and found another exception when parsing enums which override a method in an enum constant. Try parsing the following:
public enum TestEnum {
A{ @Override protected void foo() { super.foo(); }}, B, C; protected void foo(){ }
}
it throws the following Exception:
Exception in thread "main" java.lang.ClassCastException: fr.inria.verveine.core.gen.famix.Enum cannot be cast to fr.inria.verveine.core.gen.famix.Class at fr.inria.verveine.extractor.java.VerveineVisitor.visit(VerveineVisitor.java:510) at org.eclipse.jdt.core.dom.SuperMethodInvocation.accept0(SuperMethodInvocation.java:237) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480) at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2528) at org.eclipse.jdt.core.dom.ExpressionStatement.accept0(ExpressionStatement.java:144) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2551) at org.eclipse.jdt.core.dom.Block.accept0(Block.java:136) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480) at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2528) at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:504) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2551) at org.eclipse.jdt.core.dom.AnonymousClassDeclaration.accept0(AnonymousClassDeclaration.java:143) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480) at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2528) at org.eclipse.jdt.core.dom.EnumConstantDeclaration.accept0(EnumConstantDeclaration.java:260) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2551) at org.eclipse.jdt.core.dom.EnumDeclaration.accept0(EnumDeclaration.java:280) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2551) at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:219) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2480) at fr.inria.verveine.extractor.java.FamixRequestor.acceptAST(FamixRequestor.java:31) 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:982) at fr.inria.verveine.extractor.java.VerveineJParser.parse(VerveineJParser.java:169) at fr.inria.verveine.extractor.java.VerveineJParser.main(VerveineJParser.java:153)
On Thu, Apr 28, 2011 at 8:35 AM, Tudor Girba tudor.girba@gmail.com wrote: Hi,
Nicolas, thanks for the clarification.
Matthias, could you try copying all the java files to a new folder? For convenience, here is a bash script that would copy all files preserving the folder structure:
for file in $(find . -name '*.java'); do mkdir -p NEWFOLDER/$(dirname $file); cp $file NEWFOLDER/$(dirname $file); done
Cheers, Doru
On 27 Apr 2011, at 23:49, Nicolas Anquetil wrote:
----- Mail original ----- > De: "Tudor Girba" tudor.girba@gmail.com > À: "Moose-related development" moose-dev@iam.unibe.ch > Envoyé: Mercredi 27 Avril 2011 09:46:15 > Objet: [Moose-dev] Re: VerveineJ problem > Hi, > > I had a similar problem before with the new inFusion which is > also > based on JDT. In that case, the problem was due to inFusion > relying > on > an Eclipse project and it got confused because of the .project > file > from the root folder. > > Nicolas, would VerveineJ not be affected by a .project?
You mean a .project that would not reference all the source that are in the path?
I am just asking whether VerveineJ takes .project into account, or if it always traverses deep all the sources starting from the root folder. If it does consider a possible .project, it could be that the problem stems from this.
Cheers, Doru
No it dsoes not use .project afaik. It looks for all the java files in the directory(ies) it is given
nicolas
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"When people care, great things can happen."
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"One cannot do more than one can do."
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"The coherence of a trip is given by the clearness of the goal."