Classes | Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
google::protobuf::compiler::CommandLineInterface Class Reference

#include <command_line_interface.h>

Classes

class  ErrorPrinter
 
class  GeneratorContextImpl
 
struct  GeneratorInfo
 
class  MemoryOutputStream
 
struct  OutputDirective
 

Public Member Functions

void AllowPlugins (const std::string &exe_name_prefix)
 
 CommandLineInterface ()
 
void RegisterGenerator (const std::string &flag_name, CodeGenerator *generator, const std::string &help_text)
 
void RegisterGenerator (const std::string &flag_name, const std::string &option_flag_name, CodeGenerator *generator, const std::string &help_text)
 
int Run (int argc, const char *const argv[])
 
void SetInputsAreProtoPathRelative (bool)
 
void SetVersionInfo (const std::string &text)
 
 ~CommandLineInterface ()
 

Static Public Attributes

static const char *const kPathSeparator = ":"
 

Private Types

enum  ErrorFormat { ERROR_FORMAT_GCC, ERROR_FORMAT_MSVS }
 
typedef std::unordered_map< std::string, GeneratorContextImpl * > GeneratorContextMap
 
typedef std::map< std::string, GeneratorInfoGeneratorMap
 
enum  Mode { MODE_COMPILE, MODE_ENCODE, MODE_DECODE, MODE_PRINT }
 
enum  ParseArgumentStatus { PARSE_ARGUMENT_DONE_AND_CONTINUE, PARSE_ARGUMENT_DONE_AND_EXIT, PARSE_ARGUMENT_FAIL }
 
enum  PrintMode { PRINT_NONE, PRINT_FREE_FIELDS }
 

Private Member Functions

void Clear ()
 
bool EncodeOrDecode (const DescriptorPool *pool)
 
bool ExpandArgumentFile (const std::string &file, std::vector< std::string > *arguments)
 
bool GenerateDependencyManifestFile (const std::vector< const FileDescriptor * > &parsed_files, const GeneratorContextMap &output_directories, DiskSourceTree *source_tree)
 
bool GenerateOutput (const std::vector< const FileDescriptor * > &parsed_files, const OutputDirective &output_directive, GeneratorContext *generator_context)
 
bool GeneratePluginOutput (const std::vector< const FileDescriptor * > &parsed_files, const std::string &plugin_name, const std::string &parameter, GeneratorContext *generator_context, std::string *error)
 
 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS (CommandLineInterface)
 
bool InitializeDiskSourceTree (DiskSourceTree *source_tree, DescriptorDatabase *fallback_database)
 
ParseArgumentStatus InterpretArgument (const std::string &name, const std::string &value)
 
bool MakeInputsBeProtoPathRelative (DiskSourceTree *source_tree, DescriptorDatabase *fallback_database)
 
bool MakeProtoProtoPathRelative (DiskSourceTree *source_tree, std::string *proto, DescriptorDatabase *fallback_database)
 
bool ParseArgument (const char *arg, std::string *name, std::string *value)
 
ParseArgumentStatus ParseArguments (int argc, const char *const argv[])
 
bool ParseInputFiles (DescriptorPool *descriptor_pool, std::vector< const FileDescriptor * > *parsed_files)
 
bool PopulateSimpleDescriptorDatabase (SimpleDescriptorDatabase *database)
 
void PrintFreeFieldNumbers (const Descriptor *descriptor)
 
void PrintHelpText ()
 
bool VerifyInputFilesInDescriptors (DescriptorDatabase *fallback_database)
 
bool WriteDescriptorSet (const std::vector< const FileDescriptor * > &parsed_files)
 

Static Private Member Functions

static void GetTransitiveDependencies (const FileDescriptor *file, bool include_json_name, bool include_source_code_info, std::set< const FileDescriptor * > *already_seen, RepeatedPtrField< FileDescriptorProto > *output)
 

Private Attributes

std::string codec_type_
 
std::string dependency_out_name_
 
std::vector< std::stringdescriptor_set_in_names_
 
std::string descriptor_set_out_name_
 
std::set< std::stringdirect_dependencies_
 
bool direct_dependencies_explicitly_set_
 
std::string direct_dependencies_violation_msg_
 
bool disallow_services_
 
ErrorFormat error_format_
 
std::string executable_name_
 
std::map< std::string, std::stringgenerator_parameters_
 
