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.com> wrote:
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.fr> wrote:

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