Note: I'm actively working with this user to improve this question. I really feel like there's an on-topic quality question hidden in here. What are we still missing? Or am I way off base and this question isn't appropriate?
Final update, I swear (no chameleon questions from me): I feel like we've got this question in a good place, but I'm still waiting before I get confirmation from the community.
So, a user who is apparently question banned on Software Recs instead asked his question on Stack Overflow (naughty, naughty *finger waggle*). He asked me to ask his question for him here (CW, obviously). I have no problem asking the question for him... IFF the question is a good fit for the community. I haven't been that active here so I wanted to check with you guys and gals first. Here's the question in its entirety:
I'm looking for any software which can:
- analyze .NET source code (c# or vb.net)
- build some repository which can be queried (NDepend and Resharper do something similar)
- allow to query this repository looking for classes, methods, calling methods, and so on (like Resharper or NDpend)
- accessing to the method's name, local variables name, type, static value and also method text
I would like to use it for creating the documentation about the stored procedure called by this software.
NDepend is a really wonderful tool that analyzes the IL / source code and allows you to write queries like the following one, but doesn't provide access to the constant value of the string (I need them to identify the stored procedure name / parameters).
from m in Types.WithFullNameNotIn( "Core.DbObject").ChildMethods() let depth0 = m.DepthOfIsUsing("Core.DbObject") where depth0 >= 0 && !m.Name.Contains(".ctor") orderby depth0 select new { m, depth0 }
What is my final purpose?
I've got a big source code in Vb.net. I would like to track every call to the stored procedure saving:
The call to the stored procedure behave as it follows:
RunProcedure("dbo.Log", parameters, "Log_LoadFromID")
I need to extract:
- the name of the Vb.NET Method --> easy using IL and metadata information
- the name of the Stored Procedure --> easy using textual analisys of code
- the list of the parameters passed to the store --> easy using textual analisys of code
I've tried to look for it but I couldn't find anything similar to this.
Extra details:
I think it's really hard to find a similar software. So I've no problem if it's a plugin for Visual Studio as well as a standalone tool or a .NET framework. Also it doesn't matter were this info will be exported. It's only important that I can use this info. I need to generate a report. For sure, I guess, it will be a Windows Software or a .NET Framework, but if you find an Android App doing this it will be ok as well :-)