This article describes the operation of a method-based static code analyzer for .NET that constructs in-memory method call networks of compiled assemblies. You will also see a concrete application of static code analysis to generate a website providing easy insights on a sample application.
- codeanalyzerandtodosample.zip
- CodeAnalyzer and Sample Solution.sln
- Generate.cmd
- Generator
- Output
- Blank.html
- co_CreateToDoItem(int,string,Nullable[DateTime])_ToDoItem.html
- co_DeleteToDoItem(int)_void.html
- co_FindUserByName(string)_User.html
- co_GetToDoItem(int)_ToDoItem.html
- co_GetUser(int)_User.html
- co_ListAllToDoItems()_IEnumerable[ToDoItem].html
- co_ListAllUsers()_IEnumerable[User].html
- co_ListDoneItemsForUser(int)_IEnumerable[ToDoItem].html
- co_ListToDoItemsForUser(int)_IEnumerable[ToDoItem].html
- co_ListUsersMatching(string)_IEnumerable[User].html
- co_MarkToDoItemDone(int)_void.html
- co_UpdateToDoItem(int,string,Nullable[DateTime])_void.html
- CodeModel.css
- CodeModel.js
- Content.html
- Index.html
- IndexTop.html
- so_CreateToDoItem(int,string,Nullable[DateTime])_ToDoItem.html
- so_DeleteToDoItem(int)_void.html
- so_FindUserByName(string)_User.html
- so_GetUser(int)_User.html
- so_ListAllUsers()_List[User].html
- so_ListDoneItemsForUser(int)_List[ToDoItem].html
- so_ListToDoItemsForUser(int)_List[ToDoItem].html
- so_ListUsersMatching(string)_List[User].html
- so_MarkToDoItemDone(int)_void.html
- so_UpdateToDoItem(int,string,Nullable[DateTime])_ToDoItem.html
- ui_CreateNewToDoItemClicked(object,System.Windows.RoutedEventArgs)_void.html
- ui_DeleteClicked(object,System.Windows.RoutedEventArgs)_void.html
- ui_InitializeComponent()_void.html
- ui_MarkDoneClicked(object,System.Windows.RoutedEventArgs)_void.html
- ui_RefreshToDoItems()_void.html
- ui_SaveClicked(object,System.Windows.RoutedEventArgs)_void.html
- ui_ToDoItemSelected(object,System.Windows.Controls.SelectionChangedEventArgs)_void.html
- ui_UserSelected(object,System.Windows.Controls.SelectionChangedEventArgs)_void.html
- ui_WindowLoaded(object,System.Windows.RoutedEventArgs)_void.html
- SampleApp
- LocalTestRun.testrunconfig
- ToDoApplication
- ToDoContract
- ToDoSample.vsmdi
- ToDoService
- ToDoUnitTests
- StaticCodeAnalyzer
- Arebis.CodeAnalysis.Static
- Arebis.Common
|
<?xml version="1.0"?>
<doc>
<assembly>
<name>Arebis.Common</name>
</assembly>
<members>
<member name="T:Arebis.Reflection.VbLanguageInfo">
<summary>
Class providing code language information for the VB.NET language.
</summary>
</member>
<member name="T:Arebis.Reflection.DefaultLanguageInfo">
<summary>
Class providing default code language information.
</summary>
</member>
<member name="T:Arebis.Reflection.ILanguageInfo">
<summary>
Defines a type providing information about a code language.
</summary>
</member>
<member name="M:Arebis.Reflection.ILanguageInfo.RegisterNamespace(System.String)">
<summary>
Registers a namespace to be assumed imported.
</summary>
</member>
<member name="M:Arebis.Reflection.ILanguageInfo.RegisterNamespace(System.String,System.String)">
<summary>
Registers a namespace to be assumed imported with a given alias.
</summary>
</member>
<member name="M:Arebis.Reflection.ILanguageInfo.GetFiendlyName(System.Type)">
<summary>
Returns a friendly name for the given type.
</summary>
</member>
<member name="M:Arebis.Reflection.DefaultLanguageInfo.RegisterNamespace(System.String)">
<summary>
Registers a namespace.
</summary>
</member>
<member name="M:Arebis.Reflection.DefaultLanguageInfo.RegisterNamespace(System.String,System.String)">
<summary>
Registers a namespace with an alias.
</summary>
</member>
<member name="M:Arebis.Reflection.DefaultLanguageInfo.GetFiendlyName(System.Type)">
<summary>
Returns a friendlyname for the given type.
</summary>
</member>
<member name="M:Arebis.Reflection.DefaultLanguageInfo.GetFiendlyName(System.String)">
<summary>
Returns a friendlyname for the given type.
</summary>
</member>
<member name="M:Arebis.Reflection.VbLanguageInfo.GetFiendlyName(System.String)">
<summary>
Returns a friendlyname for the given type.
</summary>
</member>
<member name="T:Arebis.Reflection.MethodBodyReader">
<summary>
Reads and represents a method's body.
</summary>
<remarks>Source: http://www.codeproject.com/KB/cs/sdilreader.aspx (Sorin Serban)</remarks>
</member>
<member name="M:Arebis.Reflection.MethodBodyReader.#cctor">
<summary>
Static constructor, initializes the OpCode arrays.
</summary>
</member>
<member name="M:Arebis.Reflection.MethodBodyReader.#ctor(System.Reflection.MethodBase)">
<summary>
MethodBodyReader constructor
</summary>
<param name="method">The method to read the body from.</param>
</member>
<member name="M:Arebis.Reflection.MethodBodyReader.#ctor(System.Reflection.MethodBase,Arebis.Reflection.ILanguageInfo)">
<summary>
MethodBodyReader constructor
</summary>
<param name="method">The method to read the body from.</param>
<param name="language">Code language to use for text representations of code.</param>
</member>
<member name="M:Arebis.Reflection.MethodBodyReader.GetCalledMethods(System.Boolean,System.Boolean)">
<summary>
Returns a list of methods called.
</summary>
</member>
<member name="M:Arebis.Reflection.MethodBodyReader.GetBodyCode">
<summary>
Gets the IL code of the method
</summary>
</member>
<member name="M:Arebis.Reflection.MethodBodyReader.ConstructInstructions(System.Reflection.Module)">
<summary>
Constructs the array of ILInstructions according to the IL byte code.
</summary>
</member>
<member name="P:Arebis.Reflection.MethodBodyReader.IL">
<summary>
IL code of the method body.
</summary>
</member>
<member name="P:Arebis.Reflection.MethodBodyReader.Instructions">
<summary>
Instructions of the method body.
</summary>
</member>
<member name="P:Arebis.Reflection.MethodBodyReader.Method">
<summary>
The current method.
</summary>
</member>
<member name="T:Arebis.Reflection.CsLanguageInfo">
<summary>
Class providing code language information for the C# language.
</summary>
</member>
<member name="M:Arebis.Reflection.CsLanguageInfo.GetFiendlyName(System.String)">
<summary>
Returns a friendlyname for the given type.
</summary>
</member>
<member name="T:Arebis.Collections.Generic.DictionaryBag`2">
<summary>
A DictionaryBag is a dictionary of bags. A dictionary where the key
refers to a list of values.
</summary>
<typeparam name="TKey">Type of the key.</typeparam>
<typeparam name="TValue">Type of an individual value.</typeparam>
</member>
<member name="M:Arebis.Collections.Generic.DictionaryBag`2.#ctor">
<summary>
Constructs a default DictionaryBag.
</summary>
</member>
<member name="M:Arebis.Collections.Generic.DictionaryBag`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
<summary>
Constructs a DictionaryBag using the given key comparer.
</summary>
</member>
<member name="M:Arebis.Collections.Generic.DictionaryBag`2.#ctor(Arebis.Collections.Generic.DictionaryBag{`0,`1})">
<summary>
Constructs a DictionaryBag as shallow copy of the given
original.
</summary>
</member>
<member name="M:Arebis.Collections.Generic.DictionaryBag`2.Add(`0,`1)">
<summary>
Adds the given value under the given key.
</summary>
</member>
<member name="M:Arebis.Collections.Generic.DictionaryBag`2.Remove(`0)">
<summary>
Removes all values under the given key.
</summary>
</member>
<member name="M:Arebis.Collections.Generic.DictionaryBag`2.Remove(`0,`1)">
<summary>
Removes the given value under the given key.
</summary>
</member>
<member name="M:Arebis.Collections.Generic.DictionaryBag`2.Clear">
<summary>
Clears the whole DictionaryBag.
</summary>
</member>
<member name="M:Arebis.Collections.Generic.DictionaryBag`2.ContainsKey(`0)">
<summary>
Whether the DictionaryBag contains the given key.
</summary>
</member>
<member name="P:Arebis.Collections.Generic.DictionaryBag`2.KeyCount">
<summary>
The number of keys.
</summary>
</member>
<member name="P:Arebis.Collections.Generic.DictionaryBag`2.Keys">
<summary>
The keys.
</summary>
</member>
<member name="P:Arebis.Collections.Generic.DictionaryBag`2.Item(`0)">
<summary>
Collection of values sharing the given key.
</summary>
</member>
<member name="P:Arebis.Collections.Generic.DictionaryBag`2.AllValues">
<summary>
All values over all keys.
</summary>
</member>
<member name="T:System.Collections.Generic.Net2.HashSet`1">
<summary>
A collection of unique unordered members.
</summary>
<typeparam name="T">Member type.</typeparam>
</member>
<member name="M:System.TypeExtensions.IsA``1(System.Type)">
<summary>
Whether the target is if type T.
</summary>
</member>
<member name="M:System.Threading.Net2.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
<summary>
Parallel ForEach method.
</summary>
<remarks>Source: http://www.codeproject.com/KB/dotnet/PoorMansParallelForEach.aspx</remarks>
</member>
<member name="M:System.Threading.Net2.Parallel.For(System.Int32,System.Int32,System.Threading.Net2.ForDelegate)">
<summary>
Parallel for loop. Invokes given action, passing arguments
fromInclusive - toExclusive on multiple threads.
Returns when loop finished.
</summary>
<remarks>Source: http://coding-time.blogspot.com/2008/03/implement-your-own-parallelfor-in-c.html</remarks>
</member>
<member name="T:Arebis.Reflection.ILInstruction">
<summary>
Represents an IL instruction.
</summary>
<remarks>Source: http://www.codeproject.com/KB/cs/sdilreader.aspx (Sorin Serban)</remarks>
</member>
<member name="M:Arebis.Reflection.ILInstruction.GetCode">
<summary>
Returns a friendly string representation of this instruction.
</summary>
</member>
<member name="M:Arebis.Reflection.ILInstruction.GetExpandedOffset(System.Int64)">
<summary>
Add enough zeros to a number as to be represented on 4 characters
</summary>
<param name="offset">
The number that must be represented on 4 characters
</param>
<returns>
</returns>
</member>
</members>
</doc>
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.