void CppCodeGenerator::FindDependencies( shared_ptr< ObjectBase > obj, set< shared_ptr< ObjectInfo > >& info_set ) { unsigned int ch_count = obj->GetChildCount(); if (ch_count > 0) { unsigned int i; for (i = 0; i<ch_count; i++) { shared_ptr<ObjectBase> child = obj->GetChild(i); info_set.insert(child->GetObjectInfo()); FindDependencies(child, info_set); } } }
void PHPCodeGenerator::FindDependencies( PObjectBase obj, std::set< PObjectInfo >& info_set ) { unsigned int ch_count = obj->GetChildCount(); if (ch_count > 0) { unsigned int i; for (i = 0; i<ch_count; i++) { PObjectBase child = obj->GetChild(i); info_set.insert(child->GetObjectInfo()); FindDependencies(child, info_set); } } }
void CppCodeGenerator::GenIncludes(PObjectBase project) { m_header->WriteLn("#include <wx/wx.h>"); // almacenaremos todos los objetos diferentes que se encuentran en el // proyecto para luego generar los includes. set<PObjectInfo> info_set; // buscamos todas las dependencias for (unsigned int i=0; i<project->GetChildCount(); i++) FindDependencies(project->GetChild(i), info_set); // generamos los includes set<PObjectInfo>::iterator it; for (it = info_set.begin() ; it != info_set.end() ; it++) { PCodeInfo code_info = (*it)->GetCodeInfo("C++"); string include = code_info->GetTemplate("include"); if (include != "") m_header->WriteLn(include); } m_header->WriteLn(""); }