GeneratorMap generators_by_flag_name_
 
GeneratorMap generators_by_option_name_
 
bool imports_in_descriptor_set_
 
std::vector< std::stringinput_files_
 
Mode mode_
 
std::vector< OutputDirectiveoutput_directives_
 
std::map< std::string, std::stringplugin_parameters_
 
std::string plugin_prefix_
 
std::map< std::string, std::stringplugins_
 
PrintMode print_mode_
 
std::vector< std::pair< std::string, std::string > > proto_path_
 
bool source_info_in_descriptor_set_
 
std::string version_info_
 

Detailed Description

Definition at line 109 of file command_line_interface.h.

Member Typedef Documentation

◆ GeneratorContextMap

Definition at line 210 of file command_line_interface.h.

◆ GeneratorMap

Definition at line 347 of file command_line_interface.h.

Member Enumeration Documentation

◆ ErrorFormat

Enumerator
ERROR_FORMAT_GCC 
ERROR_FORMAT_MSVS 

Definition at line 383 of file command_line_interface.h.

◆ Mode

Enumerator
MODE_COMPILE 
MODE_ENCODE 
MODE_DECODE 
MODE_PRINT 

Definition at line 367 of file command_line_interface.h.

◆ ParseArgumentStatus

Enumerator
PARSE_ARGUMENT_DONE_AND_CONTINUE 
PARSE_ARGUMENT_DONE_AND_EXIT 
PARSE_ARGUMENT_FAIL 

Definition at line 230 of file command_line_interface.h.

◆ PrintMode

Enumerator
PRINT_NONE 
PRINT_FREE_FIELDS 

Definition at line 376 of file command_line_interface.h.

Constructor & Destructor Documentation

◆ CommandLineInterface()

google::protobuf::compiler::CommandLineInterface::CommandLineInterface ( )

Definition at line 784 of file command_line_interface.cc.

◆ ~CommandLineInterface()

google::protobuf::compiler::CommandLineInterface::~CommandLineInterface ( )

Definition at line 795 of file command_line_interface.cc.

Member Function Documentation

◆ AllowPlugins()

void google::protobuf::compiler::CommandLineInterface::AllowPlugins ( const std::string exe_name_prefix)

Definition at line 819 of file command_line_interface.cc.

◆ Clear()

void google::protobuf::compiler::CommandLineInterface::Clear ( )
private

Definition at line 1123 of file command_line_interface.cc.

◆ EncodeOrDecode()

bool google::protobuf::compiler::CommandLineInterface::EncodeOrDecode ( const DescriptorPool pool)
private

Definition at line 2104 of file command_line_interface.cc.

◆ ExpandArgumentFile()

bool google::protobuf::compiler::CommandLineInterface::ExpandArgumentFile ( const std::string file,
std::vector< std::string > *  arguments 
)
private

Definition at line 1227 of file command_line_interface.cc.

◆ GenerateDependencyManifestFile()

bool google::protobuf::compiler::CommandLineInterface::GenerateDependencyManifestFile ( const std::vector< const FileDescriptor * > &  parsed_files,
const GeneratorContextMap output_directories,
DiskSourceTree source_tree 
)
private

Definition at line 1945 of file command_line_interface.cc.

◆ GenerateOutput()

bool google::protobuf::compiler::CommandLineInterface::GenerateOutput ( const std::vector< const FileDescriptor * > &  parsed_files,
const OutputDirective output_directive,
GeneratorContext generator_context 
)
private

Definition at line 1900 of file command_line_interface.cc.

◆ GeneratePluginOutput()

bool google::protobuf::compiler::CommandLineInterface::GeneratePluginOutput ( const std::vector< const FileDescriptor * > &  parsed_files,
const std::string plugin_name,
const std::string parameter,
GeneratorContext generator_context,
std::string error 
)
private

Definition at line 2014 of file command_line_interface.cc.

◆ GetTransitiveDependencies()

void google::protobuf::compiler::CommandLineInterface::GetTransitiveDependencies ( const FileDescriptor file,
bool  include_json_name,
bool  include_source_code_info,
std::set< const FileDescriptor * > *  already_seen,
RepeatedPtrField< FileDescriptorProto > *  output 
)
staticprivate

Definition at line 2224 of file command_line_interface.cc.

◆ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS()

