public int GetArgCount(string path, string name) { AmlMethodInfo amlMethodInfo = null; try { path = path.Replace(".", ""); name = name.Replace(".", ""); if (path.StartsWith("\\")) { path = path.Substring(1); } // build the path and name if (name.StartsWith("\\")) { // full path path = name.Substring(1).Replace(".", ""); amlMethodInfo = FindMethod(path, ""); } else if (name.StartsWith("^")) { for (int idx = 0; idx < name.Length;) { if (name[idx] == '^') { // up to one level path = path.Substring(0, path.Length - 4); name = name.Substring(1); } else { break; } } amlMethodInfo = FindMethod(path, name); } else { amlMethodInfo = FindMethod(path, name); } } catch (Exception e) { Log.Logs(e.Message); } if (amlMethodInfo != null) { return(amlMethodInfo.ArgCount); } return(-1); }
private void MethodCollector(string path, string method, int argcount) { if (method[0] == '\\') { // skip the path method = method.Substring(1); AmlMethodInfo amlMethodInfo = new AmlMethodInfo(method, argcount); amlMethods.Add(amlMethodInfo); } else { for (int idx = 0; idx < method.Length;) { if (method[idx] == '^') { // up to one level path = path.Substring(0, path.Length - 4); method = method.Substring(1); } else { break; } } if (path.Contains("^")) { AmlMethodInfo amlMethodInfo = new AmlMethodInfo(path + method, argcount); amlMethods.Add(amlMethodInfo); } else if (path.StartsWith("\\")) { path = path.Substring(1); AmlMethodInfo amlMethodInfo = new AmlMethodInfo(path + method, argcount); amlMethods.Add(amlMethodInfo); } else { AmlMethodInfo amlMethodInfo = new AmlMethodInfo(path + method, argcount); amlMethods.Add(amlMethodInfo); } //System.Diagnostics.Debug.WriteLine(path + method); } }