/// <summary>
/// Generates C# code from the abstract source tree.
/// </summary>
- /// <remarks>This method adds ParenthesizedExpressions into the AST, and will run transformations if <see cref="RunTransformations"/> was not called explicitly</remarks>
public void GenerateCode(ITextOutput output)
{
if (!transformationsHaveRun)
/// <summary>
/// Converts a type reference.
/// </summary>
- /// <param name="type">The Cecil type reference that should be converted into
- /// a type system type reference.</param>
- /// <param name="typeAttributes">Attributes associated with the Cecil type reference.
- /// This is used to support the 'dynamic' type.</param>
public static AstType ConvertType(TypeReference type, ICustomAttributeProvider typeAttributes = null, ConvertTypeOptions options = ConvertTypeOptions.None)
{
int typeIndex = 0;
/// <summary>
/// Parses an object initializer.
/// </summary>
- /// <param name="body">ILAst block</param>
- /// <param name="pos">
- /// Input: position of the instruction assigning to 'v'.
- /// Output: first position after the object initializer
- /// </param>
- /// <param name="v">The variable that holds the object being initialized</param>
- /// <param name="newObjExpr">The newobj instruction</param>
- /// <returns>InitObject instruction</returns>
ILExpression ParseObjectInitializer(List<ILNode> body, ref int pos, ILVariable v, ILExpression newObjExpr, bool isCollection, bool isValueType)
{
// Take care not to modify any existing ILExpressions in here.