private static string TryToIdentifyParameter(ParameterSyntax p, AOPFormatter format)
        {
            if (p.Modifiers.Any(it => it.Text == "out"))
            {
                return(null);//TODO: make text for out
            }
            string nameArgument = p.Identifier.Text;
            string typeArgument = null;
            var    t            = p.Type as PredefinedTypeSyntax;

            if (t != null)
            {
                typeArgument = t.Keyword.Text;
            }
            var i = p.Type as IdentifierNameSyntax;

            if (i != null)
            {
                typeArgument = i.Identifier.Text;
            }
            var a = p.Type as ArrayTypeSyntax;

            if (a != null)
            {
                typeArgument = a.ElementType.ToString();
                typeArgument = typeArgument + "[]";
            }
            var q = p.Type as QualifiedNameSyntax;

            if (q != null)
            {
                typeArgument = q.Right.Identifier.Text;
            }
            var g = p.Type as GenericNameSyntax;

            if (g != null)
            {
                typeArgument = g.ToFullString().Trim();
            }
            if (typeArgument == null)
            {
                typeArgument = "!" + p.Type.ToFullString();
            }
            var str = format.FormattedText(typeArgument);

            if (str == null)
            {
                str = format.DefaultFormattedText();
            }
            if (str == null)
            {
                return(str);
            }

            str = str.FormatWith(new { item = nameArgument, itemtype = typeArgument });
            return(str);

            //string full = nameArgument + " " + typeArgument;
        }
 /// <summary>
 /// constructor
 /// </summary>
 /// <param name="formatter"></param>
 /// <param name="folderName"></param>
 /// <param name="searchPattern"></param>
 public RewriteCodeFolder(AOPFormatter formatter, string folderName, string searchPattern)
 {
     FolderName       = folderName;
     SearchPattern    = searchPattern;
     ExcludeFileNames = new string[0];
     Formatter        = formatter;
     Options          = new RewriteOptions();
 }
 /// <summary>
 /// constructor for file and formatter
 /// </summary>
 /// <param name="formatter"></param>
 /// <param name="fileName"></param>
 public RewriteCodeFile(AOPFormatter formatter, string fileName)
 {
     rc       = new RewriteCode(formatter);
     FileName = fileName;
 }
 public MethodRewriter(AOPFormatter formatter, RewriteOptions options)
 {
     Options   = options;
     Formatter = formatter;
 }
 /// <summary>
 /// constructor with formatter and default options
 /// </summary>
 /// <param name="formatter"></param>
 public RewriteCode(AOPFormatter formatter)
 {
     Formatter = formatter;
     Options   = new RewriteOptions();
 }