Public Member Functions | Private Member Functions | Private Attributes | List of all members
google::protobuf::compiler::cpp::ParseFunctionGenerator Class Reference

#include <cpp_parse_function_generator.h>

Public Member Functions

void GenerateDataDecls (io::Printer *printer)
 
void GenerateDataDefinitions (io::Printer *printer)
 
void GenerateMethodDecls (io::Printer *printer)
 
void GenerateMethodImpls (io::Printer *printer)
 
 ParseFunctionGenerator (const Descriptor *descriptor, int max_has_bit_index, const std::vector< int > &has_bit_indices, const std::vector< int > &inlined_string_indices, const Options &options, MessageSCCAnalyzer *scc_analyzer, const std::map< std::string, std::string > &vars)
 

Private Member Functions

void GenerateArenaString (Formatter &format, const FieldDescriptor *field)
 
void GenerateFastFieldEntries (Formatter &format, const std::string &fallback)
 
void GenerateFieldBody (Formatter &format, google::protobuf::internal::WireFormatLite::WireType wiretype, const FieldDescriptor *field)
 
void GenerateFieldSwitch (Formatter &format, const std::vector< const FieldDescriptor * > &ordered_fields)
 
void GenerateLengthDelim (Formatter &format, const FieldDescriptor *field)
 
void GenerateLoopingParseFunction (Formatter &format)
 
void GenerateParseIterationBody (Formatter &format, const Descriptor *descriptor, const std::vector< const FieldDescriptor * > &ordered_fields)
 
void GenerateStrings (Formatter &format, const FieldDescriptor *field, bool check_utf8)
 
void GenerateTailcallFallbackFunction (Formatter &format)
 
void GenerateTailcallFieldParseFunctions (Formatter &format)
 
void GenerateTailcallParseFunction (Formatter &format)
 
void GenerateTailCallTable (Formatter &format)
 
bool should_generate_guarded_tctable () const
 
bool should_generate_tctable () const
 

Private Attributes

const Descriptordescriptor_
 
std::vector< intinlined_string_indices_
 
int num_hasbits_
 
const Optionsoptions_
 
MessageSCCAnalyzerscc_analyzer_
 
std::unique_ptr< TailCallTableInfotc_table_info_
 
std::map< std::string, std::string > variables_
 

Detailed Description

Definition at line 75 of file cpp_parse_function_generator.h.

Constructor & Destructor Documentation

◆ ParseFunctionGenerator()

google::protobuf::compiler::cpp::ParseFunctionGenerator::ParseFunctionGenerator ( const Descriptor descriptor,
int  max_has_bit_index,
const std::vector< int > &  has_bit_indices,
const std::vector< int > &  inlined_string_indices,
const Options options,
MessageSCCAnalyzer scc_analyzer,
const std::map< std::string, std::string > &  vars 
)

Definition at line 244 of file cpp_parse_function_generator.cc.

Member Function Documentation

◆ GenerateArenaString()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateArenaString ( Formatter format,
const FieldDescriptor field 
)
private

Definition at line 622 of file cpp_parse_function_generator.cc.

◆ GenerateDataDecls()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateDataDecls ( io::Printer printer)

Definition at line 461 of file cpp_parse_function_generator.cc.

◆ GenerateDataDefinitions()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateDataDefinitions ( io::Printer printer)

Definition at line 482 of file cpp_parse_function_generator.cc.

◆ GenerateFastFieldEntries()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateFastFieldEntries ( Formatter format,
const std::string &  fallback 
)
private

Definition at line 602 of file cpp_parse_function_generator.cc.

◆ GenerateFieldBody()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateFieldBody ( Formatter format,
google::protobuf::internal::WireFormatLite::WireType  wiretype,
const FieldDescriptor field 
)
private

Definition at line 840 of file cpp_parse_function_generator.cc.

◆ GenerateFieldSwitch()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateFieldSwitch ( Formatter format,
const std::vector< const FieldDescriptor * > &  ordered_fields 
)
private

