Hi Thomas,
Thanks for your mail! In the mean time I hacked together a simple export using Roslyn and it more or less did what I needed.
So I don't have any immediate need but I will certainly keep it in mind in the future!
-- Johan Fabry, Senior Software Engineer. johan@raincode.commailto:johan@raincode.com | Email too brief? Here's why! http://emailcharter.orghttp://emailcharter.org/
From: Thomas Haug [mailto:thomas.haug@mathema.de] Sent: Wednesday, May 16, 2018 6:00 PM To: Johan Fabry Johan@raincode.com Cc: Moose-related development moose-dev@list.inf.unibe.ch Subject: Re: [Moose-dev] Re: C# importer ?
Hi Johan,
you might take a look at my famix generator for IL code: http://sharpmetrics.net/index.php/famix-generator
At the moment I am using Microsoft CCI but I have also begun to use Roslyn to generate Famix models. During the upcoming weeks I will release a new version of the generator and my other tool (also change the license to that everything can be also used for commerical use).
Cheers Thomas
________________________________ Von: "Usman Bhatti" <usman.bhatti@gmail.commailto:usman.bhatti@gmail.com> An: "Moose-related development" <moose-dev@list.inf.unibe.chmailto:moose-dev@list.inf.unibe.ch> Gesendet: Montag, 16. April 2018 10:21:46 Betreff: [Moose-dev] Re: C# importer ?
On Mon, Apr 16, 2018 at 10:07 AM, Johan Fabry <Johan@raincode.commailto:Johan@raincode.com> wrote:
Hi Usman,
Thanks for the reply! In the mean time I have been looking at using Roslyn: the .NET reflection API's, to make a XML dump of the structure of the code. I am almost there so I will keep going this route.
Excellent!
Now I can write a basic class structure with simple call information, and it's only 160 LOC of C# code. But the thing is that parsing is not enough, I also want the semantic analysis that gives type information (argument types, receiver type) and I don’t want to write that myself. Roslyn is supposed to give me that as well so I am investigating that now.
I hope it does. Now, Mono.Cecil also does name resolution but sometimes I encountered limitations with it hence I would also support that you go for a solution provided by MS.
regards. Usman
-- Johan Fabry, Senior Software Engineer. johan@raincode.commailto:johan@raincode.com | Email too brief? Here's why! http://emailcharter.orghttp://emailcharter.org/
From: Moose-dev [mailto:moose-dev-bounces@list.inf.unibe.chmailto:moose-dev-bounces@list.inf.unibe.ch] On Behalf Of Usman Bhatti Sent: Monday, April 16, 2018 9:59 AM To: Moose-related development <moose-dev@list.inf.unibe.chmailto:moose-dev@list.inf.unibe.ch> Subject: [Moose-dev] Re: C# importer ?
Hi John,
Sorry for the late reply.
I worked on a C# (MSIL) importer a few years back while I was working in Inria.
This parser was based on Mono project and a library Mono.Cecil that provides API to access MSIL.
The importer I wrote was able to extract the basic information required to create FAMIX model (Classes, Namespaces, methods, attributes, invocations, accesses, params). I think it might also have started to extract Generics but that part might not be complete. I didn't rewrite FAME/FAMIX for C# but used a library to transform FAME/FAMIX in Java to C#. That meant that I could reuse the meta-model + MSE import/export from existing code.
But I haven't been able to work on it since 6 years now. But if you are interested, you may have a look here at the code here: https://scm.gforge.inria.fr/anonscm/svn/verveinesharp/
One day when I get some time I would like to replace Mono.Cecil with Microsoft's parser that has been opensourced since.
HTH,
regards. Usman
On Thu, Apr 12, 2018 at 12:09 PM, Johan Fabry <Johan@raincode.commailto:Johan@raincode.com> wrote: Hi all,
And now it looks like I will need to analyze a part of our own code, written in C#. Is there a parser for C# in Moose and if so, how extensive/solid is it?
TIA -- Johan Fabry, Senior Software Engineer. johan@raincode.commailto:johan@raincode.com | Email too brief? Here's why! http://emailcharter.org
_______________________________________________ Moose-dev mailing list Moose-dev@list.inf.unibe.chmailto:Moose-dev@list.inf.unibe.ch https://www.list.inf.unibe.ch/listinfo/moose-dev
_______________________________________________ Moose-dev mailing list Moose-dev@list.inf.unibe.chmailto:Moose-dev@list.inf.unibe.ch https://www.list.inf.unibe.ch/listinfo/moose-dev