void SourceGenerator::run() { beginDefineGuards(); writeInclude(getUnitFileBasename() + ".h"); writeInclude("../../utils/ccdictionarybuilder.h"); out() << "\n"; visitCursorChildren(clang_getTranslationUnitCursor(unit()), [this]() -> CXChildVisitResult { if (isGameRecord()) defineRecord(); if (isLocalNamespace()) return CXChildVisit_Recurse; return CXChildVisit_Continue; }); endDefineGuards(); }
void CodeGenerator::writeIncludes() { CodeGenerator::IncludeSet::const_iterator it = systemIncludes().begin(); CodeGenerator::IncludeSet::const_iterator itEnd = systemIncludes().end(); for (; it != itEnd; ++it) writeSystemInclude(*it); it = includes().begin(); itEnd = includes().end(); for (; it != itEnd; ++it) writeInclude(*it, true); it = _srcIncludes.begin(); itEnd = _srcIncludes.end(); for (; it != itEnd; ++it) writeInclude(*it, false); writeFwdDecls(_fwdDecls); }
void WriteCPlusPlusClass::write(QString path) { for (int i = 0; i < this->mJsonClasses.size(); i++) { JsonClass newClass = this->mJsonClasses.at(i); QFile file(path + newClass.name + ".h"); file.open(QIODevice::WriteOnly); writeInclude(file, newClass); file.close(); file.setFileName(path + newClass.name + ".cpp"); file.open(QIODevice::WriteOnly); writeBody(file, newClass); file.close(); } }