PostSharp 6.10 / / Post­Sharp Documentation / API Reference / Post­Sharp.​Reflection.​Method­Body Namespace

PostSharp.Reflection.MethodBody Namespace

This namespace defines a code model that allows to represent a method body as a forest of expression trees.
Public classMethodBodyFormatter
Formats an IMethodBodyElement to a textual representation, for debugging purposes.
Public classMethodBodyVisitor
Abstract implementation of a visitor of method bodies (IMethodBody and IExpression).
Public structureLocalVariableAssignment
Represents the assignment of a local variable to an expression.
Public interfaceIAddressOfExpression
Expression that takes the address of the operand. Equivalent to the C# operator &.
Public interfaceIBinaryExpression
Expression that has two operands, Left and Right.
Public interfaceIBlockExpression
Block containing other blocks or instructions.
Public interfaceIConditionalExpression
Conditional expression, corresponding to the if keyword in C#.
Public interfaceIConstantExpression
Expression representing a build-time constant.
Public interfaceICopyBufferExpression
Expression equivalent to the cpblk instruction.
Public interfaceIExceptionHandler
Represents an exception handler (either catch, finally or filter) attached to a block.
Public interfaceIExpression
Represents an expression or an instruction.
Public interfaceIFieldExpression
Expression that represents a field.
Public interfaceIGotoExpression
Unconditional branching instruction.
Public interfaceIInitBufferExpression
Expression equivalent to the initblk instruction.
Public interfaceILocalVariable
Expression that represents a local variable.
Public interfaceILocalVariableExpression
Expression that represents a local variable.
Public interfaceIMetadataExpression
Expression that depends on a metadata declaration. This expression is used when compiling the typeof, sizeof or default keywords of C#, among others.
Public interfaceIMethodBody
Represents the body of a method.
Public interfaceIMethodBodyElement
Represents an element of the syntax tree representing a method body.
Public interfaceIMethodBodyService
Service that exposes the method GetMethodBody(MethodBase, MethodBodyAbstractionLevel), which allows to decompile a method and get a AST representation.
Public interfaceIMethodCallExpression
Expression representing a method call.
Public interfaceIMethodPointerExpression
Expression that represents a C-like pointer to a method.
Public interfaceINewArrayExpression
Expression that returns a new array.
Public interfaceINewObjectExpression
Expression that creates a new object by invoking a constructor.
Public interfaceIParameterExpression
Expression that represents a method parameter.
Public interfaceISequenceExpression
Sequence of instructions.
Public interfaceIStatementExpression
Represents a statement. A statement is the root of an expression tree.
Public interfaceISwitchExpression
Expression that represent a switch (conditional statement with multiple branches).
Public interfaceIUnaryExpression
Represents an expression with a single operand.
Public interfaceIValueOfExpression
Expression that returns the value stored at an address. Equivalent to the C# keyword *.
Public interfaceIZeroaryExpression
Expression with no operand.
Public enumerationAddressAlignment
Enumeration of address alignments for access to unmanaged memory represented by ICopyBufferExpression, IFieldExpression or IValueOfExpression.
Public enumerationExceptionHandlerKind
Kinds of IExceptionHandler.
Public enumerationMethodBodyAbstractionLevel
Enumerates the level of abstraction and the level of details produced by the AST decompiler.
Public enumerationMethodBodyElementKind
Enumeration of kinds of syntax elements (IMethodBodyElement).