public M3DCppFct(M3DCppFctKind kind, string fullname, string decfile) { _kind = kind; _fullname = fullname; _decfile = decfile; _parent = null; }
static public void GetCompatibleFunctions(List <M3DCppFct> list, EnvDTE.CodeElements code_elements, string filename, M3DCppFctKind d_kind = M3DCppFctKind.Free, string parent = null) { foreach (EnvDTE.CodeElement c_element in code_elements) { if (c_element.Kind == EnvDTE.vsCMElement.vsCMElementFunction) { if (IsFunctionM3DCompatible(c_element as EnvDTE.CodeFunction)) { list.Add(new M3DCppFct(d_kind, (c_element as EnvDTE.CodeFunction).FullName, filename, parent)); } } else if (c_element.Kind == EnvDTE.vsCMElement.vsCMElementClass) { if ((c_element as EnvDTE.CodeClass).IsDerivedFrom["m3d::Actor"]) { GetCompatibleFunctions(list, (c_element as EnvDTE.CodeClass).Members, filename, M3DCppFctKind.Member, (c_element as EnvDTE.CodeClass).FullName); } } } }