Definition at line 1047 of file cpp_parse_function_generator.cc.

◆ GenerateLengthDelim()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateLengthDelim ( Formatter format,
const FieldDescriptor field 
)
private

Definition at line 725 of file cpp_parse_function_generator.cc.

◆ GenerateLoopingParseFunction()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateLoopingParseFunction ( Formatter format)
private

Definition at line 496 of file cpp_parse_function_generator.cc.

◆ GenerateMethodDecls()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateMethodDecls ( io::Printer printer)

Definition at line 265 of file cpp_parse_function_generator.cc.

◆ GenerateMethodImpls()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateMethodImpls ( io::Printer printer)

Definition at line 313 of file cpp_parse_function_generator.cc.

◆ GenerateParseIterationBody()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateParseIterationBody ( Formatter format,
const Descriptor descriptor,
const std::vector< const FieldDescriptor * > &  ordered_fields 
)
private

Definition at line 984 of file cpp_parse_function_generator.cc.

◆ GenerateStrings()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateStrings ( Formatter format,
const FieldDescriptor field,
bool  check_utf8 
)
private

Definition at line 659 of file cpp_parse_function_generator.cc.

◆ GenerateTailcallFallbackFunction()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateTailcallFallbackFunction ( Formatter format)
private

Definition at line 374 of file cpp_parse_function_generator.cc.

◆ GenerateTailcallFieldParseFunctions()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateTailcallFieldParseFunctions ( Formatter format)
private

Definition at line 404 of file cpp_parse_function_generator.cc.

◆ GenerateTailcallParseFunction()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateTailcallParseFunction ( Formatter format)
private

Definition at line 359 of file cpp_parse_function_generator.cc.

◆ GenerateTailCallTable()

void google::protobuf::compiler::cpp::ParseFunctionGenerator::GenerateTailCallTable ( Formatter format)
private

Definition at line 540 of file cpp_parse_function_generator.cc.

◆ should_generate_guarded_tctable()

bool google::protobuf::compiler::cpp::ParseFunctionGenerator::should_generate_guarded_tctable ( ) const
inlineprivate

Definition at line 102 of file cpp_parse_function_generator.h.

◆ should_generate_tctable()

bool google::protobuf::compiler::cpp::ParseFunctionGenerator::should_generate_tctable ( ) const
private

Definition at line 352 of file cpp_parse_function_generator.cc.

Member Data Documentation

◆ descriptor_

const Descriptor* google::protobuf::compiler::cpp::ParseFunctionGenerator::descriptor_
private

Definition at line 149 of file cpp_parse_function_generator.h.

◆ inlined_string_indices_

std::vector<int> google::protobuf::compiler::cpp::ParseFunctionGenerator::inlined_string_indices_
private

Definition at line 154 of file cpp_parse_function_generator.h.

◆ num_hasbits_

int google::protobuf::compiler::cpp::ParseFunctionGenerator::num_hasbits_
private

Definition at line 155 of file cpp_parse_function_generator.h.

◆ options_

const Options& google::protobuf::compiler::cpp::ParseFunctionGenerator::options_
private

Definition at line 151 of file cpp_parse_function_generator.h.

◆ scc_analyzer_

MessageSCCAnalyzer* google::protobuf::compiler::cpp::ParseFunctionGenerator::scc_analyzer_
private

Definition at line 150 of file cpp_parse_function_generator.h.

◆ tc_table_info_

std::unique_ptr<TailCallTableInfo> google::protobuf::compiler::cpp::ParseFunctionGenerator::tc_table_info_
private

Definition at line 153 of file cpp_parse_function_generator.h.

◆ variables_

std::map<std::string, std::string> google::protobuf::compiler::cpp::ParseFunctionGenerator::variables_
private

Definition at line 152 of file cpp_parse_function_generator.h.


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


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:23