Mads
Multi-Agent Distributed System
Loading...
Searching...
No Matches
plugin_migrate.hpp File Reference
#include <algorithm>
#include <cstdio>
#include <filesystem>
#include <fstream>
#include <map>
#include <memory>
#include <nlohmann/json.hpp>
#include <rang.hpp>
#include <regex>
#include <sstream>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  Mads::PluginMigrate::Options
 
struct  Mads::PluginMigrate::Change
 
struct  Mads::PluginMigrate::MethodTransform
 
class  Mads::PluginMigrate::SignatureRewriter
 
class  Mads::PluginMigrate::SpanRewriter
 
class  Mads::PluginMigrate::TreeSitterRewriter
 
struct  Mads::PluginMigrate::Migration
 
struct  Mads::PluginMigrate::FileReport
 

Namespaces

namespace  Mads
 
namespace  Mads::PluginMigrate
 

Typedefs

using Mads::PluginMigrate::json = nlohmann::json
 

Enumerations

enum class  Mads::PluginMigrate::LexState {
  Mads::PluginMigrate::Code , Mads::PluginMigrate::Line , Mads::PluginMigrate::Block , Mads::PluginMigrate::Str ,
  Mads::PluginMigrate::Chr
}
 

Functions

bool Mads::PluginMigrate::read_file (const fs::path &p, std::string &out)
 
bool Mads::PluginMigrate::write_file (const fs::path &p, const std::string &content)
 
std::size_t Mads::PluginMigrate::line_of_offset (const std::string &s, std::size_t off)
 
bool Mads::PluginMigrate::is_ident_char (char c)
 
int Mads::PluginMigrate::run_command (const std::string &cmd, std::string &output)
 
std::size_t Mads::PluginMigrate::find_matching_paren (const std::string &s, std::size_t open)
 
std::unique_ptr< SignatureRewriterMads::PluginMigrate::make_rewriter (const MethodTransform &t)
 
int Mads::PluginMigrate::apply_literal (std::string &src, const std::string &find, const std::string &replace, const std::string &desc, std::vector< Change > &out)
 
int Mads::PluginMigrate::apply_regex (std::string &src, const std::string &pattern, const std::string &replacement, const std::string &flags, const std::string &desc, std::vector< Change > &out)
 
int Mads::PluginMigrate::detect_protocol (const std::string &cmake)
 
int Mads::PluginMigrate::bump_git_tag (std::string &cmake, const std::string &block, const std::string &new_tag, std::vector< Change > &out)
 
std::map< int, MigrationMads::PluginMigrate::load_migrations (const fs::path &dir)
 
void Mads::PluginMigrate::apply_source_transforms (const json &step, FileReport &fr)
 
void Mads::PluginMigrate::apply_cmake_transforms (const json &step, FileReport &cmake)
 
int Mads::PluginMigrate::run (const fs::path &project_dir, const fs::path &migrations_dir, const fs::path &deps_manifest, const Options &opts)