google::protobuf::compiler::CommandLineInterface::GOOGLE_DISALLOW_EVIL_CONSTRUCTORS ( CommandLineInterface  )
private

◆ InitializeDiskSourceTree()

bool google::protobuf::compiler::CommandLineInterface::InitializeDiskSourceTree ( DiskSourceTree source_tree,
DescriptorDatabase fallback_database 
)
private

Definition at line 996 of file command_line_interface.cc.

◆ InterpretArgument()

CommandLineInterface::ParseArgumentStatus google::protobuf::compiler::CommandLineInterface::InterpretArgument ( const std::string name,
const std::string value 
)
private

Definition at line 1429 of file command_line_interface.cc.

◆ MakeInputsBeProtoPathRelative()

bool google::protobuf::compiler::CommandLineInterface::MakeInputsBeProtoPathRelative ( DiskSourceTree source_tree,
DescriptorDatabase fallback_database 
)
private

Definition at line 1214 of file command_line_interface.cc.

◆ MakeProtoProtoPathRelative()

bool google::protobuf::compiler::CommandLineInterface::MakeProtoProtoPathRelative ( DiskSourceTree source_tree,
std::string proto,
DescriptorDatabase fallback_database 
)
private

Definition at line 1146 of file command_line_interface.cc.

◆ ParseArgument()

bool google::protobuf::compiler::CommandLineInterface::ParseArgument ( const char *  arg,
std::string name,
std::string value 
)
private

Definition at line 1370 of file command_line_interface.cc.

◆ ParseArguments()

CommandLineInterface::ParseArgumentStatus google::protobuf::compiler::CommandLineInterface::ParseArguments ( int  argc,
const char *const  argv[] 
)
private

Definition at line 1243 of file command_line_interface.cc.

◆ ParseInputFiles()

bool google::protobuf::compiler::CommandLineInterface::ParseInputFiles ( DescriptorPool descriptor_pool,
std::vector< const FileDescriptor * > *  parsed_files 
)
private

Definition at line 1076 of file command_line_interface.cc.

◆ PopulateSimpleDescriptorDatabase()

bool google::protobuf::compiler::CommandLineInterface::PopulateSimpleDescriptorDatabase ( SimpleDescriptorDatabase database)
private

Definition at line 1013 of file command_line_interface.cc.

◆ PrintFreeFieldNumbers()

void google::protobuf::compiler::CommandLineInterface::PrintFreeFieldNumbers ( const Descriptor descriptor)
private

Definition at line 2349 of file command_line_interface.cc.

◆ PrintHelpText()

void google::protobuf::compiler::CommandLineInterface::PrintHelpText ( )
private

Definition at line 1742 of file command_line_interface.cc.

◆ RegisterGenerator() [1/2]

void google::protobuf::compiler::CommandLineInterface::RegisterGenerator ( const std::string flag_name,
CodeGenerator generator,
const std::string help_text 
)

Definition at line 797 of file command_line_interface.cc.

◆ RegisterGenerator() [2/2]

void google::protobuf::compiler::CommandLineInterface::RegisterGenerator ( const std::string flag_name,
const std::string option_flag_name,
CodeGenerator generator,
const std::string help_text 
)

Definition at line 807 of file command_line_interface.cc.

◆ Run()

int google::protobuf::compiler::CommandLineInterface::Run ( int  argc,
const char *const  argv[] 
)

Definition at line 823 of file command_line_interface.cc.

◆ SetInputsAreProtoPathRelative()

void google::protobuf::compiler::CommandLineInterface::SetInputsAreProtoPathRelative ( bool  )
inline

Definition at line 197 of file command_line_interface.h.

◆ SetVersionInfo()

void google::protobuf::compiler::CommandLineInterface::SetVersionInfo ( const std::string text)
inline

Definition at line 202 of file command_line_interface.h.

◆ VerifyInputFilesInDescriptors()

bool google::protobuf::compiler::CommandLineInterface::VerifyInputFilesInDescriptors ( DescriptorDatabase fallback_database)
private

Definition at line 1055 of file command_line_interface.cc.

◆ WriteDescriptorSet()

bool google::protobuf::compiler::CommandLineInterface::WriteDescriptorSet ( const std::vector< const FileDescriptor * > &  parsed_files)
private

Definition at line 2167 of file command_line_interface.cc.

Member Data Documentation

◆ codec_type_

