14 #include "nlohmann/json.h" 41 const std::string & path,
43 const std::string & action,
47 const std::string & classname);
57 const std::string & action,
58 const std::string & task,
71 void addSyntaxType(
const std::string & path,
const std::string type);
81 static std::string
basicCppType(
const std::string & cpp_type);
84 std::string
buildOptions(
const std::iterator_traits<InputParameters::iterator>::value_type & p,
85 bool & out_of_range_allowed,
86 std::map<MooseEnumItem, std::string> & docs);
91 buildOutputString(
const std::iterator_traits<InputParameters::iterator>::value_type & p);
92 static std::vector<std::string>
splitPath(
const std::string & path);
93 nlohmann::json &
getJson(
const std::string & parent,
const std::string & path,
bool is_type);
94 nlohmann::json &
getJson(
const std::string & path);
95 std::pair<std::string, std::string>
getObjectLabel(
const std::string & obj)
const;
96 std::pair<std::string, std::string>
getActionLabel(
const std::string & action)
const;
void addSyntaxType(const std::string &path, const std::string type)
Add an associated type to a block.
std::string buildOptions(const std::iterator_traits< InputParameters::iterator >::value_type &p, bool &out_of_range_allowed, std::map< MooseEnumItem, std::string > &docs)
void addActionTask(const std::string &path, const std::string &action, const std::string &task, const FileLineInfo &lineinfo)
Add a task to the tree.
nlohmann::json & getJson(const std::string &parent, const std::string &path, bool is_type)
size_t setParams(InputParameters *params, bool search_match, nlohmann::json &all_params)
static std::vector< std::string > splitPath(const std::string &path)
Holds the syntax in a Json::Value tree.
static std::string buildOutputString(const std::iterator_traits< InputParameters::iterator >::value_type &p)
JsonSyntaxTree(const std::string &search_string)
bool addParameters(const std::string &parent_path, const std::string &path, bool is_type, const std::string &action, bool is_action, InputParameters *params, const FileLineInfo &lineinfo, const std::string &classname)
Add parameters to the tree.
std::map< std::string, std::pair< std::string, std::string > > _action_label_map
const nlohmann::json & getRoot() const
Get the root of the tree.
static std::string basicCppType(const std::string &cpp_type)
Utilities for making sense of c++ types.
Holds file and line information.
virtual ~JsonSyntaxTree()
std::pair< std::string, std::string > getActionLabel(const std::string &action) const
std::pair< std::string, std::string > getObjectLabel(const std::string &obj) const
void addGlobal()
Add the global section to the output.
std::map< std::string, std::pair< std::string, std::string > > _object_label_map