Class CilAnalysis
Provides static methods that assist in parsing and analysing CIL bytecode
Inheritance
Inherited Members
Namespace: CilTools.BytecodeAnalysis
Assembly: CilTools.BytecodeAnalysis.dll
Syntax
public static class CilAnalysisMethods
EscapeString(String)
Escapes special characters in the specified string, preparing it to be used as CIL assembler string literal
Declaration
public static string EscapeString(string str)Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | str | The string to escape | 
Returns
| Type | Description | 
|---|---|
| System.String | The escaped string | 
Remarks
See ECMA-335 II.5.2 for string literal escaping rules. In CIL Tools 2.3 and earlier versions, this method used string escaping rules for C# string literals.
GetReferencedMembers(Assembly)
Gets all members referenced by the code of specified assembly
Declaration
public static IEnumerable<MemberInfo> GetReferencedMembers(Assembly ass)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Reflection.Assembly | ass | Assembly for which to retrieve referenced members | 
Returns
| Type | Description | 
|---|---|
| System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo> | A collection of MemberInfo objects | 
Remarks
Referenced member is a member that appears as an operand of instruction in any of the assembly's methods.
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | Source assembly is null | 
GetReferencedMembers(Assembly, MemberCriteria)
Gets members referenced by the code of specified assembly that match specified criteria
Declaration
public static IEnumerable<MemberInfo> GetReferencedMembers(Assembly ass, MemberCriteria flags)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Reflection.Assembly | ass | Assembly for which to retrieve referenced members | 
| MemberCriteria | flags | A combination of bitwise flags that control what kind of members are retrieved | 
Returns
| Type | Description | 
|---|---|
| System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo> | A collection of MemberInfo objects | 
Remarks
Referenced member is a member that appears as an operand of instruction in any of the assembly's methods.
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | Source assembly is null | 
GetReferencedMembers(MethodBase)
Gets all members (fields or methods) referenced by specified method
Declaration
public static IEnumerable<MemberInfo> GetReferencedMembers(MethodBase mb)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Reflection.MethodBase | mb | Method for which to retrieve referenced members | 
Returns
| Type | Description | 
|---|---|
| System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo> | A collection of MemberInfo objects | 
Remarks
Referenced member is a member that appears as an operand of instruction in source method's body. For example, if the source method calls Foo method or creates delegate pointing to Foo, Foo is referenced by the source method.
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | Source method is null | 
GetReferencedMembers(MethodBase, MemberCriteria)
Gets members (fields or methods) referenced by specified method that match specified criteria
Declaration
public static IEnumerable<MemberInfo> GetReferencedMembers(MethodBase mb, MemberCriteria flags)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Reflection.MethodBase | mb | Method for which to retrieve referenced members | 
| MemberCriteria | flags | A combination of bitwise flags that control what kind of members are retrieved | 
Returns
| Type | Description | 
|---|---|
| System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo> | A collection of MemberInfo objects | 
Remarks
Referenced member is a member that appears as an operand of instruction in source method's body. For example, if the source method calls Foo method or creates delegate pointing to Foo, Foo is referenced by the source method.
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | Source method is null | 
| System.NotSupportedException | CilReader encountered unknown opcode | 
| CilParserException | Failed to retrieve method body for the method | 
GetReferencedMembers(Type)
Gets all members referenced by the code of specified type
Declaration
public static IEnumerable<MemberInfo> GetReferencedMembers(Type t)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Type | t | Type for which to retrieve referenced members | 
Returns
| Type | Description | 
|---|---|
| System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo> | A collection of MemberInfo objects | 
Remarks
Referenced member is a member that appears as an operand of instruction in any of the type's methods.
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | Source type is null | 
GetReferencedMembers(Type, MemberCriteria)
Gets members referenced by the code of specified type that match specified criteria
Declaration
public static IEnumerable<MemberInfo> GetReferencedMembers(Type t, MemberCriteria flags)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Type | t | Type for which to retrieve referenced members | 
| MemberCriteria | flags | A combination of bitwise flags that control what kind of members are retrieved | 
Returns
| Type | Description | 
|---|---|
| System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo> | A collection of MemberInfo objects | 
Remarks
Referenced member is a member that appears as an operand of instruction in any of the type's methods.
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | Source type is null | 
GetReferencedMethods(Assembly)
Get all methods that are referenced by the code in the specified assembly
Declaration
public static IEnumerable<MethodBase> GetReferencedMethods(Assembly ass)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Reflection.Assembly | ass | Assembly for which to retrieve referenced methods | 
Returns
| Type | Description | 
|---|---|
| System.Collections.Generic.IEnumerable<System.Reflection.MethodBase> | A collection of referenced methods | 
Remarks
Referenced member is a member that appears as an operand of instruction in any of the assembly's methods.
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | Source assembly is null | 
GetReferencedMethods(MethodBase)
Gets all methods that are referenced by the specified method
Declaration
public static IEnumerable<MethodBase> GetReferencedMethods(MethodBase mb)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Reflection.MethodBase | mb | Method for which to retrieve referenced methods | 
Returns
| Type | Description | 
|---|---|
| System.Collections.Generic.IEnumerable<System.Reflection.MethodBase> | A collection of referenced methods | 
Remarks
Referenced member is a member that appears as an operand of instruction in source method's body. For example, if the source method calls Foo method or creates delegate pointing to Foo, Foo is referenced by the source method.
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | Source method is null | 
GetReferencedMethods(Type)
Get all methods that are referenced by the code of the specified type
Declaration
public static IEnumerable<MethodBase> GetReferencedMethods(Type t)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Type | t | Type for which to retrieve referenced methods | 
Returns
| Type | Description | 
|---|---|
| System.Collections.Generic.IEnumerable<System.Reflection.MethodBase> | A collection of referenced methods | 
Remarks
Referenced member is a member that appears as an operand of instruction in any of the type's methods.
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | Source type is null | 
GetTypeFullName(Type)
Gets the full name of .NET type in CIL notation
Declaration
public static string GetTypeFullName(Type t)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Type | t | Type for which name is requested | 
Returns
| Type | Description | 
|---|---|
| System.String | Full type name | 
Remarks
Returns fully qualified name, such as class [mscorlib]System.String
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | t is null | 
GetTypeName(Type)
Gets the name of .NET type in CIL notation
Declaration
public static string GetTypeName(Type t)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Type | t | Type for which name is requested | 
Returns
| Type | Description | 
|---|---|
| System.String | Short of full type name | 
Remarks
Returns short type name, such as int32, if it exists. Otherwise returns full name.
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | t is null | 
MethodToText(MethodBase)
Returns specified method CIL code as string
Declaration
public static string MethodToText(MethodBase m)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Reflection.MethodBase | m | Method for which to retrieve CIL | 
Returns
| Type | Description | 
|---|---|
| System.String | CIL code string |