std::string google::protobuf::compiler::CommandLineInterface::codec_type_
private

Definition at line 415 of file command_line_interface.h.

◆ dependency_out_name_

std::string google::protobuf::compiler::CommandLineInterface::dependency_out_name_
private

Definition at line 427 of file command_line_interface.h.

◆ descriptor_set_in_names_

std::vector<std::string> google::protobuf::compiler::CommandLineInterface::descriptor_set_in_names_
private

Definition at line 419 of file command_line_interface.h.

◆ descriptor_set_out_name_

std::string google::protobuf::compiler::CommandLineInterface::descriptor_set_out_name_
private

Definition at line 423 of file command_line_interface.h.

◆ direct_dependencies_

std::set<std::string> google::protobuf::compiler::CommandLineInterface::direct_dependencies_
private

Definition at line 396 of file command_line_interface.h.

◆ direct_dependencies_explicitly_set_

bool google::protobuf::compiler::CommandLineInterface::direct_dependencies_explicitly_set_
private

Definition at line 397 of file command_line_interface.h.

◆ direct_dependencies_violation_msg_

std::string google::protobuf::compiler::CommandLineInterface::direct_dependencies_violation_msg_
private

Definition at line 401 of file command_line_interface.h.

◆ disallow_services_

bool google::protobuf::compiler::CommandLineInterface::disallow_services_
private

Definition at line 439 of file command_line_interface.h.

◆ error_format_

ErrorFormat google::protobuf::compiler::CommandLineInterface::error_format_
private

Definition at line 388 of file command_line_interface.h.

◆ executable_name_

std::string google::protobuf::compiler::CommandLineInterface::executable_name_
private

Definition at line 335 of file command_line_interface.h.

◆ generator_parameters_

std::map<std::string, std::string> google::protobuf::compiler::CommandLineInterface::generator_parameters_
private

Definition at line 354 of file command_line_interface.h.

◆ generators_by_flag_name_

GeneratorMap google::protobuf::compiler::CommandLineInterface::generators_by_flag_name_
private

Definition at line 348 of file command_line_interface.h.

◆ generators_by_option_name_

GeneratorMap google::protobuf::compiler::CommandLineInterface::generators_by_option_name_
private

Definition at line 349 of file command_line_interface.h.

◆ imports_in_descriptor_set_

bool google::protobuf::compiler::CommandLineInterface::imports_in_descriptor_set_
private

Definition at line 432 of file command_line_interface.h.

◆ input_files_

std::vector<std::string> google::protobuf::compiler::CommandLineInterface::input_files_
private

Definition at line 392 of file command_line_interface.h.

◆ kPathSeparator

const char *const google::protobuf::compiler::CommandLineInterface::kPathSeparator = ":"
static

Definition at line 111 of file command_line_interface.h.

◆ mode_

Mode google::protobuf::compiler::CommandLineInterface::mode_
private

Definition at line 374 of file command_line_interface.h.

◆ output_directives_

std::vector<OutputDirective> google::protobuf::compiler::CommandLineInterface::output_directives_
private

Definition at line 411 of file command_line_interface.h.

◆ plugin_parameters_

std::map<std::string, std::string> google::protobuf::compiler::CommandLineInterface::plugin_parameters_
private

Definition at line 356 of file command_line_interface.h.

◆ plugin_prefix_

std::string google::protobuf::compiler::CommandLineInterface::plugin_prefix_
private

Definition at line 359 of file command_line_interface.h.

◆ plugins_

std::map<std::string, std::string> google::protobuf::compiler::CommandLineInterface::plugins_
private

Definition at line 364 of file command_line_interface.h.

◆ print_mode_

PrintMode google::protobuf::compiler::CommandLineInterface::print_mode_
private

Definition at line 381 of file command_line_interface.h.

◆ proto_path_

std::vector<std::pair<std::string, std::string> > google::protobuf::compiler::CommandLineInterface::proto_path_
private

Definition at line 391 of file command_line_interface.h.

◆ source_info_in_descriptor_set_

bool google::protobuf::compiler::CommandLineInterface::source_info_in_descriptor_set_
private

Definition at line 436 of file command_line_interface.h.

◆ version_info_

std::string google::protobuf::compiler::CommandLineInterface::version_info_
private

Definition at line 338 of file command_line_interface.h.


The documentation for this class was generated from the following files:


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:07:09