[MonoDevelop] Code analysis soc project

Marek Safar marek.safar at gmail.com
Wed Mar 24 04:21:53 EDT 2010


Hello,
> On Tue, Mar 23, 2010 at 6:50 AM, nikhil sarda <diff.operator at gmail.com> wrote:
>   
>> Thanks for the reply.
>>
>> On Tue, Mar 23, 2010 at 11:48 AM, Mike Krüger <mkrueger at novell.com> wrote:
>>     
>>> Hi
>>>       
>>>> Apparently the current
>>>> version of NRefactory is not good enough to detect certain types of
>>>> semantic errors. Hence detecting errors such as invalid return types,
>>>> incorrect parameters and so on are very difficult to do with the
>>>> current NRefactory.
>>>>         
>>> These two are possible :) (but anything that needs some more analyzation
>>> than a resolve + type check is painful to implement)
>>>
>>>       
>>>> This is because there is presently no way to go to
>>>> the parent of the node you've no way to go to the parent and top-down
>>>> analysis is difficult because "<mkrueger>: because you can't go to the
>>>> children of the nodes without knowing the type of the node". Some
>>>> things that can be implemented however are naming conventions,
>>>> spellings in comments and string literals and so on. Given this
>>>> backdrop is there any point proceeding with this project? Or should
>>>> one wait for the new DOM to be completed?
>>>>         
>>> The new dom currently is almost ready - if you want to work with that
>>> it's possible. You just need a customized mono compiler source code &
>>> comment out the parser file.
>>>       
>> Has it been committed to trunk yet? Also a small introduction to the
>> API would be very handy as well :)
>>     
>
> That's great to hear!
>
> I'm a huge fan of the idea of on-the-fly analysis.
>
> As I see it, the core part is a framework for background analysers -
> an extension point, a service to run the analysers on new
> ParsedDocuments and report the errors and warnings, and some basic
> configuration UI. This is the initial "barrier" that needs to be
> implemented before anyone can write any analysis rules. This could
> take quite a few weeks to fully implement and polish.  It would also
> be nice to have a way for rules to attach "fixes" to their results,
> and this would need a UI too. All of this is completely language
> agnostic. For example, I might want to write analysers for ASP.NET
> documents or XML, not just C#.
>   
This is maybe no that hard to implement if the new DOM allows better 
resolve integration with gmcs.

Marek


More information about the Monodevelop-list mailing list