On Jul 20, 2016, at 12:32 AM, Richard Wettel
<wettel(a)gmail.com> wrote:
Hi Doru
I tried to parse ArgoUML (what else, right?) and got the following exception:
Exception in thread "main" java.lang.NullPointerException
at
com.feenk.jdt2famix.injava.InJavaImporter.ensureTypeFromTypeBinding(InJavaImporter.java:181)
at
com.feenk.jdt2famix.injava.InJavaImporter.ensureMethodFromMethodBinding(InJavaImporter.java:358)
at
com.feenk.jdt2famix.injava.InJavaImporter.createInvocationFromMethodBinding(InJavaImporter.java:600)
at com.feenk.jdt2famix.injava.AstVisitor.visit(AstVisitor.java:325)
at
org.eclipse.jdt.core.dom.ClassInstanceCreation.accept0(ClassInstanceCreation.java:302)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759)
at
org.eclipse.jdt.core.dom.VariableDeclarationFragment.accept0(VariableDeclarationFragment.java:263)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at
org.eclipse.jdt.core.dom.VariableDeclarationStatement.accept0(VariableDeclarationStatement.java:267)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at org.eclipse.jdt.core.dom.Block.accept0(Block.java:137)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759)
at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:635)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:470)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:212)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at com.feenk.jdt2famix.injava.AstRequestor.acceptAST(AstRequestor.java:17)
at
org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1029)
at
org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:636)
at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:990)
at com.feenk.jdt2famix.Importer.run(Importer.java:28)
at com.feenk.jdt2famix.injava.Main.main(Main.java:25)
I have jdk1.8.0_91 and apache-maven-3.3.9 on my Mac, running on El Capitan.
Cheers
Ricky
On 19 Jul 2016, at 21:20, Tudor Girba
<tudor(a)tudorgirba.com> wrote:
Ah, indeed. You need Maven:
https://maven.apache.org/download.cgi
I updated the instructions as well.
Let me know if it works.
Cheers,
Doru
> On Jul 19, 2016, at 9:44 AM, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
>
> Hi Doru,
>
> This is fantastic.
>
> I tried, but I got some error. Here is what I did:
> -=-=-=-=-=-=-=-=
> ~/Dropbox/Document> git clone git@github.com:girba/jdt2famix.git
> Cloning into 'jdt2famix'...
> remote: Counting objects: 2044, done.
> remote: Compressing objects: 100% (20/20), done.
> remote: Total 2044 (delta 6), reused 0 (delta 0), pack-reused 2024
> Receiving objects: 100% (2044/2044), 1.45 MiB | 54.00 KiB/s, done.
> Resolving deltas: 100% (772/772), done.
> Checking connectivity... done.
> ~/Dropbox/Document> cd jdt2famix/
> ~/Dropbox/Document/jdt2famix> ./release.sh
> ./release.sh: line 11: mvn: command not found
> cp: ./target/jdt2famix*.jar: No such file or directory
> ./release.sh: line 15: mvn: command not found
> ~/Dropbox/Document/jdt2famix>
> -=-=-=-=-=-=-=-=
>
> What are the prerequisites? I see you use the “mvn”? Is it Meaven? How to install
it?
>
> Alexandre
>
>
>> On Jul 19, 2016, at 3:41 PM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>>
>> Hi,
>>
>> I am happy to announce that I now obtained a reasonable first beta stage of a
standalone jdt2famix Java importer. This is implemented in Java, it works from the command
line and has a similar structure to VerveineJ (the previous solution relied on JNIPort,
but that did not scale well due to 32bits and needs rethinking). It is based on FameJava
and JDT, and it is available under EPL2. The model is a new Famix version generated out of
the Pharo meta-descriptions. To this end, I extended a bit the tool support around Fame
and I will follow up with some details one that.
>>
>> Here is the repository including some basic info:
>>
https://github.com/girba/jdt2famix
>>
>> The importer was created through fine-grained tests, there are some 100 of them
right now, and the coverage of the importer is more than 93%.
>>
>> However, there are still things to do:
>> - finish the coverage of the imported entities (see below).
>> - improve the error handling. As Java has a ton of edge cases, it would be great
if you would use it to parse your systems and report possible errors. We would then
manufacture test cases out of those.
>> - check the semantics of the produced data (possibly by comparing with
VerveineJ).
>> - find a better way to package the application.
>> - integrate in Moose with one click. Ideally, even downloading the application
should be doable directly from Moose. The goal here is to make jdt2famix part of the Moose
6 release.
>>
>> As a deadline, I am targeting August 1 for a beta version, and August 10 for a
Moose 6.0 release.
>>
>> Please let me know what you think, and most importantly please give it a try and
provide feedback.
>>
>> Here is a detailed list of what works and what is left to do:
>> ✓Namespace
>> ✓Type
>> ✓Type without binding
>> ✓Inheritance without binding
>> ✓Interface
>> ✓Parameterizable Class
>> ✓ParameterizedType
>> ✓Method
>> ✓Constructor
>> ✓Visibility (public, private, protected, package)
>> ✓Parameter
>> ✓Method signature
>> ✓Local variable
>> ✓Attribute
>> ✓Anonymous Class
>> ✓Anonymous Class with Parameterized Type
>> ✓Invocation
>> ✓Super invocation
>> ✓Constructor Invocation
>> ✓Super constructor invocation
>> ✓Class instantiation
>> ✓Class initializer
>> ✓Invocation receiver
>> ✓Field read access in invocation receiver
>> ✓Field read access in invocation parameter
>> ✓Field read access in class instantiation
>> ✓Field read access in assignment
>> ✓Field read access in super invocation parameter
>> ✓Field write access in assignment
>> ✓Local write access in assignment
>> ✓Local read access in invocation receiver
>> ✓Local read access in invocation parameter
>> ✓Local read access in super invocation parameter
>> ✓Local read access in super constructor parameter
>> ✓Read access through return
>> ✓Read accesses in: do, while, if, for, switch, enhanced for, conditional (?:)
>> ✓Read access in synchronized
>> ✓Attribute initializer
>> ✓Read access in attribute initializer
>> ✓Read access to qualified enum value
>> ✓Read access to qualified attribute
>> ✓Parentheses
>> ✓Enum
>> ✓EnumValue
>> ✓Array types []
>> ✓AnnotationType
>> ✓AnnotationType attributes
>> ✓AnnotationInstance for types
>> ☐AnnotationInstance for attributes
>> ☐AnnotationInstance for methods
>> ☐AnnotationInstance for parameters
>> ☐Generic Type in Method scope
>> ☐Class reference
>> ☐Inner Class
>> ☐Wildcard types <?>
>> ☐ThrownException
>> ☐CaughtException
>> ☐DeclaredException
>> ☐SourceAnchor
>> ☐Array Access
>> ☐Comments
>> ☐Implicit variables
>> ☐Lambda variables
>>
>>
>> Cheers,
>> Doru
>>
>>
>> --
>>
www.tudorgirba.com
>>
www.feenk.com
>>
>> "One cannot do more than one can do."
>>
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)list.inf.unibe.ch
>>
https://www.list.inf.unibe.ch/listinfo/moose-dev
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel
http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)list.inf.unibe.ch
>
https://www.list.inf.unibe.ch/listinfo/moose-dev
--
www.tudorgirba.com
www.feenk.com
"There are no old things, there are only old ways of looking at them."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch