public override bool test(CSsemi.CSemiExp semi, string filename) { if (semi[semi.count - 1] != "{") return false; int index = semi.FindFirst("("); if (index > 0 && !isSpecialToken(semi[index - 1])) { CSsemi.CSemiExp local = new CSsemi.CSemiExp(); local.Add("function").Add(semi[index - 1]); doActions(local, filename); return true; } return false; }
public override bool test(CSsemi.CSemiExp semi, string filename) { if (semi[semi.count - 1] != "{") return false; int index = semi.FindFirst("("); List<Elem> table = RepositoryForOutput.storageForOutput_; CSsemi.CSemiExp local = new CSsemi.CSemiExp(); try { if (index > 0 && !isSpecialToken(semi[index - 1])) { for (int i = index - 1; i < semi.count; i++) { foreach (Elem e in table) { if ((e.name.Equals(semi[i])) && !(e.type.Equals("function")) && !(e.type.Equals("namespace"))) { local.Add("Using").Add(semi[i]).Add(e.filename).Add(e.namespacename); doActions(local, filename); return false; } } } } } catch { } return false; }
// wether the semi contain name of function bool containFunctionName(CSsemi.CSemiExp semi) { if (semi[semi.count - 1] == "{") // found "{" { int index = semi.FindFirst("("); if (index > 0 && !DetectFunction.isSpecialToken(semi[index - 1])) // and found "(" before "{" and at least a token before "(" return true; else return false; } else return false; }
public override bool test(CSsemi.CSemiExp semi) { if (semi[semi.count - 1] != "{") return false; // strip off leading #if(TEST_XYZ) if it's in this semi if (semi.FindFirst("#") != -1) { int loc = semi.FindFirst(")"); for (int i = 0; i <= loc; ++i) semi.remove(0); } // now find function int index = semi.FindFirst("("); if (index > 0 && !isSpecialToken(semi[index - 1])) { CSsemi.CSemiExp local = new CSsemi.CSemiExp(); local.Add("function").Add(semi[index - 1]); doActions(local); return true; } return false; }
public override bool test(CSsemi.CSemiExp semi) { Repository repo_ = Repository.getInstance(); int index = semi.FindFirst("new"); if (index != -1) { string currclassName = DetectParentClass.getClassName(repo_.semi.lineCount); CSsemi.CSemiExp local = new CSsemi.CSemiExp(); // local semiExp with tokens for type and name local.displayNewLines = false; local.Add(semi[index + 1]).Add(semi[index - 2]).Add(currclassName); doActionsAggregation(local); return true; } return false; }
public override bool test(CSsemi.CSemiExp semi) { Display.displayRules(actionDelegate, "rule DetectFunction"); if (semi[semi.count - 1] != "{") return false; int index = semi.FindFirst("("); if (index > 0 && !isSpecialToken(semi[index - 1])) { CSsemi.CSemiExp local = new CSsemi.CSemiExp(); local.Add("function").Add(semi[index - 1]); doActions(local); return true; } return false; }
public override bool test(CSsemi.CSemiExp semi) { string[] SpecialToken = { "if", "else", "for", "foreach", "while", "switch", "case", "do", "break" }; int index = -1; int index2 = 0; CSsemi.CSemiExp local = new CSsemi.CSemiExp(); bool flag = false; foreach (string stoken in SpecialToken) { index = semi.Contains(stoken); index2 = semi.FindFirst("{"); if (index != -1 && index2 == -1) { local = new CSsemi.CSemiExp(); // local semiExp with tokens for type and name local.displayNewLines = false; local.Add("Scope").Add(semi[index]); doActions(local); flag = false; } } if (flag) return true; return false; }
public override bool test(CSsemi.CSemiExp semi) { int indexCL = semi.Contains("class"); int indexIF = semi.Contains("interface"); int index = Math.Max(indexCL, indexIF); int index2 = semi.FindFirst(":"); if (index != -1 && index2 != -1) { CSsemi.CSemiExp local = new CSsemi.CSemiExp(); // local semiExp with tokens for type and name local.displayNewLines = false; local.Add(semi[index + 1]).Add(semi[index + 3]); doActionsInheritance(local); int multiInheritCount = semi.FindAll(","); while (multiInheritCount > 0) { index2 = index2 + 2; local = new CSsemi.CSemiExp(); local.displayNewLines = false; local.Add(semi[index + 1]).Add(semi[index2 + 1]); doActionsInheritance(local); multiInheritCount--; } return true; } return false; }
public override bool test(CSsemi.CSemiExp semi) { string[] SpecialToken = { "if", "else", "for", "foreach", "while", "catch", "try", "finally", "switch", "do" }; int index = -1; foreach (string stoken in SpecialToken) { int tempindex = semi.Contains(stoken); if (tempindex != -1) index = Math.Max(index, tempindex); } int index2 = semi.FindFirst("{"); if (index != -1 && index2 != -1) { CSsemi.CSemiExp local = new CSsemi.CSemiExp(); // local semiExp with tokens for type and name local.displayNewLines = false; local.Add("Scope").Add(semi[index]); doActions(local); return true; } return false; }
public override bool test(CSsemi.CSemiExp semi, string file) { try { if (semi[semi.count - 1] != "{") return false; int index = semi.FindFirst("("); if (index > 0 && !isSpecialToken(semi[index - 1])) { List<Elem> output = OutputRepository.output_; foreach (Elem e in output) { for (int i = 0; i < semi.count - 1; i++) { if (e.name.Equals(semi[i]) && !e.type.Equals("namespace") && !e.type.Equals("function")) { CSsemi.CSemiExp local = new CSsemi.CSemiExp(); local.Add("Using").Add(semi[i]); doActions(local, file); return true; } } } } } catch { } return false; }
public override bool test(CSsemi.CSemiExp semi) { if (semi[semi.count - 1] != "{" ) return false; int index = semi.FindFirst("("); if (semi[index + 1] == ")") return false; if (index > 0 && !isSpecialToken(semi[index - 1])) { CSsemi.CSemiExp local = new CSsemi.CSemiExp(); if (semi.Contains(".") != -1) index = semi.FindFirst("."); local.Add("Using").Add(semi[index + 1]); doActions(local); return true; } return false; }
public override bool test(CSsemi.CSemiExp semi) { int index = semi.Contains("new"); if (index != -1) { CSsemi.CSemiExp local = new CSsemi.CSemiExp(); local.displayNewLines = false; if (semi.Contains(".") != -1) index = semi.FindFirst("."); local.Add("Aggregation").Add(semi[index + 1]); doActions(local); return true; } return false; }
public override bool test(CSsemi.CSemiExp semi) { int index = semi.FindFirst("("); if (index>0 && isSpecialToken(semi[index-1])) { CSsemi.CSemiExp local = new CSsemi.CSemiExp(); local.Add("braceless").Add("braceless"); doActions(local); semi.remove(index); test(semi); return true; } return false; }