public MethodMatch(ClassMatch parent) : base(parent) { AddPred("has parameters", delegate(MethodDeclarationSyntax method) { var parameters = new List <ParameterSyntax?>(method.ParameterList.Parameters); foreach (var paramMatch in _parameterMatches) { if (Program.Debug) { Program.WriteLine($"Trying to find [Parameter] {{{paramMatch.Tag}}}"); Program.IndentLevel++; } var matched = false; for (var i = 0; i < parameters.Count; i++) { var m = parameters[i]; if (m == null) { continue; } if (Program.Debug) { Program.WriteLine("Trying Parameter {" + m + "}"); Program.IndentLevel++; } if (!paramMatch.Matches(m)) { if (Program.Debug) { Program.WriteLine(ConsoleColor.Gray, "Wrong Method"); Program.IndentLevel--; } continue; } if (Program.Debug) { Program.WriteLine(ConsoleColor.Green, "Method good"); Program.IndentLevel--; } matched = true; parameters[i] = null; break; } if (Program.Debug) { Program.IndentLevel--; } if (!matched) { return(false); } } return(true); }); }
public FieldMatch(ClassMatch parent) : base(parent) { }